Pages : 1
#1 Le 02/03/2012, à 22:00
- pseudomystere
faire un ls après un cd
bonjour à tous, je souhaiterai modifier la commande cd afin qu'elle fasse aussi un ls.
problème : je n'arrive pas à savoir où est la cmd cd (which cd)...
Si quelqu'un a une idée ou une astuce !
merci
Hors ligne
#2 Le 02/03/2012, à 22:07
- Watael
Re : faire un ls après un cd
salut,
la commande cd est une commande interne du shell.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 02/03/2012, à 22:07
- pires57
Re : faire un ls après un cd
salut, il suffit d'utiliser l'agrégat &&
je te donne un exemple :
cd /var/www/ && ls
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#4 Le 02/03/2012, à 22:15
- pseudomystere
Re : faire un ls après un cd
Wooow qu'elle réactivité !
Watael : c'est à dire ? on ne peut pas la modifier ?
pires : merci je faisais aussi cd /;ls mais le truc c'est que je voulais que ça fasse l'affichage automatiquement en fait (ça peut parraître pas beaucoup mais j'en ai très souvent besoin).
je pourrai me faire un script du genre :
cd
ls
mais le problème est que je n'arrive pas à donner des paramètres à cd (du genre cd /home)
ou peut être :
#!/bin/bash
read dossier
cd $dossier;
ls
ne fonctionne pas non plus
Merrci à vous 2
Dernière modification par pseudomystere (Le 02/03/2012, à 22:23)
Hors ligne
#5 Le 02/03/2012, à 22:23
- pires57
Re : faire un ls après un cd
tu pourrais peut être faire un script bash mais personnellement pour des "cd" j'en vois pas vraiment l’intérêt
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#6 Le 02/03/2012, à 22:26
- pseudomystere
Re : faire un ls après un cd
souvent je ne connais pas le contenu de mon dossier du coup je fais presque systématiquement un ls, c'est pour ça ^^
Hors ligne
#7 Le 02/03/2012, à 22:35
- Haleth
Re : faire un ls après un cd
ls /
Par exemple
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#8 Le 02/03/2012, à 22:39
- pseudomystere
Re : faire un ls après un cd
ah oui pas mal, je m'en sers jamais de celle là ! Merci
Mais vous trouvez pas ça intéressant d'avoir un affichage de ce qu'on a directement après qu'on est fait un cd ? (d'ailleurs c'est un peu comme quand on fait avec un explorateur de fichier comme nautilus par exemple!)
Hors ligne
#9 Le 02/03/2012, à 22:42
- pires57
Re : faire un ls après un cd
alors la je peut t'aider
lorsque tu tape ta commande
cd /var/
si tu appuie deux fois sur la touche tabulation, il va te lister les dossiers qui se trouve dans /var/
Les fichiers par contre ne sont pas listé
Edit :
si tu cherche un fichier mais ne connais pas son chemin voila la commande:
find / -name "nom_fichier"
Dernière modification par pires57 (Le 02/03/2012, à 22:48)
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#10 Le 02/03/2012, à 22:43
- Haleth
Re : faire un ls après un cd
Modifie ~/.bashrc, rajoute :
alias cd="ls $1; cd $1"
Puis relance bash, ou fait :
source ~/.bashrc
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#11 Le 02/03/2012, à 22:46
- pseudomystere
Re : faire un ls après un cd
d'accord merci pour cette astuce pires57 ! Cette solution me va très bien !
merci à tous ! je passe en résolu!
EDIT : encore mieux cette solution, je vais essayer de comprendre la commande
EDIT 2 : je pense avoir compris : on fais un alias de cd qui désormais affiche le premier paramètre (d'où le $1 qui représente le chemin que je tape) puis fais un cd toujours avec le même paramètre. C'est bien ça ?
Dernière question et après j'arrête : pourquoi on a modifié bashrc et pas mis dans un script spécial qu'on ajoute ensuite dans le PATH (en premier pour qu'il soit bien pris en compte)? merci !
Dernière modification par pseudomystere (Le 02/03/2012, à 22:56)
Hors ligne
#12 Le 02/03/2012, à 23:35
- pingouinux
Re : faire un ls après un cd
Bonsoir,
alias cd="ls $1; cd $1"
Je ne pense pas que ça marche. Plutôt faire un script :
#!/bin/bash
cd "$1"
ls
Ajouté :
Ou une fonction dans .bashrc :
moncd() { cd "$1"; ls; }
Dernière modification par pingouinux (Le 02/03/2012, à 23:41)
Hors ligne
#13 Le 02/03/2012, à 23:49
- pingouinux
Re : faire un ls après un cd
@Haleth #13 : Ça ne marche pas chez moi
GNU bash, version 4.2.8(1)-release (x86_64-pc-linux-gnu)
Hors ligne
#14 Le 03/03/2012, à 00:01
- pingouinux
Re : faire un ls après un cd
alias toto="ls $1; cd $1"
En fait, le $1 dans ta commande n'est pas pris en compte. Quand tu lances la commande
toto /
c'est comme si tu faisais
ls; cd /
Tu listes le répertoire de départ.
Hors ligne
#15 Le 03/03/2012, à 00:36
- Haleth
Re : faire un ls après un cd
Hawé en effet ..
Ta version marche beaucoup mieux (la fonction) !
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#16 Le 04/03/2012, à 18:57
- pseudomystere
Re : faire un ls après un cd
Merci !
Mais pourquoi (en gros) ça ne marchait pas, puisqu'on disait bien de faire un ls sur le premier paramètre non ?
Hors ligne
#17 Le 04/03/2012, à 19:57
- aduxas
Re : faire un ls après un cd
Mais pourquoi (en gros) ça ne marchait pas, puisqu'on disait bien de faire un ls sur le premier paramètre non ?
Fais "man bash" et va vers la section "ALIAS"
There is no mechanism for using arguments in the replacement text. If arguments are needed, a shell function should be used (see FUNCTIONS below).
La shell fait une simple substitution de l'alias par la chaîne de remplacement. Rien de plus. Pourque ça marche, la shell devrait insérer les arguments en plein milieu de cette chaîne. C'est un peu trop demander...
Hors ligne