Linux 常用命令:用途、参数与操作边界 · 账号、权限与属性至磁盘容量与挂载
返回分篇目录
先按任务进入主速查;需要理解参数时再展开后面的逐条解释。命令未执行,平台与权限按相应条目核对。
账号、权限与属性
用户与组
| 命令 | 用途与边界 |
|---|
groupadd group_name | 创建一个新用户组 |
groupdel group_name | 删除一个用户组 |
groupmod -n new_group_name old_group_name | 重命名一个用户组 |
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 | 创建一个属于 "admin" 用户组的用户 |
useradd user1 | 创建一个新用户 |
userdel -r user1 | 删除用户及其主目录等关联内容;先确认数据留存 |
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 | 修改用户属性 |
passwd | 修改口令 |
passwd user1 | 修改一个用户的口令 (只允许root执行) |
chage -E 2005-12-31 user1 | 设置用户口令的失效期限 |
pwck | 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 |
grpck | 检查组文件的一致性 |
newgrp group_name | 登陆进一个新的群组以改变新创建文件的预设群组 |
userdel -r 会删除主目录和邮件目录,详见 userdel 手册。
所有者和访问权限
| 命令 | 用途与边界 |
|---|
ls -lh | 显示权限 |
ls /tmp | pr -T5 -W$COLUMNS | 将终端划分成5栏显示 |
chmod ugo+rwx directory1 | 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 |
chmod go-rwx directory1 | 删除群组(g)与其他人(o)对目录的读写执行权限 |
chown user1 file1 | 改变一个文件的所有人属性 |
chown -R user1 directory1 | 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 |
chgrp group1 file1 | 改变文件的群组 |
chown user1:group1 file1 | 改变一个文件的所有人和群组属性 |
find / -perm -u+s | 罗列一个系统中所有使用了SUID控制的文件 |
chmod u+s /bin/file1 | 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 |
chmod u-s /bin/file1 | 禁用一个二进制文件的 SUID位 |
chmod g+s /home/public | 设置目录 SGID 位,使新建文件继承该目录的组 |
chmod g-s /home/public | 禁用一个目录的 SGID 位 |
chmod o+t /home/public | 设置目录 Sticky 位,限制其中条目的删除和重命名 |
chmod o-t /home/public | 禁用一个目录的 STIKY 位 |
文件系统特殊属性
| 命令 | 用途与边界 |
|---|
chattr +a file1 | 只允许以追加方式读写文件 |
chattr +c file1 | 压缩属性,是否支持取决于文件系统 |
chattr +d file1 | 在进行文件系统备份时,dump程序将忽略这个文件 |
chattr +i file1 | 设置成不可变的文件,不能被删除、修改、重命名或者链接 |
chattr +S file1 | 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 |
lsattr | 显示特殊的属性 |
chattr 手册说明属性支持受文件系统限制;不把原 chattr +s/+u 简述当作可靠擦除或删除后恢复保证。
打包与压缩
| 命令 | 用途与边界 |
|---|
bunzip2 file1.bz2 | 解压一个叫做 'file1.bz2'的文件 |
bzip2 file1 | 压缩一个叫做 'file1' 的文件 |
gunzip file1.gz | 解压一个叫做 'file1.gz'的文件 |
gzip file1 | 压缩一个叫做 'file1'的文件 |
gzip -9 file1 | 最大程度压缩 |
rar a file1.rar file1 file2 dir1 | 同时压缩 'file1', 'file2' 以及目录 'dir1' |
unrar x file1.rar | 解压rar包 |
tar -cvf archive.tar file1 file2 dir1 | 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 |
tar -tf archive.tar | 显示一个包中的内容 |
tar -xvf archive.tar | 释放一个包 |
tar -xvf archive.tar -C /tmp | 将压缩包释放到 /tmp目录下 |
tar -cvfj archive.tar.bz2 dir1 | 创建一个bzip2格式的压缩包 |
tar -jxvf archive.tar.bz2 | 解压一个bzip2格式的压缩包 |
tar -cvfz archive.tar.gz dir1 | 创建一个gzip格式的压缩包 |
tar -zxvf archive.tar.gz | 解压一个gzip格式的压缩包 |
zip file1.zip file1 | 创建一个zip格式的压缩包 |
zip -r file1.zip file1 file2 dir1 | 将几个文件和目录同时压缩成一个zip格式的压缩包 |
unzip file1.zip | 解压一个zip格式压缩包 |
只压缩单文件的 gzip/bzip2 与能归档多个文件/目录的 tar/zip/rar 用途不同;创建 tar 和 rar 时以多文件场景覆盖原单文件重复例。解包前先检查成员与目标目录。
磁盘容量与挂载
| 命令 | 用途与边界 |
|---|
df -h | 显示已经挂载的分区列表 |
ls -lSr |more | 以尺寸大小排列文件和目录 |
du -sh dir1 | 估算目录 'dir1' 已经使用的磁盘空间' |
du -sk * | sort -rn | 以容量大小为依据依次显示文件和目录的大小 |
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n | 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) |
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n | 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) |
挂载和卸载
| 命令 | 用途与边界 |
|---|
mount /dev/hda2 /mnt/hda2 | 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 |
umount /dev/hda2 | 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出 |
umount -n /mnt/hda2 | 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 |
mount /dev/fd0 /mnt/floppy | 挂载一个软盘 |
mount /dev/cdrom /mnt/cdrom | 挂载一个cdrom或dvdrom |
mount /dev/hdc /mnt/cdrecorder | 挂载一个cdrw或dvdrom |
mount /dev/hdb /mnt/cdrecorder | 挂载一个cdrw或dvdrom |
mount -o loop file.iso /mnt/cdrom | 挂载一个文件或ISO镜像文件 |
mount -t vfat /dev/hda5 /mnt/hda5 | 挂载一个Windows FAT32文件系统 |
mount /dev/sda1 /mnt/usbdisk | 挂载一个usb 捷盘或闪存设备 |
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share | 挂载一个windows网络共享 |
设备和文件系统类型属于来源时代的例子。设备繁忙时先定位占用者;原 user -km 不是可用的卸载说明,已移除。网络共享例含密码占位符,实际凭据不要写进可分享的命令历史。