Escribí accidentalmente l
en lugar de ls
hoy y descubrí que el comando todavía imprimía una lista de los archivos en mi directorio actual. Intentando l --help
muestra el archivo de ayuda para ls
, lo que sugiere que l
es solo un alias de ls
.
Sin embargo, cada archivo fue sufijado por un *
. ¿Por qué es esto y qué significa?
En caso de que haga una diferencia, esto es cuando se ejecuta la última versión estable de Ubuntu.
RESPUESTA CORTA: entiende exactamente lo que hace este alias, puedes consultar el ~/.bashrc
archivo y busque el término "alias l=
". No es más que ls -CF
RESPUESTA LARGA Una buena manera de inspeccionar qué es un comando:
type l
Si es un programa o una secuencia de comandos, le dará su ubicación, si es un alias, le dirá a qué tiene alias, si es una función, imprimirá la función; de lo contrario, le dirá si es una palabra clave o incorporada.
Ejemplos:
$ type l
l is aliased to `ls -CF'
$ type find
find is /usr/bin/find
$ type connecthome
connecthome is hashed (/usr/local/bin/connecthome)
$ type grep
grep is aliased to `grep --color=auto --binary-files=without-match --devices=skip'
$ type hello_se
hello_se is a function
hello_se ()
{
echo 'Hello, Stack Exchangers!'
}
$ type type
type is a Shell builtin
$ type for
for is a Shell keyword
$ type nosuchthing
-bash: type: nosuchthing: not found
$ l --help
l: command not found
Parece que tienes un alias configurado en tu entorno. Quizás has heredado un .profile
, .bashrc
o similar que contiene algo como alias l='ls -F'
.
-F, --classify
append indicator (one of */=>@|) to entries
Tratar which l
y alias
para rastrear su definición.
FIJO: l
es un alias
para ls -CF
(No estoy realmente seguro) en el valor predeterminado .bashrc
en ubuntu
Puede escribir alias
para ver todos los alias. Sería mencionado allí.
Por defecto, es un alias para ls -CF
en ubuntu.
Redefiní todos mis accesos directos ls
en mi .zshrc
.
Esta es la sección relevante:
# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
if [ -n ~/.dir_colors ]; then
eval "`dircolors -b ~/.dir_colors`"
else
eval "`dircolors -b /etc/DIR_COLORS`"
fi
alias ls='ls --color=auto'
#alias dir='ls --color=auto --format=vertical'
#alias vdir='ls --color=auto --format=long'
fi
# some more ls aliases
alias l='ls -CF'
alias ll='ls -ClhF'
alias la='ls -CaF'
alias lla='ls -CalhF'
alias l.='ls -CAF --ignore=\*'
alias ll.='ls -CAlhF --ignore=\*'
alias t='tree -C'
Tenga en cuenta que ls
se redefine a sí mismo:
% type ls
ls is an alias for ls --color=auto