Linux系统运维常用命令及参数总结

一、文件和目录操作

ls

  • -a:列出目录下所有文件,包括隐藏文件。
  • -m:横向输出文件名,并以逗号分隔。
  • -c:按文件的 i 节点的修改时间排序并输出。
  • -R:递归列出所有子目录下的文件。
  • -l:列出文件的具体信息。
  • -s:在每个文件名后输出文件的大小。
  • -k:以 KB 为单位显示文件大小。
  • -i:输出文件的 i 节点索引信息。

cd

  • ~:切换到用户主目录。
  • ..:切换到上一级目录。

cp

  • -r:递归复制目录。
  • -i:交互式复制,覆盖前询问。

mv

  • -i:交互式操作,覆盖前询问。
  • -f:禁止交互式操作,默认覆盖。
  • -b:覆盖文件前先备份。
  • -S--suffix:自定义备份后缀。
  • -u--update:仅在源文件较新时覆盖目标文件。
  • -t--target-directory:将所有源参数移动到指定目录。
  • -T--no-target-directory:将 DEST 视为普通文件。
  • --help:显示帮助信息。
  • -v--version:显示版本信息。
  • --verbose:显示详细执行信息。

rm

  • -r--recursive:递归删除目录及其内容。
  • -f--force:强制删除文件或目录。
  • -i--interactive:交互式删除,操作前询问。
  • -v--verbose:显示详细删除信息。
  • -d--directory:将目录视为文件删除。
  • --no-preserve-root:允许删除根目录。
  • --preserve-root:禁止删除根目录。
  • --one-file-system:限制在同一个文件系统内递归删除。
  • --help:显示帮助信息。
  • --version:显示版本信息。

mkdir

  • -m--mode:设置目录权限。
  • -p--parents:自动创建不存在的父目录。
  • -v--verbose:显示详细创建信息。
  • -Z--context:设置 SELinux 安全上下文。
  • --help:显示帮助信息。

rmdir

  • -p--parents:删除指定目录及其所有空的父目录。
  • -v--verbose:显示详细删除信息。
  • --ignore-fail-on-non-empty:忽略非空目录的删除错误。
  • --help:显示帮助信息。
  • --version:显示版本信息。

二、文件查看与编辑

cat

  • -A--show-all:等价于 -vET,显示所有字符。
  • -b--number-nonblank:对非空输出行编号。
  • -e:等价于 -vE
  • -E--show-ends:在每行末尾显示 $
  • -n--number:对输出的所有行编号。
  • -s--squeeze-blank:合并连续的空行。
  • -t:与 -vT 等价。
  • -T--show-tabs:将制表符显示为 ^I
  • -u:(被忽略)
  • -v--show-nonprinting:使用 ^M- 引用非打印字符,除了 LFD 和 TAB。
  • --help:显示帮助信息并退出。

more

  • n:定义每屏显示的行数。

less

  • N:显示行号。
  • /:搜索文本。

vi/vim

  • :w:保存文件。
  • :q:退出。
  • :wq:保存并退出。

nano

  • ^G:帮助文档。
  • ^X:退出。

三、权限管理

chmod

  • -R:递归更改文件和目录的权限。
  • -v:显示详细更改信息。

chown

  • -R:递归更改文件和目录的所有者。
  • -v:显示详细更改信息。

chgrp

  • -R:递归更改文件和目录的所属组。
  • -v:显示详细更改信息。

四、用户和组管理

useradd

  • -m:创建用户主目录。
  • -s:指定用户的默认 shell。

usermod

  • -l:更改用户名。
  • -g:更改用户的主组。

userdel

  • -r:删除用户主目录及其内容。

groupadd

  • -g:指定新组的 GID。

groupmod

  • -n:更改组名。

groupdel

  • -r:删除组(如果该组是任何用户的主组,则不允许删除)。

五、系统信息查看

uname

  • -a:显示所有系统信息。

top

  • -d:设置更新间隔(以秒为单位)。
  • -b:批处理模式,用于非交互式运行。

htop

  • -d:设置更新间隔(以秒为单位)。

df

  • -h:以人类可读的格式显示磁盘空间使用情况。

du

  • -sh:显示总大小,以人类可读的格式(-s 为汇总,-h 为人类可读)。

free

  • -m:以 MB 为单位显示内存使用情况。

vmstat

  • -a:显示所有活动的内存信息。
  • -s:显示内存统计信息。

iostat

  • -x:显示详细的 I/O 统计信息。

六、网络管理

ping

  • -c:发送指定数量的 ECHO 请求。
  • -t:持续发送 ECHO 请求,直到手动停止。

traceroute

  • -n:不解析主机名,显示 IP 地址。

netstat

  • -a:显示所有连接和监听端口。
  • -t:显示 TCP 连接。
  • -u:显示 UDP 连接。

ifconfig

  • -a:显示所有网络接口的信息。

route

  • -n:不解析主机名,显示 IP 地址。

七、进程管理

ps

  • -e:显示所有进程。
  • -f:全格式显示进程信息。

kill

  • -9:强制终止进程(发送 SIGKILL 信号)。

pkill

  • -u:根据指定的用户进程进行操作。

killall

  • -u:根据指定的用户进程进行操作。

nice

  • -n:指定进程的优先级(数值越低,优先级越高)。

renice

  • -n:重新指定进程的优先级(数值越低,优先级越高)。

八、服务管理

systemctl

  • start:启动服务。
  • stop:停止服务。
  • restart:重启服务。

service

  • start:启动服务。
  • stop:停止服务。
  • restart:重启服务。

请注意,systemctlservice 都是用于管理系统服务的命令,但它们在不同的 Linux 发行版中可能有所不同。systemctl 是 Systemd 系统和服务管理器的命令,用于 Red Hat、Fedora、Debian、Ubuntu 等发行版。而 service 命令在较旧的 init 系统(如 SysVinit)中使用,也支持在一些基于 Systemd 的发行版中作为向后兼容的选项。

九、磁盘管理

fdisk

  • m:显示帮助信息。
  • w:将当前的分区表写入磁盘并退出。

mkfs

  • -t:指定要创建的文件系统类型。

mount

  • -t:指定文件系统类型。
  • -o:指定挂载选项。

umount

  • -f:强制卸载文件系统。

dd

  • if:输入文件(input file)。
  • of:输出文件(output file)。

十、压缩与解压缩

tar

  • -c:创建归档文件。
  • -x:从归档文件中提取文件。
  • -v:显示详细信息。
  • -f:指定归档文件名。

gzip

  • -r:递归压缩目录。
  • -v:显示详细信息。

zip

  • -r:递归压缩目录。
  • -v:显示详细信息。

unzip

  • -v:显示详细信息。

十一、其他常用命令

wget

  • -O:指定输出文件名。
  • -P:指定下载文件的存放目录。

scp

  • -r:递归复制整个目录。
  • -v:显示详细的调试信息。

ssh

  • -l:指定远程服务器上的用户名。
  • -p:指定连接远程服务器的端口号。

grep

  • -i:忽略大小写进行匹配。
  • -v:反向匹配,即显示不匹配的行。

find

  • -name:根据指定的文件名查找文件。
  • -type:根据指定的文件类型查找文件。

sort

  • -n:按照数值大小进行排序。
  • -r:结果按照降序(从大到小)排列。

uniq

  • -c:在每行前加上表示相应行目出现次数的前缀。

diff

  • -u:以统一格式显示文件差异。

tail

  • -f:持续监控文件,实时显示文件的末尾内容。

head

  • -n:显示文件的前 N 行(N 为指定的行数)。

##请注意,这些命令及其参数可能因不同的 Unix/Linux 发行版而略有差异。在使用这些命令时,请确保谨慎操作以上命令及其常用参数涵盖了Linux系统运维的各个方面,是日常工作中常用的工具。