J'étais récemment dans une situation difficile où j'étais dans un dossier, et je voulais cd
un dossier de sous-répertoire. Il n'y avait qu'un seul dossier, à l'intérieur de ce dossier et c'était un nom vraiment long.
Home (I am here)
|
|
--> /reallylongnamefolder
Existe-t-il un moyen d'entrer dans ce dossier au lieu de taper:
cd reallylongnamefolder
command-line
Arian Faurtosh
la source
la source
cd */
ou encd rea*/
cas de doute, il n'y a qu'un seul sous-répertoire à tout moment (si vous utilisez bash, vous pouvez égalementcd rea[TAB]
.. dans d'autres shells mais la façon de développer le nom peut varier). Si "/ reallylongnamefolder" est un chemin absolu, même chose, mais avec '/' devant, par exemple:cd /rea*/
Réponses:
Je conseillerais soit de taper les premières lettres et d'appuyer sur tab. Bash a une fonctionnalité de saisie semi-automatique qui est vraiment utile. S'il ne s'agit que d'un répertoire dans le chemin en cours, une simple pression sur tabremplira tout le répertoire.
Taper
cd
et appuyer tabdeux fois affichera toutes les options du répertoire actuel.tab est généralement très utile en bash car vous avez accessible presque tous les exécutables en une ou deux touches.
cd *
comme suggéré ci-dessus ne fonctionne que si le répertoire est en premier dans la liste et non masqué. S'il y a un fichier par ordre alphabétique avant votre répertoire, celacd
ne changera pas du tout votre répertoire.la source
cd <tab>
sera assez intelligent.Je pense que je l'ai compris
Mais je ne l'ai pas testé s'il y a plusieurs fichiers et un dossier!
Comme @Rinzwind l'a mentionné dans les commentaires!
Disons que vous avez trois longs dossiers:
Si vous tapez la première lettre du fichier, appuyez tabdessus pour compléter automatiquement le nom du fichier! CRAZY STUFF!
Ainsi, dans l'exemple ci-dessus, vous pouvez taper: t tabet il se remplira automatiquement autant qu'il le peut:
cd thisislongfolder
(puis tapez le numéro vous-même).Ou vous pouvez faire
cd t*1
vous emmènerait dansthisislongfolder1
Merci Rinzwind!
la source
cd r*r
et j'espère que c'est le seul dossier commençant et se terminant par R.cd */
pourrait faire l'affairecd *
échoue probablement plus souvent qu'elle ne réussit.ls -d */
répertorie les répertoires,head -n 1
donne le premier de cette liste.la source
cd
dans le premier répertoire, vous ne pouvez pas faire d'onglets.J'ai une belle configuration pour cela, cela me permet non seulement de cd vers ~ / somereallylongfoldername mais aussi de cd là-bas même lorsque je suis dans le dossier /
la première chose que j'utilise est zsh avec oh-my-zsh cela vous permettra également de cd sans avoir à vous soucier de la casse ou même sans taper cd
ouvrez et modifiez votre .zshrc qui se trouve dans votre dossier personnel et non caché
nano ~ / .zshrc
puis ajoutez la ligne suivante au bas du fichier
export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/
Si vous aimez mon thème, vous pouvez également changer la ligne
#ZSH_THEME="robbyrussell"
enZSH_THEME="pygmalion"
Enregistrez et fermez le fichier puis redémarrez ie. fermer et rouvrir le shell ou simplement ouvrir un nouvel onglet et l'essayer
non, vous pouvez utiliser la touche de tabulation pour compléter les noms et dans ZSH, vous n'avez même pas besoin d'avoir le bon cas, vous pouvez taper docu et appuyer sur tab et cela le transformera en ~ / Documents
la source
Vous pouvez changer de répertoire par numéro d'inode.
on trouve d'abord l'inode avec
ls -il
.puis
la source
Si vous devez le faire dans un script ou prendre en charge des répertoires avec des noms indécodables:
Cela fonctionne s'il y a des fichiers dans le répertoire, quel que soit leur ordre de tri par rapport aux répertoires.
Cela fonctionne pour les répertoires cachés en cas d'
cd */
échec.Cela fonctionne si le nom n'est pas représentable dans les paramètres régionaux actuels lors de l'
ls
impression uniquement??
au lieu d'un nom.la source
Prolongeant la réponse d'Ace:
pour ouvrir le 1er dossier d'un répertoire. '1p' peut être changé en '2p' pour le deuxième répertoire.
pour répertorier uniquement les répertoires d'un répertoire parent.
la source