Imaginez que vous travailliez sur un système et que quelqu'un a accidentellement supprimé la
ls
commande (/bin/ls
). Comment pouvez-vous obtenir une liste des fichiers dans le répertoire actuel? Essayez-le.
J'ai essayé de nombreuses méthodes et j'ai aussi cherché sur Internet mais rien. Je veux demander à côté de la ls
commande quelle commande pouvons-nous utiliser pour répertorier tous les fichiers.
shell
command-line
ls
Eduard Florinescu
la source
la source
echo *
est utile dans la pratique, lorsque vous avez foiré votre système afin de ne pouvoir exécuter aucun programme (par exemple, vous avez supprimélibc.so
ould.so
), mais vous avez toujours un shell en cours d'exécution.echo **/*
faire récursivement.Moins TAB TAB
trouve le commutateur -ls est indépendant de / bin / ls et a son propre format, et affiche des informations détaillées:
un autre, les détails montrant la possibilité, est
stat
la source
Pour le faire ressembler
ls
, j'utiliserais lafor
boucle de Bash :Si cela ne fonctionne pas, j'essaierais Python
;)
:la source
import glob; print '\n'.join(glob.glob('/home/*'))
fonctionnerait tout aussi bien.Bon vieux vim;) (avec tri, navigation, etc.)
la source
Bien que vous souhaitiez probablement entrer les paramètres de limitation dont vous avez besoin.
la source
lsattr ./*
getfacl ./*
affichera également les autorisationsgrep -l '.*' ./*
awk 'FNR==1 {print FILENAME}' ./*
fonctionne avec GNU awkdebugfs /dev/sdX
remplacez sdX par la partition sur laquelle vous voulez faire un ls, alors vous pouvez ls dans debugfslynx ./
mc
en supposant que vous avez installé le commandant de minuitla source
Similaire à la
echo
version, mais cela imprime une entrée par ligne pour une meilleure lisibilité:ou
Récursivement (pour bash 4+; d'autres shells ont besoin d'une option différente pour le définir ou ont globstar activé par défaut):
la source
**
récursera dans tous les répertoires s'ilglobstar
est défini. Changez simplement enprintf '%s' **
.Et la
dir
commande? :)/bin/dir
la source
Eh bien, si je ne pouvais pas utiliser ls en mode shell d'emacs, je pourrais passer en mode eshell ou simplement dired.
la source
Si j'ai démarré le shell bash (ou tout autre shell terminé), je devrais probablement simplement taper '*' puis tab.
Ou comme j'ai l'habitude de commencer X, je peux aussi juste faire du «nautile», mais OK c'est pour les humains.
Je peux aussi essayer / usr / bin / lsattr
Mais dans le monde réel, ce que je ferais vraiment si une telle chose m'arrivait était certainement:
la source
En bash, ou un shell avec une tabulation similaire, vous n'avez pas du tout besoin d'utiliser une vraie commande:
wibble
suivi de deux onglets vous obtiendrez une liste de fichiers dans le répertoire en cours, etwibble /bin/
suivi de deux onglets vous montrera ce qui est à gauche de / bin. Une fois, je me suis retrouvé dans cette situation (en fait, j'avais tué / bin entièrement avec d'autres choses), etecho *
j'ai commencé à utiliser l' approche suggérée par @STATUS_ACCESS_DENIED, mais j'ai finalement trouvé la complétion des onglets plus pratique.la source
Une autre façon avec
tree
, mentionné nulle part ici, il va récursive et trouver la différence ou ls vous n'avez pas des erreurs (comme:Permission denied
,Not a directory
) vous obtenez également le chemin absolu dans le cas où vous voulez nourrir les fichiersxargs
ou une autre commandeles options signifiant:
la source