개요
ls-r은 현재 디렉토리 및 모든 하위 디렉토리의 파일과 디렉토리를 나열하는 사용자 정의 스크립트입니다. 이는 'ls -R' 명령과 동일한 기능을 제공하여, 복잡한 디렉토리 구조를 한눈에 파악하는 데 유용합니다.
주요 특징
- 재귀적 디렉토리 탐색: 현재 디렉토리와 모든 하위 디렉토리의 내용을 표시합니다.
- 모든 하위 항목 표시: 파일과 디렉토리 모두를 포함합니다.
- 간결한 사용: 'ls -R' 명령을 더 짧게 입력할 수 있도록 합니다.
주요 옵션
ls-r은 사용자 정의 스크립트이므로, 기본적으로 'ls' 명령어의 옵션을 그대로 전달하여 사용할 수 있습니다. 다음은 'ls' 명령어에서 자주 사용되는 옵션들입니다.
표시/형식
생성된 명령어:
명령어를 조합해 보세요.
설명:
`ls-r` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
ls-r 스크립트의 다양한 활용 예시입니다.
기본 재귀 목록
ls-r
현재 디렉토리와 모든 하위 디렉토리의 내용을 재귀적으로 나열합니다.
상세 정보와 함께 재귀 목록
ls-r -l
파일 퍼미션, 소유자, 크기 등 상세 정보와 함께 재귀적으로 나열합니다.
숨김 파일 포함하여 재귀 목록
ls-r -a
숨김 파일 및 디렉토리를 포함하여 모든 항목을 재귀적으로 나열합니다.
사람 친화적 크기로 상세 재귀 목록
ls-r -lh
상세 정보와 함께 파일 크기를 K, M, G 단위로 표시하여 재귀적으로 나열합니다.
특정 디렉토리 재귀 목록
ls-r /var/log
지정된 디렉토리의 내용을 재귀적으로 나열합니다.
설치
ls-r은 표준 명령어가 아니므로, 직접 스크립트를 생성하거나 별칭(alias)을 설정하여 설치해야 합니다. 다음은 'ls -R' 명령을 실행하는 간단한 셸 스크립트를 만드는 방법입니다.
1. 스크립트 파일 생성
텍스트 편집기를 사용하여 'ls-r'이라는 파일을 생성합니다. 예를 들어, 현재 디렉토리에 파일을 만듭니다.
echo '#!/bin/bash\nls -R "$@"' > ls-r
다음 내용을 파일에 추가합니다. 첫 줄은 셸 스크립트임을 나타내고, 두 번째 줄은 모든 인자($@)를 'ls -R' 명령에 전달합니다.
2. 실행 권한 부여
생성된 스크립트 파일에 실행 권한을 부여합니다.
chmod +x ls-r
3. PATH에 추가 (선택 사항)
어떤 디렉토리에서든 'ls-r'을 실행할 수 있도록, 스크립트 파일을 시스템의 PATH 환경 변수에 포함된 디렉토리(예: /usr/local/bin)로 이동합니다.
sudo mv ls-r /usr/local/bin/
별칭(alias)으로 사용 (대안)
스크립트 파일을 만드는 대신, 셸의 별칭 기능을 사용하여 'ls-r'을 'ls -R'의 단축 명령으로 설정할 수도 있습니다. ~/.bashrc 또는 ~/.zshrc 파일에 다음 줄을 추가한 후, 셸을 다시 시작하거나 'source' 명령으로 적용합니다.
echo 'alias ls-r="ls -R"' >> ~/.bashrc && source ~/.bashrc
팁 & 주의사항
ls-r 스크립트 사용 시 유용한 팁과 주의할 점입니다.
성능 고려
매우 크거나 깊은 디렉토리 구조를 재귀적으로 나열할 때는 'ls -R' (따라서 ls-r)보다 'find' 명령어가 더 효율적일 수 있습니다. 'find'는 더 많은 필터링 및 액션 옵션을 제공합니다.
- 예시: `find . -print` (현재 디렉토리부터 모든 파일 및 디렉토리 나열)
옵션 전달 확인
스크립트가 'ls' 명령의 모든 옵션을 지원하도록 하려면, 스크립트 내에서 '$@'를 사용하여 모든 인자를 전달하는지 확인해야 합니다. 위 설치 예시의 스크립트는 이를 올바르게 처리합니다.
대안 명령어
디렉토리 구조를 시각적으로 더 보기 좋게 확인하고 싶다면 'tree' 명령어를 사용할 수 있습니다. 'tree'는 대부분의 리눅스 배포판에서 별도로 설치해야 합니다.
- 예시: `sudo apt install tree` (Debian/Ubuntu)
- 예시: `sudo yum install tree` (CentOS/RHEL)
- 예시: `tree -L 2` (현재 디렉토리에서 2단계 깊이까지 트리 구조로 표시)