如何将tmp目录下名字一script字样打头,后跟两个任意一个字符,以.sh结尾的文件的访问权限改成-rwx
时间: 2024-03-27 12:38:33 浏览: 49
可以使用find命令和chmod命令来实现将/tmp目录下名字以script开头,后跟两个任意字符,以.sh结尾的文件的权限改为-rwx的操作。具体步骤如下:
```shell
find /tmp -name 'script??*.sh' -exec chmod u+rwx {} \;
```
上述命令中,find命令用于查找/tmp目录下所有符合条件的文件,-name选项用于指定查找条件,{}表示查找到的每一个文件,\;表示命令结束。在查找到每一个文件后,使用-exec选项执行chmod命令,将文件的权限改为rwx。
需要注意的是,执行上述命令需要具有足够的权限,否则可能会出现无法修改文件权限的错误。
相关问题
如何将tmp目录下名字以script字样打头
要将`/tmp`目录下以`script`字样打头的文件或目录筛选出来,可以使用Linux系统提供的`find`命令结合正则表达式进行匹配。具体的命令如下:
```bash
find /tmp -type f -name 'script*' -o -type d -name 'script*'
```
解析一下上述命令:
- `find /tmp`:在`/tmp`目录下进行查找。
- `-type f -name 'script*'`:匹配以`script`字样打头的普通文件。
- `-o`:表示或者,连接两个条件。
- `-type d -name 'script*'`:匹配以`script`字样打头的目录。
执行上述命令后,会列出所有符合条件的文件和目录的路径。如果需要删除这些文件和目录,可以在命令后加上`-delete`选项,如:
```bash
find /tmp -type f -name 'script*' -o -type d -name 'script*' -delete
```
这样就可以将这些文件和目录删除了。注意,请谨慎使用`-delete`选项,以免误删文件。建议先执行不带`-delete`选项的命令进行测试,确认没有误删的风险后再加上`-delete`选项。
编写一个shell程序,打印/tmp目录下的所有文件大小超过1024字节的文件名
好的,以下是一个简单的shell程序,可以实现您的需求:
```
#!/bin/bash
# 切换到 /tmp 目录
cd /tmp
# 打印所有文件名,如果文件大小超过 1024 字节
for file in *
do
if [ -f "$file" ] && [ $(stat -c%s "$file") -gt 1024 ]
then
echo "$file"
fi
done
```
您可以将以上代码保存为一个 `.sh` 文件,并在终端中执行该文件,即可打印出所有符合条件的文件名。
请注意,以上程序只会打印文件名,不会打印文件的大小。如果您需要打印文件大小,可以在 `echo` 语句中添加文件大小的输出,例如:
```
echo "$file $(stat -c%s "$file") bytes"
```
这会打印出类似于 `filename 1234 bytes` 的输出。