ls -l 디렉토리 목록 나열

ls -l 디렉토리 목록 나열

왜 다른 출력이 있는지 알 수 있습니다. 그 중 일부는 오해의 소지가 있습니다.

-bash-4.2$ mkdir -p new_dir/sub_dir/under_dir
-bash-4.2$ touch new_dir/sub_dir/under_dir/file.txt
-bash-4.2$
-bash-4.2$ ls -rlt
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rlt *
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 .
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd *
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rtlR
.:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir

./new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir

./new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir

./new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltR *
new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir

new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir

new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$

답변1

나는 당신이 기대한 결과가 무엇인지, 무엇이 당신을 오해하게 만드는지 모릅니다. 매번 다른 입력을 제공했기 때문에 다른 출력을 얻었습니다.

관련 사실:

  • ls피연산자가 없으면 유일한 피연산자가 인 것처럼 작동합니다 .. 참고 -rltd등은 피연산자가 아닌 옵션입니다.
  • 일반적으로 피연산자가 디렉토리이면 ls디렉토리의 항목을 인쇄합니다. 대부분의 경우(피연산자가 일반 파일, 특수 파일, fifo 등인 경우) ls피연산자에 대한 정보만 인쇄하기 때문에 이는 특별 처리입니다.
  • -d디렉토리에 대한 이 특별한 동작을 비활성화합니다.
  • -R발견된 하위 디렉터리를 재귀적으로 나열 합니다 ls.
  • *ls귀하의 예에서는 시작되기 전에 셸에 의해 확장되었습니다 . *로 시작하지 않는 이름을 가진 현재 작업 디렉토리의 모든 항목으로 확장됩니다 .. 분명히 귀하의 경우에는 현재 디렉토리에 일치하는 항목이 하나만 있었습니다: new_dir.

다음은 귀하가 입력한 명령입니다. 가독성을 위해 수집했습니다.

ls -rlt
ls -rlt *
ls -rltd
ls -rltd *
ls -rltR
ls -rltR *

이것은 쉘을 확장한 후 실제로 실행하는 것입니다. 각기:

ls -rlt
ls -rlt new_dir
ls -rltd
ls -rltd new_dir
ls -rltR
ls -rltR new_dir

이는 명시적 피연산자가 있는 동일한 명령입니다. 각기:

ls -rlt .
ls -rlt new_dir
ls -rltd .
ls -rltd new_dir
ls -rltR .
ls -rltR new_dir

그리고 다음은 설명 쿼리입니다(일반적인 옵션은 -rlt문제가 되지 않는다는 것을 알고 있으므로 설명하지 않았습니다).

  • ls -rlt .– 안에는 무엇이 있나요 .?
  • ls -rlt new_dir– 안에는 무엇이 있나요 new_dir?
  • ls -rltd .- 무엇인가요 .?
  • ls -rltd new_dir- 무엇인가요 new_dir?
  • ls -rltR .– 내부 .및 모든 하위 디렉터리에는 무엇이 있습니까?
  • ls -rltR new_dir– 내부 new_dir및 모든 하위 디렉터리에는 무엇이 있습니까?

이러한 질문에 대한 답변을 얻었습니다. 질문이 다르면 답변도 다릅니다.

관련 정보