cambiar las opciones de comando predeterminadas

15

Cuando entro en comando

ls

Veo una lista de archivos y directorios en el directorio actual, la lista que se muestra es bastante molesta.

Más bien, me gusta ejecutar el comando ls con la opción -1 como

ls -1

Mi pregunta es cómo cambiar el comportamiento predeterminado del comando ls para que siempre se ejecute con la opción -1. es decir, cómo mostrar archivos y directorios en una columna con el comando ls.

Gracias.

hrishikeshp19
fuente

Respuestas:

14

Una forma sería creando un alias en su ~/.bashrcarchivo:

alias l1='ls -1'

luego al escribir l1, ls -1se ejecutará

zetah
fuente
¿Cómo encuentras el archivo ~ / .bashrc? Encontré la aplicación "bash" en Computer \ bin, pero no un archivo de texto con el nombre que mencionas.
AlainD
@AlainD el archivo .bashrc está presente en su directorio de inicio, no en / bin. El ~ se expande a su directorio de inicio en bash, por lo que la ruta leería algo como /home/user/.bashrc
Jishnu
Utilizo alias lsl = "ls -l" ya que no tengo que moverme desde la fila de inicio para ingresarlo.
dvnkiss
4

En su directorio de inicio, abra el archivo .bashrc en el editor y agregue el alias ls = 'ls -1' .

Primero abra la terminal (Presione ControlAltT), ingrese gedit ./.bashrcpara abrir su archivo .bashrc en el editor.

Encuentre la sección que tiene algunos alias para ls. En el mío (stock 11.10) se ve así:

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

Agregue la siguiente línea después de los alias ls:

alias ls='ls -1'

Guarde el archivo, salga de gedit y la terminal y reinicie. Ahora el comando ls debería ejecutar ls -1 por defecto.

James
fuente
1
Esto redefine "ls" para que ahora funcione como "ls -1" de forma predeterminada para este usuario. Si prefiere usar un nuevo comando, entonces la respuesta @zetah cubre eso.
James
En mi directorio de inicio en uBuntu 14.04 LTS solo veo un montón de carpetas y ningún archivo .bashrc.
AlainD
1

La respuesta de zetah es la mejor. Elaborar:

Los alias se utilizan mejor para modificaciones cortas, simples y de uso frecuente de los parámetros predeterminados del comando. Se almacenan en la memoria (después de leerse de su archivo fuente), para un mejor rendimiento o uso repetitivo.

Las funciones son apropiadas para actividades más complejas que a menudo se usan y también se almacenan en la memoria.

Los scripts son apropiados para los comandos más complejos y menos utilizados.

Consulte esta pregunta y sus respuestas en Unix stackexchange: explica la diferencia en el mejor uso entre alias, funciones y scripts.

RobDavenport
fuente
1

Solo para aclarar algo a la respuesta de @RobDavenport. No puede usar una función para anular un comando que tiene el mismo nombre.

por ejemplo, para agregar un parámetro predeterminado al lscomando que puede hacer:

alias ls='ls -1 $@'

Esto agregará un nuevo alias llamado, lspor lo que se llamará en lugar del comando original. Agregará la -1opción y reenviará cada parámetro $@al lscomando original .

También podrías hacer

function ls_column () {
  ls -1 $@
}

Tendría el mismo efecto, pero debe usar un nombre diferente para su función. De lo contrario, se llamará a sí mismo una y otra vez.

Tim
fuente