@songying
2018-11-06T20:38:37.000000Z
字数 892
阅读 1096
linux
cat file1 file2 ... #less在bash下只能显示一个文件,cat可将多个文件内容拼接起来
echo "hello" | cat - judge.sh #将标准输入与文件内容拼接
cat -s file #删除多余的空白行
cat -T file.py #将制表符标记为^| ,在ubuntu下并没有出现
cat -n line.txt #在输出的每一行前加上行号。
find命令工作方式:沿着文件层次结构向下遍历,匹配符合条件的文件,执行相应的操作。
find base_path #列出当前目录及子目录下所有的文件和文件夹
-name: 指定文件名所必须的字符串
find /home -name "*.txt" -print #寻找/home下的.txt文件,-print有无都行
find /home -iname "example*" -print #寻找/home下的文件,忽略大小写。
#\( ... \)将...视作一个整体,打印/home下所有 “.txt” 和 “.pdf" 文件
find /home \( -name "*.txt" -o -name "*.pdf" \)
-path: 指定文件路径所必须的字符串,可用通配符
#寻找/home/users目录下及其子目录下所有路径名中带有 /slynux/ 的文件
find /home/users -path "*/slynux/*"
# ! --否定参数
#寻找当前目录下及其子目录下所有不以 .txt 结尾的文件。
find . ! -name "*.txt"
# -maxdepth :--指定find开始遍历最大深度
# 列出当前目录下所有以f开头的文件,但其子目录中的文件不打印
find . -maxdepth 1 -name "f*" # 1可改为任意自然数
# -mindepth --指定find开始遍历的最小深度
# 打印出深度距离当前目录至少两个子目录的所有文件。
find . -mindepth 2 -name "f*" # 2可改为任意自然数
# -type: 对文件进行过滤,指明特定的文件匹配类型。
# 普通文件:f 符号链接:l 目录:d
# 字符设备:c 块设备:b 套接字:s FIFI:p
# 列出所有目录
find . -type d