alias(명령어)

alias (command)
에일리어스
Alias command example.png
의 예alias명령어
원저작자빌 조이
개발자다양한 오픈 소스 및 상용 개발자
운영 체제Unix, Unix 라이크, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i
플랫폼크로스 플랫폼
유형명령어

컴퓨팅에서 alias는 다양명령줄 인터프리터()의 명령어입니다.이를 통해 단어를 다른 [1]문자열로 대체할 수 있습니다.주로 system 명령어를 생략하거나 정기적으로 사용되는 명령어에 기본 인수를 추가하는 데 사용됩니다. aliasUnix 쉘, Amiga에서 사용 가능DOS, 4DOS/4NT, KolibriOS, Windows PowerShell, ReactOSEFI [2]쉘.MS-DOSMicrosoft Windows 운영 체제의 앨리어스 기능은 DOSKey 명령줄 유틸리티를 통해 제공됩니다.

에일리어스는 셸 세션 기간 동안 지속됩니다.셸의 rc 파일에서 정기적으로 사용되는 에일리어스를 설정할 수 있습니다(예:.bashrc대응하는 셸 세션의 개시시에 사용할 수 있도록 합니다.alias 명령어는 컨피규레이션파일에 직접 쓰거나 다른 파일에서 보낼 수 있습니다.

역사

Unix에서는 에일리어스가 C 에 도입되어 tcsh나 bash와 같은 하위 셸에서 존속합니다.C 쉘 에일리어스는 한 줄로 엄격하게 제한되었습니다.이것은 단순한 바로 가기 명령어 작성에 유용하지만 더 복잡한 구성에는 유용하지 않습니다.Bourne 쉘의 이전 버전에서는 에일리어스가 제공되지 않았지만 csh 에일리어스 개념보다 강력한 기능을 제공했습니다.csh에서 Bourne Again Shell(bash) 및 Korn Shell(ksh)로 에일리어스 개념이 Import되었습니다.함수와 에일리어스를 모두 지원하지만 파라미터화된 인라인셸 스크립트는 지원하지 않는 셸에서는 가능한 한 함수를 사용할 것을 권장합니다.에일리어스가 필요한 경우로는 체인 에일리어스가 필요한 상황(배시 및 ksh)이 있습니다.alias 명령어는 IBM i 운영 [3]체제에도 이식되었습니다.

사용.

에일리어스 작성

일반적인 Unix 쉘

비영구 에일리어스는 alias 명령어 인수로 이름/값 쌍을 지정함으로써 생성할 수 있습니다.Unix 쉘의 구문은 다음과 같습니다.

에일리어스 gc='commit(커밋)' 

C 쉘

C 쉘 또는 tcsh 쉘의 대응하는 구문은 다음과 같습니다.

alias gc "commit"

이 에일리어스는 명령어가gc셸에서 읽으면 로 대체됩니다.git commit대신 명령어가 실행됩니다.

4DOS

4DOS/4에서는NT 쉘을 정의하려면 다음 구문을 사용합니다.cp4DOS의 에일리어스로서copy명령어:

에일리어스 cp 복사

Windows PowerShell

Windows PowerShell에서 새 별칭을 만들려면new-aliascmdlet을 사용할 수 있습니다.

신개념의 ci 카피 아이템 

그러면 다음과 같은 새로운 에일리어스가 생성됩니다.ci를 사용하여 대체됩니다.copy-itemcmdlet을 실행합니다.

PowerShell에서는 명령에 대한 기본 인수를 지정하는 데 별칭을 사용할 수 없습니다.대신 PowerShell 기본 설정 변수 중 하나인 $PSDefault ParameterValues 컬렉션에 항목을 추가하여 이 작업을 수행해야 합니다.

현재 정의된 별칭 보기

정의된 에일리어스를 표시하려면 다음 명령을 사용합니다.

alias # 인수 없이 사용됨. 현재 에일리어스 목록을 모두 표시합니다. -p # 출력을 소싱하여 재작성할 수 있는 방법으로 에일리어스를 나열합니다. 4DOS/4NT  PowerShell 에일리어스 myAlias # 정의된 에일리어스에 대한 명령을 표시합니다.

에일리어스 덮어쓰기

Unix 쉘에서는 에일리어스를 사용할 때 에일리어스 이름의 임의의 문자를 따옴표로 둘러싸서 에일리어스를 덮어쓸 수 있습니다.예를 들어 다음 에일리어스 정의를 생각해 보겠습니다.

에일리어스 이요='ls -la' 

이 에일리어스를 무시하고ls다음 구문을 사용할 수 있습니다.

'ls'

또는

\ls

4DOS/4에서는NT 쉘 에일리어스에 아스타리스크를 붙이면 에일리어스를 덮어쓸 수 있습니다.예를 들어 다음 에일리어스 정의를 생각해 보겠습니다.

에일리어스 dir = *syslog /2/p

의 두 번째 인스턴스에 있는 아스타리스크dir에일리어스가 없는dir호출되어 재귀적인 별칭 확장을 방지합니다.또한 사용자는 에일리어스되지 않은 동작을 얻을 수 있습니다.dir명령행에서 같은 구문을 사용합니다.

*외부

에일리어스 변경

Windows PowerShell에서는set동사는 다음과 같이 사용할 수 있습니다.aliascmdlet: 기존 별칭을 변경합니다.

세트 트레이닝 ci 클릭 

에일리어스ci이제 를 가리킵니다.cls명령어를 입력합니다.

4DOS/4에서는NT 쉘,eset명령어는 기존 에일리어스를 편집하기 위한 대화형 명령줄을 제공합니다.

eset /a cp

/a에일리어스를 발생시키다cp동일한 이름의 환경 변수가 아닌 편집해야 합니다.

에일리어스 삭제

Unix 쉘 및 4DOS/4NT에서는 에일리어스를 삭제할 수 있습니다.unalias명령어:

unalias copy # 복사 에일리어스 unalias -a # -a 스위치는 모든 에일리어스를 삭제합니다.4DOS/4NT unalias * #4DOS/4NT에서는 사용할 수 없습니다.와일드카드가 지원됩니다.

Windows PowerShell에서는 에일리어스를 에일리어스:\ 드라이브에서 삭제할 수 있습니다.remove-item:

제거 항목 에일리어스:ci  # CI 에일리어스를 삭제합니다. 

특징들

체인

에일리어스는 보통 첫 번째 단어만 대체합니다.하지만 몇몇 조개껍데기들은bash그리고.ksh시퀀스 또는 단어를 바꿀 수 있습니다.이 특정 기능은 기능 메커니즘에서는 사용할 수 없습니다.

보통 구문은 첫 번째 에일리어스를 후행 공백 문자로 정의하는 것입니다.예를 들어 다음 2개의 에일리어스를 사용합니다.

에일리어스 목록.='ls'      # 체인을 트리거할 후행 공간을 확인합니다. 에일리어스 ='-플래시'    긴 목록의 경우 ls 옵션 수 

에는 다음이 있습니다.

list long myfile #은 실행 시 "ls - Flas myfile"이 됩니다.

"long"은 별칭으로도 평가됩니다.

명령어 인수

C 쉘에서는 \!* 문자열을 사용하여 명령어 내에 인수를 포함할 수 있습니다.예를 들어, 이 에일리어스를 사용하는 경우:

 에일리어스 ls-more 'ls \!*more'

ls-more /etc /usr까지 확장하다.ls /etc /usr more/etc 및 /usr 디렉토리의 내용을 일람표시합니다.화면이 가득할 때마다 일시정지합니다.\!*가 없는 경우,

 별칭 ls-more 'ls more'

대신 로 확장될 것이다.ls more /etc /usr디렉토리를 더 [4]열려고 잘못 시도합니다.

대신 Bash 및 Korn 쉘에서는 함수를 사용합니다.아래의 "대안"을 참조해 주세요.

대체 수단

에일리어스는 보통 단순하게 유지해야 합니다.간단하지 않은 경우에는 보통 다음 중 하나를 사용하는 것이 좋습니다.

  • 스크립트: 기본적으로 새로운 시스템명령어를 작성하는 모든 기능을 제공합니다.
  • 사용자의 심볼릭 링크PATH(예:/bin이 메서드는 명령어를 호출하는 다른 방법을 제공하는 데 도움이 되며 경우에 따라서는 호출 이름을 사용하여 동작 모드를 선택하는 소수의 명령어에 대해 삽입된 명령어 함수에 액세스할 수 있습니다.
  • 셸 함수는 특히 생성되는 명령어가 셸 자체의 내부 런타임 환경(환경 변수 등)을 변경해야 하는 경우 셸의 현재 작업 디렉토리를 변경하거나 대화형 셸 이외의 명령어 검색 경로에 표시되도록 구현해야 합니다.어떤 '불필요한' 버전의 것을 지지하다rm,cp,mv등).

에일리어스의 가장 일반적인 형식은 명령어에 몇 가지 옵션을 추가한 후 명령줄의 나머지 부분을 포함하는 것으로, 다음 패턴에 따라 셸 함수로 쉽게 변환할 수 있습니다.

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

함수의 반복 호출을 방지하려면command:

ls() { 명령어 ls --color=auto "$@" ; }

오래된 Bourne 쉘에서는/bin/ls대신command ls.

레퍼런스

  1. ^ Rugheimer, Hannes (2020-06-10). AmigaDOS quick reference : Rügheimer, Hannes : Free Download, Borrow, and Streaming : Internet Archive. Internet Archive. ISBN 9781557550491. Retrieved 2020-09-12.
  2. ^ "EFI Shells and Scripting". Intel. Retrieved 2013-09-25.
  3. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
  4. ^ Wayback Machine에서 Archived 2012-11-25 명령어대한 인수 전달 예시

추가 정보

외부 링크