在/boot目录下,查找文件大小小于3M,且文件名以s为开始的文件
时间: 2024-09-26 22:14:53 浏览: 20
在Linux系统中,要在`/boot`目录下查找文件大小小于3MB(注意这里是MB,不是MiB,1MB = 1024KB),并且文件名以字母`s`开头的文件,可以使用`find`命令结合`du`命令。下面是一个示例:
```sh
sudo find /boot -name 's*' -exec du -b {} \; | awk '$1 < 3072000'
```
这里解释一下每个部分:
- `find /boot`: 开始搜索`/boot`目录。
- `-name 's*"`: 搜索文件名以`s`开头的文件(星号(*)匹配零个或多个字符)。
- `-exec du -b {} \;`: 对每个匹配的文件执行`du -b`命令,计算其块大小(单位是字节)。`{}`是find命令的通配符,表示找到的每一个文件。
- `awk '$1 < 3072000'`: 使用awk解析`du`的结果,条件是第一列(文件大小)小于3072000字节,即3MB。
这个命令将返回所有符合条件的文件及其大小。如果只想看到文件名,可以在`awk`部分改为`{print $NF}`,`$NF`表示第n个字段,通常是最后一个字段(即文件名)。
相关问题
第一个问题是关于在/etc/目录下查找文件名以.conf结尾的文件;第二个问题是关于在计算机上查找由root用户拥有的文件;第三个问题是关于在/boot目录中查找大小大于21MB且文件名以.in开头的文件。
第一个问题:在Linux系统中,如果你想在 `/etc` 目录下查找所有文件名以 `.conf` 结尾的文件,可以使用 `find` 命令,例如:
```bash
find /etc -type f -name "*.conf"
```
这将搜索 `/etc` 下的所有普通文件(`-type f`),并筛选出名字匹配 `*.conf` 的文件。
第二个问题:查找计算机上由 root 用户拥有(即权限为 `root`)的文件,你可以使用 `ls -lR | grep '^root'` 命令,但这通常会显示文件的完整路径,如果只想查看文件名,需要配合一些额外处理。另外,直接检查`/var/log` 或 `/etc` 中的文件也是一种常见做法,因为这些位置常常包含root权限的文件。
第三个问题:要在 `/boot` 目录下查找大小超过 21MB 并且文件名以 `.in` 开头的文件,可以这样做:
```bash
find /boot -type f -name "*.in" -size +21M
```
这个命令会找出大小大于 21MB 的文件,并且只搜索 `.in` 结尾的文件。
把/boot目录下的文件和子目录打包 并进行压缩 文件名为usr.tar.gz
好的,您可以使用以下命令实现:
```
sudo tar -czvf usr.tar.gz /boot/
```
解释一下每个参数的含义:
- `sudo`:以管理员权限运行命令;
- `tar`:打包命令;
- `-czvf`:参数,其中`c`表示新建一个归档文件,`z`表示使用gzip压缩,`v`表示显示详细信息,`f`表示指定输出文件名;
- `usr.tar.gz`:输出文件名;
- `/boot/`:要打包的目录。