Главная / Linux / Командная строка в Linux.

Командная строка в Linux.

Несколько десятилетий назад, работая с ПК означало, набор команд в командной строке. Команды отображали ваши каталоги, введя некоторые вариации на тему командой DIR, и вы создавали каталог, форматировали и удаляли разделы жесткого диска, введя другие конкретные команды. В то время не было ни мышей, ни одного (или нескольких) меню, и не даже графического интерфейса для загрузки. Вы всё ещё конечно можете работать в командной строке, работа на ПК, но ввод команд остаётся существенной частью работы в Linux. Поиск помощи в Linux вы будете выполнять чаще, и он уступает серии команд, а не значков, меню на кнопках мыши.
Для работы с командной строкой в Ubuntu, вам необходимо в окне терминала выбрать Приложения – Стандартные – Терминал. Терминал в Ubuntu работает так же и называется «shell» в Linux, Ubuntu использует оболочку bash (Bourne Again Shell), хотя вы можете вызвать — sh, или любую другую оболочку Linux, а также /bin каталог. Во всех сценариях, команды идентичны. Одной из наиболее распространённых команд для пользователей Ubuntu является sudo. Набрав sudo плюс имя выполняемого файла программы рассказывают Ubuntu, какую вы хотите запустить программу, но как администратор (вам будет предложено ввести пароль администратора), а не в вашем профиле пользователя.

Командная строка в Linux — это огромная область, и я периодически буду возвращаться к ней, а сейчас мы продолжаем работать с Ubuntu. Остаётся ядро Linux, хотя фактическое использование ОС, зависит в большей степени от GUI программ и утилит.

ОСНОВНЫЕ КОМАНДЫ

Как правило, обратите внимание, что всё, что напечатано в «одинарных кавычках и курсиве», является допустимой командой Linux, которая должна быть напечатана в командной строке, после чего следует Enter.

Мы будем использовать это правило во всех наших руководствах, чтобы избежать путаницы и ошибок. Не вводите кавычки и помните, что, в отличие от Windows, Linux чувствителен к регистру, поэтому ввод ‘Document ‘отличается от ввода’ document ‘.

ls – Должно быть, вы использовали команду «dir» в Windows … ну, эта команда похожа на команду «dir»! Если вы наберете «ls» и нажмёте «Enter», вы увидите файлы в этом каталоге, есть много полезных опций для изменения вывода. Например, ‘ls -l’ отобразит файлы вместе с такими деталями, как разрешения (кто может получить доступ к файлу), владелец файла (ов), дата и время создания и т. д. Команда ‘ls’, вероятно, будет одной из команд, которую вы будете использовать больше, чем любую другую в Linux. На самом деле, в большинстве систем Linux вы можете просто набрать ‘dir’, но вам будет не хватать мощных опций команды ‘ls’.

cd – это то же самое, что и команда DOS: она меняет каталог, в котором вы работаете. Предположим, вы находитесь в каталоге /var/cache и хотите перейти в его подпапку ‘samba’, вы можете ввести ‘cd samba’ как если бы это была система DOS.

Представьте, что вы находитесь в каталоге /var/cache и хотите за один раз перейти в каталог /etc/init.d, просто наберите cd /etc/init.d, как показано выше. С другой стороны, если вы просто наберете «cd» и нажмете «Enter», он автоматически вернёт вас в ваш личный домашний каталог (это очень полезно, поскольку все ваши файлы обычно хранятся там).

Мы также должны отметить, что, хотя Windows и DOS используют хорошо известную обратную косую черту ‘\’ в адресе полного пути, Linux различает использование прямой косой черты ‘/’. Это объясняет, почему мы используем команду «cd/etc/init.d», а не «cd\etc\init.d», как ожидают большинство пользователей Windows.

PWD – Эта команда покажет вам каталог, в котором вы находитесь в настоящее время, если вы забудете. Это всё равно, что спросить операционную систему «Где я сейчас?». Она покажет вам «настоящий рабочий каталог».

 cp – это эквивалент команды Windows «копировать». Вы используете её для копирования файла из одного места в другое. Поэтому, если вы хотите скопировать файл с именем «документ» в другой файл с именем «документ 1», вам нужно будет ввести «cp document document1». Другими словами, сначала источник, затем пункт назначения.

Команда ‘cp’ также позволит вам указать путь для копирования. Например, если вы хотите скопировать «документ» в домашний каталог пользователя user1, вы должны набрать «cp document/home/user1 /». Если вы хотите скопировать что-либо в свой домашний каталог, вам не нужно вводить полный путь (пример /home/yourusername), вы можете использовать ярлык «~» (тильда), чтобы скопировать «документ» в свой домашний каталог, вы можете просто набрать «копировать документ ~».

 rm – это то же самое, что команда в Windows. Она удалит введённые вами файлы. Поэтому, если вам нужно удалить файл с именем «document», вы набираете «rm document». Система спросит, уверены ли вы, так что вы получите второй шанс! Если вы ввели «rm -f», то вы заставите (-f) систему выполнить команду без подтверждения, это полезно, когда вам нужно удалить большое количество файлов.

Во всех командах Linux вы можете использовать подстановочный знак ‘*’, который вы используете в Windows, поэтому для удаления всех файлов, заканчивающихся на .txt, в Windows вы должны набрать ‘del *.txt’, тогда как в Linux вы должны ввести ‘rm -f *. txt’. Помните, что мы использовали флаг ‘-f’, потому что мы не хотим, чтобы нас попросили подтвердить удаление каждого файла.

Чтобы удалить папку, вы должны указать rm опцию ‘-r’ (рекурсивная); как вы, возможно, уже догадались, вы можете комбинировать такие опции: ‘rm -rf mydirectory’. Это приведёт к удалению каталога «mydirectory» (и любых подкаталогов в нём) и не спросит вас дважды. Объединение таких параметров работает для всех команд Linux.

mkdir / rmdir – эти две команды эквивалентны Windows ”md ‘ и ‘ rd ‘, которые позволяют вам создавать (md) или удалять (rd) каталог. Поэтому, если вы введете «mkdir firewall», будет создан каталог с именем «firewall». С другой стороны, введите «rmdir firewall», и вновь созданный каталог будет удалён. Также следует отметить, что команда ‘rmdir’ удалит только пустой каталог, поэтому вам лучше использовать ‘rm -rf’, как описано выше.

mv – это то же самое, что команда «move» в Windows. Она работает как команда ‘cp’ или команда копирования, за исключением того, что после копирования файла исходный файл удаляется. Кстати, в Linux нет команды переименования, потому что технически перемещение и переименование файла – это одно и то же!

В этом примере мы воссоздали каталог ‘firewall’, который мы ранее удалили, а затем попытались переименовать его в ‘firewall-cx’. Наконец, новый каталог был перемещен в каталог /var:

Этого должно быть достаточно, чтобы вы могли перемещаться по командной строке или «оболочке» в Linux. Вам будет приятно узнать, что существует множество способов открыть окно оболочки с графического рабочего стола ‘X ‘, которое можно назвать xterm или окном терминала.

cat/more/less – эти команды используются для просмотра файлов, содержащих текст или код. Каждая команда позволит вам выполнить специальную функцию, которая недоступна с другими, поэтому, в зависимости от вашей работы, некоторые могут использоваться чаще, чем другие.

Команда ‘cat’ покажет вам содержимое любого выбранного вами файла. Эта команда обычно используется вместе с другими продвинутыми командами, такими как ‘grep’, для поиска конкретной строки внутри большого файла, который мы рассмотрим позже.

После выдачи команда ‘cat’ будет проходить по файлу без остановки, пока не достигнет конца, точно так же, как файловый сканер, который проверяет содержимое файла и в то же время показывает вывод на экране:

 

В этом примере у нас есть текстовый файл whopper 215kb, содержащий системные сообщения. Мы ввели команду ‘cat messages’, и содержимое файла сразу же появилось на нашем экране, только это продолжалось в течение минуты, пока команда ‘cat’ не достигла конца файла и не вышла из него.

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

‘more’ используется аналогичным образом, но остановит экран, когда он заполнится текстом, и в этом случае нам нужно нажать пробел или клавишу ввода, чтобы продолжить прокрутку на странице или строке. Клавиши со стрелками «вверх» или «вниз» бесполезны для этой команды и не позволят вам прокручивать файл – это в значительной степени одностороннее направление прокрутки (от начала до конца) с выбором прокрутки на странице (пробел) или строка (введите ключ).

Команда ‘less’ является расширенной версией ‘more’ и, безусловно, более полезная. С помощью команды less вы можете прокручивать содержимое файла вверх или вниз. Чтобы прокрутить страницу вниз, вы можете использовать пробел или CTRL-D. Чтобы прокрутить вверх к началу файла, используйте CTRL-U.

Мы не можем охватить все команды и их опции, потому что их тысячи! Тем не менее, мы научим вас секрету использования Linux – как найти правильный инструмент (команду) для работы и как найти справку о том, как его использовать.

МОГУ ЛИ Я ПОЛУЧИТЬ ПОМОЩЬ?

Чтобы найти справку по команде, вы вводите имя команды, после которой следует ‘–help’. Например, чтобы получить справку по команде «mkdir», вы наберете «mkdir –help». Но есть гораздо более мощный способ …

Помните, что для тех, кто читал наш предыдущий раздел, Linux хранит все файлы в соответствии с их функциями? Итак, Linux хранит руководства (файлы справки) для каждой установленной программы, и самое приятное то, что вы можете очень легко просматривать «справочные страницы» (руководства). Все руководства имеют одинаковый формат и показывают все возможные варианты команды.

Чтобы открыть руководство по конкретной команде, введите «man», а затем имя команды, чтобы открыть руководство для «mkdir», введите «man mkdir»:

Интересно, попробуйте получить помощь по самой команде «man», набрав «man man». Это самый авторитетный и исчерпывающий источник помощи для всего, что у вас есть в Linux, и самое приятное, что каждая программа будет поставляться со своим руководством! Разве это не намного лучше, чем пытаться найти файл справки или файл readme.txt ?

Вот ещё одна невероятно полезная команда – если вы знаете задачу, которую хотите выполнить, но не знаете, какую команду или программу использовать, используйте команду «apropos». Эта команда выведет список всех программ в системе, которые связаны с задачей, которую вы хотите выполнить. Например, если вы хотите отправить электронное письмо, но не знаете почтовую программу, вы можете набрать «apropos email» и получить список всех команд и программ в системе, которые будут обрабатывать электронную почту! Этого нет в Windows.

ГДЕ НАЙТИ ФАЙЛ?

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

Самый простой способ найти любой файл в Linux – набрать «locate» и имя файла. Поэтому, если вы хотите найти файл с именем «документ», вы набираете «locate document». Команда locate работает с базой данных, которая обычно создаётся, когда вы не используете свою систему Linux, индексируя все ваши файлы и каталоги, чтобы помочь вам найти их быстро.

Вы можете использовать более мощную команду ‘find’, но я бы посоветовал вам сначала посмотреть на страницу ‘man’, набрав ‘man find’. Команда ‘find’ отличается от команды ‘locate’ тем, что она не использует базу данных, но фактически ищет файлы, запрошенные путём сканирования всего каталога или файловой системы в зависимости от того, где вы выполняете команду.

Логически, команда ‘locate’ выполняется намного быстрее при поиске файла, который уже был проиндексирован в базе данных, но не сможет обнаружить новые файлы, которые только что были установлены, так как они не были проиндексированы! Здесь на помощь приходит команда ‘find’!



Оставьте комментарий

Ваш email не будет опубликован. Обязательные поля помечены *

*