Любимые псевдонимы командной строки Unix? [закрыто]

Какие ваши любимые псевдонимы командной строки (bash/sh/tcsh)? Вот несколько моих.

alias lsr='ls -lrt'
alias gon='cd $HOME/Notes'
alias devdb='mysql -h dev --user=x --password=secret dbname'
alias ec='rm *~'; # emacs cleanup
alias h='history'
alias eb='exec bash'; # Solaris sometimes defaults to sh
alias mr='more'
alias mroe='more'
alias qd='echo export DISPLAY=$DISPLAY'
alias ralias='. $HOME/.alias'; # reread aliases
alias ,,='cd ../..'
alias ..='cd ..'
alias c='clear'
39
задан 15 November 2010 в 20:34
52 ответа
function s()
{
    screen -t "$@" /usr/bin/ssh "$@"
}

Соединитесь с хостом на новой экранной вкладке с именем устройства как заголовок вкладки.

12
ответ дан 28 November 2019 в 19:45
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
3
ответ дан 28 November 2019 в 19:45

Ни один, я изменяюсь между системами так каждый день, что я в основном разочаровался в нем.

7
ответ дан 28 November 2019 в 19:45
  • 1
    Вы don' t синхронизируют Ваши корневые каталоги между различными машинами? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion –  Andy Lester 31 May 2009 в 07:20
  • 2
    Я поддерживаю с группой других администраторов вокруг 5k машин, большинство этих машин во время их всей продолжительности жизни никогда не имело удаленный интерактивный сеанс пользователя (вся установка, и конфигурация происходит автоматически), иногда существует странная проблема, и действительно необходимо войти в систему. Мы рассмотрели, чтобы сделать, чтобы пользовательские администраторы считали к автоматическому монтированию от общего раздела NFS, но для использования его isn' t стоящий того. –  Martin P. Hellwig 1 June 2009 в 12:16
  • 3
    ... don' t имеют учетные записи администратора/корня, включают каталоги nfs в ее путь - когда NFS является Bork, учетные записи администратора/корня - также. Некоторые мои клиенты настаивают на том, чтобы учиться этому на горьком опыте. –  David Mackintosh 22 October 2009 в 16:03
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
ответ дан 28 November 2019 в 19:45
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'

Я знаю, что многие не согласятся, но мне нравятся системы поддержки. (И попытайтесь простить мне за использование tcsh.)

Этот несколько подобный должен быть вне закона, хотя:

alias rm 'rm -i'

Я видел людей, которые были обучены на системах с тем псевдонимом, и затем они вводят rm * в некоторой другой системе, ожидая получать вопросы, о которых файлах удалить, и затем они находятся там и часы, это делает точно, что это, как предполагается, делает.

Править:

Некоторые комментарии сравнили псевдоним перемещения к корзине с флагом "-i", говоря, что они подобны. Но мне, существует важное различие. С "-i" Вы получаете подсказку подтверждения каждый раз, когда Вы используете команду, и это становится чем-то, что Вы ожидаете и полагаетесь. Решение для корзины, с другой стороны, работает точно как стандартная комната, пока Вы на самом деле не делаете ошибку и должны не удалить файл. Это немного похоже на различие между учебными колесами и запасной шиной в соединительной линии.

6
ответ дан 28 November 2019 в 19:45
  • 1
    эквивалентный удар требует функции: del () {соединяют каналом = readlink -f "$1" mkdir-p $WASTE$path mv $path$WASTE$path} не прекрасный (поскольку он создает новый dir с именем файла), но он работает хорошо. (включение новых строк оставляют как осуществление для читателя!) –  gbjbaanb 1 June 2009 в 19:35
  • 2
    +1: Я использую Tcsh также :-) –   2 June 2009 в 04:01
  • 3
    +1: you' ре, прощенное за использование tcsh ;) –  bedwyr 6 June 2009 в 04:20
  • 4
    Хорошо честно ожидая подсказку подтверждения и не добираясь каждый настолько же плохо как ожидает, что это войдет в корзину и это не случай. There' s никакое различие, действительно. –  Dan Udey 10 June 2009 в 04:49
  • 5
    @Dan: Я думал то же. Псевдоним действительно нельзя назвать комнатой, но wb для корзины или чем-то подобным. –  user9474 14 June 2009 в 20:48

Это для 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
4
ответ дан 28 November 2019 в 19:45
  • 1
    Извините за мое незнание, каково различие между sudo энергией и sudoedit? Редактирование sudo = sudo $EDITOR? –  olle 30 May 2009 в 19:22
  • 2
    sudoedit выполняет Вашего редактора в соответствии с Вашей учетной записью, а не как корень. Это означает, что Вы получаете доступ к своему собственному ~/.vimrc и так далее. –  Alex J 30 May 2009 в 20:00
  • 3
    +1 для изменения sudo vi <somefile> к sudoedit <somefile! +more, если я мог –  Kevin M 4 August 2009 в 18:45

Вот часть моего избранного. (Некоторые 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
ответ дан 28 November 2019 в 19:45
jldugger@jldugger:~ $ alias 
alias ls='ls --color=auto'
alias youtube-dl='youtube-dl -t
3
ответ дан 28 November 2019 в 19:45

Эти работы над большинством рабочих столов Linux:

alias go='xdg-open'

Открывает документ или папку с зарегистрированным приложением, подобным команде запуска на окнах.

1
ответ дан 28 November 2019 в 19:45
  • 1
    Измените его для xdg-открытий, и это должно работать над любой XDG-совместимой настольной средой. –  Juliano 8 June 2009 в 03:59

ни один, так как я никогда не могу гарантировать, что они будут настроены в КАЖДОЙ системе, в которую я войду (как сам, корень, или кто бы ни).

8
ответ дан 28 November 2019 в 19:45
  • 1
    Точно! Безопасные вещи как псевдоним ls =" ls - color=auto прекрасны, но изменение команды комнаты и т.д.? Никогда. –  user9474 14 June 2009 в 20:50
alias cdd='cd /wherever/my/current/project/is'
3
ответ дан 28 November 2019 в 19:45

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

2
ответ дан 28 November 2019 в 19:45
  • 1
    В некоторых случаях pgrep полезен. Не тот же эффект, но все еще полезный. –  Juliano 8 June 2009 в 04:00
alias l='ls --color=auto -lsah'
alias ..='cd ..'

Я пропускаю его очень часто в других системах

1
ответ дан 28 November 2019 в 19:45
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

Покажите лучшие 10 наиболее используемых команд в своей истории.

1
ответ дан 28 November 2019 в 19:45
  • 1
    более короткая версия, никакая потребность в awk: история |-f 5-d' сокращения; ' | вид | uniq-c | вид-n | хвост –  Marcin 1 August 2009 в 19:16
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

Как я помню все свои пароли...

1
ответ дан 28 November 2019 в 19:45

Вот мой фаворит, для нахождения чего-то во всем коде Python в текущих и дочерних каталогах, исключая связанных с подверсией:

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

1
ответ дан 28 November 2019 в 19:45

Некоторые щипнувшие от моего 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 что диспетчер пакетов системное использование и затем исказил его как apt и yum, имея в виду на любой машине, на которой работает мой bashrc, я могу просто сделать:

apt search foo
yum install foo
apt update

Это не прекрасно, но большинство общих действий является тем же между конфеткой и способностью, к тому времени, когда Вы пытаетесь сделать что-то более сложное, можно просто помнить то, что ОС Вы идете.

1
ответ дан 28 November 2019 в 19:45

Вероятно, мой фаворит, так как это делает пишущие новые псевдонимы настолько легкими:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
1
ответ дан 28 November 2019 в 19:45
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
1
ответ дан 28 November 2019 в 19:45
  • 1
    vboxheadless должен уже быть в Вашем $PATH: uname; который vboxheadless Darwin/usr/bin/vboxheadless –  olle 30 May 2009 в 19:27
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
ответ дан 28 November 2019 в 19:45

Мои фавориты, которые не были упомянуты до сих пор:

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

Я обычно не поклонник псевдонимов, которые просто укорачивают вещи, но я ввожу ls так очень, и l только нужна одна рука.

11
ответ дан 28 November 2019 в 19:45
  • 1
    +1 - не плохая идея –  Rook 30 May 2009 в 10:48
  • 2
    ls (и CD) только нужна одна рука..., если контурной картой является Dvorak! Та же рука как ' Enter' в этом отношении. –  gbarry 31 May 2009 в 04:56

Еще много для добавления к груде:

# 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'
1
ответ дан 28 November 2019 в 19:45
  • 1
    Хранение паролей в сценариях как это потенциально опасно, если Вы не получили его 600. Также после выполнения Ваш пароль переходит к файлу истории - также потенциально опасный. –  Marcin 1 August 2009 в 19:21

Общее содержание моего "списка псевдонима":



Я провел достаточно времени, чиня машины Unix, с которыми я "обычно" не работаю (одна из оборотных сторон того, чтобы быть внутренним администратором Unix для фирмы по разработке программного обеспечения, Вы заканчиваете на сайтах для клиентов, Много), что первая вещь, которую я делаю, состоит в том, чтобы "не исказить-a", именно так что любой псевдоним, который имеет нормальный производственный администратор, оказывается, не взаимодействует с орфографической ошибкой, после этого это - слишком много стычки для настройки.

Это перенесло в мое нормальное использование, также.

6
ответ дан 28 November 2019 в 19:45

Я сказал бы, что это - мой любимый псевдоним.

исказите возобновляют ='screen-D-R'

Это оказывается очень удобным после того, как моя рабочая станция окон будет автоматически перезагружаться каждые выходные (Политика фирмы).

1
ответ дан 28 November 2019 в 19:45
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
ответ дан 28 November 2019 в 19:45

Для тех неприятных коллег:

alias ls=rm
4
ответ дан 28 November 2019 в 19:45
  • 1
    Я предпочитаю намного более тонкий " исказите vi=vi-R" –  David Mackintosh 22 October 2009 в 16:07
1
ответ дан 28 November 2019 в 19:45

Сделайте быструю арифметику из командной строки. Используйте "x" для умножения для предотвращения расширения.

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


$ math 12,537.2 x 4
50148.8
1
ответ дан 28 November 2019 в 19:45

существует много псевдонимов здесь, которые не необходимы:

alias c='clear'

может быть заменен просто нажатие [Ctrl] + [L]

alias mroe='more'

и подобный: zsh обеспечивает исправление написания по умолчанию, удар делает это с расширениями

alias something="history | grep $@"

при нажатии [Ctrl] + [R] делает то же самое в bash/zsh

back='cd $OLDPWD'

то же может быть сделано в каждой оболочке с

cd -
4
ответ дан 28 November 2019 в 19:45

Для поиска старых сценариев жемчуга для чего-то:

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

Электронная почта самостоятельно файл:

alias mailthis 'mail -s mailthis email@email.com < '
2
ответ дан 28 November 2019 в 19:45

Теги

Похожие вопросы