Je sais que l'utilisation de ls -l "directory/directory/filename"
m'indique les autorisations d'un fichier. Comment puis-je faire la même chose sur un répertoire? Je pourrais évidemment utiliser ls -l
sur le répertoire situé plus haut dans la hiérarchie, puis faire défiler l'écran jusqu'à ce que je le trouve, mais c'est tellement pénible. Si j'utilise ls -l
sur le répertoire réel, il donne les permissions/informations des fichiers qu'il contient, et non du répertoire réel. J'ai essayé cela dans le terminal de Mac OS X 10.5 et Linux (Ubuntu Gutsy Gibbon), et c'est le même résultat. Y a-t-il une sorte de drapeau que je devrais utiliser?
Voici la réponse courte:
$ ls -ld directory
Voici ce qu'il fait:
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
Vous pourriez être intéressé par pages de manuel . C’est d’où toutes les personnes ici obtiennent leurs bonnes réponses.
reportez-vous à pages de manuel en ligne
Vous pouvez également utiliser la commande stat
si vous souhaitez des informations détaillées sur un fichier/répertoire. (Je précise ceci lorsque vous dites que vous apprenez ^^)
$ ls -ld répertoire
(ls) indique la liste des fichiers et le répertoire .(-) indique qu'il s'agit d'un fichier normal .(l) indique une longue liste . (d) indique que le fichier est un répertoire, qui est essentiellement un type de fichier spécial.
Dans GNU/Linux, essayez d'utiliser ls
, namei
, getfacl
, stat
.
[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov 8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx
[flying@lempstacker ~]$
ou
[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$
[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov 8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading '/' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--
[flying@lempstacker ~]$
ou
[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$
Sur OS X, vous pouvez utiliser:
ls -lead
L'option e affiche les ACL. Et les listes de contrôle d'accès sont très importantes pour savoir quelles sont les autorisations exactes sur votre système.
En plus des messages ci-dessus, je voudrais souligner que "man ls" vous donnera un manuel de Nice sur la commande "ls" (List).
De plus, l’utilisation de ls -la myFile listera et montrera tous les faits concernant ce fichier.
ls -lstr
Ceci montre la vue ls normale avec les permissions et utilisateur: groupe aussi
Cela affiche les fichiers avec leurs permisions
stat -c '%a - %n' directory/*