Linux学习笔记五
nl(添加行号打印)
nl [-bnw] 档案
选项与参数:
-b:指定行号指定的方式,主要有两种:
-b a:表示不论是否为空行,也同样列出行号(类似cat -n)
-b t:如果有空行,空的那一行不要列出行号(默认值)
-n:列出行号表示的方法,主要有三种:
-n ln:行号在屏幕的最左方显示
-n rn:行号在自己字段的最右方显示,且不加0
-n rz:行号在自己字段的最右方显示,且加0
-w:行号字段的占用的位数
more和less可以翻页查看文件,more有几个按键可以按:
空格键(space):向下翻一页
Enter:向下翻一行
/字符串:向下搜寻【字符串】这个关键词
:f:立刻显示出文件名以及目前显示的行数
:q:退出
b或[ctrl]-b:往回翻页
less几个按键:
空格键(space):向下翻一页
[pagedown]:向下翻一页
[pageup]:向上翻一页
/字符串:向下搜寻【字符串】的功能
?字符串:向上搜寻【字符串】的功能
n:重复前一个搜寻
N:反向的重复前一个搜寻
q:离开
查阅非纯文本档:od
od [-t TYPE] 档案
TYPE类型:
a:利用默认的字符输出
c:使用ASCII字符来输出
d[size]:利用十进制来输出数据,每个整数占用size bytes
f[size]:利用浮点数来输出数据,每个数占用size bytes
o[size]:利用八进制来输出数据,每个数占用size bytes
x[size]:利用十六进制来输出数据,每个数占用size bytes
touch [-acdmt] 档案
-a:仅修订access time
-c:仅修改档案的时间,若该档案不存在则不建立新档案
-d:后面可以接欲修订的日期,也可以使用--date="日期或时间"
-m:仅修改mtime
-t:后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]
例:
touch -t 201211142234.50 log2012.log
umask 新建档案或目录设置默认权限
默认权限:
档案:-rw-rw-rw
目录:drwxrwxrwx
设置默认权限是做减法
例:
umask 003
档案:(-rw-rw-rw-) - (-------wx) = -rw-rw-r--
目录:(drwxrwxrwx) - (-------wx) = drwxrwxr--
SUID,SGID,SBIT
SUID 就是 Set UID
如图,x位置是s,限制与功能:
1.SUID权限仅对二进制程序(binary program)有效
2.执行者对于该程序需要具有x的可执行权限
3.本权限仅在执行该程序的过程中有效(run-time)
4.执行者将具有该程序拥有者(owner)的权限
比如passwd指令,passwd的拥有者是root这个账号,非root用户执行passwd的过程中,会暂时获得root的权限,如图:
Set GID就是s在群组的x时,与SUID不同的是,SGID可以针对档案或目录来设定
档案:
1.SGID对二进制程序有用
2.程序执行者对于该程序来说,需具备x的权限
3.执行者在执行的过程中将会获得该程序群组的支持
与SUID非常类似,若我使用非root账号去执行locate时,那账号将会取得slocate群组的支持,因此就能读取mlocate.db
目录:
1.用户若对此目录具有rx权限时,可以进入此目录
2.用户在此目录下的有效群组将会变成该目录的群组
3.用途:若用户在此目录下具有w的权限(可以新建档案),则使用者所建立的新档案,该档案的群组与目录的群组
相同
Sticky Bit,SBIT目前只针对目录有效,作用:
1.当用户在该目录下建立档案或目录时,仅有自己与root才能删除该档案
就是说,当甲用户对于A目录是群组或其他人的身份,并且拥有该目录w的权限,表示甲用户对该目录内任何人建立的目录
或档案都可以进行“删除/更名/搬移”等动作,不过如果将A目录加上SBIT的权限项目时,则甲只能够针对自己建立的档案或
目录进行“删除/更名/搬移”等动作,举例来说,比如/tmp本身的权限是drwxrwxrwt,任何人都可以在/tmp内“删除/更名/搬移”
等动作,但是自己操作该档案目录的建立者与root。
4为SUID
2为SGID
1为SBIT
假设要将一个档案权限改为[-rwxr-xr-x],[chmod 4755 filename],如图:
file 观察文件类型