DAY4
打包与压缩(续)
tar&gzip&bzip2
tar cvf etc.tar /etc
打包后

gzip etc.tar
du -h etc.tar.gz
压缩后得到

也可以一步到位
tar -jcf etc.tar.bz2 /etc

bzip2的压缩能力更强
tar -jcf etc.tar.bz2 /etc

shell解释器
alias别名作用
alias ping='ping -c 3'
仅仅让ping运行三次

PS:永久别名更改生效方法
-
在命令行中使用alias命令设置的别名仅在该次登入有效,如果重新开启一个 Shell,或者重新登录系统,则这些alias将无法使用。
-
在linux中提供alias永久化的方法:
- 将别名命令写入到~/.bashrc和/etc/bashrc文件中
- 执行 source ~/.bashrc 和 source ~/etc/bashrc 生效
执行原理
echo $PATH
- 系统为了让用户在命令行快速方便地执行命令,将可执行文件的路径存储在环境变量PATH中,使得shell知道命令的可执行文件位置
- PATH环境变量:当用户每次执行外部命令的时候都会去该变量所记录的路径下搜索和命令同名的二进制文件,如果有则执行该二进制文件,如果没有则提示命令找不到。

命令历史
history常见命令如下图

账号与组管理
账户和工作组的分类
用户分为三类:
-
超级账户——账户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。
-
系统账户——是Linux系统正常工作所必需的账户,主要为了满足相应的系统进程对文件属主的要求而建立的,如:bin、daemon、adm、sshd等,注意:系统账户不能登录。
-
普通用户——是为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。
工作组分析两类:
-
基本组(私有组):新建立账户时,若没有指定账户所属的工作组,会建立和账户名相同的组
-
扩展组(公有组):可以容纳多个用户,组中的账户都具有组所拥有的权利。
账户和工作组的配置文件
- 账户名、密码、工作组信息和工作组密码存储在以下配置文件中
| 文件功能 | 文件名称 |
|---|---|
| 用户账号文件 | /etc/passwd |
| 用户密码文件 | /etc/shadow |
| 工作组账号文件 | /etc/group |
| 工作组密码文件 | /etc/gshadow |

/etc/shadow/下的内容排序意义
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
常用指令
添加
useradd -? username
-c 注释信息:设置相关的说明信息,如,:真实姓名、邮箱地址等。
-d:目录:设定账户的家目录(默认为/home/用户名)。
-e YYYY-MM-DD:设置用户的失效日期,此日期后将不能使用该账号。
-f 天数:指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定 为-1,则表示账号过期后不被禁用(即密码永不过期)。
-g 组名或GID号:为账户指定所属的基本组,该组在指定时必须已存在。
-G:组名或GID号列表:为账户指定所属的扩展组,各组在指定时已存在,附加组可以有多个,组之间用“,”分隔。
-M:不创建账户家目录。
-N:不创建与账户名同名的基本组。
-p:密码:指定账户的登录密码。
-s shell名:指定账户登录后使用的Shell,默认是bash。
-u 用户号:设置账号的UID,默认是已有账户的最大UID加1。如果同时有-o选项,则可以重复使用其他用户的标识号。
修改
usermod -? username
常用参数 -c,-d,-m,-g,-G,-s,-u 等,意义与useradd命令中的参数相同
-l 新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用
-L:锁定(暂停)用户账户,使其不能登录使用
-U:解锁用户账户
删除
userdel
密码
passwd -? username
-d:清空指定用户的口令,与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。
-e:使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。
-i:口令过期后多少天停用账户。
-l:锁定(停用)用户账户。
-n:指定口令的最短存活期。
-x:指定密码的最长使用期限。
-u:解锁用户账户。
账户切换
格式
su 账户名
su和su - 命令区别
-
区别:加载的配置文件不一样
-
su切换方式加载的文件:~/.bashrc,/etc/bashrc -
su -切换方式加载的文件:/etc/bashrc,/etc/profile,~/.bashrc,~/.bash_profile -
注意:su - 相当于重新建立环境,若全局变量需要继续使用则不能使用su - 命令
而且从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标用户的密码且验证成功后才可切换。
用户系统处理命令
users命令
作用
- 查看当前登录系统的用户
例
[root@server ~]# users
root
last命令
作用
- 列出目前与过去登入系统的用户相关信息,该命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来
例
[root@server ~]# last
lastlog命令
作用
- 查看每个账号的最近登录时间,该命令会读取/var/log/lastlog文件
例
lastlog
Linux文件系统权限
一般权限

组成模式分析
| 字符表示 | 二进制表示 | 数字表示 |
|---|---|---|
| --- | 000 | 0 |
| --x | 001 | 1 |
| -w- | 010 | 2 |
| -wx | 011 | 3 |
| r-- | 100 | 4 |
| r-x | 101 | 5 |
| rw- | 110 | 6 |
| rwx | 111 | 7 |

chomd

chown
chown -参数 所有者:所属组 文件名或目录名

ACL权限管理命令
查看 getfacl
建立 setfcl
(PS:
删除指定用户的 ACL 权限
setfacl -x u:用户名 文件名
删除指定用户组的 ACL 权限
setfacl -x g:组名 文件名
删除文件的所有 ACL 权限
setfacl -b 文件名
)
权限掩码umask
新建文件权限与umask关系
-
在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认权限与umask值有关
-
新建文件的默认权限=0666-umask值 (减去)
-
新建目录的默认权限=0777-umask值
查看默认umask值
[root@server ~]# umask
0022
修改默认umask
[root@server ~]# umask 000 # 临时修改
[root@server ~]# touch file2
[root@server ~]# mkdir dir2
[root@server ~]# ll -d file2 dir2
drwxrwxrwx. 2 root root 6 5月 6 18:26 dir2
-rw-rw-rw-. 1 root root 0 5月 6 18:25 file2
真实的umask在bash_profile里面

浙公网安备 33010602011771号