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

find-chomd-read-ls和ll的区别

find

这个命令是用来查找文件路径的

工作中常用,用来找文件路径的

[root@localhost ~]# find / -name sayhello.c

/sayhello/sayhello.c

[root@localhost ~]#

find 是命令

/ 查找的路径

-name 查找的条件

find命令常与基本逻辑运算符-o -a -not 一起使用

因为优先级有别,为了避免歧义:

总结

find比较重要,还有些内容补充一下
find 【路径】【选项】 【操作】

不用刻意去背,大致记得,会用就好

2. 常用搜索条件(选项)

选项

作用

示例

-name "文件名"

按文件名匹配(支持通配符 *?

find . -name "*.txt"

-iname "文件名"

按文件名匹配(不区分大小写)

find . -iname "readme*"

-type 类型

按文件类型搜索

find . -type f(普通文件)
find . -type d(目录)

-size 大小

按文件大小搜索

find . -size +1M(>1MB)
find . -size -100k(<100KB)

-mtime 时间

按修改时间搜索(天)

find . -mtime -7(7天内修改)
find . -mtime +30(30天前修改)

-mmin 分钟

按修改时间搜索(分钟)

find . -mmin -60(60分钟内修改)

-user 用户名

按所有者搜索

find /home -user alice

-group 组名

按所属组搜索

find /var -group www-data

-perm 权限

按权限搜索

find . -perm 644(精确匹配)
find . -perm -644(至少包含 644)

4. 常见操作(对搜索结果的处理)

操作

作用

示例

-print

打印文件路径(默认)

find . -name "*.txt" -print

-delete

删除文件

find . -name "*.tmp" -delete

-exec CMD {} \;

对每个文件执行命令

find . -name "*.log" -exec rm {} \;

-exec CMD {} +

批量执行命令(更高效)

find . -name "*.log" -exec rm -f {} +

-ok CMD {} \;

交互式执行命令(需确认)

find . -name "*.log" -ok rm {} \;

-ls

ls -l 格式显示

find . -type f -ls

-fls 文件

将结果保存到文件

find . -name "*.txt" -fls result.txt

这里注意一下,理解一下反斜杠和括号的意思

-exec后面就是接你想要执行的命令

(4) 查找并修改权限

# 将所有 .sh 文件设为可执行
find . -name "*.sh" -exec chmod +x {} \;

6. 完整示例

(1) 查找 /var/log 下 7 天内修改的 .log 文件

find /var/log -name "*.log" -mtime -7

(2) 查找 /home 下大于 100MB 的文件

find /home -type f -size +100M

(3) 查找 /etc 下权限为 644 的文件

find /etc -type f -perm 644

(4) 查找 /tmp 下不属于 root 的文件

find /tmp -not -user root

(5) 查找 .txt.log 且修改时间超过 30 天的文件

find . \( -name "*.txt" -o -name "*.log" \) -mtime +30

7. 注意事项

  1. -delete-exec rm 的区别
    • -delete 直接删除,效率更高,但不可恢复。
    • -exec rm 可结合 -ok 进行交互式确认。
  1. -exec-exec + 的区别
    • -exec {} \; 每个文件执行一次命令(效率低)。
    • -exec {} + 批量处理(更高效)。
  1. 权限问题
    • 如果搜索系统目录(如 /root),可能需要 sudo
  1. 通配符 *-name 中的使用
    • -name "*.txt" 匹配以 .txt 结尾的文件。
    • -name "file*" 匹配以 file 开头的文件。

chmod 命令简介

chmodchange mode)是 Linux/Unix 系统中用于修改文件或目录权限的命令。
权限分为 读(r)写(w)执行(x),分别对应:

  • 读(r):查看文件内容(catless 等)
  • 写(w):修改文件内容(vimecho 写入等)
  • 执行(x):运行脚本或程序(./script.sh

两种模式:

上面是设置文件权限,那如何查看文件权限呢:

使用ls -l 查看文件权限:

ls -l script.sh

read:

read适合交互式

位置变量适合脚本

[root@localhost ~]# read num1 num2 num3

10 20 30

感觉就像是定义变量的意思,连续定义多个变量

[root@localhost ~]# echo $num1 $num2 $num3

10 20 30

======

ls只是显示当前目录下的文件和子目录(不包括隐藏文件)

可接如下选项

例如:

ls -l以长格式显示文件(详细信息)

这个可以显示隐藏文件

这种-h (human)以人类可读的格式显示文件大小,可以这样理解,比较好记

都还算比较简单好记的:

===========

ll实际上是ls -l的别名

ll主要用于长格式查看文件列表,比ls更直观,因为它会显示:

文件权限,硬链接数,所有者,所属者,文件大小和修改时间等信息

还有一个细微的差别:

这个是在设置别名映射时默认加上的,不想要显示颜色自己也可以去取消

进入目录/root/,编辑文件.bashrc

即可修改

其实也可以不用这么麻烦,直接输入如下的命令就可以了,重定向到目标文件里去,一样能生效

下面是关于ls和ll比较高级点的用法

http://www.xdnf.cn/news/8250.html

相关文章:

  • Crawl4AI:高效的AI数据抓取工具
  • Spring概念问题详解
  • [C++面试] 基础题
  • springboot 集成kerberos 用户认证 获取域账号
  • 完整改进RIME算法,基于修正多项式微分学习算子Rime-ice增长优化器,完整MATLAB代码获取
  • 【数据结构】 栈和队列
  • 微软全新开源的Agentic Web网络项目:NLWeb,到底是什么 ?
  • 鸿蒙App开发学习路径
  • JAVA|后端编码规范
  • 仿腾讯会议——视频发送接收
  • 计算机发展史
  • 从零基础到最佳实践:Vue.js 系列(7/10):《常用内置 API 与插件》
  • scratch课后一练--事件模块
  • Linux系统编程 | IPC对象---消息队列
  • DeepSeek:开启IT领域人效管理新时代
  • Java-根据路径获取JSON字符串的value值
  • zabbix 常见问题
  • 深入解析JVM垃圾回收器:原理、实践与调优指南
  • 实用重复文件批量处理工具
  • 关于SQL SERVER中round函数的用法和示例
  • 一台机器怎么部署k8s集群
  • React-fiber架构
  • Python可视化设计原则
  • 【424. 替换后的最长重复字符】
  • docker-compose常用命令介绍
  • 已经 上线 Vue 项目 国际化 i18n 中译英
  • OpenCV 图像对象的创建与赋值
  • Apollo10.0学习——planning模块(9)之参数详解一
  • Vscode +Keil Assistant编译报错处理
  • C++ -- vector