“XXX / home / user / dir / child / file”과 같은 것을 기억하고 소유자 및 / 또는 권한을 반환했습니다.
/home
/home/user
/home/user/dir
/home/user/child
/home/user/child/file
그러나 나는이 명령이 무엇인지 기억하지 못합니다. 아무도 모른다?
답변
명령은 다음과 같습니다.
namei -m /home/user/dir/child/file
답변
나는 당신이 tree
명령을 생각하고 있다고 생각합니다 . 예를 들면 다음과 같습니다.
$ tree -pufid apps/glassfish3/ | less
apps/glassfish3
[drwxr-xr-x saml ] apps/glassfish3/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish
[drwxr-xr-x saml ] apps/glassfish3/glassfish/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish/config
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/doc-files
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/security
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/sql
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/decorator
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb/embeddable
...
...
위의 스위치는 다음을 수행합니다.
-p
-권한-u
-사용자 이름 / 사용자 ID-f
-전체 경로-i
-들여 쓰기 줄을 인쇄하지 마십시오-d
-인쇄 디렉토리 만
참고 문헌
답변
그것을 조금이라도 줘서 나는 이것을 생각해 냈다.
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done
출력은 다음과 같습니다
-rw------- 1 tant tant 181016423 Jun 25 23:49:17 2013 /home/tant/test_file
drwxr-xr-x 85 tant tant 5632 Jul 9 19:40:11 2013 /home/tant
lrwxr-xr-x 1 root wheel 8 Sep 4 23:53:27 2012 /home -> usr/home
나는 그것이 역순이라는 것이 좋기를 바랍니다.
주석을 기반으로 루트에서 아래로 나열하는 방법이 있습니다.
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done | sed '1!G;h;$!d'
답변
상위 디렉토리의 권한과 소유자를 알고 싶은 디렉토리에서 :
for i in $(seq 0 $(pwd | tr -cd / | wc -c)) ; do pwd ; ls -lad ; cd .. ; done
그 후에는 /
:)에있을 것입니다. 현재 위치로 돌아가려면 명령을 안에 넣으십시오.
HERE=$(pwd)
...
cd ${HERE}
답변
권한 및 소유자 / 그룹을 나열하려는 명령은 ls -l 입니다.
-l 옵션은 긴 목록 형식에 사용됩니다.
ls -l / path / to / list
또한 숨겨진 파일 을 나열 하려면 -a (all) 옵션 을 추가하십시오 .
ls -al / path / to / list
또한 서브 디렉토리에 권한을 나열 하려면 -R (재귀) 옵션을 사용하십시오.
ls -Rl / path / to / list
첫 번째 열에는 권한 (read (r), write (w), execute (x)) 및 일부 특수 권한 (디렉토리 (d),-(일반 파일))이 표시되고 3 번째 및 4 번째 열에는 파일 / 디렉토리가 표시됩니다 소유자와 그룹.