Навигация

Все ваши пользовательские файлы, файлы операционной системы и конфигурационные файлы находятся на microSD-карте вашего микрокомпьютера "яГрушко". Умение перемещаться по файловой системе в поисках нужных файлов и директорий - один из самых полезных навыков при работе с Linux.

Корнем всего в файловой системе Linux является / (root directory, корневой каталог). Это верхняя точка в иерархии директорий, с которой всё начинается. Обычная структура файловой системы Linux приведена на картинке ниже:

Файловая система

Обратите внимание на символ ~ в приглашении командной строки. Этот символ обозначает, что вы находитесь в своём домашнем каталоге. Чтобы узнать полный путь к текущему каталогу можно использовать команду pwd. Попробуйте ввести эту команду и обратите внимание, что реальный полный путь к вашему домашнему каталогу - это /home/customer

Текущий каталог

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

Обратите внимание, что полный путь к текущему каталогу, с которым работает оболочка bash отображается после двоеточия в приглашении командной строки. После этого можете вернуться в свой домашний каталог командой cd ~. Вернуться в домашний каталог также можно, используя полный путь cd /home/customer или просто используя команду cd без параметров.

Пример навигации

Если вы сейчас выполните команду ls в своём домашнем каталоге, то ничего там не увидите. Хотя на самом деле ваш домашний каталог содержит скрытые файлы и папки, название которых начинается с точки. Чтобы вывести полное содержимое директории вместе со скрытыми файлами, используйте команду ls с дополнительным флагом -a.

Скрытые файлы

Обратите внимание, что при выводе скрытых файлов отобразились две директории "." и "..". Это ссылки на текущий и родительский каталоги, которые вы можете использовать в командах так же как и символ "~", обозначающий ссылку на ваш домашний каталог. Например:

cd ./config - переключиться в каталог config, расположенный в текущей директории (то же самое что cd config)

cd .. - переключиться в родительский каталог (на один уровень выше текущего)

cd ~/images - переключиться в каталог images, расположенный в /home/customer/images

Создание файлов

Для того, чтобы создать пустой файл, используйте команду touch. Например, команда touch example создаст в текущем каталоге пустой файл example. Обратите внимание, что файлу не нужно никакого расширения вроде .txt, как это было бы в Windows. Чтобы записать в этот файл какой-либо текст, можно использовать команду echo.

Сама по себе команда echo просто выводит на дисплей переданную ей в качестве параметра строку текста. Но вы можете использовать её с операторами перенаправления вывода > или >>, чтобы записать текст в файл. Разница между операторами > и >> состоит в том, что первый оператор полностью перезапишет существующий файл (или создаст новый, если его не существует), а второй - присоединит текст к концу файла, не перезатирая его содержимое.

Помните, что для корректной работы программы echo, передаваемая ей строка должна быть заключена в двойные или одинарные кавычки. Переключить язык на русский можно с помощью сочетания клавиш Ctrl + Shift. Для того, чтобы вывести на экран содержимое файла, используйте команду cat.

Пример навигации

Чтение больших файлов

Команда cat выводит на экран всё содержимое файла за один раз, но многие файлы, которые вам захочется прочитать, могут быть настолько большими, что просто не поместятся на экран. В этом случае вы увидите только последнюю часть файла, а "отмотать" файл наверх возможности не будет.

В таких случаях на помощь приходит программа less, которая открывает файл в режиме прокрутки. Используйте стрелки на клавиатуре, а также клавиши PgUp и PgDown, чтобы перемещаться по файлу вверх и вниз. Чтобы выйти из режима чтения, нажмите на кнопку Q. В качестве примера, почитайте содержимое файла конфигурации ssh-клиента с помощью команды less /etc/ssh/ssh_config:

Пример less

Текстовый редактор

Заполнять файл текстом с помощью команды echo и перенаправления вывода, конечно, интересно, но не очень продуктивно. Древние программисты для упрощения работы с текстовыми файлами придумали и создали множество текстовых редакторов, которые могут работать без графического интерфейса прямо внутри оболочки bash.

Мы рекомендуем использовать текстовый редактор nano, поскольку он, на наш взгляд, является наиболее простым в освоении и удобным для новичков. Используйте команду nano, чтобы открыть существующий файл для редактирования. Если файла не существует, он будет создан при сохранении текста. Потренируйтесь на уже созданном вами файле с помощью команды nano example.

Пример less

При работе с nano придётся изучить несколько новых сочетаний клавиш. Если забудете - в редакторе есть справка, которую можно открыть с помощью сочетания клавиш Ctrl+G, если вы уже находитесь в редакторе. При изучении справки имейте в виду, что под символом ^ имеется в виду кнопка Ctrl, а под символом M - кнопка Alt.

Вот список самых полезных сочетаний клавиш при работе с nano:

Alt + 6 - копировать текст

Ctrl + K - вырезать текст

Ctrl + U - вставить текст

Alt + U - отменить последнее действие

Ctrl + O - сохранить изменения в файле

Ctrl + X - выход из редактора

Каталоги, перемещение и удаление файлов

Чтобы создать каталог (папку, директорию), используйте команду mkdir. Например, чтобы создать папку text в домашнем каталоге, используйте команду mkdir text. Чтобы переместить файл example в созданный каталог, используйте команду mv example text. Зайдите в созданный каталог и убедитесь, что файл действительно там.

Пример перемещения

Команда mv используется не только для перемещения файлов, но и для их переименования. Например, чтобы переименовать файл example, используйте команду mv example example_renamed.

Для удаления файлов используется команда rm. Чтобы удалить файл example, используйте команду rm example. Для того, чтобы удалить каталог, команду rm необходимо вызвать с параметром -r, чтобы обеспечить рекурсивное удаление самой папки, а также всех вложенных в неё файлов и папок.

Пример удаления

Теперь ваш домашний каталог пуст (за исключением скрытых файлов и каталогов) как в начале этого урока. А ваш багаж знаний пополнился такими командами как pwd, cd, ls, touch, cat, less, nano, mkdir, mv, rm. Не бойтесь, что их становится много и не пытайтесь их заучивать - они запомнятся сами по себе, если регулярно ими пользоваться.

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

Назад На главную