不 断 前 行,方 可 不 被 淘 汰
9、head
tail
more
less
查看内容
这四个命令使用和cat
类似,只是显示方式的区别。head
从文件的第一行开始显示,默认显示10行,使用选项-n
可以指定显示行数:
[root@centos7 ~]# head -n 3 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
显示文件/etc/group的前三行。
/etc/group中每行被:
分隔成4列:
1) 组名2) 口令,linux中一般无组口令,此处一般为x或*3) 组ID(GID)4) 组内成员列表,多个用逗号分隔。如果字段为空表示用户组为GID的用户名。
tail
默认输出文件的倒数10行内容,也可以用选项-n
指定行数:
[root@centos7 temp]# tail -n 4 /etc/shadow
postfix:!!:16814::::::
sshd:!!:16814::::::
tcpdump:!!:16994::::::
learner:$6$.U5pPYhu$h9TnYR9L4dbJY6b6VgnAQBG5qEg6s5fyJpxZVrAipHeeFhHAiHk6gjWa/xOfvWx.CzM2fvk685OEUc.ZdBYiC0:17095:0:99999:7:::
显示文件/etc/shadow的后4行。
/etc/shadow中保存的是账号密码等信息,每行被:
分隔成9列:
1) 用户名2) 加密的密码3) 上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数)。4) 两次修改口令间隔最少的天数;如果这个字段的值为空,账号永久可用;5) 两次修改口令间隔最多的天数;如果这个字段的值为空,账号永久可用;6) 提前多少天警告用户口令将过期;如果这个字段的值为空,账号永久可用;7) 在口令过期之后多少天禁用此用户;如果这个字段的值为空,账号永久可用;8) 用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,账号永久可用;9) 保留字段,目前为空,以备将来发展之用;
/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。
另外命令tail
还有个常用选项-f
,作用是随着文件内容的增加而输出,默认输出间隔为1s。more
和less
两个命令的作用都是分页显示文件内容,区别是more不允许往回翻,只能用enter键和空格键分别显示下一行和下一页(类似于man命令),less允许往回翻,向上箭头和pageup按键也是可用的。读者可自行实验这两个命令,这里不再举例。
groupadd
创建用户组groupadd [OPTION] group
选项'-g'可以为新创建用户组指定GID。如创建一个新用户组group1并指定其GID为1005,然后再新创建一个用户tom,使他的UID为1002,GID为1000,登录shell为/bin/sh:
[root@centos7 ~]# groupadd -g 1005 group1
[root@centos7 ~]# useradd -u 1002 -g 1000 -s /bin/sh tom
[root@centos7 ~]# tail -n 1 /etc/passwd
tom:x:1002:1000::/home/tom:/bin/sh
[root@centos7 ~]# tail -n 1 /etc/group
group1:x:1005:
这里useradd命令的选项-u
、-g
和-s
分别指定新用户的uid、gid和登录shell。
chmod
改变文件权限chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
在看此命令用法之前,我们先来解释一下命令ls
的选项-l
的输出:
[root@centos7 temp]# ls -l
总用量 0
drwxr-xr-x 3 root root 29 10月 21 20:34 dir1
drwxr-xr-x 2 root root 6 10月 21 20:33 dir2
-rw-r--r-- 1 root root 0 10月 21 20:34 file1
这部分输出被分为7个部分:
1) -rw-r--r-- 10个字符中第一个字符-代表文件类型,linux中文件共有7种类型,分别表示如下: d:代表文件是一个目录 l:符号链接 s:套接字文件 b:块设备文件 c:字符设备文件 p:命名管道文件 -:普通文件,或者说除上述文件外的其他文件剩下的9个字符每三个一组,表示这个文件的权限,linux中文件权限用二进制的000-111(一位八进制数)来分别代表文件的权限,其中: r(read):读权限(如果是文件表示读取文件内容,如果是目录表示浏览目录)。二进制第一位置1即100,十进制为数字4。 w(write):写权限(对文件而言,具有新增、修改文件内容的权限,对目录来说,具有删除、移动目录内文件的权限。)。二进制第二位置1即010,十进制为数字2。 x(execute):执行权(对文件而言,具有执行文件的权限;对目录来说具有进入该目录的权限。)。二进制第三位置1即001,十进制为数字1。 -(无权限):当没有上述权限时。二进制表示为000。这样本例中最后一行文件file1权限:前三个字符`rw-`表示文件的所有者(`owner`)对文件具有读和写的权限,十进制数字为4+2=6。中间三个字符`r--`表示文件的所属组(`group`)对文件具有读权限,十进制数字为4。最后三个字符`r--`表示系统中其他用户(`others`)对文件具有读权限,十进制数字为4。这样文件的权限可以用十进制数字`644`来表示。对于目录dir1来说:前三个字符`rwx`表示目录所有者(`owner`)对其具有读、写和执行的权限,十进制表示为4+2+1=7。中间三个字符`r-x`表示目录的所属组(`group`)对其具有读和执行的权限,十进制表示为4+1=5。后三个字符`r-x`表示系统中其他用户(`others`)对其具有读和执行的权限,十进制表示为4+1=5。这个目录权限用十进制表示即为`755`,注意文件和目录相同权限之间的区别。
2) 权限后面的数字代表文件的硬链接数
3) root文件的所有者,有时表示为用户的UID。
4) root文件的所属组,有时表示为用户组的GID。
5) 文件大小,以字节`Byte`为单位
。6) 10月 21 表示文件内容最近一次被修改的时间。
7) 最后一列为文件名。
如给文件file1的用户组增加执行权限:
[root@centos7 temp]# chmod g+x file1
[root@centos7 temp]# ls -l file1
-rw-r-xr-- 1 root root 0 10月 21 20:34 file1
这里g+x
表示给group
增加执行x
的权限。
如给文件file1的其他人减少读权限:
[root@centos7 temp]# chmod o-r file1
[root@centos7 temp]# ls -l file1
-rw-r-x--- 1 root root 0 10月 21 20:34 file1
这里o-r
表示给others
减少读r
权限。
如给文件file1的任何用户都设置成rw-权限:
[root@centos7 temp]# chmod a=rw file1
[root@centos7 temp]# ls -l file1
-rw-rw-rw- 1 root root 0 10月 21 20:34 file1
这里a=rw
表示给所有人all
设置成rw-
权限。
或者用十进制表示法直接指定文件的权限:
[root@centos7 temp]# chmod 644 file1
[root@centos7 temp]# ls -l file1
-rw-r--r-- 1 root root 0 10月 21 20:34 file1
如给目录dir1和目录内的所有目录和文件权限都设置成777:
[root@centos7 temp]# chmod 777 -R dir1
[root@centos7 temp]# ls -l
总用量 0
drwxrwxrwx 3 root root 29 10月 21 20:34 dir1
drwxr-xr-x 2 root root 6 10月 21 20:33 dir2
-rw-r--r-- 1 root root 0 10月 21 20:34 file1
选项-R
作用是递归地改变目标权限。
另外如目录/tmp
的权限:
[root@centos7 tmp]# ls -l /
....drwxrwxrwt. 7 root root 88 10月 22 21:14 tmp....
我们看到权限最后一位是t
,这里代表粘滞位(sticky
),它的作用是给目录特殊的权限:使用户不能删除该目录下不属于此用户的文件。t
后面的.
表示该文件被selinux的安全上下文保护。
如可执行文件/bin/su
的权限:
[root@centos7 bin]# ls -l /bin/su
-rwsr-xr-x. 1 root root 32072 11月 20 2015 /bin/su
所有者的权限rws
,这里的s
代表suid
,如果在用户组位置的话代表sgid
,作用是给文件特殊的权限:当用户执行此文件的时候,把他当成是文件的所有者来执行。
这些特殊用途的的权限对普通用户来说知道即可。
lsattr
列出隐藏权限lsattr [option] [files...]
如:
[root@centos7 temp]# lsattr ---------------- ./dir1
---------------- ./dir2
---------------- ./file1
列出了文件的隐藏权限位,共有16位(由于隐藏权限是文件系统相关的,不同的文件系统对于文件的隐藏权限的设定不一定相同)。
chattr
给文件设置隐藏权限chattr [+-=] [mode] files...
如给文件file1增加隐藏权限a:
[root@centos7 temp]# chattr +a file1
[root@centos7 temp]# lsattr file1
-----a---------- file1
这里的a
权限表示:这个文件将只能添加数据,而不能删除也不能修改数据,只有root才能配置这个属性。
给文件file2增加隐藏属性i:
[root@centos7 temp]# chattr +i file2
[root@centos7 temp]# lsattr file2
----i----------- file2
这些隐藏权限都不常用,通常知道这两个就可以了。
联系客服