目录

一、基础文件与目录操作命令

1. cd:切换目录(Change Directory)

2. tail:查看文件末尾内容

3. cat:查看、合并、创建文件

4. vim:文本编辑工具

5. touch:创建空文件、修改时间戳

6. rm:删除文件/目录(Remove)

7. mkdir:创建目录(Make Directory)

二、压缩与解压工具

1. tar:打包与解包工具(最常用)

2. unzip:解压ZIP文件

三、网络配置与调试工具

1. ping:测试网络连通性

2. traceroute:网络路径追踪

3. ifconfig/ip addr:查询IP配置

4. telnet:远程连接与端口测试

四、高级应用场景(实操提升)

1. 日志实时监控组合命令(tail -f | grep)

2. Vim批量编辑技巧

3. 网络故障诊断流程(结合ping/traceroute)

五、注意事项(避坑指南)

总结

对于Linux运维工程师而言,基础命令是日常工作的“基本功”——无论是文件管理、日志查看,还是网络调试,熟练掌握这些命令能大幅提升工作效率,快速定位并解决问题。本文将围绕Linux基础运维核心命令,结合实际应用场景,详细拆解操作方法、常用参数及注意事项,适合运维新手入门,也可作为老运维的速查手册。

一、基础文件与目录操作命令

Linux系统中,“一切皆文件”,文件与目录的操作是运维工作的高频场景,以下是最常用的核心命令,附带实操示例,易懂好记。

1. cd:切换目录(Change Directory)

核心功能:切换当前工作目录,是最基础、最常用的命令之一,语法简洁,参数少但实用性极强。

常用参数与示例:

  • cd 目录路径:切换到指定目录,例如 cd /usr/local(切换到/usr/local目录);

  • cd ~:快速切换到当前用户的home目录(等价于cd /home/用户名),比如root用户执行后会切换到/root;

  • cd ..:切换到上一级目录(父目录),例如当前在/usr/local,执行后切换到/usr;

  • cd -:切换到上一次所在的目录,适合在两个目录间快速切换。

2. tail:查看文件末尾内容

核心功能:用于查看文件的末尾部分内容,尤其适合实时监控日志文件,是运维排查问题的“神器”。

常用参数与示例:

  • tail -f 文件名:实时监控文件内容变化(最常用场景:监控日志),例如 tail -f /var/log/nginx/access.log,终端会持续输出日志新增内容,按Ctrl+C退出;

  • tail -n N 文件名:显示文件末尾N行内容,例如 tail -n 20 /var/log/messages,显示日志末尾20行;

  • tail -n +N 文件名:从文件第N行开始显示到末尾,例如 tail -n +100 test.txt,显示第100行及之后的所有内容。

3. cat:查看、合并、创建文件

核心功能:功能多样,可用于查看文件内容、合并多个文件、快速创建新文件,操作简单高效。

常用参数与示例:

  • cat 文件名:查看文件全部内容,适合查看小型文件(大型文件建议用less或more),例如 cat /etc/hosts

  • cat 文件1 文件2 > 文件3:合并文件1和文件2的内容,输出到文件3(若文件3存在则覆盖,不存在则创建),例如 cat test1.txt test2.txt > test3.txt

  • cat > 文件名:快速创建新文件,输入内容后,按Ctrl+D结束输入,例如cat > test.txt,输入“hello linux”后按Ctrl+D,即可创建test.txt并写入内容;

  • cat -n 文件名:查看文件内容并显示行号,例如 cat -n /etc/profile

4. vim:文本编辑工具

核心功能:Linux系统默认的文本编辑器,功能强大,可用于编辑配置文件、脚本等,运维工作中几乎每天都会用到,重点掌握基础模式切换和常用操作。

基础操作(必记):

  • 模式切换:打开文件后默认进入「命令模式」,按ia进入「插入模式」(可编辑内容);编辑完成后,按Esc回到「命令模式」;

  • 保存退出:命令模式下,输入:wq(write+quit),保存内容并退出vim;

  • 强制退出:命令模式下,输入:q!,不保存内容,强制退出(适用于编辑错误、无需保存的场景);

  • 搜索替换:命令模式下,输入/关键词,按Enter搜索,按n查看下一个匹配项;输入%s/旧内容/新内容/g,批量替换全文的旧内容为新内容(例如%s/root/admin/g,将全文root替换为admin)。

提示:vim还有很多高级功能,但对于基础运维,掌握上述操作即可满足日常配置编辑需求。

5. touch:创建空文件、修改时间戳

核心功能:主要用于创建空文件,也可修改文件的访问时间和修改时间(时间戳),操作简单。

常用参数与示例:

  • touch 文件名:创建一个空文件,若文件已存在,则更新其时间戳,例如 touch test.txt

  • touch -t 时间戳 文件名:手动修改文件的时间戳,时间格式为「YYYYMMDDHHMM.SS」,例如 touch -t 202405201430.00 test.txt,将test.txt的时间戳修改为2024年5月20日14:30:00。

6. rm:删除文件/目录(Remove)

核心功能:删除Linux系统中的文件或目录,注意:rm命令删除的内容无法恢复,操作需谨慎!

常用参数与示例:

  • rm 文件名:删除单个文件,删除前会提示确认(默认带-i参数),例如 rm test.txt

  • rm -f 文件名:强制删除文件,不提示确认,例如 rm -f test.txt(适用于删除大量文件或无需确认的场景);

  • rm -r 目录名:递归删除目录及目录下的所有内容(包括子目录和文件),例如 rm -r testdir

  • rm -rf 目录名:强制递归删除目录,不提示确认,高危命令,例如 rm -rf /tmp/testdir(切勿误输为rm -rf /,会删除系统所有文件!)。

7. mkdir:创建目录(Make Directory)

核心功能:创建新的目录,支持创建单个目录或多级目录,还可直接设置目录权限。

常用参数与示例:

  • mkdir 目录名:创建单个目录,例如 mkdir testdir

  • mkdir -p 多级目录:创建多级目录(父目录不存在时自动创建),例如 mkdir -p /usr/local/test/abc,无需手动创建/usr/local/test,直接创建完整路径;

  • mkdir -m 权限 目录名:创建目录时直接设置权限,例如 mkdir -m 755 testdir,创建的testdir目录权限为755(所有者可读可写可执行,其他用户可读可执行)。

二、压缩与解压工具

Linux系统中,文件压缩与解压是日常备份、传输文件的常用操作,重点掌握tar和unzip两个工具,基本能覆盖所有压缩解压场景。

1. tar:打包与解包工具(最常用)

核心功能:tar本身是“打包”工具,可将多个文件/目录打包成一个文件,结合gzip等压缩算法,可实现压缩功能,是Linux运维中备份文件的首选工具。

常用参数与示例(核心参数:c=创建、x=解压、v=显示过程、f=指定文件名、z=结合gzip压缩):

  • tar -cvf 打包文件名 要打包的文件/目录:仅打包,不压缩,例如 tar -cvf test.tar test.txt testdir,将test.txt和testdir打包成test.tar;

  • tar -zcvf 压缩文件名.tar.gz 要压缩的文件/目录:打包并使用gzip压缩(最常用),例如 tar -zcvf test.tar.gz /usr/local/test,将/usr/local/test目录压缩成test.tar.gz;

  • tar -zxvf 压缩文件名.tar.gz:解压tar.gz格式的压缩包,默认解压到当前目录,例如 tar -zxvf test.tar.gz

  • tar -zxvf 压缩文件名.tar.gz -C 目标目录:解压到指定目录,例如 tar -zxvf test.tar.gz -C /tmp,将压缩包解压到/tmp目录;

  • tar -ztvf 压缩文件名.tar.gz:查看压缩包内的文件列表,不解压,例如 tar -ztvf test.tar.gz

2. unzip:解压ZIP文件

核心功能:专门用于解压ZIP格式的压缩包,Windows系统中常见的压缩格式,在Linux中也可通过unzip快速解压。

常用参数与示例:

  • unzip 压缩文件名.zip:默认解压到当前目录,例如unzip test.zip

  • unzip -l 压缩文件名.zip:查看压缩包内的文件列表,不解压,例如 unzip -l test.zip

  • unzip 压缩文件名.zip -d 目标目录:解压到指定目录,例如 unzip test.zip -d /tmp/test

  • unzip -o 压缩文件名.zip:强制解压,覆盖当前目录已存在的同名文件,不提示确认。

三、网络配置与调试工具

运维工作中,网络故障排查是高频需求,以下工具可快速测试网络连通性、查询IP配置、追踪网络路径,帮助快速定位网络问题。

1. ping:测试网络连通性

核心功能:发送ICMP请求包,测试目标主机是否可达,以及网络延迟情况,是最基础的网络调试命令。

常用参数与示例:

  • ping 目标IP/域名:默认持续发送请求包,按Ctrl+C停止,例如 ping www.baidu.comping 192.168.1.1

  • ping -c N 目标IP/域名:指定发送N个请求包后停止,例如 ping -c 4 www.baidu.com,发送4个请求包,适合脚本中使用;

  • ping -i 间隔时间 目标IP/域名:指定发送请求包的间隔时间(单位:秒),例如 ping -i 2 192.168.1.1,每2秒发送一个请求包。

提示:若ping不通目标主机,可能是目标主机防火墙拦截、网络路由异常或目标主机宕机。

2. traceroute:网络路径追踪

核心功能:追踪数据包从本地主机到目标主机的传输路径,显示每一跳的路由器IP,可用于定位网络延迟、丢包的具体节点。

常用参数与示例:

  • traceroute 目标IP/域名:默认追踪路径,例如 traceroute www.baidu.com,会显示每一跳的路由器IP和延迟;

  • traceroute -n 目标IP/域名:禁用DNS解析,直接显示路由器IP(不显示主机名),速度更快,例如 traceroute -n 192.168.1.1

应用场景:若ping目标主机延迟过高,可通过traceroute查看哪一跳的延迟最大,定位故障节点(如运营商路由、局域网路由器)。

3. ifconfig/ip addr:查询IP配置

核心功能:查看或配置网络接口的IP地址、子网掩码、MAC地址等信息,Linux系统中两种常用方式(ifconfig是传统命令,ip addr是较新的命令)。

常用操作示例:

  • ifconfig:查看所有网络接口的配置信息(包括IP、子网掩码、MAC地址),若提示“command not found”,需安装net-tools工具(yum install net-tools -y 或 apt install net-tools -y);

  • ifconfig 网卡名:查看指定网卡的配置,例如 ifconfig eth0,查看eth0网卡的IP信息;

  • ip addr:查看所有网络接口的配置信息(推荐使用,无需额外安装工具),输出更简洁、详细,例如 ip addr show eth0,查看eth0网卡信息。

提示:Windows系统中查询IP配置用ipconfig,Linux系统中优先使用ip addr

4. telnet:远程连接与端口测试

核心功能:用于远程登录目标主机(默认端口23),也可用于测试目标主机的指定端口是否开放,是简单的端口验证工具。

常用操作示例:

  • telnet 目标IP 端口:测试目标IP的指定端口是否开放,例如 telnet 192.168.1.1 80,测试80端口是否开放;若端口开放,会显示连接成功;若端口关闭,会提示连接失败;

  • 退出telnet:连接成功后,按Ctrl+],再输入quit,即可退出telnet连接。

四、高级应用场景(实操提升)

掌握基础命令后,结合组合命令和高级技巧,能进一步提升运维效率,解决更复杂的场景问题。

1. 日志实时监控组合命令(tail -f | grep)

场景:实时监控日志,并过滤指定关键词(如错误信息、请求信息),快速定位问题。

示例:实时监控Nginx访问日志,过滤包含“error”的请求:

tail -f /var/log/nginx/access.log | grep "error"

扩展:结合grep的参数,可实现更精准的过滤,例如 grep -i "error"(忽略大小写)、grep -v "error"(过滤掉包含error的行)。

2. Vim批量编辑技巧

场景:编辑大量重复内容的文件(如配置文件、脚本),批量修改可大幅节省时间,重点掌握宏录制和块选择。

  • 宏录制(批量重复操作):

    1. 命令模式下,输入qa(q=开始录制,a=指定宏的名称,可自定义a-z);

    2. 执行需要重复的操作(如修改一行内容、添加注释);

    3. 命令模式下,输入q(结束录制);

    4. 输入@a(执行宏a),若要重复执行N次,输入N@a(例如10@a,重复执行10次)。

  • 块选择(批量编辑多行内容):

    1. 命令模式下,按Ctrl+v进入块选择模式;

    2. 用方向键选中需要编辑的多行内容(垂直选择);

    3. i进入插入模式,输入需要添加的内容(如注释符#);

    4. Esc,即可批量为选中的行添加内容。

3. 网络故障诊断流程(结合ping/traceroute)

场景:当网络出现连通性问题时,按以下流程排查,快速定位故障点:

  1. ping 127.0.0.1测试本地回环地址,判断本地网络协议是否正常(若不通,说明本地网络配置异常);

  2. ping 本地网关IP(如192.168.1.1),测试本地与网关的连通性(若不通,说明局域网故障,检查网线、网卡);

  3. ping 公网IP/域名(如www.baidu.com),测试与公网的连通性(若不通,说明网关路由或运营商网络异常);

  4. 若ping公网延迟高或丢包,用traceroute www.baidu.com,查看哪一跳延迟过高,定位故障节点(如运营商路由、公网路由器)。

五、注意事项(避坑指南)

Linux命令功能强大,但部分命令操作不当会导致严重后果(如误删系统文件),以下注意事项务必牢记。

  • rm命令误删防护:默认rm命令会提示确认(-i参数),但为了进一步防护,可设置别名alias rm='rm -i'(写入/etc/profile,永久生效),每次删除都会提示,避免误删;同时,重要文件建议定期备份,或使用trash-cli工具(将删除的文件放入回收站,可恢复)。

  • tar保留文件权限:用tar打包备份文件时,添加--same-owner参数,可保留原文件的所有者和权限,例如 tar -zcvf --same-owner test.tar.gz /usr/local/test,解压后文件权限与原文件一致,避免因权限问题导致服务异常。

  • telnet安全性替代方案:telnet协议不加密,传输的数据(如用户名、密码)会明文传输,存在安全风险,建议用SSH替代telnet(默认端口22),命令为ssh 用户名@目标IP(如ssh root@192.168.1.1),SSH协议会对数据进行加密,更安全。

总结

本文整理的Linux基础运维命令,涵盖了文件管理、压缩解压、网络调试等核心场景,是运维工作的“必备工具包”。对于新手而言,建议多实操、多练习,熟悉每个命令的参数和应用场景;对于老运维,可作为速查手册,快速调用所需命令。

Linux命令的灵活性很强,同一个需求可能有多种实现方式,后续可结合实际工作场景,不断探索组合命令和高级技巧,进一步提升运维效率。如果有疑问或补充,欢迎在评论区交流~

这里提供一个linux命令大全的手册,有需要大家也可以去学习:https://www.linuxcool.com/

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐