Posts Tagged ‘Open source’

10 наиболее полезных команд в Linux

Linus Torvalds, creator of the Linux kernel.
Великий Линус на  Wikipedia

TerminalПеревод статьи автора Jack Wallen

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

Я понимаю, что многие из вас не хотят использовать командную строчку в Linux (или в любой другой операционной системе, если уж на то пошло). Но если вы хотите быть хорошим администратором системы вы должны уметь пользоваться консолью. Почему? Ну, например, в Windows случаются моменты когда консоль это единственная вещь которая может спасти вашу шкуру. В Linux консоль отличается особой гибкостью, надежностью, скоростью… я бы мог продолжать и продолжать.

Из тысяч и тысяч команд я бы мог выделить десять, которые могут упростить вам работу как с повседневными задачами в Linux, так и с первым знакомством с системой.

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

Linux#1 top

Было бы наиболее логичным  начать именно с этой команды. Она не только покажет список запущенных, на текущий момент, задач, но определит сколько ресурсов расходует система в целом и каждый процесс в отдельности. Я часто оставляю запущенной top в терминале, что бы в любой момент времени знать и отслеживать то, что происходит в системе в тот или иной момент. Top работает в реальном времени и имеет несколько полезных особенностей в эксплуатации. Например если запустить команду с ключом -p, то можно увидеть только процессы запущенные пользователем, который выполняет команду. В свою очередь,  по-умолчанию, команда покажет полностью все процессы запущенные в системе.

#2 ln

Для многих администраторов ссылки не просто являются бесценным инструментом, который делает жизнь проще, но и позволяет резко сократить объем дискового пространства. Если вы не знаете как ссылки могут помочь вам, позвольте я поясню: представьте, что к вам за компьютер надо посадить несколько человек, которым требуется повседневно работать с группой больших файлов из одного общего каталога. Так как все они работают за одной машиной, дисковые мощностя могут не позволять размещать эти файлы у каждого из них в домашних директориях. Вместо этого можно просто создать ссылку из одного места в домашний каталог каждого пользователя. Таким образом вы сбережете место на диске, а пользователи получат быстрый доступ к своим данным. Конечно, для того что бы сделать ссылку с одного физического диска на другой нужно будет использовать символические ссылки. Еще одним примером использования ссылок могут служить задачи, когда надо разместить в корне веб-сервера Apache какой-нибудь каталог из вне. И это не только поможет сократить объем дискового пространства, но и зачастую выгоднее с точки зрения безопасности.

Archive#3 tar/zip/gzip

Эти инструменты служат для архивирования/сжатия данных и делают жизнь администратора гораздо легче. Я специально объединил их вместе, так как все они могут решать аналогичные задачи, но делать это по-разному. Установка программы из исходных кодов, зачастую, требует применения этих инструментов. А так же, без tar/zip/gzip на создание резервных копий потребуется больше места, чем вы располагаете.

Одна из особенностей этих инструментов в том, что у них есть возможность извлекать отдельные файлы из архива. С помощью zip и gzip сделать это проще, чем с tar. С помощью tar, для получения файла, вы должны знать точный размер файла, что бы его извлечь. Одна из областей где можно применять tar/zip/gzip являются скрипты для автоматизации процесса резервного копирования. Лучше средства вы не найдете.

#4 nano, vi, emacs

Я не хочу говорить про какой-то один текстовый редактор, что бы не разжигать флейм. Важно понять, что иногда проще использовать несколько редакторов для достижения разных задач.  Многие могут критиковать тот факт что nano, vi, emacs это полноценные приложения, а не просто команды. Но я буду говорить о них как о командах, по той причине, что работать с ними можно из командной строки. Без хорошего текстового редактора управлять Linux может быть проблематично.

# 5 grep

Многие люди находят этот инструмент по истине удивительным. Grep выводит строки по определенным пользователем критериям. Скажем, вам надо найти в файле httpd.conf, объем которого составляет  1000 строк, строчки где упоминается выражение “AccessFileName .htaccess”. Можно искать в текстовом редакторе в каждой строке и найти его только на 429-ой или же просто ввести команду:

grep -n “AccessFileName .htaccess” /etc/httpd/conf/http.conf

После выполнения вы получите на выводе искомое “439:AccessFileName .htaccess”.

Команда grep так же полезна в купе с другими командами. Примером этого является использование grep совместно с командой ps (которая выводит список текущих процессов). Предположим, вы хотите узнать PID интернет навигатора FireFox, который на текущий момент завис. Вы можете ввести ps aux и искать среди огромного вывода текста процесс firefox, а можете просто ввести команду ps aux | grep firefox и сразу получить искомое.

Key#6 chmod

Поговорим о правах доступа. Linux администрирование и вопросы безопасности системы требуют знаний команды chmod. Например, что бы сделать shell скрипт исполняемым для запуска, нужно выполнить chmod u+x filename. Многие веб инструменты требуют соответствующих прав доступа перед работой. Следует запомнить, что устанавливать права 666 на директорию не очень безопасно. Многие новички пытаясь решить какой-нибудь вопрос связанный с правами доступа устанавливают абсолютные права 666, вместо того что бы понять возможные последствия такого шага.

Даже если задача имеет важное значение для администрирования, нужно основательно подходить к вопросу ее решения, что бы не совершить ошибки. Убедитесь, что правильно применяете chmod перед его использованием. Запомните, что W = право на запись, R = право на чтение, а X = право на исполнение. Так же не забывайте про разграничения UGO (User, Group и Others). UGO это наиболее наглядный способ понять цепочку прав доступа. Например права rw- rw- rw- означают что User, Group и Others имеют право на запись и чтение. Для безопасности стоит накладывать на Others больше ограничений чем на остальные позиции.

#7 dmesg

Это команда выводит показания буфера ядра. Использовать ее важно, так как из нее можно получить много информации. Такую как архитектуру системы, GPU, состояние сетевых устройств, посмотреть с какими параметрами загрузилось ядро, получить информацию про оперативную память и другие компоненты компьютера.

Распространенным вариантом использования является наблюдение за выводом dmesg в режиме реального времени. Для этого следует выполнить команду dmesg | tail -f и последние несколько строк окажутся в вашем терминале. Этот трюк можно использовать при отладки системы или отдельных ее компонентов.

#8 kill/killall

Одним из самых больших преимуществ Linux является общая стабильность системы. Но эта стабильность не всегда применима к приложениям работающим вне ядра. Некоторые приложения могут зависать. И когда это произойдет у вас всегда есть возможность избавиться от них. Самый быстрый способ убить процесс это воспользоваться командами kill/killall. Разница между ними заключается в том, что первая в качестве идентификатора использует PID процесса, а вторая его имя.

Ну например, повис у вас Firefox. Что бы убить его, используя команду kill, надо сначала узнать PID процесса. Сделать это можно по команде ps aux|grep firefox. После того как вы получили PID, вы можете убить процесс. Если вы не хотите выяснять PID, можно выполнить команду killall firefox (в некоторых случаях может быть firefox-bin). Команды kill/killall не применяются (и не должны применяться) к демонам. Например, таким как Apache, Samba и т.д.

Book#9 man

Сколько раз вам встречалась аббревиатура “RTFM”? Многие скажут что расшифровывается она как “Read the Fine* Manual” (* Вместо этого слова обычно идет не цензурное, но мы такое публиковать не будем). Лично я это расшифровываю как “Read the Fine Manpage”. Manpage («маны» прим. ред.) обычно написаны в похожей форме, поэтому довольно легко научиться читать и понимать их все. Не стоит недооценивать ценность информации из «манов». Самое приятное в чтении «манов» заключается в том, что когда вам кто-то говорит “RTFM”, вы можете ответить ему “RTFMd” («d» на конце знаменует прошедшее время, прим. ред.).

#10 mount/umount

Без этих команд использовать съемные носители, CD/DVD или дискеты система не может. Команды mount/umount используются для монтирования жесткого диска (часто маркированного как /dev/sda) к корневой директории на файловой системе Linux. Оби команды mount/unmount пользуются информацией из файла /etc/fstab, который помогает упростить процесс монтирования и размонтирования. Например, если в файле /etc/fstab прописано что устройство /dev/sda1 должно монтироваться к директории /data, тогда процесс будет осуществляться с помощью команды mount /data. Обычно, для выполнения команд mount/umount требуются привилегии суперпользователя (если конечно в fstab не прописано что пользователь тоже может это делать). Вы так же можете выполнить команду mount без аргументов и увидеть вывод всех смонтированных, на данный момент, устройств, а так же тип файловой системы и другие характеристики.

Эти 10 команд дают возможность администрировать систему. Есть и много других команд, а так же команды которые применяются гораздо чаще чем эти. Но этот список попадает в категорию первой необходимости для изучения. Я не знаю как вы, но я ежедневно использую большую часть из них.
Reblog this post [with Zemanta]