Un alias pour la commande ls
dans le fichier ~/.bashrc
avec le même alias:
alias ls='ls --color=auto'
ensuite, lorsque je lance la commande ls
dans le terminal alias ls
name __ (ls --color=auto
) s'exécute. mais ma question est: comment puis-je exécuter l'original ls
uniquement et uniquement ls
seul sans argument supplémentaire et sans résoudre le problème de suppression de l'entrée avec alias? depuis que je supprime cette entrée, je peux l'exécuter en simple ls
name__.
Vous pouvez contourner les alias par les méthodes suivantes:
le chemin complet de la commande: /bin/ls
substitution de commande: $(which ls)
la commande intégrée: command ls
guillemets doubles: "ls"
guillemets simples: 'ls'
une barre oblique inverse: \ls
Vous pouvez désactiver un alias à l'aide de \
devant la commande.
Donc, pour exécuter la commande ls
d'origine, vous devez l'exécuter à l'aide de \ls
Par exemple
Créez d'abord l'alias de la commande ls
name__.
[guru@guru-Aspire-5738 /]$ alias ls='ls -l'
[guru@guru-Aspire-5738 /]$ ls
total 96
drwxr-xr-x 2 root root 4096 Sep 3 18:31 bin
drwxr-xr-x 5 root root 4096 Sep 17 02:51 boot
drwxr-xr-x 2 root root 4096 Sep 3 22:17 cdrom
drwxr-xr-x 17 root root 4520 Sep 17 21:11 dev
drwxr-xr-x 153 root root 12288 Sep 17 21:11 etc
drwxr-xr-x 3 root root 4096 Sep 3 22:17 home
lrwxrwxrwx 1 root root 37 Sep 8 21:31 initrd.img -> /boot/initrd.img-3.2.0-68-generic-pae
lrwxrwxrwx 1 root root 36 Sep 3 22:18 initrd.img.old -> boot/initrd.img-3.2.0-
(et beaucoup plus...)
Sortie de ls
d'origine à l'aide de \
qui remplace l'alias.
[guru@guru-Aspire-5738 /]$ \ls
bin etc lib opt sbin tmp vmlinuz.old
boot home lost+found proc selinux usr
cdrom initrd.img media root srv var
dev initrd.img.old mnt run sys vmlinuz
[guru@guru-Aspire-5738 /]$
Vous pouvez également désactiver temporairement le développement d'alias pour tous les alias, sans les supprimer:
$ shopt -u expand_aliases
$ command -v ls
/bin/ls
Pour les activer:
shopt -s expand_aliases
$ command -v ls
alias ls='ls --color=auto'
Notez que le développement d'alias est désactivé par défaut dans les scripts, mais défini par défaut dans les shells interactifs.
Vous pouvez ajouter command
avant la commande avec alias, par exemple.
command ls
Ou exécutez l'exécutable d'origine en combinant which
which ls
Il retournera "/ bin/ls", donc avec
`qui ls`
vous pouvez l'exécuter directement.
Vous pouvez également exécuter la commande à partir de son emplacement d'origine, /bin/ls
au lieu de ls
.