alias(명령어)
alias (command)원저작자 | 빌 조이 |
---|---|
개발자 | 다양한 오픈 소스 및 상용 개발자 |
운영 체제 | Unix, Unix 라이크, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i |
플랫폼 | 크로스 플랫폼 |
유형 | 명령어 |
컴퓨팅에서 alias는 다양한 명령줄 인터프리터(쉘)의 명령어입니다.이를 통해 단어를 다른 [1]문자열로 대체할 수 있습니다.주로 system 명령어를 생략하거나 정기적으로 사용되는 명령어에 기본 인수를 추가하는 데 사용됩니다. alias
Unix 쉘, Amiga에서 사용 가능DOS, 4DOS/4NT, KolibriOS, Windows PowerShell, ReactOS 및 EFI [2]쉘.MS-DOS 및 Microsoft 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 쉘을 정의하려면 다음 구문을 사용합니다.cp
4DOS의 에일리어스로서copy
명령어:
에일리어스 cp 복사
Windows PowerShell
Windows PowerShell에서 새 별칭을 만들려면new-alias
cmdlet을 사용할 수 있습니다.
신개념의 ci 카피 아이템
그러면 다음과 같은 새로운 에일리어스가 생성됩니다.ci
를 사용하여 대체됩니다.copy-item
cmdlet을 실행합니다.
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
동사는 다음과 같이 사용할 수 있습니다.alias
cmdlet: 기존 별칭을 변경합니다.
세트 트레이닝 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, 함수
ls() { 명령어 ls --color=auto "$@" ; }
오래된 Bourne 쉘에서는/bin/ls
대신command ls
.
레퍼런스
- ^ 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.
- ^ "EFI Shells and Scripting". Intel. Retrieved 2013-09-25.
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
- ^ Wayback Machine에서 Archived 2012-11-25 명령어에 대한 인수 전달 예시
추가 정보
- McElhearn, Kirk (2006). The Mac OS X Command Line: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
외부 링크
- 싱글 UNIX 사양, The Open Group 버전4 : 에일리어스 정의 또는 표시– 셸 및 유틸리티 레퍼런스,
- 별칭에 대한 Bash man 페이지
- Linux Information Project(LINFO)에 의한 alias 명령어