15 основных команд UNIX

()

Изучение UNIX - достаточно сложная задача, поскольку существуют тысячи команд с сотнями опций, однако на самом деле достаточно знать только некоторые из них.

Я (автор оригинальной статьи - прим. переводчика) не очень много пользуюсь UNIX - только на одном из наших серверов и на своём Powerbook с OS X. В этой статье приведены 15 наиболее часто используемых команд. С их помощью вы сможете сделать достаточно много в UNIX, и главное - добавить знание UNIX в своё резюме ;)

  1. man - показывает справку по команде. Например: man ls. Для выхода - нажмите q.
  2. cd - смена текущего каталога. Например: cd /etc/.
  3. ls - чтени оглавления каталога. Аналог dir в Windows. Например: ls /etc. Для более детального отображения используйте ls -l /etc.
  4. cp - копирование файла или каталога. Например: cp source dest. Для копирования каталогов используйте опцию -R. Пример: cp -R /source /dest.
  5. mv - перемещение/переименование файла. Например: move source dest.
  6. rm - удаление файлов и папок.
  7. cat - вывод файла на стандартое устройство. Например: cat /var/log/messages.
  8. more - постраничный вывод файла. Например more /var/log/messages. Для выхода нажмите q. Вы так же можете сделать постраничным вывод других команд например так: ls -l /etc | more.
  9. scp - копирование файлов по SSH на другой сервер. Пример: scp /local/file user@host.com:/path/to/save/file.
  10. tar - архиватор. он может упаковать один или несколько файлов в один tar-файл. Так же может использоваться сжатие по алгоритму gzip. Для создания tar-архива используйте команду: tar -cf archive.tar /directory, а для распаковки: tar -xf archive.tar. Если вы хотите использовать сжатие - просто добавьте опцию z. Т.е. tar -czf archive.tar.gz /dir и tar -xzf archive.tar.gz соответственно.
  11. grep - ищет подстроку или регулярное выражение в файле. Вы так же можете использовать fast grep. Например: fgrep failure /var/log/messages. Если вам не нужен поиск регулярного выражения, то удобнее использовать fgrep вместо классического grep.
  12. find - отображает рекурсивный список файлов и каталогов. Для поиска чего-то конкретного можно использовать grep. Например: find / | fgrep log.
  13. tail - показывает последние несколько строк файла: tail /var/log/messages. Если вам нужно больше - используйте ключ -n: tail -n 50 /var/log/messages. Вы так же можете использовать ключ -f для просмотра изменений файла в реальном времени: tail -f /var/log/messages.
  14. head - почти тоже что и tail, только показывает начало файла.
  15. vi - тестовый редактор. Есть множество различных текстовых редакторов, таких как emacs, nano и проч. Однако vi есть практически на любом сервере и потому он будет не плохим выбором. Для редактирования файла введите команду: vi file. Для перехода в режим редактирования нажмите i. Для сохранения изменений и выхода нажмите ESC :wq. Для выхода без сохранения - ESC :q!. Есть ещё миллионы других команд, однако для минимально редактирования вам будет достаточно и этого.

Изучив и поняв эти команды вам не стоит останавливаться. Есть ещё множество команд, которые сделают вашу жизнь и работу проще.

Оригинал

Ключевые слова: man, cd, ls, cp, mv, rm, cat, scp, tar, grep, find, tail, head, vi.

Комментарии:

MooSE 2006-11-15 13:46:26 (#)

Сразу скажу всем, кто будет говорить что статья детская - я уже "гуру", однако никогда даже не задумывался о существовании fgrep (grep я знаю :)), scp и head.

На самом деле такие статьи наверное стоит рекомендовать и многим гуру. Знаю по себе - часто человек может сделать что-то очень сложно, но на простых вещах он спотыкается. Такие статьи помогают меньше спотыкаться.

aim 2006-11-15 13:55:40 (#)

Всё отлично. Одна проблема -- новичку статья бесполезна. Он не знает что какая команда делает, ему действие совершить надо.

MooSE 2006-11-15 14:10:51 (#)

aim: хм... наверное ты прав. получается что статья на расчитана на домохозяйку, которая имеет некий опыт работы с компьютером, однако хочет залезть в дебри...

Но я сам люблю такие статьи читать, потому что в них самое вкусное:) clamav к squid я и сам прикручу. А вот скриптик агрегации логов на шелле писать уже сложнее:)

Svolotch 2006-11-15 14:20:02 (#)

а не проще какой нить командер запустить чем всяку бяку учить?

MooSE 2006-11-15 14:31:40 (#)

Svolotch: командер не позволит тебе делать некоторые вещи, которые тебе могут понадобиться. Например когда мне нужно узнать когда ты последний раз ходил на сайт я делаю вот так:

# cat access_log | grep 81.25.163.186 | tail

ИМХО так удобнее.

kvetal 2006-11-15 14:33:52 (#)

Да и командер иногда сначало установить надо

Svolotch 2006-11-15 14:59:12 (#)

>>Я (автор оригинальной статьи - прим. переводчика) не очень много пользуюсь UNIX - только на одном из наших серверов и на своём Powerbook с OS X
собственно я к тому, что часть в команд я в гробу видал в белых тапках... и смысел их запоминать если от меня требуется совершать какието простые действия а ля скопировать файлег из пункта а в пункт б... при этом используя командер ниже вероятность что я своими крывыми руками наберу в консоли че нить не то...
лось, вот например тебе надо найтить какойто файлег, а точного названия, расширения и даты создания модификации ты не помнишь... но по названию возможно вспомнишь... что будет проще:
1) писать хитровыименное регулярное выражение которое на основании косвенных данных создаст список файлов в котором возможно нужный файл присутствует
2)будишь иметься с cd ls more для просмотра содержимого папок
3)просто запустишь коммандер где с помошью нескольких кнопок пробежишься по каталогам где возможно нахождение искомого обьекта?

2006-11-15 17:14:03 (#)

А если наоборот? тебе надо запустить/открыть какой-то файл? тут консоль ИМХО удобнее. И еще в папках и файлах должен быть порядок

Svolotch 2006-11-16 09:40:56 (#)

>>тут консоль ИМХО удобнее.
дык я и не утверждал что консоль неудобная... но как и было сказано выше и не только мной, неспециалисту (а по большей части статья ориентирована на них) проще, удобнее и нагляднее работать с коммандером т.к. мало ли... вдруг чувак мув с ремувом перепутает... а так выучил например mc и все...
>>И еще в папках и файлах должен быть порядок
поучи еще... :-) и вообще не я такой, жизнь такая...

MooSE 2006-11-16 09:43:14 (#)

> вдруг чувак мув с ремувом перепутает...
Тут уже медицина бессильна:)

fearan 2006-11-17 15:11:17 (#)

MooSE: Гуру, говорите? Ну-ну :-)

developer 2006-11-17 23:06:19 (#)

Да ладна вам спрорить :)

Всему своё время и место, самое продуктивное и то и другое использовать, не зацикливаться на чём то одном.
Вот к примеру на работе, в винде я юзаю фар (в нём колорер плагин есть, преудобнейшая штука когда множеством сорсов приходиться работать) , навигируюсь часто по панелькам, копирую файлы / переименовываю тоже так, а вот когда надо программы какието из командной строки вызвать - ctrl+o и вперёд..

Т.е к чему я это всё, комбинировать надо.. нельзя так просто от удобств отказываться, но и инструменты на которых удобства основаны тоже желательно знать,
а то чуть нестандартная ситуация и юзверь будет сидеть в недоумении.. искать в меню нужные опции :)

Lisenka 2006-11-18 22:15:03 (#)

Поддерживаю мнение developer'а. И, самое главное, этот спор не принесёт никому никакой выгоды, ни в опыте, ни в знаниях. Пусть каждый использует то, что у него есть, как он это умеет и хочет.

А насчёт гуру MooSE и "# cat access_log | grep 81.25.163.186 | tail"...
я в таких случаях запускаю эксплорер и захожу по ssl на свою систему мониторинга, написанную на Perl, PHP, JavaScript, которую я как-то сварганил для просмотра всего, что происходит с моими серверами и для администрирования оных. Задолбало, как MooSE делать :)

Если нет нужного вам инструмента или он вам не удобен, не ругайте производителей, возьмите и сделайте его сами.

MooSE 2006-11-19 00:05:41 (#)

Система мониторинга и у меня есть, только всё равно всего не предусмотришь.

В системе статистики у меня суммарный результат. А вот когда что-то мелкое посмотреть надо - можно и руками:)

Anonymous 2011-05-04 01:51:49 (#)

не знаю про "гуру", но мне во время поступления в меру оч помогло
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE