Linux 常用命令大全:覆盖日常 99% 操作需求

发布于:2025-08-13 ⋅ 阅读:(21) ⋅ 点赞:(0)

1、基本命令

  • pwd:显示当前工作目录的绝对路径,例如在复杂目录结构中快速确认位置,执行后会输出类似/home/user/documents的结果。
  • cd:切换目录,cd 目录路径可进入指定目录,cd ~回到当前用户的家目录,cd ..返回上一级目录,cd -切换到上一次所在的目录,cd /进入根目录。
  • ls:列出目录内容,ls显示当前目录下的文件和目录(不包含隐藏文件);ls -l以长格式显示,包含权限、所有者、大小、修改时间等信息;ls -a显示所有文件和目录,包括隐藏文件(以。开头的文件);ls -h与ls -l配合使用,以人类可读的格式显示文件大小(如 K、M、G);ls -t按修改时间排序,最新的文件排在前面;ls -r反向排序;ls -S按文件大小排序。
  • clear:清空终端屏幕,使终端显示更整洁,也可使用快捷键Ctrl + L实现相同功能。
  • echo:输出指定的字符串或变量值,echo "Hello World"输出字符串,echo $PATH输出环境变量 PATH 的值。
  • date:显示或设置系统时间,date显示当前系统时间,date "+%Y-%m-%d %H:%M:%S"按指定格式显示时间,date -s "2023-10-01 12:00:00"设置系统时间。
  • cal:显示日历,cal显示当前月份的日历,cal 2023显示 2023 年全年的日历,cal 10 2023显示 2023 年 10 月的日历。

2、关机

  • shutdown:关机或重启系统,shutdown -h now立即关机;shutdown -h +1010 分钟后关机;shutdown -r now立即重启;shutdown -c取消已安排的关机或重启任务;shutdown -h 23:00在 23:00 关机。
  • poweroff:直接关闭系统,相当于shutdown -h now,操作更简洁。
  • reboot:重启系统,功能与shutdown -r now类似,使用更方便。
  • halt:关闭系统,与 poweroff 类似,会停止 CPU 运行,但可能需要手动关闭电源(现在多数系统中与 poweroff 功能相近)。
  • init:改变系统运行级别,init 0关机,init 6重启,init 3切换到多用户命令行模式,init 5切换到图形界面模式。

3、文件和目录

  • mkdir:创建目录,mkdir 目录名创建单个目录;mkdir -p dir1/dir2/dir3递归创建多级目录,即使父目录不存在也能一次性创建;mkdir -m 755 dir创建目录时指定权限为 755。
  • rmdir:删除空目录,rmdir 目录名只能删除空目录,若目录中有文件或子目录则无法删除;rmdir -p dir1/dir2当 dir2 被删除后,如果 dir1 也为空则一并删除。
  • touch:创建空文件或更新文件的时间戳,touch 文件名若文件不存在则创建空文件,若文件已存在则更新其访问和修改时间;touch -d "2023-10-01" file修改文件的时间戳为指定日期。
  • rm:删除文件或目录,rm 文件名删除指定文件;rm -r 目录名递归删除目录及其包含的所有文件和子目录;rm -f 文件名强制删除文件,不提示确认;rm -rf 目录名强制递归删除目录,使用时需谨慎,避免误删重要数据;rm -i 文件名删除前提示确认。
  • mv:移动或重命名文件 / 目录,mv 源文件 目标路径将文件移动到目标路径;mv 旧文件名 新文件名对文件进行重命名;mv 源目录 目标路径移动目录;mv -f 源 目标强制移动,覆盖已存在的目标文件不提示;mv -i 源 目标若目标存在则提示是否覆盖。

4、文件搜索

  • find:在指定目录下搜索文件,find 搜索路径 -name "文件名"按文件名搜索,支持通配符(如find /home -name "*.txt"搜索 /home 目录下所有.txt 文件);find 搜索路径 -size +10M搜索大于 10M 的文件;find 搜索路径 -mtime -7搜索 7 天内修改过的文件;find 搜索路径 -user 用户名搜索指定用户拥有的文件;find 搜索路径 -type f只搜索普通文件;find 搜索路径 -type d只搜索目录;find 搜索路径 -perm 755搜索权限为 755 的文件或目录;find 搜索路径 -name "*.log" -exec rm {} \;搜索.log 文件并删除。
  • locate:快速搜索文件,基于数据库搜索,速度比find快,locate 文件名可快速找到包含该文件名的文件路径。使用前可执行updatedb更新数据库(部分系统会自动定期更新);locate -i 文件名忽略大小写搜索;locate -r "正则表达式"按正则表达式搜索。
  • grep:在文件中搜索指定的字符串,grep "字符串" 文件名在指定文件中搜索该字符串;grep -r "字符串" 目录名递归在目录下的所有文件中搜索;grep -i "字符串" 文件名忽略大小写搜索;grep -n "字符串" 文件名显示匹配行的行号;grep -v "字符串" 文件名显示不包含该字符串的行;grep -A 3 "字符串" 文件名显示匹配行及后面 3 行;grep -B 2 "字符串" 文件名显示匹配行及前面 2 行;grep -C 2 "字符串" 文件名显示匹配行及前后各 2 行。
  • whereis:查找二进制程序、源代码和手册页的位置,whereis ls查找 ls 命令的相关文件;whereis -b ls只查找二进制文件;whereis -m ls只查找手册页。
  • which:在环境变量 PATH 指定的路径中查找可执行文件的位置,which python查找 python 可执行文件的路径;which -a ls显示所有匹配的 ls 命令路径。

5、挂载一个文件系统

  • mount:挂载文件系统,mount /dev/设备名 挂载点将指定设备挂载到挂载点(如mount /dev/sdb1 /mnt/usb挂载 U 盘到 /mnt/usb);mount -o ro /dev/cdrom /mnt/cdrom以只读方式挂载光盘;mount -t ext4 /dev/sda1 /mnt指定文件系统类型为 ext4 进行挂载;mount -o loop 镜像文件 挂载点挂载 ISO 等镜像文件;mount显示当前所有已挂载的文件系统。
  • umount:卸载文件系统,umount 挂载点或umount /dev/设备名(如umount /mnt/usb或umount /dev/sdb1),卸载前需确保该文件系统没有被使用;umount -l 挂载点懒惰卸载,即使文件系统被使用也强制卸载(稍后实际卸载);umount -a卸载所有除了 proc、sysfs 等之外的文件系统。
  • mountpoint:判断一个目录是否为挂载点,mountpoint /mnt/usb判断 /mnt/usb 是否是挂载点;mountpoint -q /mnt/usb静默模式,只通过返回值判断。
  • swapon:启用交换分区或交换文件,swapon /dev/设备名启用交换分区;swapon 交换文件名启用交换文件;swapon -a启用 /etc/fstab 中定义的所有交换设备;swapon -s显示交换设备的使用情况。

6、磁盘空间

  • df:显示磁盘分区的空间使用情况,df默认以字节为单位显示;df -h以人类可读的格式(K、M、G)显示;df -T显示文件系统类型;df -i显示 inode 使用情况;df -P使用 POSIX 格式输出,便于脚本处理;df /home只显示 /home 所在分区的情况。
  • du:显示目录或文件的磁盘使用空间,du 目录名显示指定目录下各子目录的磁盘占用;du -h 文件名以人类可读格式显示文件大小;du -sh 目录名显示目录的总大小(不显示子目录详情);du -a 目录名显示目录下所有文件和子目录的大小;du -c 目录名显示总大小并汇总;du --max-depth=1 目录名只显示指定目录下一级子目录和文件的大小。
  • lsblk:列出块设备信息,lsblk显示所有块设备的树形结构;lsblk -f显示块设备的文件系统信息;lsblk -l以列表形式显示;lsblk -o NAME,SIZE,TYPE,MOUNTPOINT指定显示的列。
  • fdisk:磁盘分区工具,fdisk -l列出所有磁盘及分区信息;fdisk /dev/sda对 /dev/sda 磁盘进行分区操作(进入交互模式)。
  • parted:磁盘分区工具,支持更大的磁盘和更多的分区格式,parted -l列出磁盘分区信息;parted /dev/sda对 /dev/sda 进行分区操作。

7、用户和群组

  • useradd:创建新用户,useradd 用户名创建用户,默认在 /home 目录下创建用户家目录;useradd -d /home/newdir 用户名指定用户家目录;useradd -s /bin/bash 用户名指定用户的默认 shell;useradd -g 组名 用户名指定用户的主要组;useradd -G 组1,组2 用户名指定用户的附加组;useradd -m 用户名自动创建用户家目录;useradd -r 用户名创建系统用户(无家目录)。
  • passwd:设置或修改用户密码,passwd 用户名为指定用户设置密码,若不指定用户名则为当前用户修改密码;passwd -l 用户名锁定用户(禁止登录);passwd -u 用户名解锁用户;passwd -d 用户名删除用户密码(登录无需密码);passwd -S 用户名显示用户密码状态。
  • userdel:删除用户,userdel 用户名删除用户,但保留用户家目录;userdel -r 用户名删除用户的同时删除其家目录;userdel -f 用户名强制删除正在登录的用户。
  • groupadd:创建用户组,groupadd 组名创建指定名称的用户组;groupadd -g 1000 组名指定组 ID 创建组;groupadd -r 组名创建系统组。
  • groupdel:删除用户组,groupdel 组名删除指定的用户组,需确保该组中没有用户。
  • usermod:修改用户属性,usermod -g 组名 用户名将用户添加到指定的主要组;usermod -aG 组名 用户名将用户添加到指定的附加组(-a 表示追加);usermod -d 新目录 用户名修改用户家目录;usermod -s /bin/sh 用户名修改用户的默认 shell;usermod -l 新用户名 旧用户名修改用户名;usermod -L 用户名锁定用户;usermod -U 用户名解锁用户。
  • groupmod:修改用户组属性,groupmod -n 新组名 旧组名修改组名;groupmod -g 新GID 组名修改组 ID。
  • id:显示用户和组的 ID 信息,id 用户名显示指定用户的 UID、GID 及所属组信息;id -u 用户名只显示 UID;id -g 用户名只显示主要 GID。
  • whoami:显示当前登录用户的用户名。
  • who:显示当前登录的用户信息,包括用户名、登录终端、登录时间、远程主机等;who -a显示所有信息;who -r显示当前运行级别。
  • w:显示当前登录用户及其执行的命令,比 who 更详细,包含用户的 CPU 使用情况等。
  • last:显示用户登录历史记录;last -n 10显示最近 10 条记录;last -u 用户名显示指定用户的登录历史。

8、文件的权限

  • chmod:修改文件或目录的权限,权限分为读(r,4)、写(w,2)、执行(x,1),分别对应所有者、所属组和其他用户。chmod 755 文件名为所有者授予读、写、执行权限,所属组和其他用户授予读和执行权限;chmod u+x 文件名为所有者添加执行权限;chmod g-w 文件名取消所属组的写权限;chmod o=r 文件名为其他用户设置只读权限;chmod -R 755 目录名递归修改目录及其内容的权限;chmod a+x 文件名为所有用户添加执行权限;chmod 000 文件名取消所有用户的权限;chmod --reference=参考文件 目标文件将目标文件权限设置为与参考文件相同。
  • chown:修改文件或目录的所有者和所属组,chown 用户名 文件名将文件所有者改为指定用户;chown 用户名:组名 文件名同时修改所有者和所属组;chown -R 用户名:组名 目录名递归修改目录的所有者和所属组;chown .组名 文件名只修改所属组(使用。分隔)。
  • chgrp:修改文件或目录的所属组,chgrp 组名 文件名将文件所属组改为指定组;chgrp -R 组名 目录名递归修改目录的所属组;chgrp --reference=参考文件 目标文件将目标文件所属组设置为与参考文件相同。
  • umask:设置创建文件或目录的默认权限,umask显示当前的 umask 值;umask 022设置 umask 值为 022(创建文件默认权限为 644,目录为 755)。

9、文件的特殊属性

  • chattr:设置文件的特殊属性,chattr +i 文件名设置文件为不可修改、删除或重命名;chattr +a 文件名使文件只能追加内容,不能删除或修改已有内容;chattr -i 文件名取消不可修改属性;chattr +s 文件名文件删除后数据块被清零;chattr +u 文件名文件删除后可恢复;chattr -R +i 目录名递归设置目录及其内容不可修改。
  • lsattr:查看文件的特殊属性,lsattr 文件名显示指定文件的特殊属性;lsattr -d 目录名显示目录的特殊属性;lsattr -R 目录名递归显示目录及其内容的特殊属性;lsattr -a 文件名显示包括隐藏文件在内的特殊属性。

10、打包和压缩文件

  • tar:打包和解包文件,常用于备份。tar -cvf 包名.tar 文件/目录将文件或目录打包成 tar 包;tar -xvf 包名.tar解包 tar 包;tar -tvf 包名.tar查看 tar 包内的内容;tar -czvf 包名.tar.gz 文件/目录打包并以 gzip 压缩;tar -xzvf 包名.tar.gz解压 gzip 压缩的 tar 包;tar -cjvf 包名.tar.bz2 文件/目录打包并以 bzip2 压缩;tar -xjvf 包名.tar.bz2解压 bzip2 压缩的 tar 包;tar -cJvf 包名.tar.xz 文件/目录打包并以 xz 压缩;tar -xJvf 包名.tar.xz解压 xz 压缩的 tar 包。
  • gzip:压缩或解压缩文件,gzip 文件名压缩文件(压缩后原文件删除,生成.gz 文件);gzip -d 文件名.gz解压缩.gz 文件;gzip -l 文件名.gz查看压缩文件的信息;gzip -k 文件名压缩文件时保留原文件。
  • bzip2:比 gzip 压缩率更高,bzip2 文件名压缩文件;bzip2 -d 文件名.bz2解压缩;bzip2 -k 文件名压缩时保留原文件;bzip2 -z 文件名强制压缩(即使文件已压缩)。
  • xz:高压缩率的压缩工具,xz 文件名压缩文件;xz -d 文件名.xz解压缩;xz -k 文件名压缩保留原文件;xz -l 文件名.xz查看压缩信息。
  • zip:创建 ZIP 格式压缩包,zip 压缩包名.zip 文件/目录创建 ZIP 包;zip -r 压缩包名.zip 目录递归压缩目录;zip -d 压缩包名.zip 文件名从压缩包中删除文件;zip -u 压缩包名.zip 文件名更新压缩包中的文件。
  • unzip:解压缩 ZIP 格式文件,unzip 压缩包名.zip解压缩;unzip -l 压缩包名.zip查看压缩包内容;unzip 压缩包名.zip -d 目录解压到指定目录;unzip -o 压缩包名.zip覆盖已有文件不提示。

11、RPM 包

  • rpm -ivh 包名.rpm:安装 RPM 包,-i表示安装,-v显示详细信息,-h显示进度条。
  • rpm -Uvh 包名.rpm:升级 RPM 包,若包未安装则进行安装。
  • rpm -e 包名:卸载 RPM 包,只需包名无需完整文件名。
  • rpm -qa:列出系统中已安装的所有 RPM 包。
  • rpm -qa | grep 关键词:查找包含关键词的已安装 RPM 包。
  • rpm -qi 包名:查看指定 RPM 包的详细信息(版本、描述等)。
  • rpm -ql 包名:列出 RPM 包安装的所有文件路径。
  • rpm -qf 文件名:查询指定文件由哪个 RPM 包安装。
  • rpm -V 包名:验证 RPM 包安装的文件是否被修改。
  • rpm --import 公钥文件:导入 RPM 包的签名公钥,用于验证包的完整性。

12、YUM 软件包升级器

  • yum install 包名:安装软件包,自动解决依赖关系。
  • yum update:升级系统中所有可升级的软件包。
  • yum update 包名:仅升级指定的软件包。
  • yum remove 包名:卸载软件包,同时卸载无用的依赖。
  • yum list:列出所有可用的软件包(已安装和可安装)。
  • yum list installed:列出已安装的软件包。
  • yum list available:列出可安装的软件包。
  • yum search 关键词:搜索包含关键词的软件包。
  • yum info 包名:查看软件包的详细信息。
  • yum clean all:清理 YUM 缓存的软件包和元数据。
  • yum makecache:生成 YUM 缓存,加快后续操作速度。
  • yum grouplist:列出软件包组。
  • yum groupinstall "软件包组名":安装整个软件包组。
  • yum groupremove "软件包组名":卸载软件包组。
  • yum repolist:列出已启用的 YUM 仓库。

13、DEB 包

  • dpkg -i 包名.deb:安装 DEB 包,需手动解决依赖问题。
  • dpkg -r 包名:卸载 DEB 包,保留配置文件。
  • dpkg -P 包名:彻底卸载 DEB 包,删除配置文件。
  • dpkg -l:列出系统中已安装的 DEB 包。
  • dpkg -l | grep 关键词:查找包含关键词的已安装 DEB 包。
  • dpkg -s 包名:查看指定 DEB 包的状态信息。
  • dpkg -L 包名:列出 DEB 包安装的所有文件。
  • dpkg -S 文件名:查询指定文件由哪个 DEB 包安装。
  • dpkg --configure -a:配置未完成配置的软件包。
  • dpkg -c 包名.deb:查看 DEB 包内的文件列表(未安装时)。

14、查看文件内容

  • cat 文件名:显示文件的全部内容,适合查看小文件。
  • cat -n 文件名:显示文件内容并显示行号。
  • cat -b 文件名:显示行号,但不包括空行。
  • tac 文件名:反向显示文件内容(从最后一行到第一行)。
  • more 文件名:分页显示文件内容,按空格键翻页,按 q 退出。
  • less 文件名:比 more 更强大的分页查看工具,支持上下滚动、搜索(按 / 输入关键词,n 下一个,N 上一个),按 q 退出。
  • head 文件名:显示文件的前几行,默认前 10 行。
  • head -n 20 文件名:显示文件的前 20 行。
  • tail 文件名:显示文件的后几行,默认后 10 行。
  • tail -n 15 文件名:显示文件的后 15 行。
  • tail -f 文件名:实时跟踪文件的新增内容(常用于查看日志),按 Ctrl+C 退出。
  • nl 文件名:给文件内容添加行号并显示,类似 cat -n。
  • od -c 文件名:以 ASCII 码方式显示二进制文件内容。

15、文本处理

  • sed:流编辑器,用于文本替换、删除等操作。sed 's/旧内容/新内容/' 文件名替换每行第一个匹配的旧内容;sed 's/旧内容/新内容/g' 文件名替换所有匹配的旧内容;sed '/关键词/d' 文件名删除包含关键词的行;sed '3d' 文件名删除第 3 行;sed '2,5d' 文件名删除第 2 到 5 行;sed -i 's/旧/新/g' 文件名直接修改文件内容(谨慎使用)。
  • awk:文本处理工具,按列处理数据。awk '{print $1}' 文件名打印每行的第 1 列;awk -F ':' '{print $1,$3}' /etc/passwd以:为分隔符,打印第 1 和第 3 列;awk '$3 > 1000' 文件名打印第 3 列大于 1000 的行;awk '/关键词/ {print $0}' 文件名打印包含关键词的行;awk 'BEGIN{total=0} {total+=$1} END{print total}' 文件名计算第 1 列的总和。
  • sort:对文本内容排序。sort 文件名按默认规则排序;sort -n 文件名按数值大小排序;sort -r 文件名反向排序;sort -k 2 文件名按第 2 列排序;sort -u 文件名去除重复行;sort -t ',' -k 3n 文件名以,为分隔符,按第 3 列数值排序。
  • uniq:处理重复行(需先排序)。uniq 文件名去除连续重复行;uniq -c 文件名统计连续重复行的次数;uniq -d 文件名只显示重复的行;uniq -u 文件名只显示不重复的行。
  • cut:截取文本的列。cut -f 1 文件名截取第 1 列(默认制表符分隔);cut -d ':' -f 1,6 /etc/passwd以:为分隔符,截取第 1 和第 6 列;cut -c 1-5 文件名截取每行的第 1 到 5 个字符;cut -c 10- 文件名截取每行第 10 个字符及之后的内容。
  • paste:合并多个文件的列。paste file1 file2将 file1 和 file2 的内容按列合并;paste -d ',' file1 file2以,作为分隔符合并。
  • tr:字符转换或删除。tr 'a-z' 'A-Z' < 文件名将文件中 lowercase 转为 uppercase;tr -d 'abc' 文件名删除文件中的 a、b、c 字符;tr -s ' ' 文件名将多个连续空格压缩为一个。

16、字符设置和文件格式转换

  • iconv -f 原编码 -t 目标编码 原文件 -o 目标文件:转换文件编码,如iconv -f GBK -t UTF-8 old.txt -o new.txt将 GBK 编码的 old.txt 转为 UTF-8 编码的 new.txt。
  • dos2unix 文件名:将 DOS 格式文件(换行符为 \r\n)转换为 UNIX 格式(换行符为 \n)。
  • unix2dos 文件名:将 UNIX 格式文件转换为 DOS 格式。
  • enca -L 语言 文件名:检测文件的编码格式,如enca -L chinese file.txt检测中文文件编码。
  • enca -L 语言 -x 目标编码 文件名:转换文件编码,如enca -L chinese -x UTF-8 file.txt。

17、文件系统分析

  • dumpe2fs /dev/设备名:显示 ext 系列文件系统的详细信息(如块大小、inode 数量等),需指定具体分区(如 /dev/sda1)。
  • e2fsck /dev/设备名:检查并修复 ext 系列文件系统的错误,需在卸载状态下使用,e2fsck -y /dev/sda1自动回答 yes 修复所有错误。
  • fsck:检查并修复文件系统,自动识别文件系统类型,fsck /dev/sda1;fsck -f /dev/sda1强制检查即使文件系统看似正常。
  • tune2fs:调整 ext 系列文件系统的参数,tune2fs -l /dev/sda1显示参数;tune2fs -c 50 /dev/sda1设置每挂载 50 次检查文件系统。
  • badblocks:检查磁盘坏块,badblocks /dev/sda检查整个磁盘;badblocks -o badblocks.list /dev/sda1将坏块列表保存到文件。

18、初始化一个文件系统

  • mkfs:创建文件系统,mkfs.ext4 /dev/sda1在 /dev/sda1 上创建 ext4 文件系统;mkfs.xfs /dev/sdb1创建 xfs 文件系统;mkfs.vfat /dev/sdc1创建 FAT32 文件系统(常用于 U 盘)。
  • mkfs.ext4:专门创建 ext4 文件系统,mkfs.ext4 -L 卷标 /dev/sda1创建时指定卷标;mkfs.ext4 -b 4096 /dev/sda1指定块大小为 4096 字节。
  • mkfs.xfs:创建 xfs 文件系统,mkfs.xfs -f /dev/sdb1强制创建(即使已有文件系统)。
  • mkswap /dev/设备名:初始化交换分区,mkswap /dev/sda5将 /dev/sda5 初始化为交换分区。

19、SWAP 文件系统

  • dd if=/dev/zero of=/swapfile bs=1G count=4:创建一个 4GB 的交换文件(if 表示输入文件,of 表示输出文件,bs 是块大小,count 是块数)。
  • mkswap /swapfile:将文件初始化为交换文件系统。
  • swapon /swapfile:启用交换文件。
  • swapoff /swapfile:关闭交换文件。
  • swapon -s:显示所有交换设备和文件的使用情况。
  • free -h:查看内存和交换分区的使用情况,确认 swap 是否生效。
  • 永久启用:编辑 /etc/fstab,添加/swapfile swap swap defaults 0 0,使系统重启后自动挂载。

20、备份

  • rsync -av 源路径 目标路径:同步文件和目录,-a归档模式(递归、保留权限等),-v详细输出。如rsync -av /home/user /backup备份 /home/user 到 /backup。
  • rsync -avz 源路径 远程用户@远程主机:目标路径:通过 SSH 远程同步,-z压缩传输数据。
  • tar -czvf /backup/$(date +%Y%m%d)_etc.tar.gz /etc:按日期创建 /etc 目录的压缩备份。
  • dump -0u -f /backup/root_dump /:备份根目录到指定文件,-0是备份级别(0 为全量),-u更新备份记录。
  • restore -rf /backup/root_dump:恢复 dump 创建的备份。
  • cp -a 源文件 目标文件:复制文件并保留所有属性(权限、时间戳等),适合简单备份。

21、光盘

  • cdrecord -v dev=/dev/cdrom 镜像.iso:刻录 ISO 镜像到光盘,-v显示详细信息。
  • mkisofs -o 镜像.iso 目录:将目录内容制作成 ISO 镜像文件。
  • eject:弹出光盘驱动器。
  • eject -t:关闭光盘驱动器托盘。
  • mount /dev/cdrom /mnt/cdrom:挂载光盘到 /mnt/cdrom 目录。

22、网络

  • ifconfig:查看和配置网络接口信息,ifconfig显示所有激活的网络接口;ifconfig eth0查看指定接口(如 eth0)的信息;ifconfig eth0 192.168.1.100 netmask 255.255.255.0为 eth0 设置 IP 和子网掩码;ifconfig eth0 up激活接口;ifconfig eth0 down禁用接口。
  • ip:更强大的网络配置工具,ip addr查看 IP 地址信息;ip addr add 192.168.1.101/24 dev eth0为 eth0 添加 IP;ip link set eth0 up/down激活 / 禁用接口;ip route查看路由表;ip route add default via 192.168.1.1设置默认网关。
  • ping:测试网络连通性,ping 192.168.1.1向目标 IP 发送 ICMP 请求;ping -c 4 www.baidu.com发送 4 个请求后停止;ping -i 2 10.0.0.1每隔 2 秒发送一次请求。
  • traceroute:追踪数据包到目标主机的路径,traceroute www.google.com显示经过的路由节点;traceroute -n 192.168.1.1以 IP 显示节点(不解析域名)。
  • netstat:查看网络连接、路由表等,netstat -tuln显示所有监听的 TCP 和 UDP 端口;netstat -an显示所有网络连接;netstat -r显示路由表;netstat -s显示网络统计信息。
  • ss:替代 netstat 的工具,更高效,ss -tuln查看监听端口;ss -an查看所有连接;ss -o state established '( dport = :80 or sport = :80 )'查看 80 端口的已建立连接。
  • hostname:查看或设置主机名,hostname显示当前主机名;hostname newname临时修改主机名(重启失效);永久修改需编辑/etc/hostname文件。

23、列出目录内容

  • ls:基础命令,已在基本命令中详述,补充ls -la可查看所有文件(包括隐藏)的详细信息;ls -ld 目录名查看目录本身的信息而非内容。
  • tree:以树形结构列出目录内容,tree显示当前目录树形结构;tree -L 2只显示 2 级目录;tree -d只显示目录;tree -f显示文件的完整路径。

24、查看文件的类型

  • file:判断文件类型,file filename显示文件类型(文本、二进制、压缩包等);file -b filename只显示类型描述(无文件名);file -L linkname查看符号链接指向的文件类型。
  • mime-type:查看文件的 MIME 类型(部分系统需安装),mime-type filename返回类似text/plain的结果。

25、复制文件目录等操作

  • cp:复制文件和目录,cp source.txt dest.txt复制文件;cp -i source.txt dest.txt覆盖前提示;cp -r dir1 dir2递归复制目录;cp -a dir1 dir2复制目录并保留所有属性;cp *.txt /tmp复制所有 txt 文件到 /tmp。
  • rsync:高效同步工具,已在备份中详述,补充rsync -av --delete source/ dest/同步并删除 dest 中 source 没有的文件。
  • scp:通过 SSH 复制文件,scp localfile user@remotehost:/path复制本地文件到远程;scp user@remotehost:/file localpath复制远程文件到本地;scp -r dir user@remotehost:/path递归复制目录。

26、系统常用命令

  • top:实时监控系统资源使用情况,显示进程 CPU、内存占用等,按q退出;top -p 1234只监控 PID 为 1234 的进程;top -u username只显示指定用户的进程。
  • htop:增强版 top,支持鼠标操作,htop启动后可直观查看系统状态,按F10退出。
  • ps:查看进程状态,ps aux显示所有进程;ps -ef以全格式显示进程;ps aux | grep python查找 python 相关进程;ps -l显示当前终端的进程。
  • pstree:以树形结构显示进程,pstree显示所有进程树;pstree -p显示进程 ID;pstree username显示指定用户的进程树。
  • kill:终止进程,kill 1234向 PID 为 1234 的进程发送终止信号;kill -9 1234强制终止进程(慎用);killall processname终止所有同名进程。
  • bg:将前台进程转为后台运行,bg %1将编号为 1 的暂停进程放入后台。
  • fg:将后台进程调至前台,fg %1将编号为 1 的后台进程调至前台。
  • jobs:查看后台运行的进程,jobs列出所有后台进程及状态。
  • nohup:使进程在后台长期运行,nohup command &执行命令并忽略挂起信号,输出保存到 nohup.out。
  • free:查看内存使用情况,free -h以人类可读格式显示内存和 swap 使用;free -s 5每隔 5 秒刷新一次。
  • vmstat:报告虚拟内存统计信息,vmstat显示内存、进程、IO 等信息;vmstat 2 5每隔 2 秒输出一次,共 5 次。
  • iostat:监控 CPU 和 IO 统计,iostat显示 CPU 和设备 IO 信息;iostat -x 1每隔 1 秒显示详细 IO 信息。
  • sar:系统活动报告工具,sar -u 1 3监控 CPU 使用(1 秒一次,3 次);sar -r查看内存使用;sar -n DEV查看网络接口统计。
  • history:查看命令历史记录,history显示所有历史命令;history 10显示最近 10 条;!123执行历史记录中编号为 123 的命令;!grep执行最近一条以 grep 开头的命令。
  • alias:设置命令别名,alias ll='ls -l'将 ll 设为 ls -l 的别名;alias查看所有别名;unalias ll取消别名。
  • uname:显示系统信息,uname -a显示所有系统信息(内核版本、主机名、架构等);uname -r显示内核版本;uname -m显示机器架构。
  • uptime:显示系统运行时间和负载,uptime输出格式:当前时间 up 运行时间, 用户数, 负载平均值。
  • df和du:已在磁盘空间中详述,补充df -Th显示文件系统类型;du -sh *显示当前目录下各文件 / 目录的总大小。

27、VIM

  • vim 文件名:启动 VIM 并打开文件,若文件不存在则创建。
  • 插入模式:按i在当前光标前插入;I在行首插入;a在当前光标后插入;A在行尾插入;o在当前行下方新增一行并插入;O在当前行上方新增一行并插入;按Esc退出插入模式。
  • 命令模式(正常模式)
    • 移动光标:h左移,j下移,k上移,l右移;gg到文件开头;G到文件结尾;nG到第 n 行;^到行首;$到行尾。
    • 删除操作:x删除光标所在字符;dd删除当前行;ndd删除从当前行开始的 n 行;dG删除从当前行到文件结尾;d$删除从光标到行尾。
    • 复制粘贴:yy复制当前行;nyy复制 n 行;p粘贴到光标后;P粘贴到光标前。
    • 撤销重做:u撤销上一步;Ctrl + r重做。
    • 查找替换:/关键词向下查找;?关键词向上查找;n下一个匹配;N上一个匹配;:s/旧内容/新内容/替换当前行第一个匹配;:s/旧内容/新内容/g替换当前行所有匹配;:%s/旧内容/新内容/g替换整个文件所有匹配;:%s/旧内容/新内容/gc替换时确认。
  • 末行模式:按:进入,w保存;q退出;wq保存并退出;q!强制退出不保存;set nu显示行号;set nonu隐藏行号;set autoindent自动缩进;:n跳转到第 n 行。

28、软件包管理命令 (RPM)

  • 除前文 11 节所述,补充:
    • rpm -qp 包名.rpm:查询未安装的 RPM 包信息。
    • rpm -qpl 包名.rpm:列出未安装的 RPM 包将安装的文件。
    • rpm -qpR 包名.rpm:查看未安装的 RPM 包的依赖关系。
    • rpm -ivh --force 包名.rpm:强制安装,覆盖已安装文件。
    • rpm -ivh --nodeps 包名.rpm:忽略依赖关系安装(不推荐,可能导致软件无法运行)。
    • rpm -Va:验证系统中所有已安装的 RPM 包文件完整性。
    • rpm -qi --changelog 包名:查看包的更新日志。

网站公告

今日签到

点亮在社区的每一天
去签到