Linux/Ubuntu下批量只修改名称有空格的文件夹或文件权限

sudo find -type d -print0 | xargs -0 sudo chmod 1777

举例:

(base) ai@ai-MS-7817:~/test$ ll
total 12
drwxrwxr-x  3 ai ai 4096 5月  12 19:32  ./
drwxr-xr-x 31 ai ai 4096 5月  12 19:32  ../
drwxrwxr-x  2 ai ai 4096 5月  12 19:33 'Iam Dir'/
-rw-rw-r--  1 ai ai    0 5月  12 19:32 'Iam File.txt'
(base) ai@ai-MS-7817:~/test$ tree
.
├── Iam Dir
│   └── Iam File in Dir.txt
└── Iam File.txt

1 directory, 2 files
(base) ai@ai-MS-7817:~/test$ 

解释:

find -type d
寻找到当前目录下所有的文件夹

(base) ai@ai-MS-7817:~/test$ find -type d
.
./Iam Dir
(base) ai@ai-MS-7817:~/test$ 

find -type f
寻找到当前目录下所有的文件

(base) ai@ai-MS-7817:~/test$ find -type f
./Iam Dir/Iam File in Dir.txt
./Iam File.txt
(base) ai@ai-MS-7817:~/test$ 

find里的-print0用来处理空格
xargs -0 也是用来处理空格

所以批量改变文件夹权限 即可如下操作

(base) ai@ai-MS-7817:~/test$ sudo find -type d  -print0 | xargs -0 sudo chmod 777
(base) ai@ai-MS-7817:~/test$ ll
total 12
drwxrwxrwx  3 ai ai 4096 5月  12 19:32  ./
drwxr-xr-x 31 ai ai 4096 5月  12 19:32  ../
drwxrwxrwx  2 ai ai 4096 5月  12 19:33 'Iam Dir'/
-rw-rw-r--  1 ai ai    0 5月  12 19:32 'Iam File.txt'
(base) ai@ai-MS-7817:~/test$

批量只改变文件权限,即可如下操作

(base) ai@ai-MS-7817:~/test$ sudo find -type f  -print0 | xargs -0 sudo chmod 777
(base) ai@ai-MS-7817:~/test$ ll
total 12
drwxrwxrwx  3 ai ai 4096 5月  12 19:32  ./
drwxr-xr-x 31 ai ai 4096 5月  12 19:32  ../
drwxrwxrwx  2 ai ai 4096 5月  12 19:33 'Iam Dir'/
-rwxrwxrwx  1 ai ai    0 5月  12 19:32 'Iam File.txt'*
(base) ai@ai-MS-7817:~/test$ 

你可能感兴趣的:(shell,linux,服务器,ubuntu)