[关闭]
@songying 2018-11-06T20:38:37.000000Z 字数 892 阅读 1096

shell命令之乐

linux


1. cat

  1. cat file1 file2 ... #less在bash下只能显示一个文件,cat可将多个文件内容拼接起来
  2. echo "hello" | cat - judge.sh #将标准输入与文件内容拼接
  3. cat -s file #删除多余的空白行
  4. cat -T file.py #将制表符标记为^| ,在ubuntu下并没有出现
  5. cat -n line.txt #在输出的每一行前加上行号。

2. find

前言

find命令工作方式:沿着文件层次结构向下遍历,匹配符合条件的文件,执行相应的操作。

  1. find base_path #列出当前目录及子目录下所有的文件和文件夹
  2. -name: 指定文件名所必须的字符串
  3. find /home -name "*.txt" -print #寻找/home下的.txt文件,-print有无都行
  4. find /home -iname "example*" -print #寻找/home下的文件,忽略大小写。
  5. #\( ... \)将...视作一个整体,打印/home下所有 “.txt” 和 “.pdf" 文件
  6. find /home \( -name "*.txt" -o -name "*.pdf" \)
  7. -path 指定文件路径所必须的字符串,可用通配符
  8. #寻找/home/users目录下及其子目录下所有路径名中带有 /slynux/ 的文件
  9. find /home/users -path "*/slynux/*"
  10. # ! --否定参数
  11. #寻找当前目录下及其子目录下所有不以 .txt 结尾的文件。
  12. find . ! -name "*.txt"
  13. # -maxdepth :--指定find开始遍历最大深度
  14. # 列出当前目录下所有以f开头的文件,但其子目录中的文件不打印
  15. find . -maxdepth 1 -name "f*" # 1可改为任意自然数
  16. # -mindepth --指定find开始遍历的最小深度
  17. # 打印出深度距离当前目录至少两个子目录的所有文件。
  18. find . -mindepth 2 -name "f*" # 2可改为任意自然数
  19. # -type: 对文件进行过滤,指明特定的文件匹配类型。
  20. # 普通文件:f 符号链接:l 目录:d
  21. # 字符设备:c 块设备:b 套接字:s FIFI:p
  22. # 列出所有目录
  23. find . -type d
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注