Думаешь, работа в командной строке сложна, устарела и устарела? Подумай еще раз.
В Linux командная строка — это бесподобный инструмент, который выполняет сложные задачи без особых усилий. Например, попробуйте с помощью графического интерфейса пользователя (GUI) удалить все файлы с именами, заканчивающимися на .tmp и созданные в течение последних 3 месяцев. Затем узнайте, как выполнить ту же задачу через командную строку. Вы будете удивлены легкостью и скоростью, с которой вы можете выполнять эту задачу через командную строку, особенно если вам приходится делать это регулярно.
Вы можете делать много удивительных вещей с командами в Linux, и это действительно не сложно изучать. Если вы совершенно не знакомы с командной строкой Linux, вы должны сначала ознакомиться с навигацией CLI (интерфейс командной строки), а также с некоторыми основными операциями с файлами / каталогами. И это именно то, что мы обсудим в этой статье.
Если вы абсолютно новичок в Linux, попробуйте прочитать наше руководство по Linux. Кроме того, узнайте, как заменить Windows на Linux. и как запускать приложения Windows в Linux
Научитесь эффективно управлять командной строкой Linux
Всякий раз, когда вы открываете оболочку командной строки Linux, вы начинаете с каталога (обычно вашего домашнего каталога). Это ваш рабочий каталог, пока вы не перейдете в другой каталог. Для пользователей, мигрирующих из Windows, каталог в Linux эквивалентен папке в Windows. Кроме того, домашний каталог в Linux концептуально эквивалентен определенной папке пользователя — присутствует в C: / Documents and Settings или C: / Users — в Windows. Чтобы увидеть полный путь вашего рабочего каталога, всегда используйте команду pwd .
ПРИМЕЧАНИЕ. — Текст, начинающийся с доллара ( $ ) (или, в некоторых случаях, # ), называется командной строкой.
Команда pwd вывела / home / himanshu, что означает, что текущим рабочим каталогом является himanshu . Давайте разберемся с выводом команды pwd:
- / — Начальная косая черта представляет каталог верхнего уровня
- / home — домашний каталог — это подкаталог в каталоге верхнего уровня
- / home / himanshu — каталог himanshu является подкаталогом в домашнем каталоге.
Чтобы переключиться на любой другой каталог, измените текущий рабочий каталог. Это можно сделать с помощью команды cd — просто введите «cd», а затем каталог, в который вы хотите переключиться.
Чтобы перейти вниз в текущей структуре каталогов (т. Е. Переключиться на подкаталог в текущем рабочем каталоге), используйте точку (.) Вместо полного пути текущего рабочего каталога. Это экономит немного драгоценного времени. Например: если текущим рабочим каталогом является / home / himanshu и вы хотите переключиться на / home / himanshu / Desktop / images, вам не нужно вводить полный путь / home / himanshu / Desktop / images. Просто укажите относительный путь ./Desktop/images в качестве аргумента команды cd .
Чтобы перейти вверх в текущей структуре каталогов , можно использовать команду cd с полным путем к новому рабочему каталогу.
Более быстрый способ — двигаться назад, используя ..
Так же, как одиночная точка (.) Представляет текущий каталог, двойная точка (..) представляет предыдущий каталог. Итак, cd ../ .. вернет вам две директории.
СОВЕТ : Если вам приходится многократно переходить между двумя каталогами — например, между / home / himanshu и / home / himanshu / Desktop / images — не используйте команду cd, за которой следует полный путь — это пустая трата времени. Вместо этого вы можете просто использовать CD -, который работает почти как кнопка «Назад» в вашем браузере:
СОВЕТ : Используйте клавишу [TAB] для автоматического заполнения имен каталогов. Это очень полезно при написании длинных имен каталогов. Например, вместо того, чтобы писать / home / himanshu , вы можете просто написать / home / h . а затем нажмите клавишу [TAB], чтобы запросить оболочку для автоматического заполнения имени файла. Обратите внимание, что иногда будет несколько папок, начинающихся с «h», и в этих случаях вам будет показан список таких папок.
Предоставьте больше и попробуйте снова.
Научитесь работать с файлами и каталогами
Как только навигация CLI ясна, следующая важная вещь должна изучить основные операции файла / каталога.
Список содержимого каталога
Чтобы вывести список всех файлов в каталоге, используйте команду ls . Например:
Разные цвета (см. Вывод выше) представляют разные типы файлов в Linux. Вот некоторые из основных цветов, которые вы должны знать:
Чтобы вывести содержимое каталога, отличного от текущего рабочего каталога, введите полный путь к этому каталогу в качестве аргумента команды ls . Например — ls / home / himanshu / Desktop
Помимо цветов (объясненных выше), тип файла также может быть идентифицирован с помощью команды file . Например, в снимке (показанном ниже) команда file четко сообщает, что output1 является текстовым файлом.
Показать содержимое файла
Чтобы просмотреть содержимое файла в командной строке, используйте команду cat .
Иногда невозможно просмотреть полный файл в командной строке. Это происходит, когда количество строк в файле намного больше, чем может отображать оболочка. Для таких огромных файлов используйте cat [filename]
Символ | называется конвейером и используется для направления вывода одной команды (в качестве ввода) в другую команду. Здесь он направляет вывод команды cat .bashrc (в качестве входных данных) на команду less — что позволяет пользователю легко просматривать большие файлы.
Нажмите Enter, чтобы прокрутить содержимое вверх, и q, чтобы выйти.
Размер отображения файла
Чтобы узнать размер файла, используйте параметр -l с командой ls .
ПРИМЕЧАНИЕ. — Почти каждая команда Linux поддерживает некоторые параметры командной строки. Эти параметры могут быть использованы для производства продукции в соответствии с ними. Например, команда ls , когда выполняется с опцией -l , производит более полный вывод по сравнению с тем, когда она выполняется без какой-либо опции.
Пятое поле в выводе (328 в этом примере) представляет размер файла в байтах.
Создать новый файл или каталог
Чтобы создать новый файл, используйте сенсорную команду ,
Сенсорная команда обновляет временные метки (доступ, изменение и изменение) файла, если он уже существует. Отметка времени доступа представляет дату / время, когда к файлу последний раз обращались, отметка времени изменения представляет дату / время, когда файл был последний раз изменен, и отметка времени изменения представляет дату / время, когда метаданные файла были последний раз изменены ,
Команда stat может использоваться для проверки временных меток файла.
Чтобы создать новый каталог, используйте команду mkdir .
ПРИМЕЧАНИЕ. — Всегда вводите полный путь (в качестве аргумента команды mkdir ) при создании нового каталога в месте, отличном от текущего рабочего каталога.
Вырезать, копировать и переименовывать файлы
Чтобы скопировать файл, используйте команду cp .
cp [источник] [пункт назначения]
Вот пример, который копирует вывод файла из текущего каталога на рабочий стол :
Путь к домашней директории можно заменить на ~ в командной строке. Итак, предыдущая команда cp также может быть записана как:
Поскольку / home / himanshu является домашним каталогом пользователя, его заменили на ~ .
СОВЕТ. Используйте cd ~ или просто cd, чтобы вернуться в свой домашний каталог из любой точки командной строки.
Если вам интересно, вот почему ~ был выбран для представления домашнего каталога .
Чтобы переместить файл из одного каталога в другой (эквивалент Windows вырезать и вставить), используйте команду mv . Его синтаксис похож на синтаксис команды cp .
mv [источник] [пункт назначения]
Команду mv также можно использовать для переименования файлов.
mv [имя-существующего-файла] [имя-нового-файла]
Поиск файла или текста в файле
Для поиска файла в каталоге (и его подкаталогах) используйте команду find .
Команда find, показанная на снимке (см. Выше), выполняет поиск в каталоге / home / himanshu всех файлов с расширением .bin . Обратите внимание, что * является символом подстановки .
Для поиска текста в файле используйте команду grep .
Команда grep ищет в файле frnd.cpp строки, содержащие строку #include и отображает результат в выводе. Обратите внимание, что ключевое слово отображается красным цветом.
Опция -n может использоваться с командой grep для отображения номеров строк в выходных данных.
Для поиска строки во всех файлах, присутствующих в текущем каталоге, используйте звездочку ( * ) в качестве имени файла.
* представляет все, и поэтому команда grep — показанная на снимке (см. выше) — ищет строку #include во всех файлах, присутствующих в текущем каталоге.
ПРИМЕЧАНИЕ. — Используйте параметр -R вместе с командой grep для поиска в подкаталогах.
Удалить файлы или каталоги
Чтобы удалить файл или каталог, используйте команду rm .
рм [имя файла]
Вот пример:
Если имя файла начинается с — (например, -newfile ), используйте — с командой rm, чтобы удалить его.
Чтобы удалить каталог, используйте rm -r [directory-name].
Man Pages
Вам не нужно загружать справочное руководство или покупать книгу, чтобы больше узнать о командах в Linux. Руководства для всех стандартных команд поставляются с Linux. Просто выполните команду man [имя-команды]
Для поиска ключевого слова на странице руководства введите / [ключевое слово]
Например, чтобы найти файл ключевого слова, введите / file
и нажмите Enter
Используйте n для поиска вперед, Shift + n для поиска назад и q для выхода.
Вывод
Команды, обсуждаемые в этой статье, способны сделать намного больше. Потренируйтесь в этих примерах и просмотрите man-страницу каждой команды, чтобы узнать больше об этом. Когда вы закончите с достаточным количеством практики по этим командам, попробуйте ответить на следующие два вопроса в комментариях.
Q1 . Команде mkdir не удается создать структуру каталогов / home / himanshu / / article1 . Почему?
Вот содержимое каталога / home / himanshu для вашей справки:
Q2 . Файл с именем newfile присутствует в текущем рабочем каталоге, но почему rm не может его удалить?
Авторы изображений: rsync + bash Via Flickr