Есть ли что-то, без чего ты не можешь жить и сделает мою жизнь НАСТОЛЬКО проще? Вот некоторые из них, которые я использую («Дисковое пространство» и «Папки» особенно удобны).
# some more ls aliases
alias ll='ls -alh'
alias la='ls -A'
alias l='ls -CFlh'
alias woo='fortune'
alias lsd="ls -alF | grep /$"
# This is GOLD for finding out what is taking so much space on your drives!
alias diskspace="du -S | sort -n -r |more"
# Command line mplayer movie watching for the win.
alias mp="mplayer -fs"
# Show me the size (sorted) of only the folders in this directory
alias folders="find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn"
# This will keep you sane when you're about to smash the keyboard again.
alias frak="fortune"
# This is where you put your hand rolled scripts (remember to chmod them)
PATH="$HOME/bin:$PATH"
Ответы:
У меня есть небольшой скрипт, который извлекает архивы, я нашел его где-то в сети:
источник
Поскольку я использую так много разных машин, my
.bashrc
всегда устанавливает в командной строке, среди прочего, имя сервера, на котором я в данный момент вошел. Таким образом, когда я нахожусь на трех уровнях в telnet / ssh, я не пишу неправильную вещь в неправильном окне. Это действительно отстойrm -rf .
в неправильном окне! (Примечание: дома telnet отключен на всех машинах. На работе ssh не всегда включен, и у меня нет корневого доступа к очень многим машинам.)У меня есть скрипт,
~/bin/setprompt
который выполняется моим.bashrc
, который содержит:Этот сценарий устанавливает в приглашении имя хоста, за которым следует,
:)
если последняя команда была успешной и:(
последняя команда завершилась неудачно.источник
Цвет для страниц меньшего размера облегчает чтение страниц:
Цветные страницы также можно получить, установив большинство из них и используя его в качестве переменной env MANPAGER. Если вы хотите использовать этот пейджер не только для man, используйте переменную PAGER, например:
источник
Не больше CD ../../../ .. но до 4
Поднимает много dirs как число, переданное в качестве аргумента, если ни один не увеличивается на 1 по умолчанию (найден в ссылке в комментарии на stackoverflow.com и немного изменен)
источник
alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'
Я имею дело с множеством разных машин, поэтому один из моих любимых - псевдонимы для каждой машины, для которой мне часто требуется SSH:
Также полезно настроить хорошие
.ssh/config
и ssh-ключи, чтобы сделать переход между машинами еще проще.Еще один из моих любимых псевдонимов - для перемещения по каталогам:
И некоторые для часто используемых вариантов
ls
(и опечаток):История может быть очень полезной, но по умолчанию в большинстве дистрибутивов ваша история сдувается при каждом выходе из оболочки, и с самого начала она не имеет большого значения. Мне нравится иметь 10000 строк истории:
Таким образом, если я знаю, что я что-то делал раньше, но не могу вспомнить подробности, быстрый
history | grep foo
пробежит мою память.Я часто обнаруживал, что передаю выходные данные
awk
, чтобы получить определенный столбец вывода, например,df -h | awk '{print $2}'
чтобы найти размер каждого из моих дисков. Чтобы сделать это проще, я создал функциюfawk
в моем .bashrc:Теперь я могу запустить,
df -h|fawk 2
что экономит много текста.Если вам нужно указать разделитель ( например ,
awk -F:
для/etc/passwd
), эта функция, очевидно, не сможет справиться с этим. Слегка пересмотренная версия в этой сущности может обрабатывать произвольныеawk
аргументы перед номером поля (но все же требует ввода от stdin).источник
GPG зашифрованный bashrc
Я уверен, что у всех нас есть вещи, которые мы хотели бы добавить в наш bashrc, которые мы не хотим, чтобы их легко читали sudoers. Мое решение это:
У меня есть агент GPG, который делает это, поэтому мне нужно вводить пароль моего личного ключа только раз в несколько часов. Вы все еще должны иметь некоторое доверие к пользователям системы, потому что ваша переменная, функции и псевдонимы, которые вы определяете, могут быть извлечены из ОЗУ. Тем не менее, я использую это в основном для моего ноутбука. Если его украдут, я не хочу, чтобы кто-то легко видел такие вещи, как:
источник
MYsql < garbagecollect.sql
вместоmysql -uadmin -psecret < garbagecollect.sql
это отличный ресурс для этого:
покажи нам свой .bashrc
источник
Раньше я настраивал их повсеместно, но потом понял, что лучше просто вспомнить, как их делать «вручную», потому что это означало, что я 1) полностью пойму, что происходит, и 2) буду иметь доступ к этим возможностям, даже если мой пользовательский .bashrc не был установлен.
Единственное, что я использую в эти дни псевдонимы, - это сокращение повторяющегося набора действительно длинных строк (например,
alias myhost='ssh -T user@my.remote.host screen -dAr'
).источник
Один лайнер и крошечные сценарии могут продолжаться вечно. Я рекомендую man bash и писать вещи самостоятельно. Несколько хороших коротких вещей для bash на http://www.commandlinefu.com . Вот несколько вещей.
источник
history -p
трюк.Небольшой совет для Bash, если вы являетесь системным администратором и много работаете с привилегиями root:
Это предотвратит случайное уничтожение содержимого уже существующего файла, если вы перенаправите вывод (> имя файла). Вы всегда можете принудительно перезаписать с помощью> | имени файла.
источник
У меня есть следующее в моем bashrc
На локальной машине это выглядит так:
но на удаленном (через ssh) это:
источник
У меня было это в моем .bashrc некоторое время, и я нашел это полезным. Если вы входите в окно, экран запускается автоматически при входе в систему, таким образом, когда ваше сетевое соединение прерывается или что-то еще, вы не теряете то, что делали. Это должно быть размещено в конце.
источник
Сколько псевдонимов
fortune
вам нужно?Мне нравится создавать
cdd
псевдоним, который ведет меня туда, где я, скорее всего, буду работать на этом сервере.PATH
переопределение действительно принадлежит.bash_profile
, а не.bashrc
.На сервере, где я обычно использую большой набор
screen
s, у меня.bashrc
будет:(
screen
S были настроены, например, с помощьюscreen -U -S chaos1
.)источник
Помимо прочего, я установил некоторые значения по умолчанию на меньшее, предотвратил случайное закрытие моего терминала и включил прямую навигацию по истории:
источник
export IGNOREEOF="2"
У меня есть несколько битов:
источник
cd -
вместо bdХвост все логи в / var / log
источник
Чтобы иметь цвета для всех команд grep, таких как grep, egrep и zgrep, у меня есть следующее .bashrc
источник
Псевдоним «Папки» отличный! Я немного изменил его, чтобы каталоги с пробелами не вызывали ошибок.
источник
Я хотел бы повторить комментарий @ pjz о том, что нужно знать что-то вручную, а не настраивать их. Особенно, если вы получаете доступ к многочисленным машинам, как я всегда делаю.
Поэтому я точно знаю,
set -o vi
что знаю команды vi-edit в bash и не знаю emacs (кроме того, Ctrl + A мешаетscreen
). Я поставил это на свои собственные коробки.bashrc
Я также нахожу, что мне нужно включить,
export EDITOR=vim
потому что в некоторых последних дистрибутивах по умолчанию используется nano, что наиболее раздражает, когда в утилиту нужно что-то редактировать, когда я ожидал vi. : - /Я также изменяю свою подсказку. Давным-давно я обнаружил, что добавление последнего кода ошибки достаточно полезно, и мне это нравится. И мне нравится полный путь в командной строке. И текущий
screen
номер тоже. И имеет смысл включить текущего пользователя и имя хоста. Моя подсказкаPS1='\u@\h $PWD $WINDOW [$?] \$ '
источник
Имейте bash проверку, чтобы видеть, изменился ли размер окна (препятствует тому, чтобы редактирование линии стало странным, если вы изменяете размер своего окна терминала)
Это мой любимый Заставляет bash добавлять историю, а не перезаписывать ее. Обычно, когда вы запускаете bash, он загружает историю в память, а когда вы ее закрываете, записывает ее. Это означает, что если вы загрузите две оболочки, используйте обе, а затем закроете обе, та, которую вы закрыли последней, перезапишет все изменения.
Этот фрагмент заставляет его сначала только добавлять изменения (вместо перезаписи всего буфера), а затем заставлять его после каждой команды записывать изменения. По сути, вы получаете живое обновление .bash_history, поэтому, если вы запускаете новый терминал, у вас есть все команды из истории других запущенных сессий.
источник
Shell-fu.org .bashrc коллекция
источник
Вот мины:
источник
Это мои любимые:
Мне нравится иметь историю командной строки, которая никогда не забывает.
К сожалению, некоторое время назад я запустил оболочку из cron, которая как-то не читала .bashrc, и урезал все до 500 строк, уничтожив историю за многие годы. Поэтому я рекомендую это зайти в / etc / bashrc.
источник
Вот некоторые из моих фаворитов:
источник
Я использую это около 20 раз в день, чтобы перейти в последний измененный каталог:
Эти два хранят постоянные закладки часто используемых каталогов:
источник
От Автоматизации Linux и Unix Администрирование Кирка Бауэра (отличная книга!)
Новая строка в начале - моя, мне нравится иметь четкую грань между предыдущим выводом и подсказкой. Остальное это:
\ u = имя пользователя
\ h = хост
\ w = рабочий каталог
$? = последний код возврата
источник
Я скомпилировал несколько вещей вручную в $ HOME / local, поэтому у меня есть небольшой фрагмент:
У меня также есть IRC-клиент на моем сервере, работающий на экране, поэтому у меня есть это (не вещь .bashrc, но все же полезно)
источник
Я использую свой bashrc на многих машинах, поэтому у меня есть небольшой фрагмент, чтобы убедиться, что LS окрашен. Это исправит это на компьютерах с OSX, возможно, даже * BSD, если вы настроите строку uname.
Кроме того, у меня есть команда для резервного копирования файла, полезная, если вы собираетесь изменить конфигурационный файл и хотите сделать быстрое копирование заранее.
источник
Это один из моих любимых:
Если я забыл пройти аутентификацию, это позволяет мне делать это без необходимости тратить время на ввод текста, выполняя ssh-add после сеанса ssh.
источник
Пара хороших
Заставьте SSH автоматически заполнить имя хоста, к которому вы подключаетесь (если это в вашей конфигурации или истории)
Некоторые полезные настройки завершения bash
Некоторые полезные для Mac OS X
источник