我可以在我的目录中获取文件列表:
ls -v
但是如何只隔离我有权删除的文件夹的名称?
答案 0 :(得分:3)
一开始这可能是一个令人惊讶的事实,但是特定目录中的所有目录都可以被您删除或者没有。关键是删除(和创建)目录时重要的权限是父目录的权限,而不是您尝试创建/删除自身的目录。您甚至可能不是相关目录的所有者,仍然可以将其删除:
$ mkdir t9
$ chmod a-rxw t9
$ sudo chown root t9
$ ls -ald t9
d--------- 2 root user 4096 Feb 29 12:10 t9
$ rmdir t9 # no error!
您可以使用以下shell命令测试当前目录的写权限:
[ -w . ] && echo "writeable parent directory"
顺便说一下,要列出当前$ PWD中的所有目录,这应该足够了:
ls -al | grep ^d
编辑:这可能就是您所需要的。
#!/bin/bash
for dir in `ls -al | grep ^d | awk '{print $9}'`
do
[ -w $dir ] && echo "user can write in $dir"
done