4.文件和程序管理
1. 用户权限管理
1.1 文件权限基础
权限表示法
1 | d rwx r-x r-- |
权限数值
- r(读): 4
- w(写): 2
- x(执行): 1
1.2 chmod 命令
1 | chmod [选项] 权限 文件 |
常用选项
-R
: 递归修改目录下所有文件
权限设置方法
-
符号法:
1
2
3
4chmod u+x file # 给所有者添加执行权限
chmod g-w file # 移除组的写权限
chmod o=rx file # 设置其他用户为读执行
chmod a+r file # 给所有用户添加读权限 -
数字法:
1
2chmod 755 file # rwxr-xr-x
chmod 644 file # rw-r--r--
1.3 特殊权限
权限 | 数值 | 设置方法 | 说明 |
---|---|---|---|
SUID | 4000 | u+s |
执行时以文件所有者权限运行 |
SGID | 2000 | g+s |
执行时以文件所属组权限运行 |
Sticky | 1000 | o+t |
目录中文件只有所有者能删除 |
1.4 umask 命令
1 | umask # 查看当前umask值 |
- 文件默认权限:
666 - umask
- 目录默认权限:
777 - umask
1.5 ACL 高级权限控制
1 | setfacl -m u:user:rwx file # 添加用户ACL |
1.6 所有权管理
1 | chown user:group file # 修改所有者和组 |
2. 链接管理
2.1 链接类型对比
特性 | 硬链接 | 软链接 |
---|---|---|
inode | 相同 | 不同 |
跨文件系统 | 不支持 | 支持 |
链接目录 | 不允许 | 允许 |
原文件删除 | 仍可访问 | 失效 |
2.2 ln 命令
1 | ln source link # 创建硬链接 |
3. 进程管理
3.1 ps 命令
1 | ps aux # 查看所有进程 |
3.2 top 命令
1 | top # 动态查看进程 |
r
: 调整进程优先级k
: 终止进程q
: 退出
3.3 进程控制
1 | kill -9 PID # 强制终止进程 |
常用信号
信号 | 值 | 说明 |
---|---|---|
HUP | 1 | 重新加载配置 |
INT | 2 | 中断(Ctrl+C) |
KILL | 9 | 强制终止 |
TERM | 15 | 正常终止 |
3.4 作业控制
1 | command & # 后台运行 |
3.5 优先级管理
1 | nice -n 10 command # 启动低优先级进程 |
3.6 终端复用器
1 | tmux # 启动新会话 |
常用快捷键:
Ctrl+b c
: 新建窗口Ctrl+b %
: 垂直分割Ctrl+b "
: 水平分割Ctrl+b d
: 分离会话
4. 压缩与归档
4.1 单文件压缩
gzip
1 | gzip file # 压缩为file.gz |
bzip2
1 | bzip2 file # 压缩为file.bz2 |
xz
1 | xz file # 压缩为file.xz |
4.2 归档工具
tar 命令
1 | # 打包压缩 |
cpio 命令
1 | find . | cpio -ov > backup.cpio # 创建归档 |
dd 命令
1 | dd if=/dev/sda of=disk.img bs=1M # 创建磁盘映像 |
5. 实用技巧
5.1 nohup 命令
1 | nohup command & # 退出终端后继续运行 |
5.2 watch 命令
1 | watch -n 5 'ls -l' # 每5秒执行一次命令 |
5.3 文件传输
1 | dd if=file.iso | ssh user@host "dd of=file.iso" # 通过SSH传输文件 |