Работа с файлами и каталогами в Linux

Введение

Если у вас нет большого опыта работы с системами Linux, вы можете быть очень удивлены возможностями управления операционной системой из командной строки. Понимание принципов работы через консоль пригодится и для управления домашним компьютером, например, с ОС Ubuntu, и для администрирования серверов cloud.timeweb.com с установленными Unix-подобными системами. В этой статье мы попытаемся ознакомить вас с основами. Это руководство должно дать вам необходимый минимум знаний и хорошую отправную точку для дальнейших исследований. 

Работа С Файлами И Каталогами В Linux (1)

Навигация

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

Поиск своего местоположения

После того как вы подключаетесь к своему серверу, вы обычно попадаете в домашний каталог вашей учетной записи пользователя (если не применены нестандартные настройки). Домашняя директория — это директория, которая используется для хранения пользовательских файлов, например документов, фото, видео-файлов. В этой директории вы имеете полные права для совершения любых действий, таких как создание, перемещение, удаление файлов и директорий. Чтобы узнать, где находится домашний каталог пользователя, используйте команду pwd (сокращение от print working directory). Эта команда выведет путь до каталога, в котором вы находитесь в данный момент:

pwd

В ответ вы должны получить строку, которая выглядит похожим образом:

/home/demo

Название домашней директории пользователя совпадает с именем его учетной записи. Этот каталог находится внутри каталога /home, который, в  свою очередь, сам расположен внутри каталога верхнего уровня, который называется root, но обозначается одной косой чертой /.

Перемещение по файловой системе

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

Чтобы изменить текущий каталог, в linux используется команда cd (сокращение от change directory), за которой, в качестве аргумента, следует имя каталога, относительно текущего:

cd Documents

или абсолютный (полный) путь:

cd /home/demo/Documents

Чтобы вернуться на уровень выше, в родительскую директорию, можно в качестве аргумента передать команде cd две точки:

cd ..

Чтобы вернуться в домашний каталог пользователя, нам не обязательно передавать полный путь к нему, вместо этого можно использовать короткую запись, передав в качестве аргумента символ «тильда»:

cd ~

Чтобы перейти в корневой каталог:

cd /

Просмотр содержимого каталогов

Теперь, когда мы знаем, как перейти в нужный нам каталог и отобразить путь до него, пришло время разобраться, как просмотреть содержимое каталога. Чтобы это сделать, в linux используется команда ls (сокращение от list):

ls

В ответ мы увидим список файлов и директорий:

addresses.txt    Documents    Downloads    grades.txt 

Чтобы посмотреть содержимое каталога, надо передать путь до него:

ls /home/demo/Documents

Чтобы вывести список всех файлов в подкаталогах, используйте флаг -R:

ls -R /home/demo/

Так же в linux-команде ls можно передать дополнительные флаги. Например, чтобы вывести подробную информацию о содержимом каталога, такую как права доступа, дату последнего изменения, можно использовать команду:

ls -l /home/demo/

Чтобы увидеть скрытые файлы и директории (обычно их имена начинаются с точки) нужно использовать флаг -a. Флаги можно комбинировать друг с другом, например:

ls -la /home/demo/

Просмотр содержимого файлов

Для вывода содержимого файла в терминал, используется команда cat (сокращение от concatenate). В качестве аргумента ей необходимо передать имя файла в текущем каталоге или путь до него:

cat file1.txt
cat /home/demo/file2.txt

Поиск файлов

Иногда вам может понадобиться найти местоположение определенного файла. Поиск файла в linux легко можно сделать с помощью команд find или locate.

Команда find ищет файл в определенном месте и принимает два аргумента: путь до директории, в которой нужно произвести поиск, и имя файла, который нужно найти. Для того, чтобы поискать файл с именем file1.txt в домашней директории пользователя demo, команда будет выглядеть следующим образом:

find /home/demo -name file1.txt

Команда locate, как и команда find, выполняет поиск файлов, но принимает только один аргумент. Команда locate ищет все возможные файлы и каталоги с заданным именем в системе:

locate file1.txt

Основные операции с файлами и каталогами

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

Чтобы создать файл в linux, мы можем воспользоваться командой touch. Например, чтобы создать файл с именем file1.txt в домашней директории пользователя, введите в терминале команду:

touch ~/file1.txt

Создание каталога

Для того, чтобы создать папку в linux, используется команда mkdir (сокращение от make directory). В качестве аргумента передайте имя директории или путь, по которому хотите ее создать:

mkdir ~/Photos 

Удаление файлов и каталогов  

Удаление файла в linux осуществляется при помощи команды rm (сокращение от remove). 

Для удаление каталога используется эта же команда rm, но с флагом -r:

rm /home/demo/file1.txt
rm -r /home/demo/Photos

Используйте эту команду с осторожностью, так как ее действие необратимо.

Перемещение и переименование

Для того, чтобы переместить, или переименовать файл в linux используется универсальная команда mv (сокращение от move).

В зависимости от того, как она используется, она может переименовывать файл или перемещать его из одного места в другое. Команда для перемещения файла будет выглядеть так:

mv file1.jpeg /home/demo/Photos/

Для переименования файла из file1.txt в file2.txt используется следующая запись:

mv file1.txt  file2.txt

Кроме того, вы можете одновременно перемещать и переименовывать файл, указав папку назначения и новое имя файла:

mv file1.txt /home/demo/Documents/file2.txt

Копирование

Команда cp (сокращение от copy), копирует файл из одного места в другое. В отличие от команды mv, используемой для перемещения, команда cp сохраняет исходный файл в его текущей директории и создает копию в другой директории. Команда для копирования файла с именем file1.txt в каталог /home/demo/Documents будет выглядеть так:

cp file1.txt  /home/demo/Documents
cp  /home/demo/Ptotos/photo1.jpeg  /home/demo/Documents

Если вы хотите скопировать директорию, то необходимо использовать флаг -R:

cp -R /home/demo/tutorilas /home/demo/Documents/

Размер файлов и директорий

В linux размер папки можно узнать при помощи команды du (сокращенно от disk utility). Если ввести эту команду без аргументов, то она выведет размеры всех файлов внутри текущей директории. Обычно, в качестве аргумента ей передают путь до директории, размер которой необходимо узнать, и флаги -sh для более красивого и читаемого вывода:

du -sh /home/demo/Music

Если мы хотим увидеть размер и состояние конкретного диска, то можно использовать команду df с флагом -h, и названием раздела, который хотим увидеть:

df -h /dev/sda1

Отображение размера директории в конкретных единицах измерения

По умолчанию команда du отображает размер каталога в байтах. Если нам вдруг потребуется отображать размер файлов и каталогов в килобайтах или мегабайтах, используется эта же команда du, но к ней необходимо будет добавить флаг -k (килобайты) или -m (мегабайты).

Для того, чтобы установить отображение использования дискового пространства в килобайтах для нашей директории demo, введите:

du -k /home/demo/

Или в мегабайтах:

du -m /home/demo/

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

Чтобы узнать размеры ее файлов, нам понадобится флаг -a.

du -ah /home/demo/

Редактирование файлов

Для того, чтобы отредактировать файлы, можно воспользоваться встроенным в linux консольным редактором nano.

Чтобы открыть файл с именем file1.txt, введите:

nano file1.txt

После этого откроется окно с редактором, в котором вы можете приступить к редактированию.

Копирование и вставка

Для того чтобы вырезать строку и поместить ее в буфер обмена, переместите курсор на нужную строку и нажмите Ctrl+K.

Чтобы вставить строку из буфера, нажмите Ctrl+U.

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

Чтобы скопировать выделенный текст в буфер обмена, нажмите Alt+6.

Чтобы вырезать выделенный текст, нажмите Ctrl+K.

Поиск и замена

Для поиска используйте комбинацию клавиш Ctrl+W, затем введите поисковый запрос и нажмите Enter. Курсор переместится к первому найденному совпадению. Чтобы продолжить поиск до следующего совпадения, используйте комбинацию Alt+W.

Сохранение и выход из редактора

Если вы хотите сохранить текущие изменения в файле, нажмите комбинацию клавиш Ctrl+O. Если вы редактируете новый файл, вам будет предложено дать ему имя. Это сохранит текущие изменения, при этом nano останется открытым и вы сможете продолжить работу. 

Если вы хотите выйти из редактора нажмите комбинацию клавиш Ctrl+X.

Telegram
VK
Скопировать ссылку
Как использовать Axios в React
Как использовать Axios в React
Как пользоваться SSH
Как пользоваться SSH

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону