> 시스템 튜토리얼 > 리눅스 > Fish Shell에서 하나의 명령으로 디렉토리를 변경하고 파일을 나열하는 방법

Fish Shell에서 하나의 명령으로 디렉토리를 변경하고 파일을 나열하는 방법

William Shakespeare
풀어 주다: 2025-03-05 10:25:10
원래의
308명이 탐색했습니다.
Linux에서 명령 줄을 자주 사용하는 경우 디렉토리를 탐색하고 내용을보기 위해 더 빠른 방법을 원할 것입니다.

일반적으로, 여기에는 CD를 실행하여 디렉토리를 변경 한 다음 파일을 나열하는 것이 포함됩니다. 이 명령을 하나로 결합하는 것은 깔끔한 아이디어처럼 보이지만 많은 파일이 포함 된 디렉토리를 다룰 때 문제가 발생할 수 있습니다.

이 안내서에서는

timeout 를 사용하여 안전하게 compinecdandlsin 껍질 쉘

를 만드는 방법을 보여줍니다. 이를 통해 디렉토리를 신속하게 변경하고 파일을 하나의 명령으로 나열 할 수 있으며, 많은 파일이있는 디렉토리에서도 쉘을 반응 상태로 유지하는 동시에 목차 >. 왜 CD와 LS를 결합하는 이유 메소드 1 : 한 번은 명령을 사용하는 명령 디렉토리 컨텐츠를 자동으로 나열하는 문제 Configuration 3 단계 : CDLS 명령을 사용

타임 아웃 사용자 정의 선택 사항 : 기본 CD 명령을 재정의합니다. 쉬운 관리를위한 별도의 디렉토리의 함수

    결론
    • 기본적으로 CD와 LS를 결합하는 이유는 무엇입니까?
    • 기본적으로 CD를 사용하여 디렉토리를 변경할 때 물고기 (또는 다른 쉘)는 새 위치에 파일을 표시하지 않습니다. 매번 LS를 개별적으로 실행하면
    반복적 인
  • 가 될 수 있습니다. 이러한 명령을 결합하면 추가 단계없이 디렉토리의 내용을보다 쉽게 ​​볼 수 있습니다.
    • 그러나 캐치가 있습니다. 그러나 수백만 개의 파일이있는 디렉토리의 내용을 나열하면 쉘이
    • hang 를 나열하고 과도한 리소스를 소비하고 터미널을 방해하지 않게 만들 수 있습니다. 다음 단계에서는 CD와 LS 명령을 결합하는 모든 가능한 방법을 제공합니다.
    • 메소드 1 : 한 번은 한 번만 사용하면 한 번만 수행 해야하는 경우 다음 명령을 사용할 수 있습니다. CD가 성공한 경우에만 LS가 실행되는지 확인합니다.
    • 디렉토리 내용을 자동으로 나열하는 문제
    • 모든 CD를 자동으로 실행 한 후 자동으로 실행할 수 있습니다. 쉘 : 파일을 나열하려고 시도하는 동안 터미널이 얼어 붙을 수 있습니다.
    • 불필요한 출력
    • : 때로는 디렉토리의 내용을 탐색 한 직후에 디렉토리의 내용을 볼 필요가 없습니다. 이러한 문제를 피하려면 이러한 문제를 피하려면 CD와 LS를 조합하는 스마터 방법이 필요합니다. 메소드 2 : 시간 초과로 사용자 정의 물고기 함수를 만듭니다

      타임 아웃 명령을 사용하면 시간 제한으로 명령을 실행할 수 있습니다. 지정된 시간 내에 명령이 완료되지 않으면 종료됩니다. 이것은 너무 많은 파일이있는 디렉토리에 매달려있는 것을 방지하는 데 적합합니다.

      다음은 시간 초과를 사용하여 CD와 LS를 안전하게 결합한 물고기 쉘 기능을 만드는 방법입니다.

      1 단계 : 텍스트 편집자에서 기능을 만듭니다. 함수 :

      위의 함수의 고장이 여기에 있습니다.

      빌드 된 CD $ argv [1]
      cd /path/to/directory; and ls
      로그인 후 복사
      로그인 후 복사
      : 지정된 디렉토리의 변경.

      및 시작 ... end : 1 초 타임 아웃으로 ls -l을 실행합니다. ls가 1 초 이상 걸리면 종료됩니다.
      nano ~/.config/fish/config.fish
      로그인 후 복사
      echo "디렉토리로 변경 : $ pwd"

      : 선명도를 위해 현재 디렉토리 경로를 인쇄합니다.

      이 작품을 사용할 수도 있습니다. 둘 다 같은 작업을 수행합니다. 두 함수를 모두 사용하려면 각각의 독특한 이름을 알려주십시오.
        2 단계 : 구성을 저장하고 다시로드하고 낚시 쉘 구성을 저장하고 변경 사항을 적용하려면 Fish Shell 구성을 다시로드하십시오. 안전하게 :
      1. 예제
      2. :
      3. 디렉토리에 관리 가능한 파일 수가 포함되어 있으면 1 초 이내에 LS -L이 완료되며 리스팅이 표시됩니다. 디렉토리가 너무 크면 시간 초과가 1 초 후에 LS 명령을 죽이면 쉘이 매달리지 않도록합니다. 샘플 출력 :
      4. 타임 아웃 시간을 사용자 정의 할 수 있습니다. 예를 들어 :
    • 더 짧은 타임 아웃에 0.5S를 사용하십시오 : 시간 초과 0.5S LS -L 더 긴 시간 초과 : 타임 아웃 2S LS -L 기능에서 타임 아웃 값을 수정하십시오. Default CD 명령, Fish Shell 구성에서 CD를 재정의합니다.

      이제 CD를 사용할 때마다 1 초 타임 아웃으로 디렉토리 내용을 자동으로 나열합니다. 방법 3 : 어류 껍질은 약어를 사용하여 약어를 입력 할 때 전체 명령으로 확장됩니다. ls를 포함하는 CD의 약어를 만들려면 : run :

      이 메소드는 시간 초과가 자동으로 LS를 실행하는 동안 원래 CD 명령을 유지하기 때문에 유용합니다. 보너스 : 더 빠른 목록

      에 exa를 사용하여 큰 디렉토리와 자주 작업하면 LS의 현대적인 대안 인 EXA를 사용하는 것을 고려하십시오. EXA는 더 빠르고 기능이 풍부하여 많은 파일로 디렉토리를 처리하는 데 더 적합합니다.

      EXA를 사용하는 기능을 수정하는 방법은 다음과 같습니다. 이 목록은 기존 클래식 Linux 명령에 가장 적합한 대체품을 제공합니다. 자세한 내용은 다음 링크를 방문하십시오. 해당 라인을 제거한 후에는 명령을 사용하여 물고기 구성을 다시로드하면 다음과 같은 명령을 사용하여 Fish Shell의 CD에 대한 약어를 추가 한 경우,

      cd /path/to/directory; and ls
      로그인 후 복사
      로그인 후 복사

      를 사용하여 제거 할 수 있습니다. 이렇게하면 약어를 삭제하고 기본 동작으로 CD를 복원합니다. 약어가 영구적으로 제거되도록하려면 ~/.config/fish/config.fish.fish 파일을 확인하고 abbr -add cd를 정의하는 라인을 제거하십시오. 이것이 효과가 있지만 최선의 접근법은 아닙니다.

        더 많은 기능을 추가하면 구성 파일을 혼란스럽게 만들어 관리하기가 더 어려워집니다. 깨끗하게 유지하려면 각 물고기 기능을 별도의 디렉토리 내에 자체 파일에 저장하십시오. 자세한 내용은 다음 안내서를 읽으십시오. Linux에서 Fish Shell의 기능을 관리하는 방법

Fish Shell에서 CD와 LS를 결합하는 것은 Linux에서 명령 줄 탐색을 단순화하는 좋은 방법입니다. 타임 아웃 명령을 사용하면 성능 문제 나 응답이없는 쉘없이 자동 디렉토리 목록을 수행 할 수 있습니다.

일회성 명령, 사용자 정의 기능 또는 약어를 사용하든 시간 초과를 추가하면 대규모 디렉토리를 처리 할 때 성능 문제를 피할 수 있습니다. 이러한 방법을 사용하면 어류 쉘에서 탐색 디렉토리를 더 빠르고 효율적으로 만들 수 있습니다.

관련 읽기 : nano ~/.config/fish/config.fish

[Bash Tips] 한 명령에서 CD와 LS를하는 방법
function cdls
    # Change to the specified directory
    builtin cd $argv[1]
    and begin
        # List directory contents with a timeout of 1 second
        echo "Changed to directory: $PWD"
        timeout 1s ls -l
    end
end
로그인 후 복사

Linux에서 디렉토리를 탐색하는 방법

.

위 내용은 Fish Shell에서 하나의 명령으로 디렉토리를 변경하고 파일을 나열하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿