一、文件 / 目录操作(最核心)
1. ls - 列出目录内容
-
用途:查看当前 / 指定目录下的文件和文件夹
-
基础用法 :
bash
运行
ls # 列出当前目录(仅名称) ls -l # 详细列表(权限、大小、修改时间等,简称ll) ls -a # 显示隐藏文件(以.开头的文件) ls -lh # 大小以K/M/G显示(易读格式) ls /usr/local # 列出指定目录内容
2. cd - 切换目录
-
用途:改变当前工作目录
-
基础用法 :
bash
运行
cd /home/user # 切换到绝对路径 cd ../ # 切换到上级目录 cd ~ # 切换到当前用户家目录 cd - # 切换到上一次所在目录
3. pwd - 查看当前路径
-
用途:显示当前工作目录的绝对路径
-
基础用法 :
bash
运行
pwd # 直接执行,输出如 /home/user/projects
4. mkdir/rmdir - 创建 / 删除空目录
-
用途:创建新目录 / 删除空目录
-
基础用法 :
bash
运行
mkdir test # 创建单个目录 mkdir -p a/b/c # 递归创建多级目录(父目录不存在则自动创建) rmdir test # 删除空目录(非空则报错)
5. rm - 删除文件 / 目录
-
用途:删除文件或目录(慎用,删除后难恢复)
-
基础用法 :
bash
运行
rm file.txt # 删除单个文件 rm -f file.txt # 强制删除(忽略不存在的文件,无提示) rm -r dir # 递归删除目录及所有内容 rm -rf dir # 强制递归删除(生产环境慎用!)
6. cp - 复制文件 / 目录
-
用途:复制文件或目录到指定位置
-
基础用法 :
bash
运行
cp file.txt /tmp # 复制文件到/tmp目录 cp -r dir /tmp # 递归复制目录及内容 cp -f file.txt /tmp # 覆盖目标文件(无提示)
7. mv - 移动 / 重命名文件
-
用途:移动文件 / 目录,或重命名
-
基础用法 :
bash
运行
mv file.txt /tmp # 移动文件到/tmp mv old.txt new.txt # 重命名文件 mv dir /tmp # 移动目录
8. cat/tail/head - 查看文件内容
-
用途:查看文件内容(cat 全量、tail/head 看部分)
-
基础用法 :
bash
运行
cat file.txt # 查看文件全部内容 tail -f log.txt # 实时跟踪文件更新(日志查看常用) tail -n 100 log.txt # 查看最后100行 head -n 10 file.txt # 查看前10行
二、文件内容操作 / 查找
1. grep - 文本搜索
-
用途:在文件 / 输出中搜索匹配的字符串
-
基础用法 :
bash
运行
grep "error" log.txt # 在log.txt中搜索error grep -i "error" log.txt # 忽略大小写 grep -r "TODO" /code # 递归搜索/code目录下所有含TODO的文件 grep -n "error" log.txt # 显示匹配行的行号
2. find - 文件查找
-
用途:按名称 / 类型 / 大小等条件查找文件
-
基础用法 :
bash
运行
find / -name "*.log" # 全局查找.log后缀文件 find /tmp -type f # 查找/tmp下所有普通文件 find /data -size +100M # 查找大于100M的文件
3. sed - 文本替换(批量修改)
-
用途:批量替换文件中的字符串
-
基础用法 :
bash
运行
sed -i 's/old_str/new_str/g' file.txt # 替换文件中所有old_str为new_str sed -i 's/error/ERROR/g' log.txt # 把log.txt中error改为ERROR
三、系统信息 / 进程管理
1. top - 实时监控进程
-
用途:实时查看系统资源占用(CPU、内存、进程)
-
基础用法 :
bash
运行
top # 启动实时监控 # 常用交互快捷键 P # 按CPU使用率排序 M # 按内存使用率排序 k # 终止指定进程(输入PID) q # 退出top
2. ps - 查看进程列表
-
用途:列出当前运行的进程
-
基础用法 :
bash
运行
ps -ef # 查看所有进程(详细) ps -ef | grep java # 过滤出java进程 ps aux # 以用户为中心显示进程(常用)
3. kill - 终止进程
-
用途:结束指定进程
-
基础用法 :
bash
运行
kill 12345 # 终止PID为12345的进程(温和) kill -9 12345 # 强制终止进程(无法忽略,常用)
4. df/du - 查看磁盘空间
-
用途:df 看磁盘分区占用,du 看文件 / 目录大小
-
基础用法 :
bash
运行
df -h # 查看所有分区的磁盘使用(易读格式) du -sh /var/log # 查看/var/log目录总大小(-s汇总,-h易读) du -h /data # 查看/data下各子目录大小
5. free - 查看内存使用
-
用途:显示系统内存、交换分区使用情况
-
基础用法 :
bash
运行
free -h # 易读格式显示内存(total/used/free)
四、权限管理
1. chmod - 修改文件权限
-
用途:修改文件 / 目录的读 / 写 / 执行权限
-
基础用法 :
bash
运行
chmod 755 script.sh # 所有者可读可写可执行,其他只读可执行 chmod +x script.sh # 给所有用户添加执行权限(常用) chmod 644 file.txt # 所有者可读可写,其他只读- 权限说明:
7=4(读)+2(写)+1(执行),6=4+2,5=4+1
- 权限说明:
2. chown - 修改文件所有者
-
用途:修改文件 / 目录的所属用户和用户组
-
基础用法 :
bash
运行
chown user:group file.txt # 修改所有者为user,所属组为group chown -R user:group dir # 递归修改目录及内容的所有者
五、网络操作
1. ping - 测试网络连通性
-
用途:测试与目标主机的网络连通性
-
基础用法 :
bash
运行
ping baidu.com # 测试与百度的连通(按Ctrl+C停止) ping -c 4 baidu.com # 只ping4次(非一直ping)
2. netstat/ss - 查看网络端口
-
用途:查看端口占用、网络连接(ss 比 netstat 更高效)
-
基础用法 :
bash
运行
netstat -tulpn # 查看所有监听的端口(t:TCP, u:UDP, l:监听, p:进程, n:端口号) ss -tulpn # 同上(推荐) netstat -an | grep 8080 # 查看8080端口是否被占用
3. curl/wget - 下载 / 访问网络资源
-
用途:curl 测试接口 / 访问 URL,wget 下载文件
-
基础用法 :
bash
运行
curl http://localhost:8080/api/test # 访问本地接口 curl -X POST -d "name=test" http://localhost:8080/api # POST请求 wget https://xxx.com/file.tar.gz # 下载文件到当前目录
六、压缩 / 解压
1. tar - 打包 / 解压文件
-
用途:Linux 最常用的压缩解压命令(支持 tar.gz/tar.bz2 等)
-
基础用法 :
bash
运行
tar -zcvf test.tar.gz /tmp/test # 打包并压缩/tmp/test为tar.gz tar -zxvf test.tar.gz # 解压tar.gz文件(z:gzip, x:解压, v:显示过程, f:指定文件) tar -jxvf test.tar.bz2 # 解压tar.bz2文件(j:bzip2) tar -xvf test.tar -C /tmp # 解压tar文件到/tmp目录