Linux 常用命令大全:从入门到精通

Linux 是一个功能强大、灵活且开源的操作系统,广泛应用于服务器、嵌入式系统和开发环境。掌握常用的 Linux 命令是使用和管理 Linux 系统的基础。下面我将从多个类别详细讲解 Linux 中最常用的命令,并附上示例和说明。


一、文件与目录操作

1. ls --- 列出目录内容

bash 复制代码
ls                # 列出当前目录文件
ls -l             # 详细列表(权限、所有者、大小、修改时间等)
ls -a             # 显示隐藏文件(以 . 开头)
ls -lh            # 以人类可读格式显示文件大小(如 KB、MB)

2. cd --- 切换目录

bash 复制代码
cd /home/user     # 进入指定目录
cd ..             # 返回上一级目录
cd ~              # 回到用户主目录
cd -              # 切换到上一次所在的目录

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

bash 复制代码
pwd

4. mkdir --- 创建目录

bash 复制代码
mkdir dir1                # 创建一个目录
mkdir -p dir1/dir2/dir3   # 递归创建多级目录

5. rmdir / rm --- 删除目录或文件

bash 复制代码
rmdir empty_dir           # 删除空目录
rm file.txt               # 删除文件
rm -r dir                 # 递归删除目录及其内容(谨慎使用!)
rm -f file.txt            # 强制删除,不提示确认

6. cp --- 复制文件或目录

bash 复制代码
cp file1.txt file2.txt          # 复制文件
cp -r dir1 dir2                 # 递归复制整个目录

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

bash 复制代码
mv old.txt new.txt        # 重命名
mv file.txt /tmp/         # 移动文件到 /tmp 目录

8. touch --- 创建空文件或更新文件时间戳

bash 复制代码
touch newfile.txt

二、文件查看与编辑

1. cat --- 查看文件内容(适合小文件)

bash 复制代码
cat file.txt
cat file1.txt file2.txt > combined.txt  # 合并文件

2. more / less --- 分页查看文件(适合大文件)

bash 复制代码
less largefile.log   # 支持上下滚动,按 q 退出
more file.txt        # 只能向下翻页

3. head / tail --- 查看文件开头或结尾

bash 复制代码
head -n 10 file.txt   # 显示前10行
tail -n 20 file.log   # 显示最后20行
tail -f /var/log/syslog  # 实时监控日志文件(常用!)

4. nano / vim --- 文本编辑器

bash 复制代码
nano myfile.txt       # 简单易用的编辑器
vim myfile.txt        # 功能强大但需学习(按 i 进入编辑,:wq 保存退出)

三、系统信息与管理

1. uname --- 查看系统信息

bash 复制代码
uname -a              # 显示内核版本、主机名、架构等

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

bash 复制代码
df -h                 # 以人类可读格式显示(GB、MB)

3. du --- 查看目录或文件占用空间

bash 复制代码
du -sh /home/user     # 显示总大小(-s 汇总,-h 可读)
du -h --max-depth=1   # 查看当前目录下各子目录大小

4. top / htop --- 查看进程和资源使用

bash 复制代码
top                   # 实时显示 CPU、内存、进程
htop                  # 更友好的交互式进程查看器(需安装)

5. ps --- 查看当前进程

bash 复制代码
ps aux                # 显示所有进程详细信息
ps -ef | grep nginx   # 查找特定进程

6. kill / pkill --- 终止进程

bash 复制代码
kill 1234             # 终止 PID 为 1234 的进程
pkill firefox         # 按进程名终止
kill -9 1234          # 强制终止(慎用)

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

bash 复制代码
free -h               # 以可读格式显示内存和交换空间

8. uptime --- 系统运行时间与负载

bash 复制代码
uptime

四、网络相关命令

1. ping --- 测试网络连通性

bash 复制代码
ping google.com

2. ifconfig / ip --- 查看或配置网络接口

bash 复制代码
ip addr show          # 推荐使用 ip 命令(ifconfig 已逐渐淘汰)
ifconfig              # 旧命令,部分系统需安装 net-tools

3. netstat / ss --- 查看网络连接和端口

bash 复制代码
ss -tuln              # 查看监听的 TCP/UDP 端口(推荐)
netstat -tuln         # 传统方式(部分系统需安装)

4. curl / wget --- 下载文件或测试 HTTP 请求

bash 复制代码
curl https://example.com
wget https://example.com/file.zip

5. ssh --- 远程登录

bash 复制代码
ssh user@192.168.1.100

五、权限与用户管理

1. chmod --- 修改文件权限

bash 复制代码
chmod 755 script.sh        # 数字方式(r=4, w=2, x=1)
chmod +x script.sh         # 添加执行权限
chmod u+x,g-w file.txt     # 用户加执行,组去掉写

2. chown --- 修改文件所有者

bash 复制代码
chown user:group file.txt
chown -R user:group dir/   # 递归修改

3. useradd / userdel --- 添加/删除用户

bash 复制代码
sudo useradd -m alice
sudo userdel -r alice      # -r 同时删除家目录

4. passwd --- 修改密码

bash 复制代码
passwd                    # 修改当前用户密码
sudo passwd alice         # 修改其他用户密码

六、压缩与归档

1. tar --- 打包和解包

bash 复制代码
tar -cvf archive.tar dir/        # 打包
tar -xvf archive.tar             # 解包
tar -czvf archive.tar.gz dir/    # 打包并 gzip 压缩
tar -xzvf archive.tar.gz         # 解压 gzip 压缩包

2. gzip / gunzip --- 压缩/解压 .gz 文件

bash 复制代码
gzip file.txt        # 生成 file.txt.gz
gunzip file.txt.gz

3. zip / unzip

bash 复制代码
zip -r archive.zip dir/
unzip archive.zip

七、查找与过滤

1. find --- 查找文件

bash 复制代码
find /home -name "*.log"        # 按名称查找
find . -type f -mtime -7        # 查找7天内修改过的文件

2. grep --- 文本搜索

bash 复制代码
grep "error" /var/log/syslog
grep -r "TODO" ./               # 递归搜索目录
grep -i "Error" file.txt        # 忽略大小写

3. which / whereis --- 查找命令位置

bash 复制代码
which python
whereis nginx

八、管道与重定向

  • >:覆盖写入文件
  • >>:追加写入文件
  • |:将前一个命令的输出作为后一个命令的输入
bash 复制代码
ls -l > filelist.txt          # 保存目录列表到文件
echo "hello" >> log.txt       # 追加内容
ps aux | grep ssh             # 查找 ssh 相关进程
cat access.log | grep 404 | wc -l  # 统计 404 错误数量

九、其他实用命令

  • history:查看命令历史
  • alias:设置命令别名(如 alias ll='ls -l'
  • man:查看命令手册(如 man ls
  • sudo:以超级用户权限执行命令
  • crontab -e:编辑定时任务
  • date:显示或设置系统时间
  • cal:显示日历

小贴士

  • 使用 Tab 键自动补全 文件名或命令。
  • 使用 上下箭头 调出历史命令。
  • 遇到不懂的命令,先查 man commandcommand --help
  • 在生产环境中,慎用 rm -rf /chmod -R 777 / 等危险命令
相关推荐
云山工作室18 分钟前
用于电动汽车的永磁同步电机调速系统建模与仿真(论文+)
stm32·单片机·嵌入式硬件·毕业设计·毕设
yuan199971 小时前
AD7689 12位串行ADC驱动与应用
单片机·嵌入式硬件
磨十三1 小时前
MCU 时钟系统全解析:主时钟、PLL、分频与外设时钟门控
arm开发·单片机·嵌入式硬件
lingggggaaaa1 小时前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
口袋物联1 小时前
设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
c语言·设计模式·建造者模式
逐步前行2 小时前
Proteus 8.9(四)51单片机仿真
嵌入式硬件·51单片机·proteus
切糕师学AI2 小时前
位带操作(Bit-Banding)是什么?
c语言·arm·嵌入式开发·cortex-m·位带操作
DIY机器人工房2 小时前
嵌入式面试题:纹波率怎么计算;Buck 电路电感值的标准计算式是什么?
stm32·嵌入式硬件·面试题·diy机器人工房
DIY机器人工房2 小时前
嵌入式面试题:电容滤波,低频高频谁来滤?放置顺序怎么定?
stm32·单片机·嵌入式硬件·diy机器人工房
学习路上_write2 小时前
嵌入式系统bringup指南:软硬件调试
c语言·单片机·嵌入式硬件