1. 路径
在windows系统中,有C盘、D盘等,分别有各自的文件系统。但是linux只有一个文件系统,从根目录/开始。
下面有子目录和文件,子目录下也有子目录和文件,以此类推。
在linux哲学中,一切皆文件,既包括常见的文本文件、文件夹等,也包括磁盘、网络、数据流,linux中,都视为文件。
有几个特殊的目录,可以说明一下:
根目录:/
主目录(也叫家目录),是当前用户的HOME目录,可通过echo $HOME查看
1.1 绝对路径
绝对路径,是指从根目录开始,到现在的文件路径,比如/usr/bin,/usr/sbin,总是从根目录开始。
1.2 相对路径
相对路径,是指相对于当前路径的路径,有点绕。
相对路径有相对当前路径,用“.”表示,
也有相对父目录,用“..”表示。
比如,此时所在的路径是/usr/sbin,文件sendmail和文件setkey是在同一个层级下,可以直接操作当前文件,如下:
cat ./sendmail # ./表示在当前目录下,一般会省略掉./,直接操作文件即可
cat sendmail # 推荐使用
而如果想进入到/usr/bin这个目录中,除了绝对路径,也可以使用相对路径,如下:
cd .. # 进入到/usr/sbin的父目录,即/usr
cd bin # 在进入到bin目录中,此时目录为/usr/bin
# 可直接写
cd ../bin
1.3 路径的操作
- 查看当前路径pwd
- 切换路径cd
cd .. # 进入到父目录
cd ../.. # 进入到父目录的父目录
cd - # 进入到上一次目录中
cd ~ # 进入到主目录中
2. 对文件和目录的操作
2.1 创建和删除
文件或目录的创建和删除命令:
- touch # 针对文件
- rm
- mkdir # 针对目录
选项说明:
mkdir test # 创建目录test mkdir -p test/a/b # 同时创建目录test,及其子目录a,b rm -rf test # 删除test目录,及其子目录
**注意**:linux中,rm删除的文件,将不可恢复,如果使用rm -rf *将会将文件全部删除,该过程不可逆,在删除之前,可以使用ls先查看删除的内容。<br />比如rm -rf * .html 本想删除以html结尾的文件,因中间有一个空格,而将所有的文件全部删除。
<a name="Do7x3"></a>
### 2.2 查看文件详情
- ls
- cat
- tac
- head
- tail
- less
- more
使用举例如下:
```powershell
ls
ls -la # 列出目录详细信息,包括隐藏文件
cat test.txt
cat -n test.txt # 显示行号
tac test.txt # 与cat不同的是,tac是从尾到头显示文件信息
head test.txt # 显示文件的前几行,默认10行
head -n 20 test.txt # 显示文件的前20行
tail test.txt # 显示文件的末尾几行,默认10行
tail -n 20 test.txt # 显示文件的末尾20行
tail -f test.txt # 实时显示文件的追加内容,多用于查看日志
less test.txt # less和more支持查看多页文件,支持文件内容的翻页,跳转等
more test.txt
2.3 查找文件
- find
- locate
- which
- grep
这几个命令都可以用来查看文件,有什么区别呢?
find可用于通过字符串来匹配查看文件,可以查找匹配到的文件名、指定文件大小的文件、最新修改过的文件等,是整个文件系统的实时查询;
locate查找的是指定的数据库/var/db/locate.database中的数据,数据库非实时更新,可能需要update手动更新;
which查找的是系统命令,环境变量$PATH中的系统命令;
grep是正则匹配,通过模式匹配,来查找文件。
具体的用法,后面会更详细介绍。
2.4 软链接和硬链接
ln 源文件 目标文件 # 硬链接
ln -s 源文件 目标文件 # 软链接
2.5 用户和群组
- chown
- chgrp
2.6 挂载和卸载
- mount
- unmount
2.7 内容的编辑
- vim
- awk
- sed
- grep
这些命令,组成非常强大的功能,用来操作文本。比如文本的编辑、跳转、删除、复制粘贴、剪切、拼接、查找等。
相关内容,可在相应章节中查看。