Jump to content

alias (command)

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

alias
Original author(s)Bill Joy
Developer(s)Various open-source and commercial developers
Operating systemUnix, Unix-like, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i
PlatformCross-platform
TypeCommand

컴퓨팅에서, alias는 다양한 명령줄 인터프리터 ()의 명령으로, 이것은 단어를 또 다른 문자열로의 교체를 활성화합니다.[1] 그것은 주로 시스템 명령을 축약하거나 정기적으로 사용되는 명령에 기본 인수를 추가하기 위해 사용됩니다. alias유닉스 쉘, AmigaDOS, 4DOS/4NT, KolibriOS, Windows PowerShell, ReactOS, 및 EFI 쉘에서 사용할 수 있습니다.[2] MS-DOSMicrosoft Windows 운영 시스템의 별칭 기능은 DOSKey 명령줄 유틸리티에 의해 제공됩니다.

별명은 쉘 세션의 수명 동안 지속될 것입니다. 정기적으로 사용되는 별칭은 해당하는 쉘 세션이 시작될 때 사용할 수 있도록 쉘의 rc 파일 (예를 들어, .bashrc)에서 설정될 수 있습니다. 별칭 명령은 구성 파일에 직접 작성되거나 별도의 파일에서 출처될 수 있습니다.

History

유닉스에서, 별칭은 C 쉘에 도입되었고 tcshbash와 같은 후손 쉘에서 유지됩니다. C 쉘 별칭은 한 줄로 엄격하게 제한되었습니다. 이것은 간단한 바로 가기 명령을 만드는 데 유용했지만, 더 복잡한 구성에서는 그렇지 않습니다. Bourne 쉘의 이전 버전은 별칭을 제공하지 않았지만, csh 별칭 개념보다 더 강력한 기능을 제공했습니다. csh에서 별칭 개념은 Bourne Again Shell (bash)와 Korn 쉘 (ksh)로 가져왔습니다. 함수와 별칭을 모두 지원하지만 매개변수화된 인라인 쉘 스크립트는 지원하지 않는 쉘에서는 가능하면 함수를 사용하는 것이 좋습니다. 별칭이 필요한 경우에는 연결된 별칭이 필요한 (bash 및 ksh) 상황을 포함합니다. alias 명령은 역시 IBM i 운영 시스템으로 이식되었습니다.[3]

Usage

Creating aliases

Unix

비영구적 별칭은 alias 명령에 대해 인수로 이름/값 쌍을 제공함으로써 만들어질 수 있습니다. 유닉스 쉘에서 구문은 다음과 같습니다:

alias gc='git commit'

C shell

C 쉘 또는 tcsh 쉘의 해당 구문은 다음과 같습니다:

alias gc "git commit"

이 별칭은 쉘에서 gc 명령을 읽을 때 git commit으로 대체되고 해당 명령이 대신 실행됨을 의미합니다.

4DOS

4DOS/4NT 쉘에서 다음 구문은 cp를 4DOS copy 명령의 별칭으로 정의하기 위해 사용됩니다:

alias cp copy

Windows PowerShell

Windows PowerShell에서 새 별칭을 만들기 위해, new-alias cmdlet가 사용될 수 있습니다:

new-alias ci copy-item

이것은 실행될 때 copy-item cmdlet으로 대체될 ci라고 불리는 새로운 별칭을 생성합니다.

PowerShell에서, 별칭은 명령에 대해 기본 인수를 지정하기 위해 사용될 수 없습니다. 대신에, 이것은 PowerShell 기본 설정 변수 중 하나, $PSDefaultParameterValues 모음에 항목을 추가함으로써 수행되어야 합니다.

Viewing currently defined aliases

정의된 별칭을 보기 위해 다음 명령이 사용될 수 있습니다:

alias          # Used without arguments; displays a list of all current aliases
alias -p       # List aliases in a way that allows re-creation by sourcing the output; not available in 4DOS/4NT and PowerShell
alias myAlias  # Displays the command for a defined alias

Overriding aliases

유닉스 셸에서, 별칭을 사용할 때 별칭 이름의 모든 문자를 인용함으로써 별칭을 덮어쓸 수 있습니다. 예를 들어, 다음 별칭 정의를 생각해 보십시오:

alias ls='ls -la'

이 별칭을 덮어쓰고 원래 정의된 대로 ls 명령을 실행하려면 다음 구문이 사용될 수 있습니다:

'ls'

또는

\ls

4DOS/4NT 쉘에서 별칭 앞에 별표를 붙여 별칭을 덮어쓸 수 있습니다. 예를 들어, 다음 별칭 정의를 생각해 보십시오:

alias dir = *dir /2/p

dir의 두 번째 인스턴스에 있는 별표는 별칭이 지정되지 않은 dir을 호출하도록 하여, 재귀적 별칭 확장을 방지합니다. 역시 사용자는 같은 구문을 사용함으로써 명령줄에서 dir의 별칭되지 않은 동작을 얻을 수 있습니다:

*dir

Changing aliases

Windows PowerShell에서, set 동사는 alias cmdlet와 함께 기존 별칭을 변경하기 위해 사용될 수 있습니다:

set-alias ci cls

별칭 ci는 이제 cls 명령을 가리킬 것입니다.

4DOS/4NT 쉘에서, eset 명령은 기존 별칭을 편집하기 위한 대화식 명령줄을 제공합니다:

eset /a cp

/a는 같은 이름의 환경 변수와 달리 별칭 cp가 편집되도록 합니다.

Removing aliases

유닉스 쉘과 4DOS/4NT에서, 별칭은 unalias 명령을 실행함으로써 제거될 수 있습니다:

unalias copy          # Removes the copy alias
unalias -a            # The -a switch will remove all aliases; not available in 4DOS/4NT
unalias *             # 4DOS/4NT equivalent of `unalias -a` - wildcards are supported

Windows PowerShell에서, 별칭은 remove-item를 사용하여 alias:\ 드라이브로부터 제거될 수 있습니다:

remove-item alias:ci  # Removes the ci alias

Features

Chaining

별칭은 보통 첫 번째 단어만 대체합니다. 그러나 bashksh와 같은 일부 쉘에서는 문자열 또는 단어로 대체되는 것을 허용합니다. 이 특정 특색은 기능 메커니즘을 통해 사용할 수 없습니다.

보통 구문은 후행하는 공백 문자로 첫 번째 별칭을 정의하는 것입니다. 예를 들어, 다음 두 가지 별칭을 사용하여:

alias list='ls '      # note the trailing space to trigger chaining
alias long='-Flas'    # options to ls for a long listing

긴 목록화에 대해 다음을 허용합니다:

list long myfile      # becomes "ls -Flas myfile" when run

여기서 "long"은 역시 별칭으로 평가됩니다.

Command arguments

C 쉘에서, 인수는 문자열 \!*를 사용하여 명령 내부에 삽입될 수 있습니다. 예를 들어, 이 별칭과 함께:

 alias ls-more 'ls \!* | more'

ls-more /etc /usrls /etc /usr | more로 확장하여 /etc 및 /usr 디렉토리의 내용을 나열하고, 모든 화면을 볼 때마다 일시 중지합니다. \!*없이,

 alias ls-more 'ls | more'

대신 ls | more /etc /usr로 확장되어 more에서 디렉토리를 잘못 열려고 시도합니다.[4]

BashKorn 쉘은 대신 쉘 함수를 사용합니다 – 아래 § Alternatives을 참조하십시오.

Alternatives

별칭은 보통 단순하게 유지되어야 합니다. 그것이 간단하지 않은 곳에서, 보통 다음 중 하나를 사용하는 것을 추천합니다:

  • 쉘 스크립트, 이것은 본질적으로 새로운 시스템 명령을 생성할 수 있는 완전한 기능을 제공합니다.
  • 사용자의 PATH (예를 들어 /bin)에서 심볼릭 링크). 이 방법은 명령을 추가로 호출하는 방법을 제공하는 데 유용하고, 경우에 따라 호출 이름을 사용하여 작동 모드를 선택하는 소수의 명령에 대해 묻힌 명령 함수에 대한 접근을 허용할 수 있습니다.
  • 쉘 함수, 특히 생성되는 명령이 쉘 자체의 내부 런타임 환경 (예를 들어, 환경 변수)을 수정해야 하거나 쉘의 현재 작업 디렉토리를 변경해야 하거나 대화형 쉘을 제외한 모든 경우 (특히 rm, cp, mv 등의 임의의 "더 안전한" 버전)에 대해 명령 검색 경로에 표시되도록 보장하는 방식으로 구현되어야 하면.

명령에 몇 가지 옵션을 추가하고 그런-다음 나머지 명령줄을 포함하는 가장 공통적인 형식의 별칭은 다음 패턴에 따라 쉘 함수로 쉽게 변환될 수 있습니다:

alias ll='ls -Flas'              # long listing, alias
ll () { ls -Flas "$@" ; }        # long listing, function

함수가 자신을 재귀적으로 호출하는 것을 방지하려면, 다음 명령을 사용하십시오:

ls () { command ls --color=auto "$@" ; }

오래된 Bourne 쉘에서 command ls 대신에 /bin/ls를 사용하십시오.

References

Further reading

External links