- Работа с файлами и каталогами в Linux
- Навигация
- Поиск своего местоположения
- Перемещение по файловой системе
- Просмотр содержимого каталогов
- Просмотр содержимого файлов
- Поиск файлов
- Основные операции с файлами и каталогами
- Создание файла
- Создание каталога
- Удаление файлов и каталогов
- Перемещение и переименование
- Копирование
- Размер файлов и директорий
- Отображение размера директории в конкретных единицах измерения
- Редактирование файлов
- Копирование и вставка
- Поиск и замена
- Сохранение и выход из редактора
- Просмотр содержимого каталога с помощью ls
Работа с файлами и каталогами в Linux
Если у вас нет большого опыта работы с системами Linux, вы можете быть очень удивлены возможностями управления операционной системой из командной строки. Понимание принципов работы через консоль пригодится и для управления домашним компьютером, например, с ОС Ubuntu, и для администрирования серверов cloud.timeweb.com с установленными Unix-подобными системами. В этой статье мы попытаемся ознакомить вас с основами. Это руководство должно дать вам необходимый минимум знаний и хорошую отправную точку для дальнейших исследований.
Навигация
Наиболее фундаментальные навыки, которыми вам необходимо овладеть, — это перемещение по файловой системе и получение представления о том, что находится вокруг вас. В этом разделе мы обсудим инструменты, которые позволят вам это сделать.
Поиск своего местоположения
После того как вы подключаетесь к своему серверу, вы обычно попадаете в домашний каталог вашей учетной записи пользователя (если не применены нестандартные настройки). Домашняя директория — это директория, которая используется для хранения пользовательских файлов, например документов, фото, видео-файлов. В этой директории вы имеете полные права для совершения любых действий, таких как создание, перемещение, удаление файлов и директорий. Чтобы узнать, где находится домашний каталог пользователя, используйте команду pwd (сокращение от print working directory). Эта команда выведет путь до каталога, в котором вы находитесь в данный момент:
В ответ вы должны получить строку, которая выглядит похожим образом:
Название домашней директории пользователя совпадает с именем его учетной записи. Этот каталог находится внутри каталога /home , который, в свою очередь, сам расположен внутри каталога верхнего уровня, который называется root , но обозначается одной косой чертой / .
Перемещение по файловой системе
Часто вам может понадобиться изменить текущий рабочий каталог, чтобы получить доступ к другим подкаталогам и файлам.
Чтобы изменить текущий каталог , в linux используется команда cd (сокращение от change directory), за которой, в качестве аргумента, следует имя каталога, относительно текущего:
или абсолютный (полный) путь:
Чтобы вернуться на уровень выше, в родительскую директорию, можно в качестве аргумента передать команде cd две точки:
Чтобы вернуться в домашний каталог пользователя, нам не обязательно передавать полный путь к нему, вместо этого можно использовать короткую запись, передав в качестве аргумента символ «тильда»:
Чтобы перейти в корневой каталог:
Просмотр содержимого каталогов
Теперь, когда мы знаем, как перейти в нужный нам каталог и отобразить путь до него, пришло время разобраться, как просмотреть содержимое каталога . Чтобы это сделать, в linux используется команда ls (сокращение от list):
В ответ мы увидим список файлов и директорий:
addresses.txt Documents Downloads grades.txt
Чтобы посмотреть содержимое каталога, надо передать путь до него:
Чтобы вывести список всех файлов в подкаталогах, используйте флаг -R :
Так же в linux-команде ls можно передать дополнительные флаги. Например, чтобы вывести подробную информацию о содержимом каталога, такую как права доступа, дату последнего изменения, можно использовать команду:
Чтобы увидеть скрытые файлы и директории (обычно их имена начинаются с точки) нужно использовать флаг -a . Флаги можно комбинировать друг с другом, например:
Просмотр содержимого файлов
Для вывода содержимого файла в терминал, используется команда 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 ищет все возможные файлы и каталоги с заданным именем в системе:
Основные операции с файлами и каталогами
Создание файла
Чтобы создать файл в linux , мы можем воспользоваться командой touch . Например, чтобы создать файл с именем file1.txt в домашней директории пользователя, введите в терминале команду:
Создание каталога
Для того, чтобы создать папку в linux , используется команда mkdir (сокращение от make directory). В качестве аргумента передайте имя директории или путь, по которому хотите ее создать:
Удаление файлов и каталогов
Удаление файла в 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 /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 для более красивого и читаемого вывода:
Если мы хотим увидеть размер и состояние конкретного диска, то можно использовать команду df с флагом -h , и названием раздела, который хотим увидеть:
Отображение размера директории в конкретных единицах измерения
По умолчанию команда du отображает размер каталога в байтах. Если нам вдруг потребуется отображать размер файлов и каталогов в килобайтах или мегабайтах, используется эта же команда du , но к ней необходимо будет добавить флаг -k (килобайты) или -m (мегабайты).
Для того, чтобы установить отображение использования дискового пространства в килобайтах для нашей директории demo, введите:
В таком случае будет отображаться использование дискового пространства директорией, но не размер ее файлов.
Чтобы узнать размеры ее файлов, нам понадобится флаг -a .
Редактирование файлов
Для того, чтобы отредактировать файлы, можно воспользоваться встроенным в linux консольным редактором nano.
Чтобы открыть файл с именем file1.txt, введите:
После этого откроется окно с редактором, в котором вы можете приступить к редактированию.
Копирование и вставка
Для того чтобы вырезать строку и поместить ее в буфер обмена, переместите курсор на нужную строку и нажмите Ctrl+K.
Чтобы вставить строку из буфера, нажмите Ctrl+U.
Чтобы скопировать текст произвольной длины, сначала требуется его выделить. Для этого поместите курсор на начало текста, который планируется копировать, и нажмите Ctrl+6. Перемещайте курсор, текст будет выделяться.
Чтобы скопировать выделенный текст в буфер обмена, нажмите Alt+6.
Чтобы вырезать выделенный текст, нажмите Ctrl+K.
Поиск и замена
Для поиска используйте комбинацию клавиш Ctrl+W, затем введите поисковый запрос и нажмите Enter. Курсор переместится к первому найденному совпадению. Чтобы продолжить поиск до следующего совпадения, используйте комбинацию Alt+W.
Сохранение и выход из редактора
Если вы хотите сохранить текущие изменения в файле, нажмите комбинацию клавиш Ctrl+O. Если вы редактируете новый файл, вам будет предложено дать ему имя. Это сохранит текущие изменения, при этом nano останется открытым и вы сможете продолжить работу.
Если вы хотите выйти из редактора нажмите комбинацию клавиш Ctrl+X.
Просмотр содержимого каталога с помощью ls
Теперь, когда вы знаете как перемещаться по каталогам, пришло время взглянуть на содержимое этих каталогов.
Введите ls и нажмите [Enter] . Вы должны увидеть содержимое вашего текущего каталога или, как минимум, его часть.
Команда ls сама по себе не показывает всех файлов в вашем каталоге Чтобы увидеть всё, вы должны указать ещё один или два параметра.
Команда ls воспринимает множество параметров.
Если вы хотите увидеть все параметры команды ls , вы можете прочитать страницы руководства, выполнив в приглашении оболочки man ls . Если вы хотите распечатать страницу руководства, введите в приглашении man ls | col -b | lpr .
Зачем так много параметров? Все они помогают отсортировать информацию, так как вам это нужно. Например, вы можете указать как отображать файлы, показывать ли разрешения и многое другое.
Рисунок 10-6. ls с параметром -a
Введите ls -a . Теперь вы видите файлы, начинающиеся с точек. Такие файлы называются скрытыми.
Скрытые файлы чаще всего представляют собой конфигурационные файлы, задающие настройки для программ, оконных менеджеров, оболочек и т.д. Они сделаны скрытыми, чтобы предотвратить случайное их повреждение пользователем. Кроме этого, если вы ищете в каталоге что-то, обычно вас не интересуют эти конфигурационные файлы, а так как они скрыты, они не загромождают ваш экран.
Просматривая список файлов с помощью команды ( ls -a ) вы получаете много информации, но указав еще дополнительные параметры, вы сможете увидеть ещё больше.
Если вы хотите увидеть размер файла или каталога, время создания и другие сведения, просто добавьте параметр «long» (длинный) ( -l ) в команду ls -a :
Эта команда покажет дату создания файла, его размер, владельца, разрешения и т.д.
Вы не обязаны находиться в каталоге, содержимое которого вы просматриваете с помощью команды ls .
Посмотрите, что находится в каталоге /etc выполнив:
Вы получите массу информации о содержимом каталога /etc .
Ниже приводится список некоторых часто используемых параметров команды ls . Не забывайте о том, что вы можете получить полный список параметров в руководстве, на странице ls ( man ls ).
-a — all (все). Показывает все файлы в каталоге, включая скрытые файлы ( .filename ). Каталоги .. и . вверху этого списка обозначают родительский и текущий каталог соответственно.
-l — long (длинный). Выводит информацию о содержимом, включая разрешения (режимы), владельца, группу, размер, дату создания, является ли этот файл ссылкой на что-то другое в системе, и если да, то куда указывает эта ссылка.
-F — file type (тип файла). Добавляет в конце каждой строки определённый символ. Это может быть символ / , обозначающий каталог; @ , обозначающий ссылку на другой файл; и * , обозначающий исполняемый файл.
-r — reverse (обратный). Показывает содержимое каталога от конца к началу.
-R — recursive (рекурсивный). Этот параметр также показывает содержимое всех каталогов, вложенных в текущий.
-S — size (размер). Сортирует файлы по их размеру.
Чуть позже в этой главе, когда вы познакомитесь с перенаправлением ввода/вывода, вы откроете для себя другие способы просмотреть содержимое каталога.
Adblockdetector