Если у вас нет большого опыта работы с системами Linux, вы можете быть очень удивлены возможностями управления операционной системой из командной строки. Понимание принципов работы через консоль пригодится и для управления домашним компьютером, например, с ОС Ubuntu, и для администрирования серверов timeweb.cloud с установленными Unix-подобными системами. В этой статье мы попытаемся ознакомить вас с основами. Это руководство должно дать вам необходимый минимум знаний и хорошую отправную точку для дальнейших исследований.
Наиболее фундаментальные навыки, которыми вам необходимо овладеть, — это перемещение по файловой системе и получение представления о том, что находится вокруг вас. В этом разделе мы обсудим инструменты, которые позволят вам это сделать.
После того как вы подключаетесь к своему серверу, вы обычно попадаете в домашний каталог вашей учетной записи пользователя (если не применены нестандартные настройки). Домашняя директория — это директория, которая используется для хранения пользовательских файлов, например документов, фото, видео-файлов. В этой директории вы имеете полные права для совершения любых действий, таких как создание, перемещение, удаление файлов и директорий. Чтобы узнать, где находится домашний каталог пользователя, используйте команду 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
vds
Чтобы создать файл в 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.
Выгодные тарифы на VDS/VPS
Мы рассмотрели основные команды Linux для управления файлами и каталогами внутри операционной системы.