企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 文件查看命令 file、stat、cat、more、less、head、tail、cut、sort、uniq、wc、tr >[info] 以上命令不修改源文件,只是在打印输出时按指定的方式显示而已 ## 文件属性的查看 file stat ### 命令 file 用来查看文件##内容##或目录的属性信息 ### 命令 stat 用来查看目录或者文件的元数据,包括三个时间 >[danger] atime,ctime,mtime atime 文件查看时间 ctime 文件属性改变时间,名称和权限 mtime 文件内容改变时间 ## 文件内容的查看:cat、tac、more、less、head、tail ### 命令 cat 用来查看文件的内容 ~~~ cat [-A] [-E] [-n] file -A --show-all 打印所有字符和符号 -E --show-ends 打印行结束符 -n --number 打印行号 ~~~ ### 命令 tac 用来倒叙查看文件的内容 ### 命令 less more 用来详细查看文件内容 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 more查看到文件最后一行会直接退出 控制命令 space 翻页 b 向上翻页 j 向下一行 k 向上一行 ### 命令 head 用来查看文件头部的内容,默认是前10行 ~~~ head [-n] file -n --line 指定打印前几行 ~~~ ### 命令 tail 用来查看文件尾部的内容 ~~~ tail [-n] [-f] file -n --line 指定查看后几行 -f --follow 查看文件尾部的更新,并不退出 ~~~ ## 文件内容的切割:cut,sort ### 命令 cut 从每一行移除一部分并显示剩下的部分 remove sections from each line of files ~~~ cut [-d] [-f] file -d --delimiter 用来指定分隔符,默认的分隔符是空格 -f --fields 用来指定要查看的字段,多个字段用逗号隔开,连续的字段用-连接 ~~~ ### 命令 sort 用来对文件的内容进行排序 sort lines of text files ~~~ sort [-t] [-k] [-n] [-r] [-u] file 若有数值,默认按照每一个字符的数值大小进行比较 -t --field-separator=SEP 指定字段的分隔符 -k --key=POS1[,POS2] 指定要查看的字段,多个字段用逗号隔开,连续字段用-连接 -n --numeric-sort 根据数字的数值大小进行排序 -r --reverse 反向 -u --unique 排序后相同的行只显示一次 ~~~ >[info] 利用现存两个文件,生成一个新的文件 ~~~ 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 | sort | uniq -d 3. 删除交集,留下其他的行 cat file1 file2 | sort | uniq -u ~~~ ## 文件内容的排序:uniq 命令 uniq report or omit repeated lines 此处的重复行是指相邻的行重复,不相邻不算,与sort不同 ~~~ uniq [d] [-D] [-c] file -d --repeated 只显示重复的行,显示一次 -D --all-repeated 显示重复的行有几次显示几次 -c --count 对重复的行进行计数,相邻的重复行 ~~~ ## 文件内容统计信息 ### 命令 wc word account wc直接跟上文件时,结果会跟上文件名;使用管道时,结果后无文件名。 ~~~ wc [-l] [-w] [-c] [-L] file -l --lines 行数 -w --words 单词数 -c --bytes 字节数 -m --chars 字符数 -L --max-line-length 最长一行包含的字节数 ~~~ ## 文件的字处理 ### 命令 tr translate or delete characters 转化与删除字符 ~~~ -c或——complerment:取代所有不属于第一字符集的字符; -d或——delete:删除所有属于第一字符集的字符; dc常一起使用 -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示; -t或--truncate-set1:先删除第一字符集较第二字符集多出的字符。 ~~~ ~~~ 大小写转换 tr 'ab' 'AB' < file # cat a.txt | tr '[a-z]' '[A-Z]' 删除指定字符 # echo "hello 123 world 456" | tr -d '0-9' hello world 用tr压缩字符,可以压缩输入中重复的字符: # echo "thissss is a text linnnnnnne." | tr -s ' sn' this is a text line. ~~~