2文件内容查询
cat 由第一行开始显示档案内容
tac 从最后一行开始显示
nl 显示的时候输出行号
more 一页一页的显示档案内容
less 类似more,但可以往前翻页
head 只看头几行
tail 只看尾几行
od 以二进制的方式读取档案内容
2.1cat(concatenate)
参数:
A :相当于 -vET 癿整合选项,可列出一些特殊字符而不是空白而已
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号
-E :将结尾的断行字符 $ 显示出来
-n :打印出行号,连同空白行也会有行号
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
2.2 tac (反向列示)
2.3 nl (添加行号打印)
参数:
-b :指定行号的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己字段的最右方显示,且不加 0 ;
-n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的位数。
2.4more (一页一页翻页)
空格键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字符串:代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;
:f:立刻显示出文件名以及目前显示的行数;
q:代表立刻离开 more ,不再显示该档案内容。
b或[ctrl]-b :代表往回翻页
3数据选取
3.1head(取出前几行)
参数:
-n:后面接数字,表示取几行
3.2tail(取出后几行)
参数:
-n:后面接数字,表示取几行
4非纯文本文件:od
参数:
-t:后面可以接各种类型的输出:
a:使用默认字符
c:使用ASCII字符输出
d[size]:使用十进制输出,每个字符占size字节
f[size]:使用浮点数输出,每个字符占size字节
o[size]:使用八进制输出,每个字符占size字节
x[size]:使用十六进制输出,每个字符占size字节
5修改文件时间与创建新文件:touch
3个主要的修改时间:modification time(mtime),修改时间
status time(ctime),状态时间
access time(atime),访问时间
默认条件下,ls命令下显示的是mtime
touch 文件:新建一个空的文件
参数:
-a:仅修改access time
-c:仅修改时间,而不是建立文件
-d:后面可以接日期,也可以使用--date="日期或时间”
-m:仅修改mtime
-t:后面接时间,格式为[YYMMDDhhmm]
6文件与目录的默认权限与隐藏权限
6.1文件默认权限:umask
例,umask
0022
umask -S
u=rwx,g=rx,o=rx
若用户建立的是文件,默认属性为666,-rw-rw-rw-
若用户建立的是目录,默认属性是777,,drwxrwxrwx
umask指定的是"该默认值需要减掉的权限",即此时的文件默认属性为644,-rw-r--r--,目录的默认属性为755,drwxr-xr-x
设置umask:umask 0022
6.2文件隐藏属性
6.2.1chattr(设置文件隐藏属性)
参数:
+:增加某一特殊参数
-:减去某一特殊参数
=:设定成某一特定参数
A:atime将不能被修改
S:将数据同步写入磁盘中,避免数据流失
a:只有root可以设置该属性,只能增加属性,不能深处
c:自动将文件压缩,打开时自动解压缩
d:在执行dump(备份)程序的时候,可使该文件具有转储的功能
i:设置文件不能被删除,改名,写入,更改连接数
j:会使文件在写入时,先记录在journal中
s:设置了s后,会将文件从硬盘完全清楚
u:与s相反,当设置了u之后,数据内容其实还在磁盘中
6.2.2lsattr(显示文件的隐藏属性)
参数:
-a:将隐藏文件的属性也显示出来
-R:连同子目录的数据也一并列出来
6.3文件特殊权限:SUID/SGID/Sticky Bit
6.3.1Set UID
创建s和t的权限,是为了让一般用户在执行某些特定程序的时候,能够暂时获得程序拥有者的权限。例如,账号与密码的存放文件在/etc/shadow和/etc/passwd,etc/passwd/中的文件权限是-r--------,文件拥有者是root,在这个权限下,只有root可以强制存储。但是当一般身份用户在修改密码的时候,使用的是/etc/passwd程序,却可以更新密码,是因为有s权限的帮助,当s权限在user的x时,类似r-s--x--x,成为Set UID,SUID.
SUID仅可以用在“二进制文件”,因为SUID是程序在执行过程中拥有拥有者的权限,因此,它仅可用于二进制文件,不能用在批处理文件(shell脚本)上。SUID对目录是无效的。
6.3.2Set GID
将s权限设置在用户组的x上
文件:如果SGID设置在二进制文件的用户组上,在执行该程序的时候,无论用户是谁,它的有效用户组将会变成该程序的用户组所有者。
目录:如果SGID设置在A目录上,则A目录内的所有文件和目录的用户组,都是A目录的用户组。
6.3.3Sticky Bit
Sticky Bit当前只针对目录有效,在具有SBit权限的目录下,用户若在该目录下具有w和x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权利删除。
6.3.4SUID/SGID/SBit权限设置
SUID:4
SGID:2
SBit:1
例,设置文件的SUID权限时,可以使用 chmod 4755 filename.
6.4文件类型:file
用file命令查看某个文件的基本信息。
7搜索文件
7.1which(搜索执行文件)
参数:
-a:将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名臣
7.2whereis(寻找特定文件)
参数:
-b:只找二进制文件
-m:只找在帮助文件manual路径下的文件
-s:只找源文件
-u:没有帮助文件的文件
7.3locate
7.4find
参数:
-atime n
-ctime n
-mtime n
-newer file
-uid n
-gid n
-user name
-group name
-nouser
-nogroup
-name filename
-size [+-]SIZE
-type TYPE
-perm mode
-perm -mode
-perm +mode
-exec command
-print