第五节.Linux文件内容查看、文件目录的默认及隐藏权限、文件类型查看、文件查找

最后更新于 2021-10-08 473 次阅读


1.文件内容查看

当想查看文件的具体内容时,有多个命令可选。

(1)‘’cat‘’命令:全文查看

命令格式:cat 【-option】 文件名

例如:cat -n /etc/man_db.conf

命令参数:

-b:打印出行号,但是空白行不标行号

-n :同-b,打印出行号,但是空白行标出行号

-E:将结尾的换行符$显示出来

-v:列出一些看不见的特殊字符

-T:将[Tab]按键以^I显示出来

-A:相当于整合了-vET

(2)‘’tac‘’命令:(cat倒过来)

相当于cat的反向列示,cat是从头到尾列示,tac是从尾到头列示

(3)‘’nl‘’命令:添加行号打印

类似于cat -n,但是能够对行号做比较多的显示设计

命令格式:nl 【-option】文件名

例如:nl -b a -n rz -w 3 /etc/issue

常用参数:

-b:指定行号的显示方式,有-b a(类似cat -n)无论是否有空行,都显示行号-b t 空行不显示行号

-n:列出行号的表示方法,-n ln左边显示;-n rn右方显示,不加0;-n rz右方显示,加0

-w:指定行号补0的位数

(4)‘’more‘’与‘’less‘’命令:可翻页查看

more与less的使用类似,都可以翻页来查看文件内容,不过less的用法更加弹性,more只能往后翻页,但是less可以使用pageup和pagedown键上下翻页。

常用按键:

more:

enter:翻一行

space空格:翻一页

/字符串:向下查找某一字符串关键词

:f :立刻显示当前文件文件名及行数

less:

/字符串:向下查找某一字符串关键词

?字符串:向上查找某一字符串关键词

pageup:向上翻页

pagedown:向下翻页

n:重复前一查找(与/和?有关)

N:反向重复前一个查找

g:前进到数据第一行

G:前进到数据最后一行

(5)‘’head‘’和‘’tail‘’命令:信息数据截取

head用于从头截取一定行数的内容,tail用于从尾巴开始截取一定行数的内容,tail -f后还可以对一个文件的内容的写入进行监视

命令格式:head {-n number}文件

tail {-n number}文件

例如:head -n 30 /var/log/message

tail -n 30 /var/log/message

命令参数:

head 、tail: -n 后续接数字,代表应该显示的行数。如果后续的数字是负号,就如-100,head -n -100就代表打印前面所有行数,但是后边100行不打印;如果是tail -n -100就代表打印后边所有行数,前100行不打印。

如果想要打印一个文件的10-20行,就要引入“|”管道这个功能,这个功能能够让后一个命令在前一个命令进行之后的基础上进行命令处理,示例:cat -n /etc/man_db.conf | head -n 20 | tail -n 10

tail:-f 对一个文件的内容写入进行监控,系统会持续进行内容的刷新

(6)‘’od‘’命令:非纯文本文件查看

对于二进制文件,以上的查看的方式,都会出现显示乱码的情况,这时候我们可以用od这个命令来显示二进制文件

2.创建新文件及修改文件时间

(1)touch(创建新文件)

命令格式:touch 文件名

(2)touch(修改文件时间)

首先在进行文件时间之前,我们要搞清楚一个文件一共有三个时间。

首先是:mtime(modification time 文件修改时间):文件内容改变的时间(ls -al默认)

ctime(status time 文件状态时间):文件权限和属性改变的时间

atime(access time 文件访问时间):文件被读取的时间

如图显示,从上到下依次是 mtime、ctime、atime,“;”代表连续命令的执行

命令格式:touch 【-option】 文件

命令参数:

-d:后面可以接自定义的日期,同时修改mtime和atime

-a:仅自定义atime

-c:仅修改文件的时间,若该文件不存在则不建立新文件

-m:仅自定义mtime

-t:后续接自定义的时间,格式为【YYYYMMDDhhmm】

3.文件与目录的默认权限及隐藏权限的设置

(1)默认权限(umask)

在linux系统中一个用户创建一个文件或者目录后,在不修改权限的情况下,文件及目录使用的是系统提供的默认权限,我们可以通过命令umask或者 umask -S来查看系统的默认权限。

命令umask

命令umask -S

umask命令这里显示的数字0022,代表的是在系统本身默认的权限(文件为-rw_rw_rw_ 666;目录为-rwxrwxrwx 777)的基础上,需要减掉的权限。那么0022就代表文件和目录的用户组还有其他人要减去w的权限,则此时创建的文件的权限就为-rw-r--r-- 644;目录的权限为-rwxr-xr-x 755。umask的数字的第一位代表特殊权限(4:SUID,2:SGID,1:SBIT )

umask的修改命令:umask 0022

(2)文件的隐藏属性

①chattr:配置文件隐藏属性

命令格式:chattr 【+ - =】【-option】文件及目录名称

例如:chattr +i /tmp/laoju

命令参数:

-a:添加a后,文件只能增加数据,而不能删除也不能修改数据。只有root才能设置这属性

-i:可以让一个文件【不能被删除、改名、设置链接也无法写入或新增数据】

②lsattr:查看文件隐藏属性

命令格式:lsattr 【-option】文件及目录名称

命令参数:

-a:将隐藏文件的属性也显示出来

-d:如果接的是目录,仅列出目录本身的属性而非目录内的文件名

-R:连同子目录的数据也一并列出来

4.文件的特殊权限

(1)SUID

当s标志在用户权限的x项时为SUID,例如:-rws------。这个权限表示这个文件能够被多个不是该文件的创作者的用户所运行,且在运行的时候,能够获得该程序拥有者(owner)的权限。针对于文件。

例如:/etc/shadow这个文件是存储所有帐号密码的地方,其权限为 ---------- 1 root,意思是仅有root用户能够读取及写入,系统可以通过执行/usr/bin/passwd文件来修改该文件,passwd文件的权限为-rwsr-xr-x ,该passwd文件由于拥有SUID权限,所以passwd能够被其他用户运行且写入。

(2)SGID

当s标志在用户组权限的x项时为SGID,例如:----rws---。SGID可以针对文件及目录,使得目录及文件在运行的时候,能够获得该程序用户组(group)的权限。

(3)SBIT

当t标志在others权限的x项时为SBIT,例如d------rwt。SBIT专门针对目录。设置了该权限的目录,用户在该目录下建立文件和目录时,仅有自己与root才有权力删除该文件。

(4)创建特殊权限的方法

①数字法

在用数字表示特殊权限时,4代表SUID,2代表SGID,1代表SBIT。

例如,想创建-rwsrwsr-t时,使用的命令是chmod 7775 /etc/man_db.conf

创建-rwxrwsrwt时,使用的命令是 chmod 3777 /etc/man_db.conf

②字母法

和创建普通权限的方法一致。

例如:假如原文件权限时-rwxr-x--x,想更改为-rwsr-x--t,则命令为:chmod u+s o+t

5.查看文件类型及文件查找

(1)‘’file‘’命令:查看文件类型

可以使用file命令来查看一个文件的基本类型,例如是ASCII文件还是二进制文件还是数据文件?

命令格式:file 文件/文件名

ASCII文件
执行文件
链接文件

(2)“which”命令:脚本文件的查找

用于查找PATH环境变量下的可执行文件,例如:which ls

(3)文件查找

①“whereis”和“locate”命令

用于在系统某几个特定的文件夹内进行文件的搜索查找,速度较快。

②“find”命令

十分好用的搜索命令,可以用于特定位置、特定时间的搜索。

命令格式:find 【PATH】 【-option】【action】

例如:在/etc文件夹查找“vasma”这个文件:find /etc -name vasma

常用参数:

-mtime n/+n/-n:用于查找 在n天之前(那一天之内)/ n天之前 / n天之内 有修改过内容的文件

例如:find / -mtime 0 (查找24小时之内修改过内容的文件)

寻找前4天内内容被修改过的文件

-name filename:查找特定名字的文件,可以使用通配符“*”进行查找

-type type:查找特定类型的文件

-perm mode / -mode / /mode:查找刚好等于【mode】权限的文件 / 必须囊括【mode】权限的文件 / 包含任一【mode】的文件

例如:find /tmp -perm 0744 (查找权限为rwxr--r--的文件,严格匹配)

find /tmp -perm -0744 (查找全部囊括了rwxr--r--的文件,rwxr-xr-x这类文件也算,因为也包括了rwx-r--r--)

find /tmp -perm /0744 (只要权限中含有 rwxr--r--中的任一一个的,都能匹配上,例如r--------都行)

额外操作【action】

find命令支持额外操作命令 -exec

例如:find /tmp -perm /0700 -exec ls -al \;(\用来转义;) 代表查找权限包含0700的文件并输出文件的信息