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.

hrishikeshp19
fonte

Respostas:

14

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

alias l1='ls -1'

digitando l1, ls -1será executado

zetah
fonte
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.

James
fonte
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.

RobDavenport
fonte
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.

Tim
fonte