alterar opções de comando padrão


15

Quando eu insiro o comando

ls

Eu vejo uma lista de arquivos e diretórios no diretório atual, a lista exibida é bastante irritante.

Em vez disso, gosto de executar o comando ls com a opção -1, como

ls -1

Minha pergunta é como alterar o comportamento padrão do comando ls, para que ele sempre seja executado com a opção -1. ou seja, como exibir arquivos e diretórios em uma coluna com o comando ls.

Obrigado.

Respostas:


14

Uma maneira seria criar um alias no seu ~/.bashrcarquivo:

alias l1='ls -1'

digitando l1, ls -1será executado


Como você encontra o arquivo ~ / .bashrc? Encontrei o aplicativo "bash" em Computer \ bin, mas não um arquivo de texto com o nome que você mencionou.
AlainD

@AlainD o arquivo .bashrc está presente em seu diretório pessoal, não em / bin. O ~ se expande para seu diretório home em bash, então o caminho seria ler algo como /home/user/.bashrc
Jishnu

Utilizo o alias lsl = "ls -l", pois não preciso sair da linha inicial para inseri-la.
dvnkiss

4

No diretório Home, abra o arquivo .bashrc no editor e adicione o alias ls = 'ls -1' .

Primeiro abra o terminal (Pressione ControlAltT), digite gedit ./.bashrcpara abrir o arquivo .bashrc no editor.

Encontre a seção que possui alguns aliases para ls. Na mina (estoque 11.10), parece com:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Adicione a seguinte linha após os aliases ls:

alias ls='ls -1'

Salve o arquivo, saia do gedit e do terminal e reinicie. Agora, o comando ls deve executar ls -1 por padrão.


11
Isso redefine "ls" para agora operar como "ls -1" por padrão para este usuário. Se você preferir usar um novo comando, a resposta @zetah cobre isso.
James

No meu diretório Home no uBuntu 14.04 LTS, vejo apenas um monte de pastas e nenhum arquivo .bashrc.
AlainD

1

a resposta de zetah é a melhor. Para elaborar:

É melhor usar aliases para modificações curtas, simples e frequentemente usadas dos parâmetros padrão do comando. Eles são armazenados na memória (após serem lidos em seu arquivo de origem), para melhor desempenho ou uso repetitivo.

As funções são apropriadas para atividades mais complexas usadas com freqüência e também são armazenadas na memória.

Os scripts são apropriados para os comandos mais complexos e menos usados.

Veja esta pergunta e respostas em stackexchange unix - explica a diferença no melhor uso entre aliases, funções e scripts.


1

Apenas para esclarecer algo à resposta do RobDavenport. Você não pode usar uma função para substituir um comando que tem o mesmo nome.

por exemplo, para adicionar um parâmetro padrão ao lscomando, você pode:

alias ls='ls -1 $@'

Isso adicionará um novo alias chamado, lspara que seja chamado em vez do comando original. Ele adicionará a -1opção e encaminhará todos os parâmetros $@ao lscomando original .

Você também pode fazer

function ls_column () {
  ls -1 $@
}

Teria o mesmo efeito, mas você deve usar um nome diferente para sua função. Caso contrário, ele se chamará novamente e novamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.