Como eu faço o 'sudo ll' funcionar? [duplicado]

2

De vez em quando, me vejo precisando listar arquivos em um diretório no qual não tenho permissão de execução. Então eu faço um sudo:

>sudo ll /opt/mydir
[sudo] password for civfan:
sudo: ll: command not found

E então eu digo: "D'oh!" e mude para ls . E então lembre-se que eu realmente queria ls -l . E então lembre-se que eu realmente queria ls -al .

Alguém pode me salvar de mim mesmo?

Eu vejo que ll é um alias para meu usuário:

>alias ll
alias ll='ls -alF'

Como faço sudo ll funcionar? Presumivelmente eu preciso de um apelido para root ... se sim, como eu defino aliases para root?

EDIT: Meu palpite é tentar executar sudo ll é tão comum que essa questão merece ficar sozinha a partir da duplicata sugerida.

UPDATE: root já possui um ll alias!

civfan@civfan:~>sudo -s
root@civfan:~>alias ll
alias ll='ls -alF'

E ainda sudo ll não funciona ...

UPDATE 2 - resposta:

A resposta na pergunta duplicada sugerida se ajusta à minha fluxo de trabalho o melhor, e eu não vejo quaisquer desvantagens. Eu queria anotar aqui:

alias sudo="sudo "
    
por CivFan 15.06.2015 / 19:50

1 resposta

2

Um alias de shell é usado como uma parte interativa do shell. Quando você chama sudo, você deixa o shell e executa um comando.

Você poderia inserir um shell interativo com sudo -s , definir seus aliases e usá-los, ou você teria que reescrever seus aliases como comandos ou funções, por exemplo, usar uma pasta / root / alias-cmds e escrever o comando /root/alias-cmds/ll :

echo "ls -alF" > /root/alias-cmds/ll; chmod 700 /root/alias-cmds/ll;

agora você pode usar

sudo 'PATH=$PATH:/root/alias-cmds ll' 

Outra opção é definir

alias sudoll='sudo ls -alF'

e use sudoll em vez de sudo ll .

    
por 15.06.2015 / 20:01

Tags