LINUX 基础命令
1. 在哪、看啥、去哪
-
pwd 我在哪
-
ls 看文件
-
-
ls -a 显示隐藏文件
ls -lh 人性化显示文件大小(KB/MB)
-
ls -lh 人性化显示文件大小(KB/MB)
-
ls -lt 按时间排序,最新在前
-
ls -a 显示隐藏文件
-
ls -lh 人性化显示文件大小(KB/MB)
-
ls -lt 按时间排序,最新在前
-
grep
- grep -i "ERROR" app.log (查找包含
ERROR 的行,忽略大小写)
-i:ignore case(忽略大小写),作用是匹配内容时不区分字母的大小写,比如搜索 error 时,会同时匹配 Error、ERROR、eRrOr 等所有大小写组合形式。
-
find
find / -name "*.log" 全盘找 .log 文件
-
cd 去目录
2. 新建、删、复制、移动
touch 建文件
mkdir 建文件夹
mkdir:make directory,创建单个目录的基础命令;
-p:parents(父目录),作用是自动创建所有不存在的父目录,且如果目录已存在,不会报错(避免 "File exists" 错误)。
mkdir -p a/b/c 递归创建多级目录(必备参数)
rm 删除
cp 复制
cp:copy,默认只能复制文件,直接复制目录会报错;
-r:recursive(递归),作用是复制目录及其下所有的文件、子目录(包括多层嵌套),是复制目录的必加参数(也可以用 -R,和 -r 完全等价)
- 递归复制 mydir 目录(包括里面的所有文件/子目录)到 /tmp 下
mv 移动 / 改名
mv a.txt b.txt 改名
mv a.txt dir/ 移动
3. 看文件内容
cat 看全文
less 分页看
tail -f 追日志
- tail -n 20 file #看后20行
-n = number(行数),指定要显示的行数(可省略 -n,直接写数字)。
tail -f file 实时刷新日志(高频使用)
- head -n 20 app.log # 显示前20行(等价于 head -20 app.log)
- tail -n 50 app.log # 显示最后50行(等价于 tail -50 app.log)
4. 权限 & 系统
chmod 改权限
sudo 管理员执行
ps 看进程
top 看系统状态
- table of processes(进程表),是交互式、实时更新的系统监控命令,能动态查看:
- 系统整体负载(CPU、内存、磁盘 IO);
- 每个进程的资源占用(CPU%、内存 %、PID、运行用户等);
- 进程的运行状态、优先级等。
- 简单说:
top 是 Linux 的 “任务管理器”,能实时看到 “谁在占 CPU / 内存”。
q 退出
kill 杀进程
5. 磁盘 & 网络
df -h 看硬盘
df:disk free(磁盘可用空间),基础功能是显示所有已挂载磁盘分区的使用信息;
-h:human-readable(人类可读),将字节(B)、千字节(KB)等转换成 GB/MB 等易读单位(不加 -h 会显示纯数字字节,很难直观判断)。
du -sh
du:disk usage(磁盘使用量),基础功能是统计文件 / 目录的磁盘占用;
-s:summarize(汇总),只显示总大小(不加 -s 会列出目录下每个文件 / 子目录的大小,输出刷屏);
-h:human-readable,同样转换成 GB/MB 等易读单位。
free -h 看内存
ip addr 看 IP
netstat 网络状态查看工具(看端口、连接、协议)
-
参数解析(-tulnp 是黄金组合)
-t:只显示 TCP 连接;
-u:只显示 UDP 连接;
-l:只显示 “监听中” 的端口(服务启动后会监听端口,比如 nginx 监听 80);
-n:显示 IP / 端口数字(不解析域名 / 服务名,速度快);
-p:显示占用端口的进程 ID(PID)和进程名(需要 root 权限)。
netstat = network statistics(网络统计),用于查看:
- 系统中所有网络连接(TCP/UDP);
- 端口占用情况(哪个进程占用了 80/8080/3306 等端口);
- 路由表、网卡统计等(少用)。
- 简单说:
netstat 是 Linux 的 “网络端口检测器”,排查 “端口被占、服务连不上” 必用。
6.