Linux进阶命令全攻略:权限、进程、网络、压缩

Linux进阶命令全攻略:权限、进程、网络、压缩

一、文件权限与所有者管理(避免 “权限不足” 报错)

1. chmod(修改文件 / 目录权限)

  • 权限逻辑:Linux 权限分 3 类用户(所有者 u、组用户 g、其他用户 o),每类用户有 3 种权限(读 r=4、写 w=2、执行 x=1),权限值 = 三类用户权限之和

  • 语法

  • 数字格式(推荐):chmod 权限值 文件名/目录名

  • 符号格式:chmod u+rwx,g+rx,o+rx 文件名/目录名

  • 新手必记常用权限

  • 755:所有者可读可写可执行,其他用户可读可执行(适合脚本、目录)

  • 644:所有者可读可写,其他用户只读(适合普通文件、配置文件)

  • 示例

  • 给脚本添加执行权限:chmod 755 (执行脚本前必做)

  • 递归修改目录权限:chmod -R 755 data/(修改目录及所有子内容)

  • 限制其他用户写入:chmod 644 config.ini

2. chown(修改文件 / 目录所有者)

  • 功能:修改文件 / 目录的所有者和所属组,解决 “无法访问”“权限拒绝” 问题

  • 语法:chown [用户:组] 文件名/目录名

  • 关键参数:-R(递归修改目录及子内容,必须加)

  • 示例

  • 更改文件所有者:chown user file.txt(将 file.txt 所有者改为 user)

  • 同时改所有者和组:chown user:group data/

  • 递归修改目录:chown -R user:group /home/user/app

二、进程管理命令(查看 / 终止程序)

1. ps(查看进程)

  • 功能:显示系统中运行的进程,包括进程 ID(PID)、CPU / 内存占用等

  • 新手必记组合参数

  • ps -ef:显示所有进程详细信息(含父进程、启动时间)

  • ps aux:显示进程资源占用情况(CPU、内存百分比)

  • 精准查找进程:ps -ef | grep 进程名(搭配管道符,避免刷屏)

  • 示例

  • 查找 nginx 进程:ps -ef | grep nginx

  • 查看 java 进程资源占用:ps aux | grep java

2. kill(终止进程)

  • 语法:kill [选项] 进程ID(PID)

  • 常用参数

  • -9:强制终止(无法忽略,用于卡死进程,优先使用)

  • -15:正常终止(默认值,让进程清理资源)

  • 操作流程(新手必会)

  1. 查 PID:ps -ef | grep 进程名(如查找 java 进程 PID 为 1234)

  2. 终止进程:kill -9 1234

  • 示例

  • 强制终止卡死的 mysql 进程:kill -9 8901

三、文件查找命令(精准定位文件 / 目录)

1. locate(快速查找)

  • 功能:基于系统数据库快速查找文件,比 find 快 10 倍以上

  • 语法:locate 文件名

  • 新手避坑:刚创建的文件可能查不到,需先更新数据库:sudo updatedb

  • 示例

  • 查找 nginx 配置文件:locate nginx.conf

  • 查找 jdk 安装路径:locate jdk

2. find(精准查找)

  • 功能:遍历目录,按名称、大小、时间等条件精准查找(支持复杂筛选)

  • 语法:find 查找路径 [选项] 查找条件

  • 常用选项

  • -name:按文件名(支持通配符,如.txt)

  • -type:按类型(f = 文件,d = 目录)

  • -size:按大小(+10M= 大于 10MB,-500K= 小于 500KB)

  • -mtime:按修改时间(-7=7 天内修改)

  • 示例

  • 在 /home 找所有.txt 文件:find /home -name “*.txt”

  • 在 /var 找大于 50MB 的文件:find /var -type f -size +50M

  • 在当前目录找 3 天内修改的目录:find . -type d -mtime -3

四、磁盘与文件大小查看

1. df(查看磁盘空间)

  • 功能:显示磁盘分区的总容量、已用容量、剩余容量、挂载点

  • 常用参数:df -h(人性化显示,如 KB/MB/GB,避免纯数字)

  • 适用场景:检查磁盘是否满了(比如网站打不开、无法保存文件时)

  • 示例

1
[user@localhost ~]$ df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda1       500G  120G  380G  24% /  # 根目录使用24%/dev/sdb1       1T    300G  700G  30% /data  # 数据分区

2. du(查看文件 / 目录大小)

  • 功能:查看单个文件或目录的实际占用空间(比 df 更精准)

  • 常用参数

  • -sh:显示目录总大小(不列出子目录,快速查看)

  • –max-depth=1:只显示一级子目录大小(避免刷屏)

  • 示例

  • 查看当前目录总大小:du -sh(输出如2.5G)

  • 查看各子目录大小:du -h –max-depth=1

  • 查看单个文件大小:du -h largefile.tar.gz

五、压缩与解压命令(tar 核心用法)

核心参数速记(新手必背)

参数 功能 说明
-c 创建压缩包 打包时用
-x 解压压缩包 解压时用
-z gzip 格式(.tar.gz) 最常用,压缩率适中
-f 指定压缩包文件名 必须放在参数最后
-v 显示操作过程 可选,想看到进度时用

常用示例(覆盖 90% 场景)

  • 压缩目录:tar -zcvf data.tar.gz data/(打包并压缩 data 目录)

  • 解压到当前目录:tar -zxvf data.tar.gz

  • 解压到指定目录:tar -zxvf data.tar.gz -C /home/user/(-C 后接目标目录)

  • 查看压缩包内容(不解压):tar -ztvf data.tar.gz

六、网络相关命令(测试网络 / 配置)

1. ping(测试网络连通性)

  • 功能:测试与目标主机的网络是否通畅(最常用网络命令)

  • 常用参数:-c(指定发送数据包次数,避免无限循环)

  • 示例:ping -c 4 (向百度发 4 个数据包测试)

  • 结果解读

  • 显示 “time=12.3 ms”:连通正常

  • 显示 “Request timeout”:网络不通或目标主机不可达

2. ifconfig(查看网络配置)

  • 功能:显示网络接口的 IP 地址、子网掩码、MAC 地址等

  • 适用场景:查看服务器 IP、排查网络配置问题

  • 示例:输入ifconfig,重点看inet后的 IP 地址(如)

3. 包管理命令(yum/apt)

  • yum(CentOS/RHEL 系统):

  • 安装软件:sudo yum install 软件名(如sudo yum install nginx)

  • 卸载软件:sudo yum remove 软件名

  • 搜索软件:yum search 软件名

  • apt(Ubuntu/Debian 系统):

  • 安装软件:sudo apt install 软件名(如sudo apt install git)

  • 更新软件源:sudo apt update(安装前必做,避免版本过旧)

  • 升级软件:sudo apt upgrade