Работа с каталогами

Последнее обновление: 12.03.2024

pwd. Получение текущего каталога

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

eugene@Eugene:~$ pwd
/home/eugene
eugene@Eugene:~$ 

Перемещение по каталогам

Команда cd позволяет перемещаться по каталогам. При использовании cd следует учитывать некоторые особенности файловой системы Linux:

  • Имена файлов и каталогов Linux чувствительны к регистру. То есть bin и BIN — это не одно и то же!

  • Для перехода в каталог, который находится непосредственно под корневым каталогом, надо поставить косую черту / перед именем каталога. Без косой черты эта команда попытается найти указанный каталог как подкаталог в текущем каталоге.

Команда cd имеет только один аргумент - имя каталога, в который надо перейти. Например, перейдет в каталог /usr/bin, который находится непосредственно в корневом каталоге файловой системы:

eugene@Eugene:~$ cd /usr/bin
eugene@Eugene:/usr/bin$ 

Для перехода к домашнему каталогу применяется символ ~. Например, перейдем к папке "Documents" в домашнем каталоге:

eugene@Eugene:/usr/bin$ cd ~/Documents
eugene@Eugene:~/Documents$ 

В данном случае путь "~/Documents" идентичен "/home/[имя_пользователя]/Documents"

Для перехода на один уровень вверх применяется путь ..

eugene@Eugene:~/Documents$ cd ..
eugene@Eugene:~$ 

Соответственно для перехода на два уровня вверх применяется путь "../../", на три - "../../../" и так далее.

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

Для создания папки применяется команда mkdir. Например, создадим в домашнем каталоге пользователя в папке Documents папку "test":

eugene@Eugene:~$ mkdir ~/Documents/test

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

eugene@Eugene:~/Documents$ mkdir test

Также при создании папки можно указать полный путь относительно корневого каталога. Например, создадим папку "test" в каталоге "tmp" (каталог временных файлов):

eugene@Eugene:~$ mkdir /tmp/test

Однако по умолчанию команда mkdir завершится с ошибкой, если не существует родительского каталога, в котором надо создать папку. Например, создадим папку files в каталоге "~/Documents/test1":

eugene@Eugene:~$ mkdir ~/Documents/test1/files
mkdir: cannot create directory ‘/home/eugene/Documents/test1/files’: No such file or directory
eugene@Eugene:~$ 

Но, как видно из консольного вывода, в моем случае каталога "test1" не существует, поэтому и создать в нем папку нельзя.

Однако команде mkdir можно передать опцию -p, которая принудительно также создает родительский каталог, если его не существует:

eugene@Eugene:~$ mkdir -p ~/Documents/test1/files
eugene@Eugene:~$ 

Удаление папок. rmdir

Команда rmdir удаляет каталог. Однако она работает только с уже пустыми каталогами. Например, удалим выше созданный каталог "~/Documents/test1/files":

rmdir  ~/Documents/test1/files

Если же в каталоге есть файлы и/или подкаталоги, применяется команда rm -r или rm -rf:

rm -r  ~/Documents/test1
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850