modifier les options de commande par défaut

15

Quand j'entre dans la commande

ls

Je vois une liste de fichiers et de répertoires dans le répertoire actuel, la liste affichée est assez ennuyeuse.

Au contraire, j'aime exécuter la commande ls avec l'option -1 comme

ls -1

Ma question est de savoir comment changer le comportement par défaut de la commande ls de sorte qu'elle s'exécute toujours avec l'option -1. c'est-à-dire comment afficher les fichiers et les répertoires dans une colonne avec la commande ls.

Merci.

hrishikeshp19
la source

Réponses:

14

Une façon serait de créer un alias dans votre ~/.bashrcfichier:

alias l1='ls -1'

puis en tapant l1, ls -1sera exécuté

zetah
la source
Comment trouvez-vous le fichier ~ / .bashrc? J'ai trouvé l'application "bash" dans Ordinateur \ bin, mais pas un fichier texte avec le nom que vous mentionnez.
AlainD
@AlainD le fichier .bashrc est présent dans votre répertoire personnel, pas dans / bin. Le ~ se développe dans votre répertoire personnel en bash, donc le chemin devrait lire quelque chose comme /home/user/.bashrc
Jishnu
J'utilise l'alias lsl = "ls -l" car je n'ai pas besoin de quitter la ligne d'accueil pour y entrer.
dvnkiss
4

Dans votre répertoire personnel, ouvrez le fichier .bashrc dans l'éditeur et ajoutez l' alias ls = 'ls -1' .

Ouvrez d'abord le terminal (appuyez sur ControlAltT), entrez gedit ./.bashrcpour ouvrir votre fichier .bashrc dans l'éditeur.

Recherchez la section contenant des alias pour ls. Dans le mien (stock 11.10) il ressemble à:

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

Ajoutez la ligne suivante après les alias ls:

alias ls='ls -1'

Enregistrez le fichier, quittez gedit et le terminal et redémarrez. Maintenant, la commande ls devrait exécuter ls -1 par défaut.

James
la source
1
Cela redéfinit "ls" pour maintenant fonctionner comme "ls -1" par défaut pour cet utilisateur. Si vous préférez utiliser une nouvelle commande, la réponse @zetah couvre cela.
James
Dans mon répertoire personnel sur uBuntu 14.04 LTS, je ne vois qu'un tas de dossiers et aucun fichier .bashrc.
AlainD
1

La réponse de Zetah est la meilleure. Élaborer:

Les alias sont mieux utilisés pour les modifications courtes, simples et souvent utilisées des paramètres par défaut des commandes. Ils sont stockés en mémoire (après avoir été lus à partir de leur fichier source), pour de meilleures performances ou une utilisation répétitive.

Les fonctions conviennent aux activités plus complexes qui sont souvent utilisées et sont également stockées en mémoire.

Les scripts conviennent aux commandes les plus complexes et les moins utilisées.

Voir cette question et réponses sur unix stackexchange - explique la différence de meilleure utilisation entre les alias, les fonctions et les scripts.

RobDavenport
la source
1

Juste pour clarifier quelque chose à la réponse @RobDavenport. Vous ne pouvez pas utiliser une fonction pour remplacer une commande portant le même nom.

Par exemple, pour ajouter un paramètre par défaut à la lscommande, vous pouvez faire:

alias ls='ls -1 $@'

Cela ajoutera un nouvel alias appelé ls afin qu'il soit appelé à la place de la commande d'origine. Il ajoutera l' -1option et transmettra chaque paramètre $@à la lscommande d' origine .

Vous pourriez aussi faire

function ls_column () {
  ls -1 $@
}

Cela aurait le même effet mais vous devez utiliser un nom différent pour votre fonction. Sinon, il s'appellera encore et encore.

Tim
la source