GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister les fichiers avec des chemins complets sous Linux ?

Utilisez le find commande. Par défaut, il répertoriera de manière récursive tous les fichiers et dossiers descendant de votre répertoire actuel, avec le chemin complet (relatif).

Si vous voulez le chemin complet, utilisez :find "$(pwd)" .

  • Si vous souhaitez le restreindre aux fichiers ou dossiers uniquement, utilisez find -type f ou find -type d , respectivement.
  • Si vous voulez qu'il s'arrête à une certaine profondeur de répertoire, utilisez find -maxdepth 2 , par exemple.

Lisez Finding Files pour un manuel complet sur GNU find , qui est la valeur par défaut sous Linux.


$ pwd
/home/victoria

$ find $(pwd) -maxdepth 1 -type f -not -path '*/\.*' | sort
/home/victoria/new
/home/victoria/new1
/home/victoria/new2
/home/victoria/new3
/home/victoria/new3.md
/home/victoria/new.md
/home/victoria/package.json
/home/victoria/Untitled Document 1
/home/victoria/Untitled Document 2

$ find . -maxdepth 1 -type f -not -path '*/\.*' | sed 's/^\.\///g' | sort
new
new1
new2
new3
new3.md
new.md
package.json
Untitled Document 1
Untitled Document 2

Remarques :

  • . :dossier courant
  • supprimer -maxdepth 1 pour rechercher récursivement
  • -type f :recherche des fichiers, pas des répertoires (d )
  • -not -path '*/\.*' :ne renvoie pas .hidden_files
  • sed 's/^\.\///g' :supprimer le préfixe ./ de la liste des résultats

Pour être complet, le ls -lR / La commande listera le nom de chaque fichier, le type de fichier, les bits de mode de fichier, le nombre de liens physiques, le nom du propriétaire, le nom du groupe, la taille et l'horodatage de chaque fichier (auquel vous avez l'autorisation d'accéder) à partir du répertoire racine. (l est pour une longue liste c'est-à-dire toutes ces informations, R est de parcourir les répertoires, / commence à la racine du système de fichiers.)

Il existe un certain nombre de paramètres pour rapprocher les informations de sortie de dir /S /A , mais je dois admettre que je ne sais pas comment traduire le /B .

Pour des informations utiles, j'essaierais :ls -lAFGR --si /

  • l =longue liste (comme mentionné ci-dessus)
  • A =presque tous les fichiers (n'inclut pas . et .. dans chaque répertoire, mais affiche tous les fichiers cachés)
  • F =afficher l'indicateur de fichier, (l'un des * pour les fichiers exe, / pour les répertoires, @ pour les liens symboliques, | pour les FIFO, = pour les sockets, et > pour portes)
  • G =ne pas afficher les informations sur le groupe (supprimez ceci si vous voulez les voir)
  • R =liste récursive des répertoires (sous-répertoires) et
  • --si =affiche la taille du fichier en format lisible par l'homme, par exemple au format 1M (où 1M =1000B)

ls peut fournir un synopsis plus facile à lire des répertoires et des fichiers dans ces répertoires, comme find La sortie de peut être difficile à analyser lorsque les fichiers sont contenus dans des structures de répertoires très longues (couvrant plusieurs lignes). Le corollaire est que chaque fichier est répertorié seul (c'est-à-dire sans informations sur le chemin du répertoire) et vous devrez peut-être revenir en arrière quelques pages/écrans pour trouver les répertoires dans lesquels se trouve un fichier particulier.

En outre, find ne contient pas les informations /A dans la commande DIR. J'ai suggéré un certain nombre d'attributs dans la commande que j'ai montrée (qui montrent par coïncidence l'utilité supplémentaire que vous obtenez de Linux sur un certain système propriétaire), mais si vous lisez le man et info pages sur ls , vous pourrez voir ce qu'il faut inclure ou non.


Linux
  1. Comment trouver des fichiers avec des autorisations SUID et SGID sous Linux

  2. Comment rechercher des fichiers avec la commande fd sous Linux

  3. Comment puis-je générer une liste de fichiers avec leur chemin absolu sous Linux ?

  4. Comment supprimer un fichier portant ce nom sous Linux :-]???????q

  5. Comment lister tous les fichiers d'une partition sous Linux ?

Linux :Comment partager des fichiers sur un réseau local avec woof

Comment renommer un ou plusieurs fichiers sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver des fichiers modifiés au cours des dernières 24 heures sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment compresser un fichier sous Linux