一、文件与目录操作(最基础高频)
这类命令用于创建、查看、移动、删除文件或目录,是日常操作的基础。
-
ls - 列出目录内容
- 核心用法:
ls:查看当前目录文件ls -l:以详细列表显示(包含权限、大小、修改时间)ls -a:显示隐藏文件(以.开头的文件)ls -lh:人性化显示文件大小(如1K2M)
- 核心用法:
-
cd - 切换工作目录
- 核心用法:
cd /home:切换到/home目录(绝对路径)cd ..:切换到上级目录cd ~:切换到当前用户的家目录cd -:切换到上一次所在的目录
- 核心用法:
-
pwd - 显示当前工作目录的绝对路径
- 用法:直接输入
pwd即可。
- 用法:直接输入
-
mkdir - 创建新目录
- 核心用法:
mkdir test:创建名为test的目录mkdir -p a/b/c:递归创建多级目录(a 目录下的 b,b 目录下的 c)
- 核心用法:
-
rm - 删除文件或目录(慎用!删除后难以恢复)
- 核心用法:
rm file.txt:删除file.txt文件rm -r dir:递归删除dir目录及所有内容rm -f file.txt:强制删除文件,不提示确认
- 核心用法:
-
cp - 复制文件或目录
- 核心用法:
cp file.txt /tmp:把file.txt复制到/tmp目录cp -r dir /tmp:递归复制dir目录到/tmp
- 核心用法:
-
mv - 移动 / 重命名文件或目录
- 核心用法:
mv file.txt /tmp:把file.txt移动到/tmpmv old.txt new.txt:把old.txt重命名为new.txt
- 核心用法:
二、文件内容查看与编辑
这类命令用于读取、修改文件内容,适合查看日志、配置文件等场景。
-
cat - 查看文件全部内容(适合小文件)
- 用法:
cat /etc/passwd查看系统用户配置文件
- 用法:
-
more/less - 分页查看文件内容(适合大文件)
more file.log:向下分页查看,按空格翻页,q退出less file.log:比more更灵活,支持上下键滚动,q退出
-
head/tail - 查看文件开头 / 结尾内容
- 核心用法:
head -n 10 file.log:查看文件前 10 行tail -n 20 file.log:查看文件后 20 行tail -f file.log:实时监控文件变化(常用于查看日志)
- 核心用法:
-
vim/nano - 文本编辑器
vim file.txt:用 vim 编辑文件(按i进入编辑模式,Esc+:wq保存退出)nano file.txt:用 nano 编辑文件(更简单,适合新手,按Ctrl+O保存,Ctrl+X退出)
三、系统信息与进程管理
这类命令用于监控系统状态、查看进程、管理服务。
-
top - 实时监控系统进程和资源占用
- 用法:直接输入
top,会显示 CPU、内存使用率最高的进程,按q退出。
- 用法:直接输入
-
ps - 查看当前运行的进程
- 核心用法:
ps aux:查看所有进程的详细信息(用户、PID、CPU 占用等)ps aux | grep java:过滤出和 java 相关的进程
- 核心用法:
-
kill/killall - 终止进程
- 核心用法:
kill 1234:终止 PID 为 1234 的进程(PID 可通过ps查看)kill -9 1234:强制终止进程(当普通kill无效时使用)killall java:终止所有 java 进程
- 核心用法:
-
df/du - 查看磁盘空间
df -h:查看磁盘分区的总容量、已用、可用空间(人性化显示)du -sh dir:查看dir目录的总大小
-
free - 查看内存和交换分区使用情况
- 用法:
free -h人性化显示内存信息(总内存、已用、空闲)
- 用法:
四、权限与用户管理
Linux 是多用户系统,这类命令用于管理用户、修改文件权限。
-
chmod - 修改文件 / 目录权限
- 权限分为读 (r=4)、写 (w=2)、执行 (x=1),对应所有者 (u)、所属组 (g)、其他用户 (o)。
- 核心用法:
chmod 755 file.sh:所有者可读可写可执行,其他用户可读可执行chmod +x file.sh:给所有用户添加执行权限(常用于脚本)
-
chown - 修改文件 / 目录的所有者和所属组
- 核心用法:
chown user:group file.txt:把文件所有者改为user,所属组改为groupchown -R user:group dir:递归修改目录及内容的所有者
- 核心用法:
-
useradd/userdel - 创建 / 删除用户
useradd testuser:创建testuser用户userdel testuser:删除testuser用户
-
su/sudo - 切换用户 / 提升权限
su root:切换到 root 用户(需要输入 root 密码)sudo command:以 root 权限执行命令(普通用户需要配置 sudo 权限)
五、网络相关命令
用于测试网络连通性、查看网络配置、下载文件等。
-
ping - 测试网络连通性
- 用法:
ping baidu.com测试和百度服务器的连通性(按Ctrl+C停止)
- 用法:
-
ifconfig/ip - 查看网络接口信息
ifconfig:查看网卡 IP、MAC 地址等信息(部分系统需安装net-tools)ip addr:新版 Linux 推荐用法,功能和ifconfig类似
-
curl/wget - 下载文件或测试接口
curl https://www.baidu.com:获取网页内容wget https://xxx.com/file.tar.gz:下载文件到当前目录
-
netstat/ss - 查看网络连接和端口占用
netstat -tulnp:查看所有监听的端口及对应的进程ss -tulnp:新版 Linux 推荐用法,效率更高
六、其他高频实用命令
-
tar - 压缩 / 解压文件(Linux 最常用的压缩格式是
.tar.gz)- 压缩:
tar -zcvf test.tar.gz dir/把dir目录压缩为test.tar.gz - 解压:
tar -zxvf test.tar.gz解压到当前目录
- 压缩:
-
grep - 文本搜索过滤(非常强大)
- 用法:
grep "error" file.log在file.log中搜索包含error的行 - 常用参数:
grep -i "error"忽略大小写,grep -r "error" dir递归搜索目录
- 用法:
-
find - 查找文件或目录
- 用法:
find /home -name "*.txt"在/home下查找所有.txt后缀的文件
- 用法:
实用技巧
- 命令组合 :用管道符
|可以把多个命令组合起来,例如ps aux | grep java | wc -l统计 java 进程数量。 - 命令帮助 :任何命令加
--help可以查看用法(如ls --help),或用man ls查看详细手册。