bash 별칭에 연결된 명령을 보는 방법은 무엇입니까?

bash 별칭에 연결된 명령을 보는 방법은 무엇입니까?

bash 쉘에 별명이 있다고 가정하십시오. 별칭이 실행할 명령을 인쇄하는 간단한 명령이 있습니까?

답변1

내장 type기능이 이에 유용합니다. 별칭뿐만 아니라 함수, 내장, 키워드 및 외부 명령에 대해서도 알려줍니다.

$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep () 
{ 
    ps -ef | { 
        read -r;
        printf '%s\n' "$REPLY";
        grep --color=auto "$@"
    }
}

type -a cmd해당 이름으로 모든 명령을 우선 순위에 따라 표시합니다. 이는 ls별칭 자체가 을 호출하는 위의 별칭 에 유용합니다 ls.

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

ls이는 를 실행 하면 사용자가 직접 추가한 다른 인수 외에도 /bin/ls가 사용되고 인수 목록에 포함된다는 것을 알려줍니다 .--color=auto

답변2

alias쉘 프롬프트에서 while을 입력하기만 하면 됩니다 . 현재 활성화된 모든 별칭 목록이 출력되어야 합니다.

또는 입력하여 alias [command]특정 별칭의 별칭이 무엇인지 확인할 수 있습니다. 예를 들어 별칭의 별칭이 무엇인지 알아보려면 다음을 ls수행할 수 있습니다 alias ls.

답변3

Ctrl+ Alt+ E에서 배운 대로 정말 좋아해요이 답변. 현재 입력된 명령줄을 "확장"합니다. 이는 무엇보다도 별칭 확장을 수행한다는 의미입니다.

그게 무슨 뜻이에요? 현재 명령줄에 기록되어 있는 모든 별칭을 해당 별칭의 의미로 바꿉니다.

예를 들어 다음과 같이 입력하면

$ ls

그런 다음 Ctrl+ Alt+ 를 누르면 E다음과 같이 변합니다.

$ ls --time-style=locale --color=auto

답변4

명령 을 사용할 수 있습니다 which.

lsas 에 대한 별칭을 설정한 ls -al다음 를 입력하면 which ls다음이 표시됩니다.

ls: aliased to ls -al.

관련 정보