После администрирования Unix или Unix-подобных серверов, какими инструментами (желательно из командной строки) вы не можете жить без них?
источник
После администрирования Unix или Unix-подобных серверов, какими инструментами (желательно из командной строки) вы не можете жить без них?
Некоторые я знаю, что я не могу жить без ...
tee - позволяет одновременно записывать в STDOUT (стандартный вывод) и файл. Отлично подходит для просмотра информации и записи ее на потом.
top - диспетчер задач UNIX, дает отличный обзор системы.
tail -f - позволяет просматривать добавленные данные по мере роста файла, отлично подходит для мониторинга файлов журналов на сервере.
grep - Global Regular Expression Print, отлично подходит для поиска в системе данных в файлах.
df - сообщает об использовании диском текущих файловых систем.
du - сообщает об использовании диска определенного файла / каталога.
меньше - нужно для просмотра страниц руководства! также полезно для просмотра вывода команд в легко доступной форме.
vim / Emacs / nano / pico / ed - какой бы текстовый редактор вы ни выбрали, понятно, зачем он нужен.
more
илиless
, вы всегда можете попробоватьmost
.htop
это "лучшая" версияtop
.Lsof , чтобы определить , какие процессы используют файл или каталог (полезно при попытке выяснить , что мешает устройство от того umount'd)
netstat, чтобы определить, какие процессы используют сетевые подключения (особенно полезно при попытке выяснить, какой демон связан с определенным портом)
источник
Изучите все основные инструменты, но изучите Perl.
Perl идеально подходит для манипулирования текстом, и поскольку операторы un * x работают с текстовыми файлами, каналами, вводом и выводом, Perl отлично подходит.
Дополнительным бонусом является то, что Perl является кроссплатформенным, и если вам нужно поработать над окном Windows, у вас есть легко устанавливаемый (просто перетащите каталог Perl на сервер) язык, который вы уже знаете.
И на этом ходу мыслей, возьми и Сигвина. Если вы не * x администратор и вам нужно работать на Windows-окне (даже на вашем рабочем столе) с ls, rm, grep, sed, tail и т. Д., Вы сэкономите много времени при переключении ОС.
источник
Забытые деды современных систем сценариев. Я знаю, что Perl получает большую часть любви (вместе со сценариями Bash, Python, Ruby и [вставьте ваш любимый язык сценариев здесь]), и не поймите меня неправильно, я люблю Perl. Я использую это почти ежедневно.
Но sed и awk не следует забывать, игнорировать или игнорировать. Для многих случаев sed и awk - лучшие инструменты для работы. Быстрые примеры: фильтрация в командной строке с помощью sed, а также быстрая и грязная обработка журналов с помощью awk. И то, и другое можно сделать в Perl, но это потребует больше работы и времени на разработку.
источник
rsync, особенно в сотрудничестве с SSH. Это позволяет просто и эффективно копировать файлы с хоста на хост. Как мы справились без ssh и rsync? :-)
источник
Netcat.
В сети швейцарский армейский нож, как говорится.
источник
Признайте это - рано или поздно вы будете иметь дело и с сетью. mtr , tcpdump и tshark действительно полезны для наблюдения за происходящим.
источник
Для быстрых сценариев, автоматизации и т. Д .:
Чтобы подключиться к вашему * NIX серверу:
источник
Я использую большинство из перечисленных инструментов, но здесь еще никто не коснулся:
источник
Для сценариев:
источник
Большинство стандартных включены в другие ответы, так что я пойду нестандартные:
источник
Несколько удобных инструментов, которые я еще не видел, упоминались:
источник
expect
ClusterSSH
источник
vmstat 1
Дает вам отличный обзор поведения системы.
источник
pv: отображает ход выполнения длительных операций, которые можно перенаправить. http://www.ivarch.com/programs/pv.shtml
Полезно тогда, когда вы захотите отследить что-то, что уйдет на века, например, копирование / сжатие сырых блочных устройств по сети (именно так я делаю резервные копии паранойи моего 8-гигабайтного нетбука, прежде чем возиться с чем-то серьезным, например с настройкой файловой системы).
Также: я буду вторым голосом за ssh, rsync, screen, htop и netcat, как упомянуто людьми выше - все это важнее, чем pv, но pv еще не упоминался. На самом деле pv часто является полезным дополнением при передаче данных в или из netcat.
источник
pv
может быть удобным инструментом, но остерегайтесь злоупотреблять им. Передача данных через него абсолютно влияет на производительность (все данные должны проходить через другую программу). На моей последней работе мы много занимались обработкой журналов. Один из парней решил начать использовать pv во всех сценариях обработки журналов, пока мы не обнаружили, что это добавило около 15% времени обработки для них. Теперь он используется только для заданий, которые занимают менее нескольких минут или имеют ограничения по существующим ресурсам (например, через медленное сетевое соединение).pv
связана с дисковым или сетевым вводом-выводом, а не с процессором / памятью). Тот же аргумент является ключевым против чрезмерного использованияcat
тоже (я иногда использую cat, когда на самом деле не нужен просто для того, чтобы вещи читались хорошо слева направо, но дополнительное копирование данных в памяти через канал и переключение контекста может иметь ощутимое влияние на производительность).cat
использования исходит от начала сcat foo
последующим нажатием стрелки «вверх», а затем добавлением| [command]
к моей предыдущей строке. Я знаю, что я получаю (небольшой) удар по производительности, удерживая кота там, но для того, чтобы оставить его, требуется меньше усилий, чем для переписывания / перепечатывания команды[command] < foo
. Не заботится о (большей части) специальной командной строке, но не идеально подходит для сценариев (pv
я думаю, так же, как я себя чувствую ).ssh, vim, htop, su, Python, ls, cd, экран, du, tar :)
источник
sudo
,Если серьезно,
tail -f
полезно.источник
tail -f
, вы полюбитеmultitail
Некоторые, которые не были упомянуты ранее:
источник
смоляная труба!
Передача выходных данных tar другой утилите, tar, работающему на том же компьютере, или tar, работающему по SSH, - это мой любимый старый Unix-способ перемещения файлов из одного места в другое.
Это также дает вам возможность в стиле Windows копировать одну папку в другую и получать все файлы в исходном и целевом каталогах.
источник
зш как оболочка
Это особенно эффективно с расширением / настройкой grml.org .
источник
iotop, программа верхнего уровня для контроля доступа ввода-вывода к вашим дискам.
источник
Большинство этих инструментов сделаны намного более мощными, используя «программируемое завершение» Bash - так что вы можете завершить такие элементы, как параметры командной строки, или произнести имя пакета с помощью «apt-get install». Это также ограничит то, что вы заполняете вкладками для соответствующих файлов - например, «распаковать» будет завершать только поддерживаемые архивные файлы.
Это действительно дураки - если вы никогда не пробовали, вам, вероятно, просто нужно возиться со своим .bashrc:
Конечно, это верно для Ubuntu и Debian. Возможно, вам понадобится получить пакет в некоторых дистрибутивах Linux.
источник
Некоторые дополнительные ответы можно найти в этом похожем вопросе
источник
Несколько вещей упущены из виду, я хотел упомянуть.
О, и я забыл упомянуть, когда пишу сценарии, я считаю, что вы всегда должны использовать Korn. Я ненавижу Korn (не группу. Я люблю группу :-P), но это буквально везде. Вы можете взять скрипт и переместить его между Solaris, AIX и Linux, и вам не придется беспокоиться о том, хватит ли администратору установки Bash.
источник
Один инструмент, иногда очень удобный - это nohup. Я использую его для запуска сценариев, которые длятся долго с использованием удаленных клиентов SSH.
источник
man - читать страницы руководства.
elinks - проверить Google, потому что я уверен, что, черт возьми, не могу вспомнить все.
И внимание к деталям и упорство, потому что без них я просто трачу время.
источник
Экран является обязательным, особенно с хорошим файлом .screenrc. Я настроил его на визуальное отображение, в каком окне я нахожусь, и могу перемещаться между ними с помощью Ctrl + Arrow. Для одного сеанса SSH и нескольких оболочек это спасатель.
источник
источник
Я люблю AWK, а также «за» в командной строке.
Особенно, чтобы составить список команд, которые я хочу выполнить, а затем выполнить их все сразу.
источник