Я знаю, что некоторые люди имеют некоторые сценарии запуска, а некоторые персонализируют приглашение. Один разработчик использует короткие псевдонимы для длинного пути, который он часто посещает, и часто используемых команд.
Каковы все эффективные настройки, которые вы выполнили в своем профиле UNIX для повышения производительности и простоты использования?
Ответы:
.vimrc
сохраните файл с правами root, набравw!!
:.bashrc
Не связывайтесь с устройствами или бинарными файлами приgrep
загрузке:Поделиться кодом в Интернете (например, pastebin, но проще)
cat 1337.sh | webshare
Это возвращает короткий URL в вашем буфере обмена; Вы можете добавить
?whatever-lang
к возвращенному URL, чтобы выделить его синтаксис и пронумеровать строки..inputrc
Используйте режим vi во всем, что использует библиотеку readline (многие программы):источник
сделать каталог и компакт-диск в одной команде
Большую часть времени я делаю
mkdir
, моя следующая командаcd <that dir>
.Это экономит время при наборе:
например:
Еще одна вещь, которую я считаю полезной, - это простой способ создать одноразовый каталог. например, если я собираю программу или даже пытаюсь воспроизвести проблему на этом сайте. Иногда я могу забыть очистить каталог.
показывая это работает:
Я полагаюсь на очистку системы
/tmp
после перезагрузки, но это можно было бы улучшить, например, заставить ее удалить временный каталог после выхода из оболочки.источник
mcd
уже много лет и собираюсь добавить что-то подобное вmtd
ближайшее время.mtd() { mcd $TMP/`date +%y%m%d-%H%M%S-%N`; }
. Возможно, ему не хватает портативности, но для меня этого достаточно.Мне нравится, когда моя подсказка bash показывает код завершения предыдущей команды, если она не была нулевой. Мне также нравится моя оболочка, чтобы подбодрить меня, когда я ее использую, поэтому я добавил немного глупости:
поэтому, когда я запускаю команды, я получаю приятную визуальную обратную связь:
редактировать : это то, что я положил в мой ~ / .bashrc
источник
.bashrc
видимому.до N
подпрыгнуть N каталогов вверх в дереве каталогов
Вместо того, чтобы печатать
вы просто печатаете
и
верну тебя
Поместите функцию в ваш .bashrc, чтобы использовать ее.
источник
.zshrc
:.xmodmaprc
:Переключение клавиш Escape и Caps Lock.
источник
Я запутался в своем bashrc, так как много пользуюсь терминалом (это заставляет меня быстро учиться и изучать интересные вещи, а также интересные инструменты). Я обычно определяю множество функций в моем bashrc. Примеры:
Извлечь архивы:
переименовать файлы и папки:
и вот так для разделения больших файлов на несколько маленьких:
Также я отредактировал много псевдонимов, поскольку обнаружил, что в некоторых случаях гораздо проще использовать одну команду с аргументами по умолчанию (например, в командах ls, grep и small), чем каждый раз вводить все это.
источник
(Сообщество вики, поэтому каждый трюк принадлежит в отдельном ответе.)
безопасный выход
Ctrl+ D- это самый простой способ выйти из оболочки, но если у вас все еще есть рабочие места, он все равно с радостью выйдет из оболочки. По умолчанию это означает, что все программы, которые вы запускали из этой оболочки, будут уничтожены.
Некоторые оболочки позволяют вам выйти из системы только после двойного нажатия Ctrl+ D, но это все равно слишком легко сделать случайно.
Таким образом , вместо того, чтобы добавить это
.bashrc
или.zshrc
или любой другой файл конфигурации вы предпочитаете.источник
(Сообщество вики, поэтому каждый трюк принадлежит в отдельном ответе.)
искать в своей истории все способы запуска команды
Возможно, вы уже знаете о Ctrl+ R, но это гораздо более гладко, ИМХО.
Установите Alt+ Pдля поиска в истории команд, которые начинаются с того, что вы уже ввели.
Например,
ls
Alt+ P, Alt+ P, Alt+ P будет искать в обратном направлении по всем вашимls
командам.Вы должны поместить это в свой
/etc/inputrc
или.inputrc
дляbash
:и это в вашем
.zshrc
дляzsh
:Вы могли бы даже сделать еще один шаг и сделать это стрелкой вверх.
источник
простой калькулятор
Вы можете использовать
$(( ... ))
илиexpr ...
делать очень простые вычисления, но это делает целочисленное деление, напримерЛучший способ - использовать
bc
.тогда:
источник
alias py='PYTHONSTARTUP=~/.pythonstartup python'
сfrom math import *;
в этом файле. Проблема целочисленного деления остается нерешенной, но она более удобна для более сложных операций.лучшее завершение вкладки
Я не думаю, что кто-то упомянул Tabзавершение настройки еще.
Вот что у меня есть.
Это две основные вещи:
например,
cd <Tab>
будет предлагать только каталогинапример
d<Tab>
все равно будет завершенDesktop
иDownloads
Для Баш:
Для зш:
источник
Безопасное сжатие
Программы сжатия удаляют исходный файл по умолчанию. Мне это не нравится
Многострочная подсказка
Вы можете отображать «теги» с переменными окружения. Пример:
Код по крайней мере частично основан на этом .
Настройки истории
источник
источник
Если вы можете ВКЛЮЧИТЬ АВТОКОМПЛЕКТ И ИСПРАВЛЕНИЕ ИМЕНИ ФАЙЛА ИМЕНИ ФАЙЛА! Это, вероятно, две вещи, которые сэкономят вам больше всего времени. Затем научитесь их использовать - у Bash и Zsh есть табуляция. У Ksh неэффективная обратная косая черта, поэтому я рекомендую против Ksh.
Я использую Zsh, но псевдонимы, подобные этому, будут работать практически в любой оболочке, кроме Csh:
Кажется, что псевдоним для «ps» должен быть там, но я обнаружил, что использую «ps» самыми разными способами, и я пока ничего не нашел.
В Zsh установите переменную RPROMPT (не опечатку!):
Весь каталог появляется в правой части командной строки, готовый для вырезания-вставки. Подробнее об этом позже.
Вы должны использовать правильно скомпилированный современный Vim из-за возможности иметь несколько окон vim в файл и несколько буферов. В вашем .vimrc могут быть такие вещи:
Многие из них являются личными предпочтениями, но я действительно полагаю, что вкладки с 8 пробелами делают код менее читабельным, и есть исследование, которое можно найти, чтобы доказать это.
Кроме того, "мышь = с" важно. Вы не должны использовать мышь для перемещения по файлу. Отнимите руки от клавиатуры, прикоснитесь к мышке и отодвиньте их назад медленно. Используйте «hjkl» движение курсора, а также другие клавиши клавиатуры и перемещения курсора.
Если вы используете X11, вам следует сделать несколько вещей с вашей конфигурацией Xterm. Это выходит из моего файла .Xresources:
Дайте Xterm полосу прокрутки по умолчанию, сохраните 1000 строк текста в буфере, это довольно стандартно.
В директиве charClass «слово» включает такие слова, как «.», «/» И «*». Двойной щелчок на любой части имени файла, разделенного символом «/», и вы получите все, кроме символов «:».
CutToBeginningOfLine работает с Zsh RPROMPT выше. Тройной щелчок по пути текущего рабочего каталога, который появляется в RHS вашей командной строки, и вы выбираете только путь: копия останавливается в начале слова. Высокоэффективно, как только вы к этому привыкли.
Вышеуказанные X-ресурсы также превращают их в ключ вставки. Таким образом, после того, как вы скопировали (возможно, с помощью мыши), вы можете вставить, не перемещая руку назад к мыши, чтобы щелкнуть.
источник
Esc``Esc
илиEsc``=
вksh
, иTab
работает вksh93
. На всякий случай, если кто-то застрял или предпочитает это.Добавление ненулевого возвращаемого значения последней команды - отличная идея. Я думаю, что оригинальный постер специально спрашивал о .profile / .cshrc / .bashrc. Стоит упомянуть список других обычно настраиваемых RC-файлов, но я бы остановился только на настройках оболочки для этого вопроса.
Я также недавно добавил флаг в моем приглашении, который отображается, когда оболочка работает под экраном. Он использует команду Solaris "ptree" для поиска процессов-предков, но вы можете использовать команду "pstree" в Linux, чтобы сделать то же самое.
Мне потребовалось несколько минут, чтобы выяснить, как встроить код возврата последней команды, поэтому я опубликую его здесь.
Я уверен, что это можно сделать красивее. :-)
Будущий совет, будьте осторожны с чтением $? после использования "if [". Если левая скобка является встроенной, она не переопределит значение $ ?. Но если вы используете оболочку, где [не является встроенной, то она сбросит значение $? после тестирования. Безопаснее назначить $? во временную переменную сразу, а затем проверить эту переменную.
источник
показать последний измененный файл
Часто я хочу посмотреть на самый последний файл. например, я могу быть в каталоге logs и хочу посмотреть, какой файл самый последний, потому что это первое место, где можно посмотреть, почему что-то не работает.
ls -lt | head
но неудобно набирать, так что вот альтернатива:Также требуется подстановочный знак или список файлов, например
что особенно удобно, если все ваши файлы журналов имеют временную метку в своем имени. Вы можете найти последний журнал для этой программы, не беспокоясь о том, в каком формате находится отметка времени.
А вот расширенная версия, которая поддерживает
-<number>
возможность печати<number>
строк вместо одной.источник