Bash alias
없이는 살 수 없습니다 Bash alias 는 Bash 명령을 새로운 것으로 보완하거나 재정의하는 방법입니다. Bash 별칭을 사용하면 사용자가 POSIX 터미널에서 경험을 쉽게 사용자 지정할 수 있습니다. 그들은 종종$HOME/에서 정의됩니다.bashrc 또는$HOME/bash_aliases($HOME/에 의해로드되어야합니다.바쉬 르크).
대부분의 배포판은 기본값에서 적어도 일부 인기있는 별칭을 추가합니다.새 사용자 계정의 bashrc 파일. 이들은 간단한 사람이 구문을 보여주의 Bash 별칭:
alias ls="ls -F"
alias ll="ls -lh"
지 모든 배포로 배를 미리 채워진 별명을,하지만., 추가할 경우에는 별칭을 수동으로 해야 합니다 다음으로 현재를 강타 세션:
$ source ~/.bashrc
그렇지 않으면,당신은 당신할 수 있습 터미널을 닫고 다시 열 수 있도록 그것은 다시 로드 구성 파일입니다.
사람들과 별칭을 정의에서 당신의 Bash 초기화 스크립트는 다음을 할 수 있습니다형 ll 고의 결과를 얻을 수 ls-l 때,그리고 당신은 유형 ls 을 얻을 대신 출력의 일반의 오래된 ls.
그 별칭은 가지고있는 것이 좋지만 가능한 것의 표면을 긁을뿐입니다. 여기에 당신이 그들을 시도하면,당신은없이 살 수 없습니다 상위 10 배쉬 별칭입니다.,
먼저 설정
시작하기 전에~/라는 파일을 만듭니다.bash_aliases:
$ touch ~/.bash_aliases
그런 다음이 코드가~/에 나타나는지 확인하십시오.bashrc 파일:
if ; then
source $HOME/.bash_aliases
fi
하려는 경우에도 모든 의 별칭 이 문서에서 자신을 위해 입력이 가능합니다.bash_aliases 파일,다음 소스~/와 Bash 세션에로드합니다.바쉬 르크 명령.,
종류에 의해 파일 크기
을 시작했다면 컴퓨팅과 생활 GUI 파일 관리자처럼 노틸러스에서 그놈을 찾기에서 맥 os,또는 탐색기에서 Windows,당신은 아마 사용하여 목록을 정렬하여 파일의 크기입니다. 터미널에서도 그렇게 할 수는 있지만 정확히 간결하지는 않습니다.
추가 이 별칭을 구성에 GNU 시스템:
alias lt="ls --human-readable --size -1 -S --classify"
이 별칭을 대체 lt 로 ls 명령을 표시하는 크기의 각 항목,다음 종류에 의하여 그것의 크기,에서 하나의 열과 함께 표기를 나타내는 종류의 파일입니다., 을 로드하는 새로운 별칭,그리고 그것을 밖으로.
On MacOS 또는 BSD,ls 명령이 없는 동일한 옵션이므로,이 별칭을 작동하는 대신:
alias lt="du -sh * | sort -h"
의 결과 이 버전은 조금 다르다:
$ du -sh * | sort -h
0 compile
0 COPYING
0 install-sh
0 missing
4.0K configure.ac
4.0K dot-gitlab.ci.yml
4.0K flatpak.path.patch
4.0K git-portal.spec
4.0K info.slackermedia.Git-portal.json
4.0K Makefile.am
8.0K README.md
12K config.log
16K bin
24K Makefile
24K Makefile.in
32K config.status
36K LICENSE
44K aclocal.m4
60K share
140K configure
476K autom4te.cache
사실,심지어에서 리눅스,명령,유용 기 때문에 사용하는 ls 목록 디렉터리 및 심볼릭 링크되는 것으로 0,크기가 아닐 수 있는 정보를 당신이 실제로 원한다. 그것은 당신의 선택입니다.
이 별칭 아이디어에 대해 Brad Alexander 에게 감사드립니다.
마운트 된 드라이브 만보기
마운트 명령은 그렇게 간단했습니다., 하나의 명령으로,당신이 얻을 수있는 목록의 모든 마운트된 파일시스템에서 컴퓨터,그리고 자주 사용되는 개요에 대해 무엇의 드라이브들에 부착된 워크스테이션입니다. 그것은 인상적인을 보다 더 많은 세 개 또는 네 개의 항목이기 때문에 대부분의 컴퓨터에 있지 않는 더 많은 USB 포트가 이상하는,그래서 그 결과를 관리할 수 있습니다.,
컴퓨터 조금 더 복잡한 지금,그리고 사 LVM,물리적 드라이브,네트워크 스토리지 및 가상 파일시스템의 결과는 마운트하기 어려울 수 있습 parse:
이 문제를 해결하기 위해 시도하는 별칭이다.
alias mnt="mount | awk -F" " "{ printf \"%s\t%s\n\",\$1,\$3; }" | column -t | egrep ^/dev/ | sort"
이 별칭을 사용하여 awk 를 분석해 출력의 마운트에 의해 열이 을 줄이 출력하여 당신은 아마를 찾고(무슨 하드 드라이브,지 않는 파일 시스템이 장착):
On MacOS,mount 명령을 제공하지 않은 정말 자세한 정보를 출력,그래서 별칭을 수 있습입니다., 그러나,당신이 선호하는 경우 간결하고,이 시도:
alias mnt="mount | grep -E ^/dev | column -t"
결과:
이 찾는 명령에 grep 역사
때때로 당신은 그게 뭔가를 터미널에서,그리고 자신을 약속하는 결코 잊지 않을 것이 무엇입니다. 그런 다음 한 시간이 지나고,당신이 한 일을 완전히 잊어 버렸습니다.
당신의 배쉬 기록을 통해 검색하는 것은 모두가 수시로 할 일이다., 을 정확히 알고 있다면 당신이 찾고있는 무엇인가에 대한 사용할 수 있습니다 Ctrl+R 할 역 검색을 통해 귀하의 기록이지만,때때로 당신은 당신을 기억할 수 없는 정확하고자 하는 명령어를 찾을 수 있습니다.
여기에는 별칭을 확인하는 작업이 좀 더 쉽게:
alias gh="history|grep"
의 예는 다음과 같이 그것을 사용하는 방법
$ gh bash
482 cat ~/.bashrc | grep _alias
498 emacs ~/.bashrc
530 emacs ~/.bash_aliases
531 source ~/.bashrc
종류에 의해 수정시간
이것은 일이 매주 월요일:당신은 작업을 얻을,당신이 컴퓨터 앞에 앉아,당신은 터미널, 당신은 당신을 찾을 잊어버린 당신이 무엇을 하고 있던 지난 금요일입니다., 필요한 것은 가장 최근에 수정 된 파일을 나열하는 별칭입니다.
사용할 수 있습니다 ls 명령을 만드는 별칭을 찾을 수 있도록 떨어져 왼쪽:
alias left="ls -t -1"
출력 간단,확장할 수 있지만 그것–긴 옵션을 선호하는 경우., 별칭으로,나열을 표시합니다:
$ left
demo.jpeg
demo.xcf
design-proposal.md
rejects.txt
brainstorm.txt
query-letter.xml
Count 파
알아야 할 필요가있는 경우 얼마나 많은 파일이 있는 디렉토리에서,이 솔루션은 하나의 가장 고전적인 예로 유닉스의 명령할 목록은 파일과 ls 명령,제어,출력만 하나의 열 -1 옵션,그리고 다음 파이프에 출력하는 화장실(word count) 명령을 계산하는 방법은 많은 라인의 단일 파일이 있다.
그것의 화려한 데모를 유닉스 철학이 사용자가 자신의 솔루션을 사용하는 작은 시스템 구성 요소입니다., 이 명령을 조합도 많이 타는 경우에 당신은 할 일이 있다 그것은 하루에 여러 번,그것은지 않는 정확하게 작업 디렉토리의 디렉토리지 않고-R 옵션을 사용하여 소개하는 새로운 라인을 출력하고 렌더링하는 운동용없습니다.
대신에,이 별칭은 프로세스가 쉽습니다:
alias count="find . -type f | wc -l"
이나 카운트한 파일을 무시하고,디렉토리지 내용의 디렉토리입니다. 프로젝트가 있는 경우를 포함하는 폴더가 두 디렉토리가 포함되어 각각 두 개의 파일명이 반환에 네가 있기 때문에 네 개의 파일 전체에서 프로젝트입니다.,파이썬 가상 환경 만들기
$ ls
foo bar
$ count
4
파이썬으로 코딩합니까?
파이썬에서 많이 코딩합니까?그렇다면 파이썬 가상 환경을 만들기 위해서는 최소한 53 개의 키 입력이 필요하다는 것을 알고 있습니다.
는 49 너무 많은,그러나 쉽게 피로 두 개의 새로운 별칭이라고 경고하고,va:
alias ve="python3 -m venv ./venv"
alias va="source ./venv/bin/activate"
실행 ve 새로 만든 디렉토리라는 venv 포함,일반적인 가상 환경을 파일시스템에 대한 Python3., Va 별칭을 활성화하는 환경에서 당신의 현재 쉘:
$ cd my-project
$ ve
$ va
(venv) $
추가 복사본을 진행됩
모두 넘나들며 재미에서 진행을 막기 때문에 그들은 악명 높은 정확하지 않습니다. 그럼에도 불구하고,깊은 곳에서,우리 모두는 그들을 원하는 것처럼 보입니다. UNIX cp 명령에는 진행률 표시 줄이 없지만 자세한 내용은 a-v 옵션이있어 터미널에 복사되는 각 파일의 이름을 에코한다는 의미입니다. 는 매우 좋은 해킹이지만,그것은 작동하지 않게 잘하면 복사하는 하나의 큰 파일을 원하는 표시하는 방법 파일의 많은 아직 전송할 수 있습니다.,
pv 명령은 복사 중에 진행률 표시 줄을 제공하지만 기본 응용 프로그램으로는 일반적이지 않습니다. 다른 한편으로는,재미난 명령에 포함된 기본 설치 거의 모든 POSIX 사용할 수 있는 시스템이며,널리의 하나로서 인식되고 똑똑한 방법으로 파일을 복사 모두 원격으로습니다.
더 나은 아직 진행률 표시 줄이 내장되어 있습니다.,
alias cpv="rsync -ah --info=progress2"
를 사용하여 이 별칭을 사용하는 것과 동일 cp 명령:
$ cpv bigfile.flac /run/media/seth/audio/
3.83M 6% 213.15MB/s 0:00:00 (xfr#4, to-chk=0/4)
흥미로운 부작용의 이 명령을 사용하는 재동기화를 모두 복사한 파일 및 디렉토리지 않고기는 cp 그렇지 않으면 필요합니다.
파일 제거 사고로부터 자신을 보호
rm 명령을 사용해서는 안됩니다. Rm 설명서에도 이렇게 말한다:
경고:사용한 경우’rm’파일을 제거하려면,그것은 일반적으로 가능한의 내용을 복구하는 파일입니다., 내용이 진정으로 복구 할 수 없다는 더 많은 확신을 원한다면’파쇄’사용을 고려하십시오.파일을 제거하려면 바탕 화면을 사용할 때와 마찬가지로 파일을 휴지통으로 옮겨야합니다.
Posix 는 휴지통이 파일 시스템에서 액세스 할 수있는 실제 위치이기 때문에 쉽게 만듭니다. 해당 위치는 플랫폼에 따라 변경 될 수 있습니다:FreeDesktop 에서 휴지통은~/에 있습니다.로컬/공유/휴지통,MacOS 에서는~/입니다.,쓰레기는 하지만,어느 방법으로,그것은 그냥 디렉토리는 당신이 원하는 파일이 있는 광경에 준비가 될 때까지 삭제합니다.
이 간단한 별칭하는 방법을 제공합 던지기로 파일을 쓰레기통에서 당신의 터미널:
alias tcn="mv --force -t ~/.local/share/Trash "이 별칭을 사용한 잘 알려 mv 는 플래그를 제공할 수 있습하려는 파일을 이동으로 최종 논쟁을 무시하고 일반 요구 사항에 대한 파일을 가장 먼저 표시됩니다., 지금 사용할 수 있는 새로운 명령을 이동하는 파일과 폴더의 시스템 쓰레기:
$ ls
foo bar
$ tcn foo
$ ls
bar이 파일은”갔다,”하지만 당신이 때까지 실현에 땀는 당신은 여전히 필요합니다. 그 시점에서,당신은 당신할 수 있는 구조 시스템에서 파일을 쓰레기를 끝 Bash 및 mv 개발할 수 있습니다.
참고:더 나은 FreeDesktop 준수와보다 강력한 휴지통 명령이 필요한 경우 Trashy 를 참조하십시오.
Git 워크 플로우 단순화
누구나 고유 한 워크 플로를 가지고 있지만 일반적으로 반복적 인 작업이 있습니다., 당신이 정기적으로 힘내와 함께 작업하는 경우,당신은 자신이 꽤 자주 반복 찾을 아마 몇 가지 순서가있다. 어쩌면 당신은 자신을 찾으로 돌아가 마스터는 지점과 당신이 최신 변경 사항 또 다시 하루 동안,또는 어쩌면 당신은 자신을 찾을 수 있을 만드는 태그는 다음 그들을 밀어하는 원격 또는 어쩌면 그것은 완전히 다른 뭔가.
당신이 타이핑에 지쳐서 성장한 Git incantation 에 상관없이,당신은 Bash 별칭으로 약간의 고통을 덜어 줄 수 있습니다., 에 크게 감사하는 능력을 인수를 전달 후크,자식은 풍부한 세트의 내성적인 명령할을 수행하는 초자연적인 업적에 Bash.
예를 들면,당신은 어려울 수 있습을 찾아서,Bash,프로젝트의 최상위 디렉터리(로 Bash 에 관한 한,이는 전적으로 임의 지정은,때문에 절대 최고 수준을 컴퓨터의 루트 디렉토리),Git 알고있는 그것의 최고 수준의 간단한 쿼리가 있습니다., Git hooks 에 대해 연구하면 Bash 가 아무 것도 모르는 모든 종류의 정보를 찾을 수 있지만 Bash 별칭으로 해당 정보를 활용할 수 있습니다.,
여기에는 별칭을 찾기 위해 최고 수준의 자식 프로젝트는,아무리 어디에서는 해당 프로젝트의 현재 작업,그리고 디렉토리를 변경을 변경하는 마스터점,수행 Git pull:
alias startgit="cd `git rev-parse --show-toplevel` && git checkout master && git pull"이런 종류의 별칭을 의미하는 것입니다 보편적으로 유용한 별명이지만,그것은 방법을 보여 줍니다 상대적으로 간단한 별칭을 제거할 수 있습의 많은 힘든 탐색 명령하고 기다리는 메시지를 표시합니다.
a 더 간단하고 아마도 더 보편적 인 alias 는 Git 프로젝트의 최상위 레벨로 돌아갑니다., 이 별칭은 프로젝트에서 작업 할 때 해당 프로젝트가”임시 홈”디렉토리가되기 때문에 유용합니다. 그것은 간단해야한다 가”가”그것으로 이동하는 실제적 가정,그리고 여기에는 별칭이다:
alias cg="cd `git rev-parse --show-toplevel`"지금 명령 cg 은 최고의 자식 프로젝트는,아무리 깊은 그 디렉토리 구조은 당신이 내려왔다.,
디렉토리를 변경 내용을 전망하는 동시에
그것은 한 번(주장)에 의해 제안 선도적인 과학자는 우리를 해결할 수 있는 많은 행성의 에너지 문제점을 활용하여 에너지 소비에 의해 괴짜를 입력 cd followed by ls.
일반적으로 디렉토리를 변경할 때 충동이나 주변에 무엇이 있는지 볼 필요가 있기 때문에 일반적인 패턴입니다.그러나 컴퓨터의 디렉토리 트리를”걷는”것은 시작 및 중지 프로세스 일 필요는 없습니다.이것은 전혀 별칭이 아니기 때문에 속임수를 쓰고 있지만 Bash 기능을 탐구하는 좋은 변명입니다., 별칭은 빠른 대체에 좋은 반면,배쉬는 당신이 당신의 로컬 기능을 추가 할 수 있습니다.bashrc 파일(또는에로드하는 별도의 함수 파일.bashrc,당신이 당신의 별칭 파일을하는 것처럼).
물건을 모듈 식으로 유지하려면~/라는 새 파일을 만듭니다.bash_functions 다음 당신의.,bashrc 드:
if ; then
source $HOME/.bash_functions
fi에서는 기능 파일 코드를 추가합니다:
로드 기능으로 강타 세션이고 그 다음 그것을 시도하고 out
$ source ~/.bash_functions
$ cl Documents
foo bar baz
$ pwd
/home/seth/Documents
$ cl ..
Desktop Documents Downloads
$ pwd
/home/seth기능을 훨씬 더 유연보다는 별칭 하지만 그와 유연성에 대한 책임을 확인하는 코드를 의미가 무엇을 기대하고 있습니다. 별칭은 간단하기위한 것이므로 쉽지만 유용하게 유지하십시오. Bash 가 작동하는 방식을 심각하게 수정하려면 경로의 위치에 저장된 함수 또는 사용자 정의 쉘 스크립트를 사용하십시오.,
기록을 위해,몇몇 똑똑한 해킹을 구현하는 cd ls 시퀀스의 별칭으로,그래서 당신은 환자는 충분한 다음,하늘은 한계에도 겸손을 사용하여 별명이 있습니다.
앨리어싱 및 작동 시작