Linux에서 목록만 디렉터리를 재귀적으로 사용합니까?

Is List Only Directories Recursively Linux



재귀라는 단어는 Linux 또는 Unix 운영 체제 명령이 폴더의 내용을 다루고 폴더에 하위 폴더와 문서가 있는 경우 해당 명령이 모든 문서에 대해 여전히 기능한다는 사실을 나타냅니다(재귀적으로). 하위 디렉토리에 자체 파일 및 폴더 세트(예: 큰 폴더)가 있을 수 있습니다. 다른 Linux 지침을 사용하여 지정된 폴더의 가장자리에 도달하기 전에 각 폴더를 재귀적으로 탐색합니다. 해당 수준에서 Linux 명령은 트리 끄기로 돌아가서 존재하는 모든 하위 폴더에 대해 프로세스를 반복합니다. 이 자습서에서는 재귀적으로 디렉터리를 나열하는 모든 방법을 배웁니다.

단순 목록 디렉토리의 예

먼저 간단한 list 명령을 사용하여 Linux 시스템의 모든 디렉토리를 나열하는 방법을 알아야 합니다. 명령줄 터미널을 열고 아래 ls' 명령을 시도하여 디렉터리만 나열합니다. 디렉토리뿐만 아니라 그 안에 있는 하위 폴더 및 파일의 총 수를 나열합니다. 출력에는 소유자, 그룹, 읽기-쓰기 권한 및 폴더 생성 날짜에 대한 정보가 포함된 폴더가 표시됩니다.







$ ls -l



Linux 시스템 내의 모든 디렉토리와 파일을 나열하려면 list 명령에서 간단한 -l 대신 -la를 사용해야 합니다. 따라서 업데이트된 명령을 실행하여 그렇게 하십시오. 출력에는 추가 정보와 함께 모든 파일 및 폴더가 표시됩니다.



$ ls -la





추가 정보 없이 디렉토리를 간단히 나열하려면 아래 명령과 플래그 -d를 차례로 시도하십시오.

$ ls –d * /



약간의 수정으로 동일한 명령을 사용하여 추가 정보와 함께 폴더를 나열할 수도 있습니다. 다음과 같이 이 명령 내에 -l 플래그를 추가하기만 하면 됩니다.

$ ls –l –d * /

특정 홈 디렉토리에 있는 총 파일 수만 확인하려면 쉘에서 아래에 제시된 명령을 시도하십시오. Linux 운영 체제의 총 파일 수를 확인할 수 있습니다.

$ ls -l | egrep -v '^ d'

재귀적으로 디렉토리를 나열하는 예

재귀적으로 디렉토리를 나열하는 데 사용할 수 있는 Linux 시스템에서 사용할 수 있는 다양한 유형의 재귀 명령이 있습니다. 각각을 개별적으로 이해하려면 Linux 디렉토리에 Documents라는 5개의 파일이 있다고 가정합니다.

-lR 플래그를 사용하여 재귀적으로 나열

쿼리에서 -lR 플래그를 사용하여 Linux 시스템의 모든 디렉토리를 재귀적으로 나열하는 것이 첫 번째 방법입니다. 아래 list 명령을 실행하면 출력에 표시된 것처럼 모든 폴더와 해당 하위 폴더가 보너스 세부 정보와 함께 나열됩니다.

$ ls -lR

Linux 시스템의 특정 폴더나 디렉토리에 있는 모든 파일이나 폴더를 재귀적으로 나열해 보겠습니다. 이를 위해 특정 디렉토리의 위치 경로를 추가하여 재귀적으로 나열합니다. 아래 업데이트된 명령을 사용하여 홈 디렉토리에 있는 Documents 디렉토리의 모든 파일과 폴더를 재귀적으로 나열하려고 합니다. 출력은 추가 정보와 함께 Documents 폴더 내의 모든 파일과 폴더를 표시합니다.

$ ls –lR / 홈 / aqsayasin / 문서 /

찾기 명령을 사용하여 재귀적으로 나열

모든 Linux 시스템(예: macOS, Unix 계열 OS)에서 -R을 사용하여 디렉토리를 나열할 수 있는 것은 아님을 분명히 하십시오. 이 경우 찾기 및 인쇄 명령인 필요를 충족하기 위해 사용할 수 있는 다른 명령이 있습니다. 이 명령에서는 -ls 명령을 사용하여 폴더에 대한 경로를 제공합니다. -ls가 명령에서 사용되면 특정 디렉토리의 상주 파일 및 폴더에 관한 추가 정보도 표시됩니다. 셸에서 아래 명시된 명령을 시도하여 Documents 디렉터리의 모든 파일과 폴더를 재귀적으로 나열합니다.

$ find /home/aqsayasin/Documents/ -print -ls

이제 약간의 변경으로 쉘에서 동일한 명령을 시도해야 합니다. 파일에 대한 추가 정보 표시를 중지하기 위해 이 명령에서 -ls 플래그를 사용하지 않습니다. 셸에서 아래 나열된 쿼리를 실행하면 출력이 표시됩니다.

$ find /home/aqsayasin/Documents/ -print

-du 명령을 사용하여 재귀적으로 나열

다른 새로운 방법으로 파일이나 디렉토리를 재귀적으로 나열하는 또 다른 예를 살펴보겠습니다. 이번에는 -du 명령을 사용하여 목적을 달성할 것입니다. 이 명령에는 -a 플래그가 포함되어 있습니다. 플래그와 함께 디렉토리 위치도 지정해야 합니다. 터미널 셸에서 아래 명령을 실행하여 Documents 디렉터리의 모든 폴더 또는 파일을 재귀적으로 나열해 보겠습니다. 출력에는 아래와 같이 5개의 레코드가 표시됩니다. 이 명령이 각 파일에 있는 바이트 수도 표시하는 것을 볼 수 있습니다.

$ du –a / 홈 / aqsayasin / 문서 /

tree 명령을 사용하여 재귀적으로 나열

마지막으로 파일이나 폴더를 재귀적으로 나열하는 매우 간단하고 사용하기 쉬운 트리 명령 방법이 있습니다. 지금까지는 이 명령에서 플래그를 사용하지 않습니다. 키워드 트리와 함께 디렉토리 위치를 지정해야 합니다. 아래 나열된 명령을 사용하여 예를 들어 보겠습니다. 출력은 Documents 디렉토리의 트리 분기 유형 출력을 보여줍니다. 출력에 0개의 디렉토리와 5개의 파일이 표시됩니다.

$ 나무 /home/aqsayasin/Documents/

다른 위치에서 동일한 트리 명령을 사용해 보겠습니다. 이번에는 사용자 aqsayasin의 'Home' 디렉토리 폴더를 재귀적으로 나열합니다. 출력은 총 14개의 다른 폴더, 하위 폴더 및 5개의 파일이 있는 폴더 홈의 분기를 보여줍니다.

$ 나무 /home/aqsayasin/

결론

디렉토리와 파일을 재귀적으로 나열하기 위해 모든 재귀 방법을 시도했습니다(예: -lR 플래그, 찾기 및 인쇄, du 및 tree 명령).