Linux 常用命令详细大全


Linux 命令是操作 Linux 系统的核心工具,以下按功能分类梳理常用命令,包含核心用法、参数说明及实战示例,覆盖日常操作、系统管理、文件处理等核心场景。

一、文件与目录操作命令(最基础高频)

1. ls - 列出目录内容

  • 功能:列出指定目录下的文件 / 目录,默认列出当前目录。
  • 核心参数
    • -l(长格式):显示文件权限、所有者、大小、修改时间等详细信息。
    • -a(all):显示所有文件(含隐藏文件,以.开头)。
    • -h(human-readable):以人类可读格式显示文件大小(如 KB、MB)。
    • -r(reverse):反向排序(默认按字母升序)。
    • -t(time):按修改时间排序(最新在前)。
  • 示例
     
    ls -lha  # 长格式显示当前目录所有文件,含隐藏文件,大小人性化显示
    ls /home/user  # 列出指定目录/home/user下的内容
    

2. cd - 切换工作目录

  • 功能:切换当前终端的工作目录。
  • 核心用法
    • cd 目录路径:切换到指定目录(绝对路径 / 相对路径)。
    • cd ~ 或 cd:切换到当前用户的家目录(如/home/ubuntu)。
    • cd ..:切换到上级目录。
    • cd -:切换到上一次所在的目录。
  • 示例
     
    cd /etc/nginx  # 绝对路径切换到nginx配置目录
    cd ../logs  # 相对路径切换到上级目录的logs子目录
    cd ~/Documents  # 切换到家目录的Documents文件夹
    

3. pwd - 显示当前工作目录

  • 功能:打印当前终端所在的绝对路径。
  • 示例
     
    pwd  # 输出如:/home/user/Documents
    

4. mkdir - 创建目录

  • 功能:创建新目录。
  • 核心参数
    • -p(parents):递归创建多级目录(父目录不存在时自动创建)。
    • -m(mode):创建时指定目录权限(如755)。
  • 示例
     
    mkdir test  # 创建单个目录test
    mkdir -p data/logs  # 递归创建data目录及子目录logs
    mkdir -m 700 private  # 创建权限为700(仅所有者可读写执行)的目录
    

5. rm - 删除文件 / 目录

  • 功能:删除文件或目录,慎用(无回收站,删除后难恢复)。
  • 核心参数
    • -f(force):强制删除(忽略不存在的文件,不提示)。
    • -r(recursive):递归删除目录及目录内所有内容(删除目录必须用)。
    • -i(interactive):删除前提示确认(默认部分系统启用)。
  • 示例
     
    rm file.txt  # 删除单个文件file.txt
    rm -rf dir/  # 强制递归删除dir目录及所有内容(高危命令,谨慎使用)
    rm -i *.log  # 删除所有.log文件,删除前逐一提示
    

6. cp - 复制文件 / 目录

  • 功能:复制文件或目录到指定位置。
  • 核心参数
    • -r(recursive):递归复制目录(复制目录必须用)。
    • -p(preserve):保留文件的权限、所有者、修改时间等属性。
    • -f(force):强制覆盖目标文件(无需提示)。
    • -a(archive):等价于-dR --preserve=all,适用于备份(保留所有属性 + 递归复制)。
  • 示例
     
    cp file.txt /home/user/  # 复制file.txt到/home/user目录下
    cp -r dir/ /backup/  # 递归复制dir目录到/backup目录下
    cp -a docs/ docs_backup/  # 备份docs目录,保留所有属性
    

7. mv - 移动 / 重命名文件 / 目录

  • 功能:移动文件 / 目录到指定位置,或重命名文件 / 目录。
  • 核心参数
    • -f(force):强制覆盖目标文件(无提示)。
    • -i(interactive):覆盖前提示确认。
  • 示例
     
    mv file.txt newfile.txt  # 重命名file.txt为newfile.txt
    mv data/ /home/user/  # 移动data目录到/home/user目录下
    mv -f old.log /tmp/  # 强制移动old.log到/tmp目录,覆盖已存在文件
    

8. touch - 创建空文件 / 修改文件时间戳

  • 功能:创建空白文件,或更新文件的访问时间、修改时间(默认两者都更新)。
  • 核心参数
    • -d(date):指定时间戳(如2024-01-01 10:00)。
    • -m(modify):仅更新修改时间。
    • -a(access):仅更新访问时间。
  • 示例
     
    touch test.txt  # 创建空文件test.txt
    touch -d "2024-05-20 14:30" old.txt  # 修改old.txt的时间戳为指定时间
    touch -a readme.md  # 仅更新readme.md的访问时间
    

9. cat - 查看文件内容

  • 功能:连接并打印文件内容(适合查看小文件)。
  • 核心参数
    • -n(number):显示行号。
    • -b(number-nonblank):仅对非空行显示行号。
    • -T(show-tabs):显示制表符(Tab)为^I
  • 示例
     
    cat /etc/hosts  # 查看hosts文件内容
    cat -n test.txt  # 显示test.txt内容并标注行号
    cat file1.txt file2.txt > file3.txt  # 合并file1和file2的内容到file3(覆盖)
    

10. more/less - 分页查看大文件

  • 功能:分页显示文件内容(适合大文件,避免内容刷屏)。
  • 核心区别
    • more:仅支持向下滚动(空格翻页,Enter 换行,q退出)。
    • less:支持上下滚动、搜索(更灵活,/关键词搜索,n下一个,q退出)。
  • 示例
     
    more /var/log/syslog  # 分页查看系统日志(仅向下翻)
    less /etc/passwd  # 分页查看用户配置文件(支持上下滚动和搜索)
    

11. head/tail - 查看文件首尾内容

  • 功能head 查看文件开头部分,tail 查看文件结尾部分。
  • 核心参数
    • -n N:显示前 N 行(head)或后 N 行(tail),默认 10 行。
    • -f(follow):实时跟踪文件更新(tail专属,适合查看日志)。
  • 示例
     
    head -5 /etc/passwd  # 查看passwd文件前5行
    tail -10 /var/log/nginx/access.log  # 查看nginx访问日志最后10行
    tail -f /var/log/syslog  # 实时跟踪系统日志更新(按Ctrl+C退出)
    

12. find - 查找文件 / 目录

  • 功能:按路径、名称、大小、时间等条件查找文件 / 目录。
  • 核心参数
    • -name "文件名":按名称查找(支持通配符*?)。
    • -path "路径":按路径查找。
    • -size [+/-]大小:按大小查找(如+100M大于 100MB,-10K小于 10KB)。
    • -mtime [+/-]天数:按修改时间查找(如+7修改时间超过 7 天,-124 小时内修改)。
    • -type f/d:指定查找类型(f文件,d目录)。
    • -exec 命令 {} \;:对查找结果执行指定命令({}代指查找结果)。
  • 示例
     
    find /home -name "*.txt"  # 在/home目录下查找所有.txt文件
    find /etc -type d -name "nginx"  # 在/etc目录下查找名为nginx的目录
    find /var/log -size +50M  # 在/var/log目录下查找大于50MB的文件
    find /tmp -mtime +3 -exec rm -rf {} \;  # 删除/tmp目录下3天前修改的文件/目录
    

13. grep - 文本搜索工具

  • 功能:在文件或命令输出中搜索匹配的字符串 / 正则表达式。
  • 核心参数
    • -i(ignore-case):忽略大小写。
    • -n(line-number):显示匹配行的行号。
    • -v(invert-match):反向匹配(显示不包含关键词的行)。
    • -r(recursive):递归搜索目录下所有文件。
    • -E(extended-regexp):支持扩展正则表达式(无需转义+|等)。
  • 示例
     
    grep "error" /var/log/syslog  # 在系统日志中搜索"error"字符串
    grep -in "warning" /etc/nginx/nginx.conf  # 忽略大小写搜索nginx配置文件中的"warning",显示行号
    grep -r "test" /home/user  # 递归搜索/home/user目录下所有文件中的"test"
    ps aux | grep "nginx"  # 结合管道,搜索nginx进程
    

二、文件权限与用户管理命令

1. chmod - 修改文件 / 目录权限

  • 功能:修改文件或目录的访问权限(所有者、组用户、其他用户的读 / 写 / 执行权限)。
  • 权限表示
    • 数字法(常用):r=4w=2x=1,权限组合为三者之和(如755= 所有者 rwx,组用户 rx,其他用户 rx)。
    • 符号法:u(所有者)、g(组用户)、o(其他用户)、a(所有用户);+(添加权限)、-(移除权限)、=(设置权限)。
  • 示例
     
    chmod 755 script.sh  # 设为所有者可读写执行,其他用户只读执行
    chmod 644 file.txt  # 设为所有者读写,其他用户只读(文件常用权限)
    chmod u+x test.sh  # 给所有者添加执行权限
    chmod g-w dir/  # 给组用户移除写权限
    

2. chown - 修改文件 / 目录所有者

  • 功能:修改文件或目录的所有者(需 root 权限或文件所有者)。
  • 核心用法chown [所有者][:组] 文件/目录
  • 示例
    sudo chown user:user file.txt  # 将file.txt的所有者和组改为user
    sudo chown root /home/user/test.sh  # 将test.sh的所有者改为root
    sudo chown -R www-data:www-data /var/www  # 递归修改/var/www目录的所有者为www-data(web服务常用)
    

3. chgrp - 修改文件 / 目录所属组

  • 功能:单独修改文件或目录的所属组(chown可替代,但该命令更专注)。
  • 示例
     
    chgrp users file.txt  # 将file.txt的所属组改为users
    chgrp -R staff /home/shared  # 递归修改/shared目录的所属组为staff
    

4. useradd - 创建新用户

  • 功能:创建 Linux 系统用户(需 root 权限)。
  • 核心参数
    • -m(create-home):自动创建用户家目录(如/home/用户名)。
    • -s shell路径:指定用户登录 shell(如/bin/bash,默认/bin/sh)。
    • -g 组名:指定用户初始组。
    • -G 组名1,组名2:指定用户附加组。
  • 示例
    sudo useradd -m -s /bin/bash newuser  # 创建新用户newuser,自动创建家目录,登录shell为bash
    sudo useradd -g staff -G sudo newuser  # 创建用户newuser,初始组为staff,附加组为sudo(获取管理员权限)
    

5. passwd - 修改用户密码

  • 功能:修改当前用户或其他用户的密码(修改其他用户需 root 权限)。
  • 核心参数
    • -l(lock):锁定用户(禁止登录)。
    • -u(unlock):解锁用户。
    • -d(delete):删除用户密码(登录无需密码)。
  • 示例
     
    passwd  # 修改当前用户密码(输入时密码不显示)
    sudo passwd newuser  # 管理员修改newuser的密码
    sudo passwd -l newuser  # 锁定newuser用户
    

6. userdel - 删除用户

  • 功能:删除系统用户(需root 权限)。
  • 核心参数
    • -r(remove):递归删除用户家目录和邮件目录(默认仅删除用户账号)。
  • 示例
     
    sudo userdel -r newuser  # 彻底删除newuser用户及家目录
    

7. groupadd/groupdel - 组管理

  • 功能groupadd创建用户组,groupdel删除用户组(需 root 权限)。
  • 示例
     
    sudo groupadd dev  # 创建名为dev的用户组
    sudo groupdel dev  # 删除dev用户组
    

8. id/whoami/w - 查看用户信息

  • id:显示当前用户的 UID、GID 及所属组。
  • whoami:显示当前登录用户名。
  • w:显示当前系统所有登录用户及他们的操作。
  • 示例
     
    id  # 输出如:uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom)...
    whoami  # 输出当前用户名,如user
    w  # 显示所有登录用户及进程信息
    

三、系统管理与进程命令

1. ps - 查看进程状态

  • 功能:列出当前系统的进程信息。
  • 核心参数
    • aux:显示所有用户的所有进程(最常用组合)。
    • -ef:显示进程的父进程 ID(PPID)、进程 ID(PID)等详细信息。
    • -u 用户名:仅显示指定用户的进程。
  • 示例
     
    ps aux  # 查看所有进程(USER用户名、PID进程ID、%CPU CPU使用率、%MEM内存使用率、COMMAND命令)
    ps aux | grep "nginx"  # 查看nginx相关进程
    ps -ef | grep "python"  # 查看python进程及父进程ID
    

2. top - 实时监控系统资源与进程

  • 功能:实时动态显示系统 CPU、内存、进程等资源使用情况(默认每 3 秒刷新)。
  • 交互快捷键
    • P:按 CPU 使用率排序(默认)。
    • M:按内存使用率排序。
    • N:按进程 ID(PID)排序。
    • k:终止指定 PID 的进程。
    • q:退出 top。
  • 示例
     
    top  # 启动实时监控
    top -u user  # 仅监控用户user的进程
    

3. kill - 终止进程

  • 功能:向进程发送信号,实现终止、重启等操作(需知道进程 PID,root 可终止任意进程)。
  • 核心信号
    • -15(SIGTERM,默认):优雅终止进程(允许进程清理资源)。
    • -9(SIGKILL):强制终止进程(立即杀死,无清理,慎用)。
    • -1(SIGHUP):重启进程(部分服务如 nginx、apache 支持)。
  • 示例
     
    kill 1234  # 向PID为1234的进程发送SIGTERM信号(优雅终止)
    kill -9 1234  # 强制终止PID为1234的进程
    kill -1 8080  # 重启PID为8080的服务进程
    killall nginx  # 终止所有nginx进程(按进程名终止,需安装psmisc包)
    

4. systemctl - 系统服务管理(Systemd 系统)

  • 功能:管理系统服务(启动、停止、重启、设置开机自启,适用于 Ubuntu 16.04+、CentOS 7+)。
  • 核心用法
    • systemctl start 服务名:启动服务。
    • systemctl stop 服务名:停止服务。
    • systemctl restart 服务名:重启服务。
    • systemctl status 服务名:查看服务状态。
    • systemctl enable 服务名:设置开机自启。
    • systemctl disable 服务名:取消开机自启。
    • systemctl list-unit-files --type=service:列出所有服务及开机自启状态。
  • 示例
     
    sudo systemctl start nginx  # 启动nginx服务
    sudo systemctl stop mysql  # 停止mysql服务
    sudo systemctl restart sshd  # 重启ssh服务
    sudo systemctl status docker  # 查看docker服务状态
    sudo systemctl enable nginx  # 设置nginx开机自启
    

5. df - 查看磁盘空间使用情况

  • 功能:显示文件系统的磁盘空间使用情况(总容量、已用、可用、挂载点)。
  • 核心参数
    • -h(human-readable):人性化显示大小(KB/MB/GB)。
    • -T(type):显示文件系统类型(如 ext4、xfs)。
  • 示例
     
    df -h  # 查看所有挂载的文件系统磁盘使用情况
    df -h /home  # 查看/home目录所在文件系统的磁盘使用情况
    df -T  # 显示文件系统类型
    

6. du - 查看目录 / 文件磁盘占用

  • 功能:计算文件或目录占用的磁盘空间(与df区别:df看文件系统整体,du看具体文件 / 目录)。
  • 核心参数
    • -h:人性化显示大小。
    • -s(summarize):仅显示总大小(不显示子目录详情)。
    • -c(total):显示总计大小。
  • 示例
    du -sh /home/user  # 查看/home/user目录总占用空间
    du -h /var/log/  # 查看/var/log目录及子目录的占用详情
    du -hc *.txt  # 查看所有.txt文件的占用大小,并显示总计
    

7. free - 查看内存使用情况

  • 功能:显示系统内存(物理内存、交换分区)的使用情况。
  • 核心参数
    • -h:人性化显示大小。
    • -m:以 MB 为单位显示(默认 KB)。
    • -g:以 GB 为单位显示。
  • 示例
     
    free -h  # 人性化显示内存使用情况
    free -m  # 以MB为单位显示
    

8. uname - 查看系统信息

  • 功能:显示系统内核版本、主机名、硬件架构等信息。
  • 核心参数
    • -a(all):显示所有系统信息(最常用)。
    • -r:仅显示内核版本。
    • -n:仅显示主机名。
  • 示例
    uname -a  # 输出如:Linux ubuntu 5.4.0-150-generic #167-Ubuntu SMP Wed May 24 15:51:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
    uname -r  # 输出内核版本:5.4.0-150-generic
    

9. hostname - 查看 / 修改主机名

  • 功能:显示或临时修改系统主机名(永久修改需编辑配置文件)。
  • 示例
    hostname  # 显示当前主机名
    sudo hostname new-hostname  # 临时修改主机名为new-hostname(重启失效)
    sudo hostnamectl set-hostname new-hostname  # 永久修改主机名(Systemd系统,无需重启)
    

10. date - 查看 / 修改系统时间

  • 功能:显示或修改系统日期和时间。
  • 示例
    date  # 显示当前系统时间(如:Wed Oct 18 15:30:22 CST 2023)
    date "+%Y-%m-%d %H:%M:%S"  # 自定义格式显示(年-月-日 时:分:秒)
    sudo date -s "2024-01-01 10:00:00"  # 修改系统时间为指定时间
    

四、网络操作命令

1. ifconfig/ip - 网络接口配置

  • 功能:查看或配置网络接口(IP 地址、子网掩码、MAC 地址等)。
    • ifconfig:传统命令(部分系统需安装 net-tools 包)。
    • ip:新一代命令(功能更全,推荐使用)。
  • 示例
     
    ifconfig  # 查看所有网络接口信息
    ip addr  # 查看IP地址(等价于ifconfig)
    ip link set eth0 up/down  # 启用/禁用eth0网卡
    sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0  # 临时设置eth0的IP地址
    

2. ping - 测试网络连通性

  • 功能:向目标主机发送 ICMP 请求包,测试网络是否可达。
  • 核心参数
    • -c 次数:指定发送包的次数(默认无限发送,Ctrl+C 终止)。
    • -i 间隔:指定发送间隔(默认 1 秒)。
    • -s 大小:指定数据包大小。
  • 示例
     
    ping www.baidu.com  # 测试与百度的连通性(无限发送)
    ping -c 4 192.168.1.1  # 向网关发送4个数据包测试连通性
    

3. netstat/ss - 查看网络连接状态

  • 功能:显示系统的网络连接、端口监听、进程关联等信息。
    • netstat:传统命令(需安装 net-tools 包)。
    • ss:新一代命令(更快、功能更全)。
  • 核心参数
    • -t(tcp):仅显示 TCP 连接。
    • -u(udp):仅显示 UDP 连接。
    • -l(listen):仅显示监听状态的端口。
    • -n(numeric):显示 IP 和端口号(不解析域名)。
    • -p(program):显示关联的进程 PID 和名称(需 root 权限)。
  • 示例
     
    netstat -tlnp  # 查看所有监听的TCP端口及关联进程
    ss -ulnp  # 查看所有监听的UDP端口及关联进程
    netstat -an | grep 80  # 查看80端口的连接状态
    

4. curl/wget - 网络下载工具

  • curl:多功能网络工具,支持 HTTP/HTTPS/FTP 等协议,可下载文件、发送请求。
  • wget:专注于文件下载(支持断点续传、后台下载)。
  • 示例
     
    # curl用法
    curl https://www.baidu.com  # 访问百度并输出HTML内容
    curl -O https://example.com/file.zip  # 下载文件并保存为原文件名
    curl -L https://example.com/redirect  # 跟随重定向下载
    
    # wget用法
    wget https://example.com/file.zip  # 下载文件
    wget -c https://example.com/large.zip  # 断点续传下载大文件
    wget -b https://example.com/bigfile.iso  # 后台下载(日志保存到wget-log)
    

5. scp - 远程文件复制

  • 功能:通过 SSH 协议在本地和远程主机之间复制文件 / 目录(加密传输)。
  • 核心参数
    • -r:递归复制目录。
    • -P 端口:指定远程主机 SSH 端口(默认 22)。
  • 示例
     
    # 本地文件复制到远程主机
    scp localfile.txt user@remote-ip:/home/user/
    
    # 远程文件复制到本地
    scp user@remote-ip:/home/user/remotefile.txt ./
    
    # 复制目录(加-r)
    scp -r localdir/ user@remote-ip:/home/user/
    

6. ssh - 远程登录

  • 功能:通过 SSH 协议远程登录 Linux 主机(加密传输,安全)。
  • 核心参数
    • -p 端口:指定远程主机 SSH 端口(默认 22)。
    • -X:启用 X11 转发(远程图形界面)。
  • 示例
     
    ssh user@remote-ip  # 登录远程主机(默认端口22)
    ssh -p 2222 user@remote-ip  # 登录指定端口2222的远程主机
    ssh -X user@remote-ip  # 登录并启用图形界面转发
    

五、压缩与解压命令

1. tar - 归档 / 压缩工具(最常用)

  • 功能:将多个文件 / 目录归档为一个 tar 包,可结合 gzip/bzip2/xz 压缩。
  • 核心参数(记忆口诀:打包压缩czf,解压xzf):
    • -c(create):创建归档包。
    • -x(extract):解压归档包。
    • -z(gzip):用 gzip 压缩 / 解压(后缀.tar.gz.tgz)。
    • -j(bzip2):用 bzip2 压缩 / 解压(后缀.tar.bz2)。
    • -J(xz):用 xz 压缩 / 解压(后缀.tar.xz)。
    • -f(file):指定归档文件名(必须放在参数最后)。
    • -v(verbose):显示压缩 / 解压过程。
    • -C(directory):指定解压目录(默认当前目录)。
  • 示例
     
    # 压缩(tar.gz格式)
    tar -czvf file.tar.gz dir1/ file1.txt  # 将dir1和file1.txt压缩为file.tar.gz
    
    # 解压(tar.gz格式)
    tar -xzvf file.tar.gz  # 解压到当前目录
    tar -xzvf file.tar.gz -C /home/user/  # 解压到/home/user目录
    
    # 压缩(tar.bz2格式)
    tar -cjvf file.tar.bz2 dir1/
    
    # 解压(tar.xz格式)
    tar -xJvf file.tar.xz
    

2. zip/unzip - ZIP 格式压缩 / 解压

  • 功能:处理 ZIP 格式的压缩文件(跨平台兼容,Windows/Linux 通用)。
  • 示例
     
    # 压缩(需安装zip包)
    zip -r file.zip dir1/ file1.txt  # 递归压缩dir1和file1.txt为file.zip
    
    # 解压(需安装unzip包)
    unzip file.zip  # 解压到当前目录
    unzip file.zip -d /home/user/  # 解压到指定目录
    unzip -l file.zip  # 查看压缩包内的文件列表
    

3. gzip/gunzip - GZ 格式压缩 / 解压

  • 功能:压缩单个文件(不能压缩目录),压缩后原文件删除(后缀.gz)。
  • 示例
     
    gzip file.txt  # 压缩file.txt为file.txt.gz(原文件删除)
    gzip -k file.txt  # 压缩并保留原文件
    gunzip file.txt.gz  # 解压为file.txt(原.gz文件删除)
    

六、其他实用命令

1. history - 查看命令历史

  • 功能:显示当前用户执行过的命令历史(默认保存 1000 条,可通过HISTSIZE调整)。
  • 示例
     
    history  # 查看所有命令历史
    history 10  # 查看最近10条命令
    !123  # 执行历史中第123条命令
    !ls  # 执行上一条以ls开头的命令
    Ctrl+R  # 搜索命令历史(输入关键词匹配)
    

2. alias - 设置命令别名

  • 功能:为常用命令设置简化别名(临时生效,永久生效需写入配置文件)。
  • 示例
     
    alias ll='ls -lha'  # 临时设置ll为ls -lha的别名
    alias rm='rm -i'  # 临时设置rm为带提示的删除(安全)
    
    # 永久生效(写入用户配置文件)
    echo "alias ll='ls -lha'" >> ~/.bashrc  # 对当前用户生效
    source ~/.bashrc  # 立即生效(无需重启终端)
    
    unalias ll  # 取消别名
    

3. sudo - 临时获取 root 权限

  • 功能:允许普通用户执行需 root 权限的命令(需在/etc/sudoers中配置权限)。
  • 示例
     
    sudo apt update  # 以root权限更新软件源(Debian/Ubuntu)
    sudo yum install nginx  # 以root权限安装nginx(CentOS/RHEL)
    sudo -i  # 切换到root用户(需输入当前用户密码)
    

4. apt/yum/dnf - 包管理命令

  • 功能:Linux 系统软件包管理工具(自动解决依赖关系)。
    • apt:Debian/Ubuntu 系列系统(apt-get 的简化版)。
    • yum:CentOS 6/RHEL 6 系列(已逐步被 dnf 替代)。
    • dnf:CentOS 7+/RHEL 7 + 系列(yum 的升级版)。
  • 示例
     
    # Debian/Ubuntu(apt)
    sudo apt update  # 更新软件源索引
    sudo apt install nginx  # 安装nginx
    sudo apt remove nginx  # 卸载nginx(保留配置文件)
    sudo apt purge nginx  # 彻底卸载nginx(删除配置文件)
    sudo apt upgrade  # 升级所有已安装软件
    
    # CentOS/RHEL(yum)
    sudo yum update  # 更新软件源
    sudo yum install nginx  # 安装nginx
    sudo yum remove nginx  # 卸载nginx
    sudo yum list installed  # 列出已安装软件
    
    # CentOS 8+/RHEL 8+(dnf)
    sudo dnf install nginx
    sudo dnf remove nginx
    

5. echo - 输出字符串 / 变量

  • 功能:在终端输出指定字符串或环境变量的值。
  • 示例
     
    echo "Hello Linux"  # 输出字符串
    echo $PATH  # 输出环境变量PATH的值(系统命令搜索路径)
    echo "当前用户:$USER"  # 输出当前用户名(变量需加$)
    echo "abc" > file.txt  # 将字符串写入文件(覆盖原有内容)
    echo "def" >> file.txt  # 将字符串追加到文件末尾
    

6. wc - 统计文本行数 / 字数 / 字节数

  • 功能:统计文件或命令输出的行数(-l)、单词数(-w)、字节数(-c)。
  • 示例
     
    wc -l file.txt  # 统计file.txt的行数
    wc -w file.txt  # 统计单词数
    wc -c file.txt  # 统计字节数
    cat file.txt | wc -l  # 统计命令输出的行数
    

七、命令行实用技巧

  1. 管道符 |:将前一个命令的输出作为后一个命令的输入(如ps aux | grep nginx)。
  2. 重定向
    • >:覆盖写入文件(如ls > list.txt)。
    • >>:追加写入文件(如echo "test" >> list.txt)。
    • <:从文件读取输入(如wc -l < file.txt)。
  3. 通配符
    • *:匹配任意多个字符(如*.txt所有.txt 文件)。
    • ?:匹配单个字符(如file?.txt匹配 file1.txt、file2.txt)。
    • []:匹配括号内的任意一个字符(如file[1-3].txt匹配 file1-3.txt)。
  4. 快捷键
    • Tab:自动补全命令 / 文件名 / 目录名(高效必备)。
    • Ctrl+C:终止当前运行的命令。
    • Ctrl+D:退出当前终端 / 登录会话(等价于exit)。
    • Ctrl+Z:暂停当前命令(用fg恢复到前台,bg放到后台)。

推荐阅读:

href属性中/的不同作用

CLAY 远程管理系统:跨平台设备集中控制解决方案

评 论
此页面未开启评论