1. 路径

在windows系统中,有C盘、D盘等,分别有各自的文件系统。但是linux只有一个文件系统,从根目录/开始。
下面有子目录和文件,子目录下也有子目录和文件,以此类推。
在linux哲学中,一切皆文件,既包括常见的文本文件、文件夹等,也包括磁盘、网络、数据流,linux中,都视为文件。
image.png
有几个特殊的目录,可以说明一下:
根目录:/
主目录(也叫家目录),是当前用户的HOME目录,可通过echo $HOME查看

1.1 绝对路径

绝对路径,是指从根目录开始,到现在的文件路径,比如/usr/bin,/usr/sbin,总是从根目录开始。

1.2 相对路径

相对路径,是指相对于当前路径的路径,有点绕。
相对路径有相对当前路径,用“.”表示,
也有相对父目录,用“..”表示。
比如,此时所在的路径是/usr/sbin,文件sendmail和文件setkey是在同一个层级下,可以直接操作当前文件,如下:

  1. cat ./sendmail # ./表示在当前目录下,一般会省略掉./,直接操作文件即可
  2. cat sendmail # 推荐使用

而如果想进入到/usr/bin这个目录中,除了绝对路径,也可以使用相对路径,如下:

  1. cd .. # 进入到/usr/sbin的父目录,即/usr
  2. cd bin # 在进入到bin目录中,此时目录为/usr/bin
  3. # 可直接写
  4. cd ../bin

1.3 路径的操作

  • 查看当前路径pwd
  • 切换路径cd
    1. cd .. # 进入到父目录
    2. cd ../.. # 进入到父目录的父目录
    3. cd - # 进入到上一次目录中
    4. cd ~ # 进入到主目录中

2. 对文件和目录的操作

2.1 创建和删除

文件或目录的创建和删除命令:

  • touch # 针对文件
  • rm
  • mkdir # 针对目录

选项说明:

  • r:递归删除目录,包括目录下面的子目录和文件均删除
  • f:强制删除,不在提示
  • i:和用户交互 ```powershell

    以创建或删除test.txt为例

    touch test.txt rm test.txt

mkdir test # 创建目录test mkdir -p test/a/b # 同时创建目录test,及其子目录a,b rm -rf test # 删除test目录,及其子目录

  1. **注意**:linux中,rm删除的文件,将不可恢复,如果使用rm -rf *将会将文件全部删除,该过程不可逆,在删除之前,可以使用ls先查看删除的内容。<br />比如rm -rf * .html 本想删除以html结尾的文件,因中间有一个空格,而将所有的文件全部删除。
  2. <a name="Do7x3"></a>
  3. ### 2.2 查看文件详情
  4. - ls
  5. - cat
  6. - tac
  7. - head
  8. - tail
  9. - less
  10. - more
  11. 使用举例如下:
  12. ```powershell
  13. ls
  14. ls -la # 列出目录详细信息,包括隐藏文件
  15. cat test.txt
  16. cat -n test.txt # 显示行号
  17. tac test.txt # 与cat不同的是,tac是从尾到头显示文件信息
  18. head test.txt # 显示文件的前几行,默认10行
  19. head -n 20 test.txt # 显示文件的前20行
  20. tail test.txt # 显示文件的末尾几行,默认10行
  21. tail -n 20 test.txt # 显示文件的末尾20行
  22. tail -f test.txt # 实时显示文件的追加内容,多用于查看日志
  23. less test.txt # less和more支持查看多页文件,支持文件内容的翻页,跳转等
  24. more test.txt

2.3 查找文件

  • find
  • locate
  • which
  • grep

这几个命令都可以用来查看文件,有什么区别呢?
find可用于通过字符串来匹配查看文件,可以查找匹配到的文件名、指定文件大小的文件、最新修改过的文件等,是整个文件系统的实时查询
locate查找的是指定的数据库/var/db/locate.database中的数据,数据库非实时更新,可能需要update手动更新;
which查找的是系统命令,环境变量$PATH中的系统命令;
grep是正则匹配,通过模式匹配,来查找文件。

具体的用法,后面会更详细介绍。

2.4 软链接和硬链接

  1. ln 源文件 目标文件 # 硬链接
  2. ln -s 源文件 目标文件 # 软链接

2.5 用户和群组

  • chown
  • chgrp

2.6 挂载和卸载

  • mount
  • unmount

2.7 内容的编辑

  • vim
  • awk
  • sed
  • grep

这些命令,组成非常强大的功能,用来操作文本。比如文本的编辑、跳转、删除、复制粘贴、剪切、拼接、查找等。
相关内容,可在相应章节中查看。