가장 좋아하는 유닉스 명령 줄 별칭? [닫은]


39

가장 좋아하는 명령 줄 별칭 (bash / sh / tcsh) 별칭은 무엇입니까? 여기 몇 가지가 있습니다.

별명 lsr = 'ls -lrt'
별명 gon = 'cd $ HOME / Notes'
별명 devdb = 'mysql -h dev --user = x --password = secret dbname'
별명 ec = 'rm * ~'; # 이맥스 정리
별명 h = 'history'
별명 eb = 'exec bash'; # Solaris는 때때로 sh로 기본 설정됩니다
별칭 mr = 'more'
별칭 mroe = 'more'
별칭 qd = '에코 내보내기 DISPLAY = $ DISPLAY'
별명 ralias = '. $ HOME / .alias '; # 별명 다시 읽기
alias ,, = 'cd ../ ..'
별명 .. = 'cd ..'
별명 c = 'clear'

18
명령 줄의 암호를 mysql서버의 다른 사람이 볼 수있는 곳으로 전달하는 대신 ~ / .my.cnf 파일에 사용자 이름과 암호를 입력하고 간단히 지정하십시오 -up. MySQL 도구는 이러한 자격 증명을 자동으로 선택합니다. 자세한 내용은 mysql (1)을 참조하십시오.
Alex J

+1 .. = 별칭 'CD ...'
mosg

'mroe'에 +1 일반적인 맞춤법 오류를 처리해야합니다 ...
gWaldo

답변:


12
function s()
{
    screen -t "$@" /usr/bin/ssh "$@"
}

장치 이름을 탭 제목으로하여 새 화면 탭에서 호스트에 연결하십시오.


11

지금까지 언급되지 않은 즐겨 찾기 :

alias l='ls'
alias u='cd ..'
alias uu='cd ../..'
alias uuu='cd ../../..'
alias uuuu='cd ../../../..'

나는 일반적으로 일을 줄이는 별칭의 팬이 아니지만 ls를 너무 많이 입력하면 한 손만 필요합니다.


+
1-

1
ls (와 cd)는 한 손만 필요합니다 ... 키 맵이 Dvorak 인 경우! 그 문제에 대해 'Enter'와 같은 손.
gbarry

8

나는 내가 로그인 할 모든 시스템 (나 자신, 루트 또는 누구든지)에서 구성 될 것이라고 보장 할 수 없기 때문에 아무도 없습니다.


1
바로 그거죠! alias ls = "ls --color = auto와 같은 무해한 것은 괜찮지 만 rm 명령 등을 변경하는 것은 어떻습니까?
user9474

7

나는 매일 시스템을 너무 많이 바꾸어 기본적으로 포기했습니다.


여러 머신간에 홈 디렉토리를 동기화하지 않습니까? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
Andy Lester

5k 대의 컴퓨터 주위에 다른 관리자 그룹을 유지하고 있습니다. 전체 수명 동안 이러한 컴퓨터의 대부분은 원격 대화식 사용자 세션이 없었습니다 (모든 설치 및 구성이 자동으로 수행됨). 때로는 더 심각한 문제가 발생하여 로그온해야합니다. 우리는 공유 NFS 파티션에서 자동 마운트하기 위해 사용자 관리자 계정을 갖는 것을 고려했지만 그 용도로는 가치가 없습니다.
Martin P. Hellwig

1
... 관리자 / 루트 계정에 경로에 nfs 디렉토리가 포함되어 있지 않습니다. NFS가 붕크 할 때 관리자 / 루트 계정도 있습니다. 내 고객 중 일부는 이것을 열심히 배우는 것을 고집합니다.
David Mackintosh

6
alias ..="cd .."
alias ...="cd ../.."

# mkdir and enter it immediately thereafter
mcd()           { mkdir $1 && cd $1; }

# when entering a directory, list the contents.
cd()            { builtin cd "$@" && ls; }

6

내 "별칭 목록"의 총 내용은 다음과 같습니다.



나는 "보통"일하지 않는 유닉스 머신을 고치는 데 충분한 시간을 보냈다. (소프트웨어 하우스에 대한 사내 유닉스 관리자였던 단점 중 하나는 고객 사이트, A Lot) 나는 "unalias -a"를하는 것인데, 그냥 일반 프로덕션 관리자가 맞춤법 오류와 상호 작용하지 않았기 때문에 사용자 정의하기가 너무 번거 롭습니다.

이것도 정상적인 사용법으로 이어졌습니다.


6
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'

많은 사람들이 동의하지 않는다는 것을 알고 있지만 안전망을 좋아 합니다. (그리고 tcsh를 사용해 주셔서 용서해주세요.)

그러나 이와 다소 비슷한 것은 불법입니다.

alias rm 'rm -i'

나는 그 별명을 가진 시스템에 대해 훈련을받은 사람들을 보았고 rm *어떤 시스템에서 삭제할 파일에 대한 질문을 기대하고 다른 시스템에 입력 한 다음 거기에 앉아 정확히해야 할 일을하는 것을 보았습니다.

편집하다:

의견 중 일부는 쓰레기 수거통 별명을 "-i"플래그와 비교하여 유사하다고 말합니다. 그러나 나에게는 중요한 차이점이 있습니다. "-i"를 사용하면 명령을 사용할 때마다 확인 프롬프트가 표시되며 예상하고 의존하는 것이됩니다. 반면 쓰레기통 솔루션은 실제로 실수를하고 파일을 제거해야 할 때까지 표준 rm과 똑같이 작동합니다. 그것은 훈련 바퀴와 트렁크의 스페어 타이어의 차이점과 약간 같습니다.


bash에 해당하는 함수는 다음과 같습니다. del () {path = readlink -f "$1"mkdir -p $ WASTE $ path mv $ path $ WASTE $ path} 완벽하지는 않지만 (파일 이름으로 새 디렉토리를 만들 때) 완벽하지는 않지만 정상적으로 작동합니다. (개행 문자 입력은 독자를위한 운동으로 남았습니다!)
gbjbaanb

+1 : Tcsh도 사용합니다 :-)

+1 : 당신은 tcsh의 사용에 대한 용서하고)
bedwyr

6
공정성에서 확인 프롬프트를 기대하고받지 않는 것은 쓰레기통에 들어가고 일어나지 않는 것을 기대하는 것만 큼 나쁩니다. 실제로 차이는 없습니다.
Dan Udey

@ 단 : 나는 같은 생각. 별명은 실제로 rm이라고 부르지 말고 바스켓의 경우 wb 또는 이와 유사한 것이어야합니다.
user9474 2016 년

4

이것들은 zsh 용이지만 다른 쉘로 합리적으로 쉽게 이식 할 수 있다고 생각합니다.

sudo() { [[ $1 == (vi|vim) ]] && shift && sudoedit "$@" || command sudo "$@"; } # sudo vi/vim => sudoedit
wst() { TZ=Australia/Perth date } # get local time no matter what server I'm on

FULLHOST=`hostname -f` 2>/dev/null || FULLHOST=`hostname` # reasonably portable, always gets a DHCP suffix too (if one exists)
SHORTHOST=`echo $FULLHOST | cut -d. -f1-2` # get the first two segments of hostname, which I used in my shell prompt

나의 무지에 대해 유감스럽게 생각합니다. sudo vim과 sudoedit의 차이점은 무엇입니까? sudo edit = sudo $ EDITOR입니까?
olle

sudoedit는 루트가 아닌 계정에서 편집기를 실행합니다. 즉, 자신의 ~ / .vimrc 등에 액세스 할 수 있습니다.
Alex J

1
로 변경 sudo vi <somefile>하면 +1 sudoedit <somefile! + 만약 가능하다면
Kevin M

4

여기 제가 가장 좋아하는 것들이 있습니다. (일부는 ZSH에 따라 다릅니다.)

alias ls='ls -F --color=auto'
alias l='ls'
alias ll='ls -ahl'
alias ..='cd ..'
alias ...='cd ../..'
alias mv='mv -i'
alias mmv='noglob zmv -W'
alias mcp='mmv -C'

mkcd() {
        if [ $1 = "" ]; then
                echo "Usage: mkcd <dir>"
        else
                mkdir -p $1
                cd $1
        fi
}

# ZSH global aliases for piping
alias -g H="| head"
alias -g T="| tail"
alias -g C="| wc -l"
alias -g L="| less"
alias -g G="| grep"
alias -g S="| sed -e"
alias -g A="| awk"

# Subversion related
alias ss='svn status'
alias sd='svn diff'
alias sc='svn commit'

# Git related
alias gs='git status'
alias gc='git commit'
alias ga='git add'
alias gd='git diff'
alias gb='git branch'
alias gl='git log'
alias gsb='git show-branch'
alias gco='git checkout'
alias gg='git grep'
alias gk='gitk --all'
alias gr='git rebase'
alias gri='git rebase --interactive'
alias gcp='git cherry-pick'
alias grm='git rm'

fortune -s  # Add to your profile to brighten your day :)


4

여기에는 많은 별칭이 필요하지 않습니다.

별명 c = 'clear'

[Ctrl] + [L]을 눌러 교체 할 수 있습니다.

별칭 mroe = 'more'

zsh는 기본적으로 철자 수정 기능을 제공하고 bash는 확장명으로 수정합니다.

alias something = "history | grep $ @"

[Ctrl] + [R]을 누르면 bash / zsh에서 동일한 작업이 수행됩니다.

back = 'cd $ OLDPWD'

모든 쉘에서 동일하게 수행 할 수 있습니다.

cd-

3
jldugger @ jldugger : ~ $ 별명 
별명 ls = 'ls --color = auto'
별칭 youtube-dl = 'youtube-dl -t

ls = 'ls --color = auto'의 경우 +1
Matt Simmons



2
alias ls="ls --color=auto -A -h -i -s --group-directories-first -l"
alias screen="screen -U"
alias sscreen="~/Projects/bin/start_screen.sh"
alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | emacs'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'

2

p = 'ps auxww | grep -v grep | grep'


경우에 따라 pgrep가 유용합니다. 같은 효과는 아니지만 여전히 유용합니다.
Juliano

2

오래된 펄 스크립트를 검색하려면 :

alias searchperl 'find /place1 /place2 /place3 -name "*.pl" | xargs grep

나 자신에게 파일을 이메일로 보내기 :

alias mailthis 'mail -s mailthis email@email.com < '

1
alias l='ls --color=auto -lsah'
alias ..='cd ..'

나는 다른 시스템에서 매우 자주 그리워합니다.


1
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

기록에서 가장 많이 사용 된 10 가지 명령을 표시하십시오.


더 짧은 버전, awk 필요 없음 : history | 컷 -f 5 -d ''| 정렬 | uniq -c | 정렬 -n | 꼬리
Marcin

1
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

모든 비밀번호를 기억하는 방법 ...


1

subversion과 관련된 것을 제외하고 현재 디렉토리와 하위 디렉토리의 모든 Python 코드에서 무언가를 찾는 것이 내가 가장 좋아하는 것입니다.

alias greppy="find . | grep -v [.]svn | grep [.]py$ | xargs grep "


1

내 bashrc에서 몇 가지를 뽑았습니다.

alias grep='grep --color=auto'
alias egrep='grep -E --color=auto'
alias e='$EDITOR'
alias g='git'
alias csort='sort | uniq -c | sort -n' # column sort piped data
alias sl='ls' # fat fingers

일반적으로 bashrc는 일반적으로 시스템이 사용하는 패키지 관리자를 파악한 다음 별칭을 aptand로 지정합니다. yumbashrc가 실행되는 모든 컴퓨터에서 의미가 있습니다.

apt search foo
yum install foo
apt update

완벽하지는 않지만 대부분의 일반적인 동작은 yum과 적성 사이에서 동일합니다. 더 복잡한 작업을 수행하려고 할 때 사용중인 OS를 기억할 수 있습니다.


1

아마도 내가 가장 좋아하는 것은 새 별칭을 쉽게 작성할 수 있기 때문입니다.

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'

1

나는 이것이 내가 가장 좋아하는 별칭이라고 말할 것입니다.

별명 이력서 = '화면 -D -R'

주말마다 Windows 워크 스테이션이 자동으로 재부팅 된 후 매우 편리합니다 (회사 정책).


1
if [ "$(uname)"="darwin" ]; then
  EDITOR=mate
  PATH=$PATH:~/.bin
  alias sleep_hdd='sudo pmset -a hibernatemode 1'
  alias sleep_ram='sudo pmset -a hibernatemode 0'
  alias sleep_combined='sudo pmset -a hibernatemode 3'
  alias cdproj='cd ~/Projects/Web'
  alias e='mate'
  alias vboxheadless='VBoxHeadless -startvm '
  alias subash='sudo bash'
fi

if [ "$(uname)" = "SunOS" ]; then
  alias ls='ls -F'
  alias e='vim'
  alias subash='pfexec bash'
fi

vboxheadless는 이미 $ PATH에 있어야합니다 : uname; 어떤 vboxheadless Darwin / usr / bin / vboxheadless
olle

1

이것은 대부분의 리눅스 데스크탑에서 작동합니다.

alias go='xdg-open'

Windows의 시작 명령과 유사한 등록 된 응용 프로그램으로 문서 또는 폴더를 엽니 다.


1
xdg-open으로 변경하면 모든 XDG 호환 데스크탑 환경에서 작동합니다.
Juliano

1

더미에 추가 할 몇 가지 더 :

# little bit more readable PATH
alias path='echo -e ${PATH//:/\\n}'

# like others, I find these more efficient than
# typing cd ../../ etc
alias up='cd ..'
alias 2up='cd ../../'
alias 3up='cd ../../../'
alias 4up='cd ../../../../'

# found myself always mistyping this, so...
alias findy='find . -name'


alias targz='tar -xzvf'
alias hg='history | grep '
alias cls='clear'

# handy for the xclip tool
alias xclip='xclip -selection c'

# quick directory listing
alias ldir='ls -d */'

alias mys='mysql -uroot -psecret name-of-frequently-used-DB' 

alias trash='mv -t ~/.local/share/Trash/files --backup=t'
alias vb='vim ~/.bashrc'
alias +='pushd .'
alias _='popd'

이와 같은 스크립트에 비밀번호를 저장하면 600을 얻지 않는 한 잠재적으로 위험합니다. 또한 실행시 비밀번호는 히스토리 파일로 이동하며 잠재적으로 위험합니다.
Marcin

1
alias dsclean='find . -name .DS_Store -exec rm \{\} \;'
alias l='ls -lh'
alias ls='ls -G'

# Depends on your specific router
alias myip='curl -sn http://192.168.1.1/wancfg.cmd?action=view | grep td | tail -1 | tr -d '\''/<>a-z '\'''

# Start/stop local mysql installation
alias myserver='sudo /usr/local/mysql/support-files/mysql.server'
alias rssh='ssh -l root'
alias sc='./script/console'
alias sr='screen -r'
alias ss='./script/server'
alias sss='screen ./script/server'
alias up='svn up'
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'

1

명령 행에서 빠른 산술을 수행하십시오. 확장을 피하려면 곱셈에 "x"를 사용하십시오.

function math
{       
    echo "scale=2 ; $*" | sed -e "s:x:*:g" | sed -e "s:,::g" | bc
}


$ math 12,537.2 x 4
50148.8

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.