当前位置: 首页 > article >正文

Linux文件目录管理指令详解(下篇)

Linux文件目录管理指令详解(下篇)

19 find指令

功能:在目录树中搜索文件或目录
基本语法

find [搜索路径] [匹配条件] [操作]

常用选项

  • -name "文件名":按名称精确匹配(支持通配符*
  • -type f/d:按类型查找(f文件,d目录)
  • -mtime +n/-n:按修改时间查找(+n表示n天前,-n表示n天内)
  • -size +n/-nk/M/G:按文件大小查找(如+100M表示大于100MB)
  • -exec 命令 {} \;:对搜索结果执行命令({}代表文件名,需用\;结束)

应用实例

  1. 查找/etc目录下所有.conf文件:
    find /etc -name "*.conf"
    
  2. 查找当前目录7天内修改过的文件并删除:
    find . -mtime -7 -exec rm {} \;
    

使用细节

  • 通配符*需用双引号包裹(如"*log"),避免Shell扩展。
  • -exec操作可替换为xargs(如find ... | xargs rm)。

20 grep指令

功能:在文件中搜索文本模式(支持正则表达式)
基本语法

grep [选项] "搜索内容" 文件名

常用选项

  • -i:忽略大小写
  • -r:递归搜索目录
  • -n:显示行号
  • -v:反向匹配(显示不包含模式的行)
  • -E:启用扩展正则表达式(如grep -E "error|warn"

应用实例

  1. /var/log中查找含"error"的行(忽略大小写):
    grep -ri "error" /var/log
    
  2. 统计文件中"warning"出现的次数:
    grep -c "warning" app.log
    

21 tar指令

功能:文件归档与压缩(常用格式:.tar, .tar.gz, .tar.bz2
基本语法

tar [选项] 压缩包名 文件/目录

常用选项

  • 压缩
    • -czvf:创建gzip压缩包(.tar.gz
    • -cjvf:创建bzip2压缩包(.tar.bz2
  • 解压
    • -xzvf:解压gzip压缩包
    • -xjvf:解压bzip2压缩包
  • -C 目录:解压到指定目录

应用实例

  1. 压缩目录/datadata.tar.gz
    tar -czvf data.tar.gz /data
    
  2. 解压到/opt目录:
    tar -xzvf data.tar.gz -C /opt
    

22 gzip/gunzip指令

功能:压缩/解压.gz文件
基本语法

gzip 文件名       # 压缩(生成.gz文件,原文件被删除)
gunzip 文件名.gz  # 解压

应用实例

  1. 压缩largefile.txt
    gzip largefile.txt
    
  2. 解压archive.gz
    gunzip archive.gz
    

23 ps指令

功能:查看当前进程状态
基本语法

ps [选项]

常用选项

  • aux:显示所有用户进程(BSD风格)
  • -ef:显示完整进程信息(UNIX风格)
  • --forest:以树状结构显示进程层级

应用实例

  1. 查找所有Java进程:
    ps aux | grep java
    
  2. 查看进程树:
    ps -ef --forest
    

24 top指令

功能:实时监控系统资源(CPU、内存、进程)
基本语法

top [选项]

常用选项

  • -d 秒数:设置刷新间隔(如top -d 5每5秒刷新)
  • -p PID:监控指定进程(如top -p 1234
  • 交互命令:
    • P:按CPU使用率排序
    • M:按内存使用率排序
    • k:终止进程

应用实例
实时监控并每3秒刷新:

top -d 3

25 kill指令

功能:发送信号终止进程
基本语法

kill [信号] PID

常用信号

  • -9(SIGKILL):强制终止(立即结束,不可被忽略)
  • -15(SIGTERM):默认信号(允许进程清理后退出)

应用实例
强制终止PID为1234的进程:

kill -9 1234

26 chmod指令

功能:修改文件/目录权限
基本语法

chmod [选项] 权限 文件/目录

权限表示

  • 数字模式:如755(所有者:rwx,组:rx,其他:rx)
  • 符号模式:如u+x(所有者添加执行权限),g-w(组移除写权限)

应用实例

  1. 设置脚本可执行:
    chmod 755 script.sh
    
  2. 递归修改目录权限:
    chmod -R 750 /data
    

27 chown指令

功能:修改文件/目录所有者
基本语法

chown [用户]:[] 文件/目录

应用实例

  1. 将文件所有者改为用户admin,组改为developers
    chown admin:developers file.txt
    
  2. 递归修改目录所有者:
    chown -R admin:developers /data
    

28 useradd指令

功能:创建新用户
基本语法

useradd [选项] 用户名

常用选项

  • -m:创建用户家目录(默认在/home
  • -s /bin/bash:指定默认Shell
  • -G 组名:附加到附加组

应用实例
创建用户devuser并设置家目录:

useradd -m -s /bin/bash devuser

29 apt指令(Debian/Ubuntu)

功能:软件包管理工具
基本语法

apt [选项] 命令

常用命令

  • install:安装包
  • remove:卸载包
  • update:更新软件源
  • upgrade:升级所有已安装包
  • autoremove:删除无用依赖

应用实例

  1. 安装Nginx:
    sudo apt install nginx
    
  2. 更新系统并升级软件:
    sudo apt update && sudo apt upgrade
    

30 yum指令(RHEL/CentOS)

功能:RPM包管理工具(类似apt)
基本语法

yum [选项] 命令

常用命令

  • install:安装包
  • remove:卸载包
  • update:更新包
  • list installed:列出已安装包

应用实例
安装Apache HTTP服务器:

sudo yum install httpd

31 df指令

功能:查看磁盘空间使用情况
基本语法

df [选项]

常用选项

  • -h:以易读格式显示(如GB、MB)
  • -T:显示文件系统类型

应用实例
查看所有挂载点的磁盘使用情况:

df -hT

32 du指令

功能:统计文件/目录的磁盘使用量
基本语法

du [选项] 目录/文件

常用选项

  • -s:仅显示总大小
  • -h:以易读格式显示
  • --max-depth=N:限制递归深度(如--max-depth=1

应用实例
统计/var/log目录总大小:

du -sh /var/log

33 crontab指令

功能:设置定时任务
基本语法

crontab [选项]

常用选项

  • -e:编辑当前用户的定时任务
  • -l:列出当前用户的定时任务
  • -r:删除所有定时任务

时间格式
* * * * * 分别表示:分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、周(0-7, 0和7均为周日)

应用实例

  1. 每天凌晨3点执行备份脚本:
    0 3 * * * /path/to/backup.sh
    
  2. 每5分钟检查一次服务状态:
    */5 * * * * systemctl status nginx
    

34 curl指令

功能:传输数据的工具(支持HTTP/FTP/SCP等协议)
基本语法

curl [选项] URL

常用选项

  • -O:下载文件到当前目录(保留远程文件名)
  • -o 文件名:指定保存文件名
  • -L:跟随重定向
  • -I:仅显示响应头信息

应用实例

  1. 下载文件:
    curl -O https://example.com/file.zip
    
  2. 测试网页状态码:
    curl -I -s -o /dev/null -w "%{http_code}" https://example.com
    

35 netstat指令

功能:查看网络连接、路由表、接口统计信息
基本语法

netstat [选项]

常用选项

  • -tuln:查看监听中的TCP/UDP端口
  • -p:显示进程PID和名称
  • -r:显示路由表

应用实例
查看所有监听端口及对应进程:

sudo netstat -tulnp

36 scp指令

功能:基于SSH的安全文件传输
基本语法

scp [选项] 源文件 用户@远程主机:目标路径

常用选项

  • -r:递归传输目录
  • -P 端口:指定SSH端口(默认22)

应用实例

  1. 将本地文件复制到远程主机:
    scp file.txt user@remote:/home/user/
    
  2. 从远程主机下载目录:
    scp -r user@remote:/data/logs .
    

37 rsync指令

功能:高效文件同步工具(支持增量传输)
基本语法

rsync [选项] 源文件 目标路径

常用选项

  • -a:归档模式(保留权限、时间戳等)
  • -v:显示详细输出
  • -z:压缩传输
  • --delete:同步删除目标多余文件

应用实例
同步本地目录到远程主机:

rsync -avz /data/ user@remote:/backup/

以上命令覆盖了Linux系统管理的核心场景,建议结合man手册(如man find)深入学习各指令的进阶用法。


http://www.kler.cn/a/613374.html

相关文章:

  • C语言之链表增删查改
  • CSS3学习教程,从入门到精通,CSS3 弹性盒子(Flexbox)布局全面指南(20)
  • 一款超级好用且开源免费的数据可视化工具——Superset
  • 前端技术有哪些
  • 微信小程序:数据拼接方法
  • 运维面试题(十一)
  • 明达网关云平台——开启透明化制造新时代
  • VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)
  • Yolo_v8的安装测试
  • AI Agent浪潮下,昇腾与科大讯飞携手开辟AI落地“新航路”
  • Pycharm(七):几个简单案例
  • VectorBT:使用PyTorch+LSTM训练和回测股票模型 进阶二
  • GenBI 中如何引入 LLM 做意图路由,区分查数据还是闲聊
  • Android生态大变革,谷歌调整开源政策,核心开发不再公开
  • MAC环境给docker换源
  • 【力扣hot100题】(010)滑动窗口最大值
  • 项目接入通义千问 api 接口实现步骤详解
  • 基于ssm的养老院综合服务系统
  • 项目-苍穹外卖(十五) Apache ECharts+数据统计
  • Blender绘图——旋转曲线(以LCP与RCP为例)