文件

创建、删除

touch:创建文件

1
2
3
# 文件不存在,则创建空白文件
# 文件已存在,则修改文件的末次修改时间
touch [文件名]

mkdir:创建文件夹

1
2
3
4
# 新建的目录名称必须不能够与当前目录中已有的目录、文件同名
-p:可递归创建文件夹
mkdir 文件夹名
mkdir -p [嵌套目录]

rm:删除文件、目录

1
2
3
4
5
# rm删除文件后无法恢复,因此需要小心
-f:强制删除,忽略不存在的文件,并且不显示提示
-r:递归删除目录下的内容,删除文件夹时必须使用此参数
rm [文件名]
rm -r [文件夹名]

拷贝、移动

tree:以树状图列出文件结构

1
2
tree [目录名]
-d:只显示目录

cp:将文件、目录复制到另一个路径下

1
2
3
4
cp [源文件] [目标文件]
-f:若目标文件已存在,则直接复制,不提示
-i:覆盖文件时提示
-r:若给出的源文件是目录文件,则cp将递归复制该目录下所有子目录、文件,目标文件必须为一个目录名

mv:用于移动文件、目录

1
2
# -i:覆盖文件前的提示
mv [源文件] [目标文件]

查看文件内容

cat:查看文件内容、创建文件、文件合并、追加文件内容等

1
2
3
4
# 适用于一次显示所有文件内容,用于查看文件内容较少的
# -b:对非空输出行编号
# -n:对输出的所有行进行编号
cat [文件名]

more:分屏显示内容,一次显示一屏

1
more [文件名]

grep:允许对文本文件进行模式查找

1
2
3
4
5
# 允许对文本文件进行模式查找
# -n:显示匹配行及行号
# -v:显示不包含匹配文本的所有行(相当于求反)
# -i:忽略大小写
grep [搜索文本] [搜索文件名]
1
2
3
# 常用的搜索模式
^a:搜索以a开头的行
ke$:搜索以ke结尾的行

其它

1
2
3
echo:在终端中显示参数指定的文字
\>、\>>:将命令执行的结果输出/追加到指定文件中
|:管道,允许将一个命令的输出当作另一个命令的输入

作业习题

  1. 在当前文件夹下创建如下文件

    123.txt

  2. 在当前目录下递归创建嵌套文件夹

    目录层级1:a/b/c/d

    目录层级2:a/b/shuai

  3. 在第二题的创建的文件夹子目录中分别创建如下文件

    d目录:2.txt

    c目录:wuxiang.txt

    b目录:4.txt

    shuai目录:4.txt

  4. 在第三题基础上,删除d目录下的文件2.txt

  5. 在第三题的基础上,删除子目录d

  6. 在第三题基础上,强制删除子目录c

  7. 在前6题基础上,查看当前目录下的所有文件结构

  8. 查看当前目录下所有的目录结构

  9. 查看当前用户Home目录下所有文件的结构

  10. 将b目录下4.txt文件复制为备份文件4(backup).txt

  11. 用b目录下4.txt覆盖shuai目录下的4.txt,覆盖时需给出提示

  12. 将b目录的子目录:shuai复制进a目录下,成为其子目录,之后再删除a目录下的子目录:shuai

  13. 将b目录的子目录:shuai,移动到a目录下

  14. 在13题基础上,将a目录下的子目录shuai重命名为spring,并且将shuai目录下的4.txt文件重命名为summer.txt

  15. 在14题基础上,将a目录的子目录【spring】下文件summer.txt移动到b目录下,并且覆盖替换掉4(backup).txt,覆盖时需给出提示

  16. 打开【~/data/test.txt】,打印出其中的内容(两种方式)

  17. 打印出【~/data/test.txt】中的内容,并且要求显示非空输出行的编号

  18. 打印出【~/data/test.txt】中的内容,并且要求显示所有输出行的编号

  19. 查找【~/data/test.txt】中包含”docker”的那一行,并且打印出其行号

  20. 查找【~/data/test.txt】中不包含”docker”的那一行,并且打印出其行号

  21. 查找【~/data/test.txt】中包含”docker”的内容,不区分大小写,并且打印出其行号

  22. 查找【~/data/test.txt】中以”http”开头的内容,不区分大小写,并且打印出其行号

  23. 打印出【~/data/test.txt】中以”103“结尾的内容,区分大小写,并且打印出其行号

  24. 将当前文件夹下的目录结构打印至yyy.txt文件中

  25. 将当前文件夹下的文件信息追加打印至yyy.txt文件中

  26. 打印当前目录下所有文件的详细信息(包括隐藏文件),并且通过管道筛选出以”a”结尾的行信息