명령의 기본 동작을 변경할 수 있습니까?
이 질문은 매우 간단하다고 생각하지만 설명과 예를 들어 보겠습니다.
SSH를 통해 일부 서버에 연결할 때 탭을 통한 자동 완성이 작동하지 않아 긴 명령이 지루해집니다. 예를 들어 다음은 ls 명령입니다.
ls -lah --group-directories-first
즉, 숨김 파일을 포함한 모든 파일을 사람이 읽을 수 있는 형식으로 위에서 아래로 나열하고 디렉터리가 먼저 오도록 디렉터리의 파일을 정렬합니다.
ls
간단히 입력하여 위 명령을 실행하도록 이 명령을 구성하는 방법이 있습니까 ls
? 기본적으로 ls
모든 파일이 나열됩니다 . "ls" 명령이 실행될 때 시스템이 이를 어디에서 찾을 수 있는지 알고 기본 동작이 무엇인지 확인한 다음 제공된 "ls" 명령의 사양에 따라 실행할 수 있도록 "ls" 명령이 있는 위치가 있어야 합니다. .
결국 ls 명령의 출력이나 기본 기능을 변경할 수 있습니까?
답변1
Unix 또는 Linux 스타일 시스템에서 이를 수행하는 일반적인 방법은 셸 별칭을 사용하는 것입니다.
alias ls='ls -lah --group-directories-first'
이렇게 하면 기존 ls
별칭을 덮어쓰게 되므로 확인하는 것이 좋습니다.
alias ls
먼저 위와 관련하여;
alias ls='ls -lah --group-directories-first --color=tty'
영구적으로 만들려면 .bashrc
홈 디렉터리의 파일에 추가하세요(Bash를 사용하고 있다고 가정하고, 이 사실을 알게 되면 아마 그렇게 할 것입니다).
이렇게 광범위한 방식으로 기본 동작을 변경하면 혼란스러울 수 있으므로 내가 가지고 있는 별칭을 사용하여 새 명령을 만드는 것이 좋습니다.
alias l='ls -lah --group-directories-first'
예를 들어. 이를 통해 다른 별칭을 만들 수도 있습니다. 이 별칭은 별칭인 경우 관례적으로 정의된 모든 것을 사용합니다(따라서 l
이 경우 ls
옵션을 반복할 필요가 없습니다 ).--color=tty
별칭을 제거하려면 다음을 사용하십시오 unalias
.
unalias ls