1950 字
10 分钟

Linux 常用命令

2025-05-20

一、基础操作命令#

1. ls - 列出目录 / 文件信息#

  • 功能:查看目录下文件列表,支持多格式显示。

  • 示例

    • ls:显示当前目录非隐藏文件;

    • ls -l(缩写ll):长格式显示(权限、大小、修改时间等);

    • ls -a:显示所有文件(含隐藏文件如.bashrc);

    • ls -lh:人性化单位(K/M/G)显示文件大小。

  • 注意:查看指定目录需加路径,如 ls /home

2. cd - 切换工作目录#

  • 功能:变更当前终端所在目录,日常操作高频命令。

  • 示例

    • cd /home/user:绝对路径切换至目标目录;

    • cd ../:返回上一级目录;

    • cd ~:快速进入当前用户主目录;

    • cd -:切换至上一次所在目录。

  • 注意:路径分绝对路径(/ 开头)与相对路径(如cd docs)。

3. pwd - 显示当前路径#

  • 功能:输出当前终端的完整绝对路径,避免 “迷路”。

  • 示例pwd → 输出如/home/user/documents

4. clear - 清空终端#

  • 功能:清除终端已显示内容,光标回到顶部。

  • 示例clear 或快捷键 Ctrl+L

5. whoami - 查看当前用户#

  • 功能:输出当前登录用户名,用于确认身份。

  • 示例whoami → 输出如user

6. uname - 查看系统信息#

  • 功能:获取内核名称、版本、架构等信息。

  • 示例

    • uname:仅显示内核名称(如Linux);

    • uname -r:显示内核版本(如5.15.0-78-generic);

    • uname -a:显示完整系统信息。

  • 注意:查看发行版版本用 cat /etc/os-release


二、文件与目录操作命令#

1. 创建操作#

(1)touch - 创建空文件 / 更新时间#

  • 功能:创建空文件或更新已有文件的时间戳。

  • 示例

    • touch test.txt:创建空文件;

    • touch file1.txt file2.txt:批量创建;

    • touch -d "2024-01-01" old.txt:修改文件时间。

(2)mkdir - 创建目录#

  • 功能:创建单个或多级目录。

  • 示例

    • mkdir docs:创建单个目录;

    • mkdir -p docs/linux/commands:递归创建多级目录;

    • mkdir -m 755 public:创建目录并指定权限755

2. cp - 复制文件 / 目录#

  • 功能:复制文件或目录到目标路径。

  • 示例

    • cp test.txt /backup:复制文件至目标目录;

    • cp -r docs/ /backup/docs:递归复制目录(必须加-r);

    • cp -v file1.txt file2.txt:显示复制过程。

3. mv - 移动 / 重命名#

  • 功能:移动文件 / 目录或重命名。

  • 示例

    • mv test.txt /home/user:移动文件;

    • mv old.txt new.txt:重命名文件;

    • mv -f docs/ /backup:强制移动目录(覆盖不提示)。

4. rm - 删除文件 / 目录#

  • 功能:删除文件或目录,操作需谨慎!

  • 示例

    • rm test.txt:删除文件(默认提示确认);

    • rm -f test.txt:强制删除(无提示);

    • rm -r docs/:递归删除目录;

    • rm -rf temp/:强制递归删除(高危!避免误删根目录)。

5. 查看与编辑#

(1)cat - 查看小文件#

  • 示例

    • cat test.txt:显示文件全部内容;

    • cat -n test.txt:显示行号;

    • cat file1.txt file2.txt > all.txt:合并文件内容。

(2)more/less - 分页查看大文件#

  • more log.txt:按页显示,空格键翻页,q退出;

  • less log.txt:增强版,支持上下滚动、搜索(输入/关键词)、q退出。

(3)head/tail - 查看首尾内容#

  • head -5 log.txt:显示前 5 行;

  • tail -10 log.txt:显示后 10 行;

  • tail -f log.txt:实时监控文件新增内容(Ctrl+C停止)。

(4)nano/vim - 编辑文件#

  • nano test.txt:简单编辑器,Ctrl+O保存,Ctrl+X退出;

  • vim test.txt:专业编辑器,i进入编辑模式,Esc+:wq保存退出,:q!强制退出。


三、系统监控与管理命令#

1. 资源监控#

(1)top - 实时监控资源#

  • 功能:动态显示 CPU、内存、进程占用,每 3 秒刷新。

  • 示例

    • top:启动监控,q退出;

    • top -p 1234:仅监控 PID 为 1234 的进程;

    • top -u user:仅监控用户user的进程。

  • 关键指标

    • 系统负载:load average: 0.50, 0.30, 0.20(1/5/15 分钟,值越小越好);

    • CPU 空闲率:%id(越低负载越高);

    • 内存使用率:MemSwap(Swap 使用率高需警惕内存不足)。

(2)free - 查看内存#

  • 示例free -h → 人性化显示内存(如Mem: 15.5G total, 8.2G used)。

(3)df - 查看磁盘空间#

  • 示例df -h → 显示分区占用(如/dev/sda1 50G 15G 35G 30% /);

  • df -i:查看 inode 使用(避免 inode 耗尽无法创建文件)。

(4)du - 查看目录占用#

  • 示例

    • du -sh docs/:显示目录总大小(如2.5G);

    • du -h --max-depth=1 /home:显示一级子目录大小。

2. 进程管理#

(1)ps - 查看进程#

  • 示例

    • ps aux:显示所有进程(含 PID、CPU 使用率);

    • ps aux | grep java:筛选 Java 相关进程。

(2)kill - 终止进程#

  • 示例

    • kill 1234:发送终止信号(优雅退出);

    • kill -9 1234:强制终止(进程无响应时用);

    • killall java:批量终止同名进程。

(3)systemctl - 管理服务#

  • 示例(以 Nginx 为例):

    • systemctl start nginx:启动服务;

    • systemctl stop nginx:停止服务;

    • systemctl restart nginx:重启服务;

    • systemctl enable nginx:设置开机自启;

    • systemctl status nginx:查看服务状态(如active (running))。


四、用户与权限管理命令#

1. 用户管理#

(1)useradd - 创建用户#

  • 示例useradd -m -d /home/testuser -s /bin/bash testuser(创建用户并指定主目录、Shell);

  • 注意:创建后需用 passwd testuser 设置密码。

(2)passwd - 修改密码#

  • 示例passwd testuser(管理员修改用户密码);普通用户直接输入passwd修改自身密码。

(3)userdel - 删除用户#

  • 示例userdel -r testuser(删除用户并清理主目录)。

(4)su/sudo - 切换权限#

  • su - testuser:切换用户并加载环境变量;

  • sudo ls /root:普通用户临时获取管理员权限;

  • sudo -i:进入管理员交互式 Shell。

2. 权限管理#

Linux 权限:读(r=4)写(w=2)执行(x=1),对应所有者(u)、所属组(g)、其他用户(o)。

(1)chmod - 修改权限#

  • 示例

    • 字母法:chmod u+x ``test.sh(给所有者加执行权限);

    • 数字法:chmod 755 ``test.sh(所有者 rwx,其他 rx)、chmod 644 test.txt(所有者 rw,其他 r);

    • 递归修改:chmod -R 755 docs/

(2)chown - 修改所有者 / 组#

  • 示例

    • chown testuser test.txt:修改所有者;

    • chown testuser:testgroup test.txt:修改所有者与组;

    • chown -R testuser:testgroup docs/:递归修改目录。

(3)ls -l - 查看权限#

  • 示例ls -l test.txt → 输出如-rw-r--r-- 1 testuser testgroup 1024 Aug 1 10:00 test.txt(首字段为权限)。

五、网络操作命令#

1. ip addr - 查看网卡信息#

  • 功能:替代旧版ifconfig,显示 IP、MAC 地址。

  • 示例ip addr → 查看所有网卡(如inet ``192.168.1.100/24)。

2. ping - 测试连通性#

  • 示例

    • ping ``baidu.com:测试与百度连通(Ctrl+C停止);

    • ping -c 4 ``baidu.com:发送 4 个包后停止。

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

  • netstat -tuln:显示监听端口(如tcp 0 0 ``0.0.0.0:80`` LISTEN);

  • ss -tuln:新版替代命令,效率更高;

  • ss -an | grep :443:筛选 443 端口连接。

4. curl - 发送 HTTP 请求 / 下载#

  • 示例

    • curl ``https://baidu.com:获取网页内容;

    • curl -I ``https://baidu.com:查看响应头(如HTTP/1.1 200 OK);

    • curl -O ``https://example.com/file.zip:下载文件。

5. wget - 下载工具#

  • 示例

    • wget ``https://example.com/file.zip:直接下载;

    • wget -c ``https://example.com/file.zip:断点续传;

    • wget -P /download ``https://example.com/file.zip:指定下载目录。

6. ssh - 远程登录#

  • 示例

    • ssh user@``192.168.1.100:默认 22 端口登录;

    • ssh -p 2222 user@``192.168.1.100:指定端口登录;

    • ssh user@server "ls /home":远程执行单条命令。


六、压缩与解压命令#

格式解压命令压缩命令
.tartar xf file.tartar cf file.tar dir/
.tar.gztar xzf file.tar.gztar czf file.tar.gz dir/
.tar.bz2tar xjf file.tar.bz2tar cjf file.tar.bz2 dir/
.zipunzip file.zip [-d 目录]zip -r file.zip dir/
.rarunrar x file.rarrar a file.rar dir/
  • 说明tar命令中,x= 解压、c= 压缩、f= 指定文件,z/j对应压缩格式;.zip/.rar需先安装unzip/rar工具。

七、搜索命令#

1. find - 查找文件 / 目录#

  • 示例

    • find /home -name "test.txt":按名称精确查找;

    • find /home -iname "*.txt":模糊查找(忽略大小写);

    • find / -size +100M:查找大于 100M 的文件;

    • find /tmp -name "*.tmp" -delete:查找并删除临时文件(谨慎!)。

2. grep - 搜索文本内容#

  • 示例

    • grep "error" log.txt:在文件中搜索 “error”;

    • grep -i "Error" log.txt:忽略大小写;

    • grep -n "warning" log.txt:显示匹配行号;

    • grep -r "test" /home/docs:递归搜索目录下所有文件。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Linux 常用命令
https://005201.xyz/posts/record/250520-linux-order/
作者
Wliky
发布于
2025-05-20
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-05-20,距今已过 221 天

部分内容可能已过时

目录