Est-il possible d'ouvrir un fichier à partir du terminal non pas par son nom mais par sa position (numéro) dans le dossier? Ou toute autre option?
Parce que le nom est trop long.
command-line
files
directory
ouais ouais
la source
la source
Tab
touche?Réponses:
Vous n'avez probablement pas encore découvert Tab-achèvement (voir ici ).
En tapant un nom de fichier dans Terminal, tapez simplement les premières lettres et frappez Tabet voyez la magie!
la source
*
, si vous ne voulez pas utiliser la complétion de tabulation pour une raison quelconque. Ou même*abc*
si le nom de fichier contientabc
quelque part (essayez d'utiliser un sous-modèle unique au nom de fichier que vous souhaitez). Ou copiez / collez simplement le nom de fichier à l'aide de la souris.Juste pour le plaisir, répondant littéralement à la question:
Comment ça marche dans la pratique
Le contenu du répertoire actuel est répertorié, numéroté. Choisissez le numéro et l'article est ouvert:
Installer
...est facile:
Déconnectez-vous et reconnectez-vous et commencez à utiliser la commande en tapant simplement
dans le terminal
NB
Si vous souhaitez également afficher les fichiers masqués, modifiez
dans:
la source
~/bin
n'est pas déjà dans votre PATH, vous devrez l'ajouter (par exemple, en mettant une ligne commeexport PATH="$PATH:~/bin"
dans.bashrc
ou.profile
.)source ~/.profile
.~/bin
n'est intégré à rien du tout. Ubuntu et Debian sont livrés avec une coutume~/.profile
qui a des lignesif [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" ; fi
. Sur Mac OS X et CentOS, vous devez le configurer vous-même. Une bonne chance est que si Ubuntu est fourni à une personne par le service informatique, il y a de fortes chances que ce~/.profile
ne soit pas le même que Ubuntu par défaut, c'est donc une bonne pratique de toujours se méfier de ce qui~/bin
n'est pas standard. Bash peut également ignorer~/.profile
si vous lancez le shell avec--no-profile
optionIl existe une fonctionnalité peu connue dans Bash qui vous permet de le faire sans faire appel à python ou tout autre outil tiers, et avec une seule ligne:
la source
open
ne fonctionne généralement pas, cependant (sauf si vous êtes sous Mac OS);xdg-open
fera probablement l'affaire sur la plupart des systèmes GNU / Linux.En pur bash, en utilisant l'
select
instruction:La configuration de la PS3 est tout simplement épatante. Si vous l'omettez, vous obtiendrez simplement l'invite par défaut. Si vous omettez l'instruction break, l'instruction select sera mise en boucle jusqu'à ce que vous appuyiez sur CTRL-D ou CTRL-C.
Bien sûr, vous pouvez également l'exécuter en une seule ligne:
la source
Vous pouvez installer et utiliser
mc
Midnight Commander. Il s'agit d'une interface utilisateur textuelle avec des menus, etc. inspirée de l'ancien Norton Commander, qui était populaire lorsque les gens utilisaient MSDOS (avant Windows).et le démarrer dans une fenêtre de terminal ou dans un écran de texte,
la source
$ ls
Comment combat
ls | sed -n 3p
Imprime le troisième nom de fichier
Templates
Ouvrez-le
xdg-open "$(ls | sed -n 3p)"
Fonctionne généralement.
Mettez-le dans un script
Nom du script: ouvert
Enregistrez-le dans le dossier d'accueil. Courir:
la source
ls
ls
(et que faire à la place)?Sur les systèmes de fichiers Linux, les noms de fichiers ont une propriété très intéressante appelée inode : un répertoire (ou dossier) est une liste d'inodes et quels noms de fichiers pointent vers ces inodes. Donc, si vous connaissez le numéro d'inode, vous pouvez essayer de localiser le fichier à l'aide de l'
find
utilitaire et effectuer certaines opérations dessus. Cela est particulièrement utile lorsque vous traitez des noms de fichiers dans des paramètres régionaux différents, des caractères spéciaux ou lorsque vous avez créé accidentellement un répertoire appelé~
.Par exemple,
Cela permet de parcourir le répertoire de travail actuel (représenté par
.
) et de rechercher l'entrée de répertoire qui est un fichier avec le numéro d'inode 1103743. Si le fichier est trouvé,xdg-open
ouvrira le fichier avec l'application par défaut etfind
quittera ensuite. La raison de la supplémentaire-and
et-quit
est d'empêcher laxdg-open
réouverture du fichier s'il existe des liens durs vers le fichier ( ce qui équivaut à ouvrir le même fichier deux fois).la source
Créez des fichiers:
Mettez les fichiers dans une variable et ouvrez le fichier par un index.
Remplacez
12
par l'index que vous essayez d'ouvrir.la source
C'est probablement la réponse la plus simple qui répond directement à la question. essayez ce qui suit:
Disons que nous voulons ouvrir (ou éditer) le deuxième fichier, nous pouvons faire ce qui suit:
cela affichera le nom du deuxième fichier, que nous pouvons utiliser comme entrée pour la commande que nous voulons effectuer, par exemple:
affichera le contenu du deuxième fichier.
[MISE À JOUR] cela suppose que vous n'avez pas d'espaces blancs dans les noms de fichiers,
merci @wjandrea pour votre observation.
la source
ls
. Les backticks sont également déconseillés. Utilisez$()
plutôt.