Articles

어떻게 별칭을 사용 리눅스에서는 쉘 명령을

이 문서에서 재판을 예약 실질적인 가이드 리눅스 명령어,편집자,쉘 프로그래밍 제 3 판,저자의 허가와 게시자 Prentice Hall,all rights reserved.

별칭은 쉘이 다른(일반적으로 더 긴)이름 또는 명령으로 변환하는(일반적으로 짧은)이름입니다. 별칭을 사용하면 간단한 명령의 첫 번째 토큰에 대한 문자열을 대체하여 새 명령을 정의 할 수 있습니다. 그들은 일반적으로~/에 배치됩니다.bashrc(bash)또는~/.,tcshrc(tcsh)시작 파일은 대화 형 서브 쉘에 사용할 수 있도록.

에서 bash 구문을의 별칭 내부

alias ]

에서 tcsh 구문입니다.

alias ]

bash 구문을 공백을 사용할 수 없 주위에 동일한 표시입니다. 값에 공백이나 탭이 있으면 값을 따옴표로 묶어야합니다. Tcsh 아래의 별칭과 달리 bash 별칭은 값에서 명령 행의 인수를 허용하지 않습니다., 인수를 사용해야 할 때 bash 함수를 사용하십시오.

는 별칭을 대체하지 않습 자체,을 피하는 가능성의 무한한 재귀에 처리하는 별명 같은 다음과 같다:

alias ls='ls -F'

할 수 있습 둥지 별명이 있습니다. 별칭은 비 활성 쉘(즉,쉘 스크립트)에 대해 비활성화됩니다. 별칭을 제거하려면unaliasbuiltin 을 사용하십시오., 에 제공할 때alias내부 명령없이 모든 인수,쉘의 목록이 표시됩니다 모든 별칭을 정의

$ alias alias ll='ls -l' alias l='ls -ltr' alias ls='ls -F' alias zap='rm -i'

을 보려면 별칭에 대한 특정한 이름을 입력하는 명령의 별칭 이름의 별칭입니다. 대부분의 리눅스 배포판은 적어도 일부 별칭을 정의합니다. 별칭 명령을 입력하면 어떤 별칭이 적용되는지 확인할 수 있습니다. 적절한 시작 파일에서 원하지 않는 별칭을 삭제할 수 있습니다.,

단일 대 큰따옴표로 별칭

단 하나의 선택 또는 큰따옴표가 중요하에 별칭을 구문 때 별칭을 포함하는 변수. 값을 큰따옴표로 묶으면 별칭을 만들 때 값에 나타나는 모든 변수가 확장됩니다. 값을 작은따옴표로 묶으면 별칭을 사용할 때까지 변수가 확장되지 않습니다. 다음 예는 차이점을 보여줍니다.

PWD 키워드 변수는 작업 디렉토리의 경로 이름을 보유합니다., 맥스는 자신의 홈 디렉토리에서 작업하는 동안 두 개의 별칭을 만듭니다. 그는 dira 별칭을 만들 때 큰따옴표를 사용하기 때문에 셸은이 별칭을 만들 때 작업 디렉토리의 값을 대체합니다. 별칭을 역사를 표시하는 명령을 역사에 별칭이 표시되어 대체 시:

 $ echo $PWD /home/max $ alias dirA="echo Working directory is $PWD" $ alias dirA alias dirA='echo Working directory is /home/max' 

경우 최대성 dirB 별칭을 사용하는 작은 따옴표,을 방지하는 쉘에서 확장하$PWD 변수입니다., Alias dirB 명령을 보여줍니다 dirB 별칭을 보유하고 여전히 확장되지 않$PWD 변수:

 $ alias dirB='echo Working directory is $PWD' $ alias dirB alias dirB='echo Working directory is $PWD'

을 생성한 후에 역사하고 dirB 별칭을 최대 사용하는cd자동차를 만들기 위해 자신의 작업 디렉터리고 각각의 별칭으로 명령입니다. 큰따옴표를 사용하여 만든 별칭은 별칭을 만든 디렉토리의 이름을 작업 디렉토리로 표시합니다(잘못된 것입니다)., 반면에,dirB 별칭을 표시하는 적절한의 이름을 작업 디렉터리-

 $ cd cars $ dirA Working directory is /home/max $ dirB Working directory is /home/max/cars

팁:을 방지하는 방법은 쉘에서 호출하여 별칭

쉘만 검사하고,간단한 명령을 따옴표로 묶여 있지 않들이 있는지 확인하기 위해 별명이 있습니다. 상대 또는 절대 경로 이름으로 주어진 명령과 인용 된 명령은 검사되지 않습니다. 을주고 싶을 때는 명령이 있는 별칭이지 않는 별칭을 사용하려,명령 앞에 백슬래시을 지정하는 명령의 절대적인 경로명 또는 명령으로./command.,

의 예에는 별칭

다음과 같은 별칭을 입력할 수 있습r이전 명령을 반복하여 또는r abc마지막 명령을 반복하는 라인으로 시작 abc:

$ alias r='fc -s'

명령을 사용하는 경우ls -ltr자주,별칭을 만들 수 있는 대용품을ls -ltr줄 때는 명령l:

을 사용하는 또 다른 별칭은 자신을 보호하기 위해서는 실수를 합니다., 다음 예에서 대화 버전의rm유틸리티를 때 당신이 입력한 명령zap

$ alias zap='rm -i' $ zap f* rm: remove 'fixtax.icn'? n rm: remove 'flute.ps'? n rm: remove 'floor'? n

-i 옵션을 선택하면rm 를 물어 당신을 확인하는 각 파일을 삭제하도록 함으로써 당신을 삭제하지 않는 것이 잘못된 파일입니다. 또한rmrm -i명령으로 별칭 할 수 있습니다.alias rm='rm ‒i'.,

의 별명은 다음 예제에서 발생은 포탄을 대신ls -l각 시간을 줄ll명령을ls ‒F를 사용할 때마ls.-F옵션은ls인쇄 slash(/)에서 결국 디렉토리의 이름 및 별표(*)에서의 종료는 이름의 실행 파일이 있습니다.,

이 예제의 문자열을 대체하는 별칭ll(ls ‒l)그 자체가 포함 별칭(ls). 별칭을 해당 값으로 대체하면 셸은 대체 문자열의 첫 단어를 보면 별칭인지 여부를 알 수 있습니다. 위의 예제에서,교체 문자열이 포함되어 별칭ls,그래서 두 번째로 대체가 발생하는 생산의 마지막 명령ls ‒F ‒l., (재귀 돌입을 피하기 위해 대체 텍스트의ls는 별칭이지만 두 번째로 확장되지 않습니다.)

경우 주의 목록을 별명이 없=value또는value필드 alias내장 값을 표시한 각각의 정의한 별명입니다., aliasbuiltin 오류를 보고하는 경우에는 별칭을 정의되지 않:

$ alias ll l ls zap wx alias ll='ls -l' alias l='ls -ltr' alias ls='ls -F' alias zap='rm -i' bash: alias: wx: not found

피할 수 있는 별칭에 의해 대체 위의 별칭으로 명령을 백슬래시(\):

$ \ls Test_Emacs XTerm.ad flute.ps maptax.icn Tiger fixtax.icn floor testdir

기 때문에 보충을의 별칭 이름에 별칭을 가진 값을 변경되지 않는의 나머지 명령 라인,모든 논쟁은 여전히 수신하는 명령을 실행합니다.

$ ll f* -rw-r--r--. 1 max pubs 641 04-01 08:12 fixtax.icn -rw-r--r--. 1 max pubs 30015 03-01 14:24 flute.ps -rwxr-xr-x. 1 max pubs 485 09-21 08:03 floor*

제거할 수 있는 별칭을 사용하는unalias기본 제공., 할 때 써 별칭이 제거되면,그것은 더 이상에 의해 표시되는 alias내장,그리고 그 이후의 결과 사용에 오류 메시지:

$ unalias zap $ alias alias ll='ls -l' alias l='ls -ltr' alias ls='ls -F' $ zap maptax.icn bash: zap: command not found