Skip to content
← 返回Linux列表
命令与系统观察

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 不是可用的卸载说明,已移除。网络共享例含密码占位符,实际凭据不要写进可分享的命令历史。

继续阅读