Converter ls -ld para comandos chmod / chown

1

X permissões do diretório home: drwxr-xr-x
Y permissões de dir home: drwxr-x - x

Então, minha pergunta é: como posso converter drwxr-x -x para um comando chmod / chown para que eu possa colocar as mesmas permissões que Y tem em seu diretório pessoal, no diretório inicial do X?

    
por qwerty1911 11.09.2013 / 20:31

2 respostas

3

Você pode usar a opção chmod do --reference . De man chmod :

   --reference=RFILE
          use RFILE's mode instead of MODE values

Então, por exemplo:

$ l -l
total 8.0K
drwx------ 2 terdon terdon 4.0K Sep 11 20:40 bar
drwxr-xr-x 2 terdon terdon 4.0K Sep 11 20:40 foo
$ chmod --reference foo bar
$ ls -l 
total 8.0K
drwxr-xr-x 2 terdon terdon 4.0K Sep 11 20:40 bar
drwxr-xr-x 2 terdon terdon 4.0K Sep 11 20:40 foo
    
por 11.09.2013 / 20:41
0

Existe sempre uma maneira:)

$ ll  | tr 'rwx' 421 | 
       awk '
       {
        split($0,a,""); 
        printf "%d%d%d\n", a[2]+a[3]+a[4], a[5]+a[6]+a[7], a[8]+a[9]+a[10] 
       }' 
020
644
644
755

$ ll
total 2K
-rw-r--r--  1 1K 2013-09-13 03:44 alphabet
-rw-r--r--  1 1K 2013-09-13 03:37 input
drwxr-xr-x+ 1 0K 2013-09-13 04:02 moo
    
por 13.09.2013 / 04:05