
별명 및 Bash 쉘 기능을 사용하여 고유 한 Linux 명령을 작성하십시오. 반복적 인 작업을 길들이고, 오래 걸리는 프로세스를 자르고, 항상 사용하고 기억하기 어려운 옵션으로 표준 명령을 구성하십시오.
별명 및 셸 스크립트는 Linux 및 Unix와 같은 운영 체제에서 강력한 기술로, 원하는대로 명령 줄 환경을 연마 할 수 있습니다. 특정 요구에 맞는 고유 한 명령을 정의하고 반복적 인 작업 부담을 완화 할 수 있습니다.
별명 및 쉘 스크립트는 동일한 종류의 작업을 수행합니다. 그것들을 사용하면 주어진 이름으로 호출 할 수있는 Bash 쉘 기능 세트를 정의하고 이름을 지정할 수 있습니다. 모든 단계 나 명령을 사용할 때마다 입력해야하는 것보다 이름을 입력하는 것이 더 쉽고 편리합니다.
별칭과 스크립트의 차이점은 복잡성과 규모 중 하나입니다. 스크립트는 더 길고 정교한 코드를 유지하는 것이 좋습니다. 별칭은 더 짧고 간결한 명령 집합을 유지하는 데 적합합니다.
미리 정의 된 별칭
일부 별칭은 미리 정의되어 있습니다. 시스템에 정의 된 별명 목록을 보려면 매개 변수없이 alias 명령을 사용하십시오.
alias

이것들은이 기사가 연구 된 Ubuntu 테스트 머신에 정의 된 별명입니다. 맞춤 별칭을 정의한 경우이 별칭도이 목록에 표시됩니다.
업체 정보 상단에는 복잡한 별명이 있습니다. alert. 우리는 곧 그것에 올 것이다. 에 대한 다른 별칭이 많이 있습니다 ls 명령을 실행하면에 대한 색상 출력을 제공하는 별칭 그룹이 있습니다. grep 명령 군. 예를 들어, 다음을 입력 할 때마다 이러한 별명이 정의되어 있습니다.
grep
시스템은이를 다음과 같이 해석합니다.
grep --color=auto
이것은 별명과 함께 중요한 점을 보여줍니다. 기존 명령과 동일한 이름을 가질 수 있습니다. 그들은 그들 자신의 원래 명령을 포함 할 수 있습니다.
여기에 정의가 있습니다 grep 별명.
alias grep='grep --color=auto'
- 그만큼
alias명령은 별명을 정의하는 데 사용됩니다. - 별명 이름은 다음에 제공됩니다. 이 예에서는
grep. - 등호는 이름 에 대한 별칭 신체 별명의 매우 간단한 별칭을 제외하고 별칭의 본문은 작은 따옴표로 묶습니다.
'. - 별명의 본문은 명령 줄에서 별명이 사용될 때 실행되는 섹션입니다.
이 별칭의 본문은 단순히 grep 와 명령 --color=auto 선택권.
경고 별칭
한마디로, 무엇을하는지 알 수 있도록 alert 별명은 명령이 완료된시기를 알려주는 데 사용됩니다. 또한 명령이 성공적으로 완료되었는지 여부를 나타냅니다. 화면 상단에 그래픽 시스템 경고를 제공합니다.
간단한 예를 들어 보겠습니다. 그만큼 sleep 명령이 5 초 동안 절전 모드로 전환됩니다. alert 그러면 별칭이 호출됩니다. 별명은 이전 명령의 응답을 확인합니다. 히스토리 파일에서 마지막 명령을 추출합니다. 명령이 성공적으로 완료되었는지 여부를 결정합니다. 그런 다음 결과를 시스템 경고로 표시합니다.
명령이 예상대로 완료되면 시스템 경고의 아이콘은 작은 터미널 창입니다. 명령이 오류 코드를 반환 한 경우 시스템 경고의 아이콘은 빨간색 오류 아이콘입니다.
sleep 5; alert

5 초 후에이 시스템 경고가 나타납니다.

아이콘은 작은 터미널 창으로 모든 것이 잘 진행되었음을 의미합니다. 실패 할 것이라는 명령으로 다시 시도해 보겠습니다.
DoomedToFail; alert

시스템 알림에 오류 아이콘이 있습니다.

사소한 별명 정의
앞에서 본 것처럼 별칭을 정의하기 위해 alias 명령.
우리는에 대한 가명을 만들 것입니다 clear 명령. 우리의 별명은 cls 그리고 그것은 clear 명령.
별칭 정의는 매우 사소하므로 작은 따옴표로 묶어야합니다. 별칭의 본문이 이것보다 복잡하거나 공백이 포함 된 경우 작은 따옴표로 묶습니다. 별명을 정의하고 ls 터미널 창에 출력을 넣고 새로운 별칭을 사용합니다. cls 화면을 지우려면
alias cls=clear
ls -l
cls

화면이 지워집니다. 비록 짧았지만 성공. 별명은이 터미널 창이 열려있는 동안에 만 유효합니다. 창이 닫히면 별칭이 사라집니다.
그러면 별칭을 어떻게 영구적으로 만들 수 있습니까?
.bashrc 파일과 별명
사전 패키지 된 별칭이 정의되어 있는지 궁금 할 것입니다. 홈 폴더의“.bashrc”파일에 있습니다. 이 파일을 읽고 대화식 쉘을 시작할 때마다 그 안에있는 명령이 실행됩니다. 즉, 터미널 창을 열 때입니다.
구문을 강조 표시하여“.bashrc”파일의 내용을 보려면 홈 폴더에 다음 명령을 입력하십시오.
gedit .bashrc

이것은 시작합니다 gedit “.bashrc”파일이로드 된 편집기.

강조 표시된 영역에는 별칭이 정의 된 두 영역이 표시됩니다.
문서를 스크롤하면 별칭과 관련된 두 개의 다른 섹션이 나타납니다.

이들 중 첫 번째는 alert 별명. 두 번째는 if 성명서. ““.bash_aliases”파일이 존재하면 읽어보십시오.”로 번역됩니다.
정의하려는 별칭이 몇 개만있는 경우“.bashrc”파일에 별칭을 넣을 수 있습니다. 아래 섹션에 ls 별명.
별명을 많이 만들거나 별명을 자체 파일에 캡슐화하려는 아이디어를 원한다면“.bash_aliases”파일에서 별명을 정의 할 수 있습니다. “.bash_aliases”파일에서 파일을 만들면 우연히“.bashrc”파일의 설정을 변경할 수 없다는 장점이 있습니다. 또 다른 장점은 별칭이“.bashrc”파일과 완전히 분리되어 새 시스템에 쉽게 복사 될 수 있다는 것입니다.
.bash_aliases 파일에 별명 저장
“.bash_aliases”파일은 사용자가 만들 때까지 존재하지 않습니다. 이 명령으로 파일을 작성할 수 있습니다.
touch .bash_aliases

파일을 편집하고 별명을 몇 개 추가하겠습니다. 이 명령은 “.bash_aliases”파일을 gedit 편집자.
gedit .bash_aliases

별명 3 개를 추가했습니다. 첫 번째는 우리입니다 cls 이전에 사용한 별칭. 다음은 h. 전화를 거는 속기입니다 history 명령.
세 번째 별칭은 ftc. 이것은 “파일 형식 개수”를 나타냅니다.
이 별명이 더 관련되어 있으므로 작은 따옴표로 묶습니다. 파이프로 연결된 명령 체인을 사용합니다. 각 목록 항목의 개수와 함께 다른 파일 확장자 및 디렉토리 이름의 정렬 된 목록을 생성합니다.
관련 : Linux에서 파이프를 사용하는 방법
“.bash_aliases”파일을 저장하면 별칭이 활성화되어 액세스 가능할 수 있습니다. 그렇지 않습니다. 별명 정의가 활성화되기 전에 Bash 쉘이 파일을 읽어야합니다. 이것은 대화식 쉘이 열릴 때마다 수행됩니다.
Bash 셸 내장을 사용할 수도 있습니다 . 파일에서 명령을 읽고 실행합니다. “.bashrc”를 처리 할 때“.bash_alias”파일을 읽으므로“.bashrc”를 호출하여 테스트를 수행해야합니다. 이렇게하면“.bash_alias”파일이“.bashrc”에서 호출되고 별칭이 살아 있는지 확인할 수 있습니다.
우리가 사용한 명령은 다음과 같습니다.
gedit .bash_alias
“.bash_alias”파일을 편집합니다.
. .bashrc
“.bashrc”내에서 명령을 읽고 실행하며“.bash_alias”를 호출합니다.
ftc
이것은 ftc 별명.

우리의 별칭은 Bash가“.bashrc”와“.bash_aliases”를 모두 읽었 음을 의미하며 새로운 별칭이 활성화되었습니다.
이제“.bash_aliases”파일에 새로운 별칭을 추가 할 수 있습니다. 자신이 한두 번 이상 일을한다면 별칭을 만들어보십시오.
별명 제거
BAsh가 별칭을 인식하거나 응답하지 않도록 별칭을 제거하라는 명령이 있습니다. 상쾌하게 바로 명령을 unalias.
그것을 사용하려면 Bash가 잊어 버릴 별칭의 이름을 지정하십시오. 배쉬가 우리를 잊게 만들려면 ftc 별칭, 사용 unalias 이처럼 :
unalias ftc
당신이 사용할 수있는 unalias 정의한 별칭과 사전 정의 된 별칭을 제거합니다.
시스템에서 모든 별칭을 제거하려면 -a (전체) 옵션 :
unalias -a
Bash의 기억 상실은 영구적이지 않습니다. 다음에 터미널 창을 열면 “잊어 버린”별칭이 다시 나타납니다. 실제로 제거하려면“.bashrc”및“.bash_alias”파일에서 제거해야합니다.
다시 원한다고 생각되면“.bashrc”파일에서 삭제하지 마십시오. 대신 해시를 추가하여 주석 처리하십시오. # 각각의 시작에 alias 선. “.bash_alias”파일을 유효하지 않게하려면 파일 이름을 바꾸십시오. “.bashrc”파일을 볼 수 없으면 파일을 읽지 못합니다.이 단계를 취소하여 별칭을 복원하는 것은 사소한 문제입니다.
쉘 기능
Lika 별칭, Bash 셸 함수는“.bashrc”파일 내에서 정의 할 수 있지만 종종 자체 정의 파일에 넣는 것이 더 좋습니다. “.bash_aliases”파일에 사용 된 규칙에 따라 “.bash_functions”라고합니다.
즉, 정의에서 읽을 수 있도록“.bashrc”파일을 알려 주어야합니다. “.bash_aliases”파일에서 읽은 코드 스 니펫을 복사하고 수정할 수 있습니다. 시작하다 gedit 다음 명령으로“.bashrc”파일을로드하십시오 :
gedit .bashrc

아래 표시된 강조 표시된 섹션을 추가해야합니다.
별칭 섹션을 강조 표시하고 Ctrl+C 새 섹션을 원하는 곳으로 이동 한 다음 Ctrl+V 텍스트 사본을 붙여 넣습니다. 그런 다음“.bash_aliases”라고 표시된 두 위치를“.bash_functions”로 변경하기 만하면됩니다.

변경 사항을 저장하고 닫을 수 있습니다 gedit.
이제“.bash_functions”파일을 만들고 편집하고 함수 정의를 넣습니다.
touch .bash_functions
gedit .bash_functions

빈 “.bash_functions”파일이 열립니다. gedit.
간단한 함수를 추가하겠습니다 up. up 숫자 인 단일 명령 행 매개 변수를 사용합니다. up 그런 다음 전화 cd .. 그 횟수. 따라서 명령을 사용한 경우
up 2
up 전화 할 것이다 cd .. 디렉토리 트리에서 두 단계 위로 이동합니다.
함수를 정의하는 방법에는 여러 가지가 있습니다. 하나는 다음과 같습니다.
function up() {
단어 function 선택 사항입니다. 전통 주의자라면 사용하십시오. 입력하는 데 방해가되지 않으면 그대로 두십시오.
전체 기능은 다음과 같습니다. gedit:

function up() {
이것은 함수 정의의 시작을 나타내며 함수의 이름을 지정합니다. up.
levels=$1
이것은라는 변수를 만듭니다 levels 첫 번째 매개 변수의 값으로 설정합니다. 이 매개 변수는 사용자가 함수를 호출 할 때 제공 한 숫자입니다. 그만큼 $1 “첫 번째 명령 줄 매개 변수”를 의미합니다.
while ( "$levels" -gt "0" ); do
그런 다음 루프를 시작합니다. 이것은 “의 가치 동안 levels “0보다 크면 루프 본문에 포함 된 작업을 수행하십시오.”
루프 본문 안에는 두 가지 명령이 있습니다. 그들은:
cd ..
디렉토리 트리에서 레벨을 위로 이동하십시오.
levels=$(($levels - 1))
세트 levels 현재 값보다 1이 작은 새 값으로.
그런 다음 루프의 상단으로 돌아가서 levels 그리고 다시 0이 만들어집니다. 만약 levels 0보다 크면 루프의 본문이 다시 실행됩니다. 만약 그것이 0보다 크지 않다면, 루프는 끝나고 우리는 done 문과 함수가 끝났습니다.
변경 사항을 저장하고 닫으십시오 gedit.
“.bash_functions”파일의 명령을 읽고 실행해야하는 “.bashrc”의 명령을 읽고 실행합니다.
. .bashrc

디렉토리 트리의 특정 위치로 이동하고 다음을 사용하여 기능을 테스트 할 수 있습니다. up 디렉토리 트리에서 “상위”지점으로 다시 이동합니다.
cd ./work/backup/
up 2

기능이 작동합니다. 트리에서 두 개의 디렉토리 수준으로 이동했습니다.
유형으로 추적 유지
별명 세트와 함수 라이브러리를 빌드 할 때 특정 명령이 별명인지 함수인지 기억하기가 어려워 질 수 있습니다. 당신은 사용할 수 있습니다 type 당신을 생각 나게 명령. 여기서 멋진 점은 정의를 볼 수 있다는 것입니다.
사용합시다 type 우리에 ftc 별명과 우리 up 함수.
type ftc
type up

우리는 각각의 명령 유형과 정의와 함께 매우 유용한 알림을받습니다.
수집 시작
별명 및 기능은 명령 행 사용 속도를 엄청나게 높일 수 있습니다. 명령 순서를 단축 할 수 있으며 항상 표준 명령에 사용하는 옵션을 구울 수 있습니다.
멋진 하나의 라이너 또는 유용한 기능을 볼 때마다이를 조정하고 개인화 한 다음“.bash_aliases”또는“.bash_functions”파일에 추가 할 수 있습니다.








