Bí danh dòng lệnh Unix yêu thích? [đóng cửa]


39

Bí danh dòng lệnh yêu thích của bạn (bash / sh / tcsh) là gì? Dưới đây là một vài trong số mỏ.

bí danh lsr = 'ls -lrt'
bí danh gon = 'cd $ HOME / Ghi chú'
bí danh devdb = 'mysql -h dev --user = x --password = bí mật dbname'
bí danh ec = 'rm * ~'; # dọn dẹp emacs
bí danh h = 'lịch sử'
bí danh eb = 'exec bash'; # Solaris đôi khi mặc định là sh
bí danh mr = 'thêm'
bí danh mroe = 'thêm'
bí danh qd = 'echo xuất HIỂN THỊ = $ HIỂN THỊ'
bí danh ralias = '. $ HOME / .alias '; # đọc lại bí danh
bí danh ,, = 'cd ../ ..'
bí danh .. = 'cd ..'
bí danh c = 'rõ ràng'

18
Thay vì chuyển mật khẩu của bạn trên dòng lệnh đến mysql(bất kỳ ai khác trên máy chủ cũng có thể nhìn thấy nó!), Hãy đặt tên người dùng và mật khẩu vào tệp ~ / .my.cnf, và chỉ cần chỉ định -up. Các công cụ MySQL sẽ tự động chọn các thông tin đăng nhập đó, đọc mysql (1) để biết thêm thông tin.
Alex J

+1 Đối với bí danh .. = 'cd ..'
mosg

+1 cho 'mroe'. Tôi cần phải chăm sóc những lỗi sai chính tả phổ biến của mình ...
gWaldo

Câu trả lời:


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

Kết nối với máy chủ trong tab màn hình mới, với tên thiết bị làm tiêu đề tab.


11

Yêu thích của tôi đã không được đề cập cho đến nay:

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

Tôi thường không phải là một fan hâm mộ của bí danh chỉ rút ngắn mọi thứ, nhưng tôi gõ ls rất nhiều, và tôi chỉ cần một tay.


+1 - một ý tưởng không tồi
Rook

1
ls (và cd) chỉ cần một tay ... nếu sơ đồ phím là Dvorak! Tương tự như 'Enter', cho vấn đề đó.
gbarry

8

không vì tôi không bao giờ có thể đảm bảo chúng sẽ được cấu hình trên MỌI hệ thống mà tôi sẽ đăng nhập (như chính tôi, root hoặc bất cứ ai).


1
Chính xác! Những thứ vô hại như bí danh ls = "ls --color = auto vẫn ổn, nhưng thay đổi lệnh rm, v.v.? Không bao giờ.
user9474

7

Không, tôi thay đổi giữa các hệ thống rất nhiều mỗi ngày mà về cơ bản tôi đã từ bỏ nó.


Bạn không đồng bộ thư mục nhà của bạn giữa các máy khác nhau? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
Andy Lester

Tôi duy trì với một nhóm quản trị viên khác khoảng 5k máy, hầu hết các máy này trong suốt vòng đời của chúng không bao giờ có phiên người dùng tương tác từ xa (tất cả cài đặt và cấu hình xảy ra tự động), đôi khi có vấn đề nghiêm trọng hơn và bạn phải đăng nhập. Chúng tôi đã cân nhắc để tài khoản quản trị viên người dùng tự động gắn kết từ phân vùng NFS được chia sẻ, nhưng đối với việc sử dụng tài khoản này thì không đáng.
Martin P. Hellwig

1
... không có tài khoản admin / root bao gồm các thư mục nfs trong đường dẫn của nó - khi NFS là bork, tài khoản admin / root cũng vậy. Một số khách hàng của tôi nhấn mạnh vào việc học điều này một cách khó khăn.
David Mackffy

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

Tổng số nội dung của "danh sách bí danh" của tôi là:



Tôi đã dành đủ thời gian để sửa các máy unix mà tôi không "làm việc" bình thường (một trong những nhược điểm của việc quản trị viên unix trong nhà cho một nhà phần mềm, bạn kết thúc trên các trang web của khách hàng, Rất nhiều) Tôi làm là "unalias -a", chỉ để bất kỳ bí danh nào mà quản trị viên sản xuất bình thường không xảy ra để tương tác với một lỗi chính tả, sau đó quá nhiều rắc rối để tùy chỉnh.

Điều này đã được chuyển sang sử dụng bình thường của tôi, quá.


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

Tôi biết rằng nhiều người sẽ không đồng ý, nhưng tôi thích lưới an toàn. (Và hãy cố gắng tha thứ cho tôi vì đã sử dụng tcsh.)

Điều này hơi giống nhau nên được đặt ra ngoài vòng pháp luật, mặc dù:

alias rm 'rm -i'

Tôi đã thấy những người được đào tạo về các hệ thống có bí danh đó, sau đó họ gõ rm *vào một số hệ thống khác, hy vọng sẽ nhận được câu hỏi về những tập tin cần xóa, và sau đó họ ngồi đó và xem nó làm chính xác những gì nó phải làm.

CHỈNH SỬA:

Một số ý kiến ​​đã so sánh bí danh di chuyển đến thùng rác với cờ "-i", nói rằng chúng giống nhau. Nhưng với tôi, có một sự khác biệt quan trọng. Với "-i", bạn nhận được lời nhắc xác nhận mỗi khi bạn sử dụng lệnh và nó sẽ trở thành thứ bạn mong đợi và dựa vào. Mặt khác, giải pháp thùng rác hoạt động chính xác như rm tiêu chuẩn, cho đến khi bạn thực sự mắc lỗi và cần phải xóa một tệp. Nó hơi giống sự khác biệt giữa bánh xe huấn luyện và lốp dự phòng trong cốp xe.


tương đương bash yêu cầu một hàm: del () {path = readlink -f "$1"mkdir -p $ WASTE $ path mv $ path $ WASTE $ path} Nó không hoàn hảo (vì nó tạo một thư mục mới với tên tệp) nhưng nó hoạt động tốt. (đặt các dòng mới được để lại làm bài tập cho người đọc!)
gbjbaanb

+1: Tôi cũng sử dụng Tcsh :-)

+1: bạn được tha thứ vì đã sử dụng tcsh;)
bedwyr

6
Công bằng mà nói, mong đợi một lời nhắc xác nhận và không nhận được một điều tồi tệ như mong đợi nó đi vào một thùng rác và điều đó không xảy ra. Không có sự khác biệt, thực sự.
Dan Udey

@Dan: Mình cũng nghĩ như vậy. Bí danh thực sự không nên được gọi là rm, nhưng wb cho thùng rác, hoặc một cái gì đó tương tự.
dùng9474

4

Đây là cho zsh, nhưng tôi tưởng tượng bạn có thể chuyển chúng sang một vỏ khác một cách hợp lý dễ dàng:

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

Xin lỗi vì sự thiếu hiểu biết của tôi, sự khác biệt giữa sudo vim và sudoedit là gì? Là sudo chỉnh sửa = sudo $ EDITOR?
olle

sudoedit chạy trình soạn thảo của bạn dưới tài khoản của bạn, chứ không phải là root. Điều đó có nghĩa là bạn có quyền truy cập vào ~ / .vimrc của riêng bạn, v.v.
Alex J

1
+1 để đổi sudo vi <somefile>thành sudoedit <somefile! + nhiều hơn nếu tôi có thể
Kevin M

4

Đây là một số yêu thích của tôi. (Một số ít dành riêng cho 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ó rất nhiều bí danh ở đây không cần thiết:

bí danh c = 'rõ ràng'

có thể được thay thế bằng cách chỉ cần nhấn [Ctrl] + [L]

bí danh mroe = 'thêm'

và tương tự: zsh cung cấp sửa lỗi chính tả theo mặc định, bash thực hiện với phần mở rộng

bí danh gì đó = "history | grep $ @"

nhấn [Ctrl] + [R] sẽ làm điều tương tự trong bash / zsh

trở lại = 'cd $ OLDPWD'

điều tương tự có thể được thực hiện trong mọi vỏ với

cd -

3
jldugger @ jldugger: ~ $ bí danh 
bí danh ls = 'ls --color = auto'
bí danh youtube-dl = 'youtube-dl -t

+1 cho ls = 'ls --color = auto'
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

Để tìm kiếm các tập lệnh perl cũ cho một cái gì đó:

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

Gửi email cho mình một tập tin:

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

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

Tôi nhớ nó rất thường xuyên trên các hệ thống khác


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

Hiển thị 10 lệnh được sử dụng nhiều nhất trong lịch sử của bạn.


phiên bản ngắn hơn, không cần awk: history | cắt -f 5 -d '' | sắp xếp | uniq -c | sắp xếp -n | đuôi
Marcin

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

Làm thế nào tôi nhớ tất cả mật khẩu của mình ...


1

Đây là mục ưa thích của tôi, để tìm thứ gì đó trong tất cả các mã Python trong các thư mục hiện tại và thư mục con, ngoại trừ những thứ liên quan đến lật đổ:

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


1

Một vài cú nhảy từ bashrc của tôi:

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

Nói chung, tôi thường có bashrc của mình để tìm ra trình quản lý gói mà hệ thống sử dụng và sau đó đặt bí danh là apt, và yumcó nghĩa là trên bất kỳ máy nào mà bashrc của tôi chạy, tôi chỉ có thể làm:

apt search foo
yum install foo
apt update

Nó không hoàn hảo nhưng hầu hết các hành động phổ biến đều giống nhau giữa yum và năng khiếu, đến khi bạn cố gắng làm điều gì đó phức tạp hơn, bạn có thể nhớ bạn đang dùng hệ điều hành nào.


1

Có lẽ là yêu thích của tôi, vì nó làm cho việc viết bí danh mới trở nên dễ dàng:

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

1

Tôi sẽ nói đây là bí danh yêu thích của tôi.

tiếp tục bí danh = 'màn hình -D -R'

Nó chứng tỏ là rất tiện dụng sau khi máy trạm windows của tôi được tự động khởi động lại vào mỗi cuối tuần (chính sách của hãng).


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 nên có trong $ PATH: uname; mà vboxheadless Darwin / usr / bin / vboxheadless
olle

1

Cái này hoạt động trên hầu hết các máy tính để bàn linux:

alias go='xdg-open'

Mở một tài liệu hoặc thư mục với ứng dụng đã đăng ký, tương tự như lệnh start trên windows.


1
Thay đổi nó thành xdg-open và nó sẽ hoạt động trên mọi môi trường máy tính để bàn tuân thủ XDG.
Juliano

1

Một vài chi tiết để thêm vào đống:

# 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'

Lưu trữ mật khẩu trong các tập lệnh như thế này có khả năng gây nguy hiểm, trừ khi bạn nhận được 600. Ngoài ra, khi thực hiện, mật khẩu của bạn sẽ chuyển đến tệp lịch sử - cũng có khả năng nguy hiểm.
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

Làm số học nhanh từ dòng lệnh. Sử dụng "x" để nhân để tránh mở rộng.

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


$ math 12,537.2 x 4
50148.8

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.