常用Linux命令,诸如cat、find、tr、xargs等。
cat:
用cat拼接文件
cat file1 file2 file3压缩空白行
1  | cat -s file  | 
显示文件内的制表符
    cat file
输出行号
    cat -n file
find:
找出当前目录及其子目录的所有文件和文件夹
    find base_path
    find . -print
根据文件名和正则表达式找文件
    find / -name filename
    find filepath -name “.txt” -print
    find /home/users -path “.txt” -print
否定参数
find . ! -name "*.txt" -print设置查找目录深度
    find . -maxdepth 1 -type f -print
    find . -mindepth 2 -type f -print
根据文件类型搜索
    find . -type d -print #查找目录
    find . -type f -print #查找文件
    find . -type l -print #查找符号链接
    find . -type c -print #查找字符设备
    find . -type b -print #查找块设备
    find . -type s -print #查找套接字
    find . -type p -print #查找Fifo
根据时间进行搜索
    find . -type f -atime -7 -print#查找7天内被访问过的所有文件
    find . -type f -mtime -7 -print#查找7天内被修改过的所有文件
    find . -type f -ctime -7 -print#查找7天内变化时间的所有文件
    同理:
    -amin访问时间
    -mmin修改时间
    -cmin变化时间
根据文件大小进行搜索
    find . -type f -size +2k#查找大于2k的文件
    find . -type f -size -2k#查找小于2k的文件
    find . -type f -size 2k#查找等于2k的文件
删除匹配文件
    find . -type f -name “.swp” -delete
根据文件权限和所有权查找
    find . -type f -perm 655 -print#找出权限为655的文件
    find / -type f -user mysql -print#找出所有mysql的文件
    find . -type f -name “.php” ! -perm 644 -print#找出所有执行权限不是644的php文件
结合find执行命令和动作
    find . -type f -user root -exec chown mysql {};#将root的文件权限交给mysql
    find . -type f -name “.c” -exec cat {} ;>all_c_files.txt #将所有c文件拼接起来保存到all_c_files.txt中
    find . -type f -mtime +10 -name “.txt” -exec cp {} OLD ;#将10天前的文件复制到OLD中
-exec不能接多个命令,只能跟一个命令,但是我们可以把命令写入shell脚本中,然后-exec执行这个脚本
    -exec ./commands.sh {} ;
让find跳过指定目录
    find devel/source_path ( -name “.git” -prune ) -o ( -type f -print )#打印不包括在.git目录中的所有文件的名称和路径
xargs:
她擅长将标准输入数据转换为命令行参数。能够将stdin数据转换为特定命令行参数。xargs也可以将单行或者多行文本输入转换成其他格式。格式:
    command |xargs
将多行输入转换为单行输出
    cat example.sh |xargs
将单行输入转换为多行输出
    cat example.sh |xargs -n 3#将example分三行显示
用自定义分隔符分割参数
    echo “splitXsplitXsplitXsplit” |xargs -d x
    echo “splitXsplitXsplitXsplit” |xargs -d x -n 2#将分割后的数据分两行输出
结合find命令
    find . -type f -name “.txt” -print0 | xargs -0 rm -f#删除所有txt文件,xargs -0将\0作为输入定界符
    find source_code_dir_path -type f -name “.c” -print0 | xargs -0 wc -l#统计c程序文件中代码的总行数
tr:
用tr进行转换
    tr [option] set1 set2
    echo “HELLO WHO IS THIS” | tr ‘A-Z’ ‘a-z’#将大写替换为小写

