且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

L-1-4 Linux基础命令详解之文件查看命令

更新时间:2022-09-30 11:55:39

[basename]

basename <filename>

取文件的文件名

------------------------------------------------------------------------------------------

[cat]

cat <filename>                 查看一个文件,但是不能编辑它

  -n                           显示查看文件的行数

  -E                           显示换行符

  -v                           显示非打印字符(-A将会全显示)

//关联命令tac

-------------------------------------------------------------------------------------------

[comm]

comm <a> <b>  //对比两个排过序的文件并且按照参数来输出他们的结果

-1  显示结果为b,其中a∩b部分已经被加上了空格

-2  显示结果为a,其中a∩b部分已经被加上了空格

-3  显示的结果是Cu(a∩b),其中只Cb(a∩b)的部分被加上了空格

-12 显示的结果是a∩b

-13 显示的结果是Cb(a∩b)

-23 显示的结果是Ca(a∩b)

-------------------------------------------------------------------------------------------

[cut]

cut <filename>                 这个程序对文本文件(数据库)进行分割并根据要求进行显示。并不会影响原文件。

  -d <{@|!|:|...}>             这个参数代表了分割表格的字符。如passwd使用:分割。如果不填默认为空格。

  -f <{x|x - x+n}[,y]...>      这个参数代表选择的字段。,表示离散的数字 -来表示连续的数字。

例如:一个文件a.txt的内容是11:22:33:44:55

cut -d : -f 3 a.txt   输出的结果是33

cut -d : -f 1-3 a.txt 输出的结果是11:22:33

cut -d : -f 1-3,5 a.txt 输出的结果是11:22:33:55  

-------------------------------------------------------------------------------------------

[dos2UNIX]

dos2UNIX <filename>   将dos/windows下的文件中的断行字符转成Unix的

-k  保留原文件mtime格式

-n <old.file> <new.file> 保留原来的文件

-------------------------------------------------------------------------------------------

[egrep]

egrep "keyword" <filename>

使用正则表达式查找内容。相当于grep -E。无需使用逃逸字符。

//关联命令grep

-------------------------------------------------------------------------------------------

[file]

file <filename>                查看这个文件后缀名的属性。

//类似命令type

-------------------------------------------------------------------------------------------

[find]

find <查找路径>                搜索文件及目录

  -name <filename>             文件名

  -amin -10                    十分钟内存取过的文件

  -atime -10                   十小时内存取过的文件

  -cmin -10                    十分钟内更改过的文件

  -ctime +10                   十小时前更改过的文件

  -size +10k                   查找大小为10k的文件

//例:find / -type f -name httpd.conf

使用正则表达式,作为关键字的匹配


  -regextype

  正则表达式的模式

  -user <username>

  根据用户名查找

  -uid <UID>

  根据UID查找

  //一个用户被删除后,原属于用户的文件属主改为其UID

  -gid <GID>

  根据GID查找

  -nouser

  查找没有属主的文件

  -nogroup

  查找没有属组的文件

  -type <x>

  根据文件的类型查找

  //其中x可以是:f普通文件 d文件

  -size {+|-} <num> [k|M|G]

  根据文件类型查找

  //+代表大于,-代表小于。文件的大小属于向上取整。


//多条件组合参数

  -a

  连接两个条件,与关系。默认情况下不写的两个条件默认为与

  -o

  或关系。

  -not

  非关系。


//根据时间戳寻找

  -mtime [+|-]<num>

  根据修改时间来查找(天)

  -ctime [+|-]<num>

  根据改变时间来查找(天)

  -atime [+|-]<num>

  根据访问时间来查找

  //+代表n天之内,-代表n天之外,不写代表精确的天数

  -mmin [+|-]<num>

  根据修改分钟来查找

  -cmin [+|-]<num>

  根据改变分钟来查找

  -amin [+|-]<num>

  根据访问时间来查找


  -perm <MODE> <perm> 

  //perm为rwx的数字

  //<MODE>的内容为:

  -mode

  每一位权限都要精确匹配 

  /mode

  只要一位权限匹配即可


//<action>

  [-print]

  结果在屏幕显示,不输入[<action>]默认为-print

  -ls

  可以让输出的命令显示为详细的命令

  -ok <command> {<filename>} \; 

  对匹配的文件执行<command>命令。以\;结尾。

  -exec <command> {<filename>} \;

  //ok的命令要求用户确认。exec直接进行。

-------------------------------------------------------------------------------------------

[fgrep]

fgrep "keyword" <filename>

不使用正则表达式查找。

//关联命令grep

-------------------------------------------------------------------------------------------

[head]

head  <filename>               查看文件前N行。(N默认为10)

  -n <num>                     查看指定行数

  -f                           将会不退出程序,在文件被其他程序修改时追加显示后续内容。

  -<num>                       查看指定行数

//关联命令tail

-------------------------------------------------------------------------------------------

[grep]

grep "keyword" <filename>      在文本中查找内容

  -n                           并显示出行数

  -i

  忽略大小写

  --colour

  用颜色标记关键词

  -v 

  只显示没有关键词的行

  -o 

  只显示匹配的字符串

  -E

  使用扩展正则表达式

  -A <num> 

  显示匹配的行下的<num>行

  -B <num>

  显示匹配的行上的<num>行

  -C <num>

  显示匹配的行上下各<num>行

  -c

  显示匹配字符的次数,但不显示内容,输出结果是一个数字

  -<num>

  显示匹配行与接下来的<num>行

//关联命令egrep,fgrep

-------------------------------------------------------------------------------------------

[less]

less <filename>                显示文件内容带分页

//关联命令more

-------------------------------------------------------------------------------------------

[locate]

locate <filename>

根据全系统文件数据库进行查找,数据可能会有延迟。

//文件数据库更新命令为updatedb

//相关命令updatedb

-------------------------------------------------------------------------------------------

[md5sum]

md5sum <filename>              计算并打印文件的MD5散列

-------------------------------------------------------------------------------------------

[more]

more <filename>                显示文件内容带分页,在结尾退出程序

//关联命令less

-------------------------------------------------------------------------------------------

[nl]

nl  <file>//显示的时候,顺便输出行号

//功能同cat -n

-------------------------------------------------------------------------------------------

[od]

od //以二进制的方式读取文件内容

-------------------------------------------------------------------------------------------

[sha]

sha1sum <filename> //使用sha计算文件校验值

-------------------------------------------------------------------------------------------

[sort]

sort <filename>                根据要求对文本文件进行排序显示。并不会影响原文件。默认使用第一个字的asc码进行排序。

  -n                           根据文件开头的数值大小进行排序

  -r                           将结果逆序输出。

  -t                           字段分隔符(具体解释看cut)

  -k <num> [,<num>]            设置需要比较的关键字符行

  -u                           排序后,删除重复的行。(必须相邻,否则不删除)

  -f                           排序时忽略字母大小写

-------------------------------------------------------------------------------------------

[stat]

stat <filename>

查看时间戳

-------------------------------------------------------------------------------------------

[tac]

tac <filename>                 查看一个文件,与cat不同的是它显示的文件都是倒过来写的。没有cat的参数。

//关联命令cat

-------------------------------------------------------------------------------------------

[tail]

tail <filename>                查看文件后N行。(默认为10行)

  -n <num>                     查看指定行数

  -f                           将会不退出程序,在文件被其他程序修改时追加显示后续内容。

  -<num>                       查看指定行数

//关联命令head

-------------------------------------------------------------------------------------------

[tr]

tr <'a'> [<'b'>]               用于转换删除字符,将a变成b。

  -d <'a'>                     删除某个字符

\\不能直接跟文件,只能使用输入重定向 < 来决定修改文件

举例:所有大小写都改成大写

echo Text | tr a-z A-Z

-------------------------------------------------------------------------------------------

[type]

type <filename>                查看文件的属性。

-a <command> //显示这个命令的类型,并且显示它的执行路径

-t <command> //显示这个命令的类型

//类似命令file

-------------------------------------------------------------------------------------------

[uniq]

uniq <filename>                根据要求删除相邻的重复行显示,并不影响原文件。

  -d                           只显示重复的行,但不显示不重复的行。

  -D                           显示所有重复的行。

  -c                           显示每行重复的次数。

  -u

  彻底删除重复的行,而不是合成一行。

-------------------------------------------------------------------------------------------

[wc]

wc <filename>                  显示文件的行、单词数、字节数

  -l                           只显示行数

  -w                           只显示单词数

  -c                           只显示字节数

-------------------------------------------------------------------------------------------

[xargs]

xargs <command>        从标准输入接受命令,并执行。

//适用于管道命令,某些命令不支持管道命令,如:ls。需要通过此命令才能兼容管道命令。

-------------------------------------------------------------------------------------------

本文转自Heartnight();博客51CTO博客,原文链接http://blog.51cto.com/181647568/1784185如需转载请自行联系原作者


tangjiashiertui