当前位置:首页>Linux>Linux命令指南:从入门到精通

Linux命令指南:从入门到精通

  • 2026-10-11 08:30:23
Linux命令指南:从入门到精通

Linux命令指南:从入门到精通

掌握这些命令,让你的工作效率提升10倍


前言

Linux 命令行是程序员和系统管理员的必备技能。无论是服务器管理、开发环境搭建,还是日常文件操作,熟练使用 Linux 命令都能让你事半功倍。本文将带你从基础命令开始,逐步掌握最实用的 Linux 技能。

一、基础命令

1. 文件和目录操作

# 查看当前目录pwd# 列出文件和目录ls              # 简单列表ls -l           # 详细信息ls -la          # 显示隐藏文件ls -lh          # 人类可读的文件大小# 切换目录cd /home        # 进入指定目录cd ..           # 返回上级目录cd ~            # 返回用户主目录cd -            # 返回上次所在目录# 创建目录mkdir myfoldermkdir -p path/to/nested/folder  # 递归创建# 创建文件touch file.txt# 复制文件/目录cp file.txt backup.txtcp -r folder/ backup/           # 递归复制目录# 移动/重命名mv oldname.txt newname.txtmv file.txt /destination/path/# 删除rm file.txtrm -r folder/                   # 递归删除目录rm -rf folder/                  # 强制删除(慎用!)

2. 查看文件内容

# 查看文件内容cat file.txt                    # 显示全部内容less file.txt                   # 分页查看(可上下滚动)more file.txt                   # 分页查看(只能向下)head file.txt                   # 查看前10行head -n 20 file.txt             # 查看前20行tail file.txt                   # 查看后10行tail -f log.txt                 # 实时查看日志

3. 文件搜索

# 查找文件find . -name "*.txt"            # 按名称查找find . -type f -size +100M      # 查找大于100M的文件find . -mtime -7                # 查找7天内修改过的文件# 在文件内容中搜索grep "keyword" file.txtgrep -r "keyword" folder/       # 递归搜索grep -i "keyword" file.txt      # 忽略大小写grep -n "keyword" file.txt      # 显示行号

二、系统管理命令

1. 进程管理

# 查看进程ps aux                          # 查看所有进程top                             # 实时进程监控htop                            # 更友好的进程查看器(需安装)# 查找特定进程ps aux | grep nginx# 结束进程kill PID                        # 正常终止kill -9 PID                     # 强制终止killall process_name            # 按名称结束

2. 磁盘和内存

# 磁盘使用情况df -h                           # 查看磁盘空间# 目录大小du -sh folder/                  # 查看目录总大小du -h --max-depth=1             # 查看当前目录下各子目录大小# 内存使用free -h                         # 查看内存使用情况

3. 网络相关

# 查看网络配置ip addr                         # 查看IP地址ifconfig                        # 传统方式(部分系统需安装)# 网络连通性测试ping google.comcurl -I https://example.com     # 查看HTTP响应头wget https://example.com/file   # 下载文件# 查看网络连接netstat -tuln                   # 查看监听端口ss -tuln                        # 新版netstat替代lsof -i :8080                   # 查看占用端口的进程

三、权限管理

1. 文件权限基础

Linux 文件权限分为三类用户:

  • 所有者 (owner/u):文件的所有者
  • 所属组 (group/g):文件所属的用户组
  • 其他用户 (others/o):系统中的其他用户

每种用户有三种权限:

  • r (4):读取权限
  • w (2):写入权限
  • x (1):执行权限

2. 权限相关命令

# 查看文件权限ls -l file.txt# 输出示例:-rw-r--r-- 1 user group 1234 Jan 1 12:00 file.txt# 修改权限(数字方式)chmod 755 script.sh             # rwxr-xr-xchmod 644 file.txt              # rw-r--r--chmod 600 secret.txt            # rw-------(仅自己可读写)# 修改权限(符号方式)chmod u+x script.sh             # 给所有者添加执行权限chmod go-w file.txt             # 移除组和其他人的写入权限chmod a+r file.txt              # 给所有人添加读取权限# 修改所有者chown user:group file.txtchown -R user:group folder/     # 递归修改# 修改所属组chgrp groupname file.txt

四、实用技巧

1. 管道和重定向

# 管道:将一个命令的输出作为另一个命令的输入cat file.txt | grep "error" | wc -l# 重定向输出command > output.txt            # 覆盖写入command >> output.txt           # 追加写入command 2> error.log            # 重定向错误输出command &> all.log              # 重定向所有输出# 重定向输入command < input.txt

2. 快捷键

Ctrl + C                        # 终止当前命令Ctrl + Z                        # 暂停当前命令(放入后台)Ctrl + D                        # 退出终端Ctrl + L                        # 清屏(同 clear)Ctrl + A                        # 光标移到行首Ctrl + E                        # 光标移到行尾Ctrl + U                        # 删除光标前所有内容Ctrl + K                        # 删除光标后所有内容Ctrl + R                        # 搜索历史命令Tab                             # 自动补全

3. 常用组合命令

# 统计文件行数、字数、字节数wc -l file.txt                  # 行数wc -w file.txt                  # 单词数wc -c file.txt                  # 字节数# 排序和去重sort file.txt                   # 排序sort -r file.txt                # 倒序sort -u file.txt                # 排序并去重uniq file.txt                   # 去重(需先排序)# 文本处理awk '{print $1}' file.txt       # 打印第一列sed 's/old/new/g' file.txt      # 替换文本cut -d',' -f1 file.csv          # 按分隔符提取字段

五、进阶命令

1. 压缩和解压

# tar 归档tar -cvf archive.tar folder/    # 创建归档tar -xvf archive.tar            # 解压归档tar -czvf archive.tar.gz folder/ # 创建gzip压缩归档tar -xzvf archive.tar.gz        # 解压gzip归档# zipzip -r archive.zip folder/      # 创建zipunzip archive.zip               # 解压zip

2. 远程操作

# SSH 连接ssh user@hostnamessh -p 2222 user@hostname       # 指定端口# 文件传输scp file.txt user@host:/path/   # 上传文件scp user@host:/path/file.txt .  # 下载文件scp -r folder/ user@host:/path/ # 传输目录# rsync 同步(推荐)rsync -avz folder/ user@host:/path/rsync -avz --delete folder/ user@host:/path/  # 删除目标端多余文件

3. 定时任务

# 编辑定时任务crontab -e# 查看定时任务crontab -l# 定时任务格式:分 时 日 月 周 命令# 示例:0 2 * * * /path/to/backup.sh    # 每天凌晨2点执行备份*/5 * * * * /path/to/check.sh   # 每5分钟执行一次

六、实用场景示例

场景1:查找并删除大文件

# 查找大于100MB的文件并排序du -h /path | grep '[0-9]00M\|G' | sort -rh | head -20# 安全删除(先确认)find /path -type f -size +100M -exec ls -lh {} \;

场景2:批量重命名文件

# 将所有 .txt 文件改为 .bakfor file in *.txt; do mv "$file" "${file%.txt}.bak"; done# 使用 rename 命令(部分系统)rename 's/.txt/.bak/' *.txt

场景3:监控日志文件

# 实时查看日志并过滤关键词tail -f /var/log/nginx/access.log | grep "404"# 查看最近的错误journalctl -u nginx -f          # systemd 服务日志

场景4:一键备份脚本

#!/bin/bash# backup.shDATE=$(date +%Y%m%d)BACKUP_DIR="/backup/$DATE"mkdir -p $BACKUP_DIRtar -czvf $BACKUP_DIR/home.tar.gz /home/user/Documentsrsync -avz $BACKUP_DIR remote-server:/backups/echo "备份完成: $BACKUP_DIR"

结语

掌握 Linux 命令不是一蹴而就的,需要多加练习。建议:

  1. 多动手:在实际项目中使用这些命令
  2. 看帮助:遇到不熟悉的命令,使用 man 命令名 或 命令 --help 查看文档
  3. 做笔记:记录常用的命令组合,形成自己的命令库
  4. 写脚本:将重复的操作写成脚本,提升效率

希望这篇指南能帮助你更好地使用 Linux!如有疑问,欢迎留言交流。

推荐阅读:

  • 《鸟哥的Linux私房菜》
  • Linux man pages: man intro
  • 在线练习:Linux Command Line Basics

本文首发于公众号,转载请注明出处。

最新文章

随机文章