Как перейти в домашнюю директорию
Перейти к содержимому

Как перейти в домашнюю директорию

  • автор:

Как узнать домашнюю директорию любого пользователя Linux

Для того, чтобы правильно и безопасно хранить данные на сервере, (особенно, если на этом сервере несколько пользователей), следует точно знать, где располагаются их домашние папки, до которых у пользователей есть доступ (у каждого в свою, но нет доступа в чужие папки с чужими данными). Например, для того, чтобы дать пользователю доступ по ftp только к его данным или подсказать полный путь до его www-директории. В этой статье рассмотрим то, как узнать домашнюю директорию любого пользователя Linux несколькими способами.

Где хранится системная информация о домашних каталогах пользователей в Linux

При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

login : password : UID : GID : GECOS : home : shell

Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. 😉

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

root@server:~# pwd /root

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор ~ (тильда) в Debian

Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора ~ (тильда):

root@server:~# echo ~ /root

Результат не сильно отличается от предыдущего, но к ~ можно добавлять дополнительные пути к папкам и/или файлам пользователя, используя её как точку отсчёта в домашней директории пользователя. Что сильно облегчает работу с написанием относительных путей (относительно не только корня файловой системы, но и корня домашней папки пользователя).

Ещё одним полезным свойством ~ является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду ~ :

root@server:~# ls ~ftp welcome.msg

А теперь посмотреть содержимое этого файла:

root@server:~# cat ~ftp/welcome.msg Welcome, archive user %U@%R ! The local time is: %T This is an experimental FTP server. If you have any unusual problems, please report them via e-mail to .

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

root@amorale:~# echo ~ftp /srv/ftp

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! 😉

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉

06. Пути и директории

Для работы с файлами и директориями в графическом интерфейсе есть программы, называемые файловыми менеджерами. У разных графических окружений могут быть разные программы, тот же GNOME, который стоит на CentOS, по умолчанию использует файловый менеджер под названием nautilus. Я думаю все знают, что можно делать с файлами и директориями – смотреть информацию о них, копировать, вырезать, удалять, переименовывать, создавать директории и всё такое. И в командой строке это также просто.

Мы знаем, что посмотреть содержимое директории можно с помощью команды ls. По умолчанию она показывает содержимое текущей директории. Заметьте, что ls показывает директории одним цветом, а файлы другим. Чтобы понять, в какой директории мы сейчас находимся, нужна команда pwd – print working directory.

Когда вы открываете терминал, как правило он использует домашнюю директорию пользователя – это личная директория пользователя, где находятся все его файлы. С помощью ls можно смотреть содержимое и других директорий, для этого нужен путь к другой директории.

Кстати о пути. В корне находятся директории, внутри которых тоже есть какие-то директории. Например, в корне у нас есть директория home, где обычно лежат домашние директории пользователей, например, нашего пользователя user. А внутри домашней директории пользователя есть какие-то его личные директории.

То есть, чтобы мне зайти, допустим, в директорию Documents у пользователя user, мне нужно зайти в корень, потом открыть home, user и зайти в директорию Documents. Чтобы переходить по директориям в командной строке, используем команду cd – сhange directory – сменить директорию. И так, пишем cd /, то есть заходим в корень (слеш – это путь к корню), проверяем текущую директорию (pwd), и смотрим её содержимое(ls). Дальше пишем cd home и повторяем всё тоже самое. Не стесняйтесь использовать tab – допустим, пишете cd h, нажимаете tab и он автоматом добавляет ome, так как никаких других директорий, начинающихся на h здесь нет. Точно также для user и Documents.

cd / pwd ls cd home pwd ls cd user pwd ls cd Documents pwd ls 

Чтобы сразу зайти в Documents, мы можем разом написать cd /home/user/Documents, разделяя директории знаком слэш.

cd /home/user/Documents/ 

Когда мы в начале указываем корень (/), а потом пишем первую директорию, которая находится в корне, а потом то что внутри и т.д. — это полный путь. /home/user/Documents – пример полного пути. Он всегда начинается со знака / — то есть мы возвращаемся в самое начало файловой системы и оттуда начинаем писать путь. Такой путь универсальный — где бы вы сейчас не находились, вы можете указать полный путь и попасть туда куда вам надо.

В домашнюю директорию пользователя можно вернуться просто написав cd. Я вижу (ls), что здесь есть директория Documents. Если я хочу зайти в эту директорию, мне не обязательно писать полный путь – cd /home/user/Documents, я могу просто написать cd Documents. Или допустим, давайте зайдём в cd /home/. Я могу написать cd user/Documents. То есть, я строю путь не с корня, а с текущей директории. Такой путь называется относительным. Но что, если я нахожусь в директории /home/user/Documents и хочу попасть на директорию выше, то есть в /home/user ? Для этого в каждой директории есть ссылки на вышестоящую директорию – две точки (..). Если я напишу cd .. , я попаду в /home/user . Я могу делать всякие комбинации, допустим, находясь в директории Documents, я могу написать cd ../Pictures. То есть, я разом вернулся в директорию /home/user и зашёл в Pictures. Чтобы сразу вернуться туда, где я был раньше, я могу написать cd — . Также есть ссылка на текущую директорию – одна точка. Зачем это нужно мы разберём чуть позже. Также есть готовая ссылка на домашнюю директорию нашего пользователя – тильда (~). Где бы мы не находились, мы всегда можем написать cd ~ и попасть в домашнюю директорию, либо использовать это для относительного пути, например cd ~/Documents . Ну и возвращаясь к теме ls, мы можем посмотреть содержимое любой директории, где бы мы сейчас не находились, используя полный или относительный пути. Допустим, ls /home/user/Documents или ls Documents или ls ~/Pictures.

cd pwd ls cd /home pwd cd user/Documents/ cd .. cd Documents cd ../Pictures cd - cd . cd ~ cd ~/Documents ls ~/Pictures 

С путями разобрались. Теперь давайте посмотрим, как работать с директориями. Начнём с создания директории, для этого используем команду mkdir – make directory – создать директорию. В качестве аргумента мы должны указать название новой директории – допустим:

mkdir test ls 

Можно разом создать несколько директорий:

mkdir test1 test2 test3 ls 

Очень не рекомендую использовать пробелы в названиях, так как командная строка воспринимает пробелы как переход на новый аргумент или опцию. Как я показал выше, если я напишу:

mkdir this is a new directory ls 

у меня создастся пять директорий. Но если всё же вам необходимо создать директорию с пробелами в названии, вы можете взять название новой директории в кавычки:

mkdir "New Dir" 

Теперь, чтобы зайти в эту директорию, нужно либо использовать кавычки, либо использовать специальный символ — \ (обратный слэш) перед пробелом.

cd "New Dir" cd .. cd New\ Dir 

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

Если я хочу создать сразу директорию 1, а внутри неё директорию 2, а внутри неё директорию 3, для этого нужна опция -p – parents – создавать родительские директории. То есть, написав:

mkdir -p dir1/dir2/dir3 

я создам несколько вложенных директорий.

Для удаления пустой директории используется команда rmdir – remove directory – удалить директорию. Например:

rmdir test1 

Можно разом удалять несколько директорий:

rmdir test2 test3 

Если директория не пустая, то rmdir откажется её удалять. Поэтому, когда вам нужно удалить директорию со всем содержимым, используется команда rm -r . Например:

rm -r New\ Dir 

Тогда я удалю как New Dir, так и директории dir1, dir2 и dir3. Вообще, rm используется для удаления файлов, но о файлах мы поговорим в следующий раз. А опцию -r вы часто будете встречать – она означает рекурсивно, то есть со всем, что находится внутри. Допустим, та же команда ls уже с большим -R покажет содержимое директории вместе с содержимым поддиректорий.

ls -R /home/user 

Осталось ещё рассмотреть копирование, перемещение и прочее, но так эти команды совпадают с командами по работе с файлами, а тема уже получилась достаточно большая, оставшееся мы рассмотрим в следующий раз. Чтобы не забывать пройденное, обязательно практикуйтесь. Например, найдите в ролике все команды с опциями, которые я вводил, выпишите, повторите на различных директориях. Добейтесь того, чтобы вы знали без всяких раздумий, для чего нужна каждая из этих команд и ключей.

© Copyright 2021, GNU Linux Pro, CC-BY-SA-4.0. Ревизия 5f665cc2 .

RENOTES

Серия постов по работе с Linux для начинающих. Предыдущий пост: Системные shell-команды.

Перейти в директорию /home:

cd /home

Переход в директорию уровнем выше:

Перейти в директорию двумя уровнями выше:

Перейти в домашнюю директорию:

Переход в домашнюю директорию пользователя user:

cd ~user

Переход в предыдущую директорию:

Путь текущей директории:

Содержимое текущей директории с добавлением к именам символов, характеризующих тип:

ls -F

Детализированное представление файлов и директорий в текущей директории:

ls -l
ls -a
mkdir my_dir

Создание дерева директорий:

mkdir -p /my_dir1/my_dir2
rm -f file.txt

Рекурсивное удаление директории, поддиректорий, файлов:

rm -r my_dir

Переименование или перемещение файла или директории:

mv my_dir new_dir

Скопировать файл file1 в файл file2

cp file1 file2

Копировать все файлы директории dir в текущую директорию:

cp dir/* .

Копировать директорию dir1 со всем содержимым в текущую директорию:

cp -a /tmp/dir1 .

Копировать директорию dir1 в директорию dir2:

cp -a dir1 dir2

Создать символическую ссылку на файл или директорию:

ln -s file1 lnk1*

Создать «жёсткую» (физическую) ссылку на файл или директорию:

ln file1 lnk1

Фундаментальные основы Linux. Часть II: Первые шаги в изучении интерфейса командной строки

Оригинал: Linux Fundamentals
Автор: Paul Cobbaut
Дата публикации: 16 октября 2014 г.
Перевод: А.Панин
Дата перевода: 11 декабря 2014 г.

Глава 6. Работа с директориями

В данной главе приводится краткий обзор большинства стандартных команд, используемых при работе с директориями: pwd , cd , ls , mkdir и rmdir . Эти команды доступны при работе с любой системой Linux (или Unix).

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

Команда pwd

С помощью команды pwd (расшифровывается как Print Working Directory — вывести информацию о рабочей директории) может быть получена информация о вашем текущем местонахождении в рамках файловой системы. Попробуйте выполнить эту команду: получите доступ к интерфейсу командной строки системы (воспользовавшись одним из приложений со следующими названиями: terminal, console или xterm) и введите команду pwd . Командная оболочка выведет путь к вашей текущей директории .

paul@debian8:~$ pwd /home/paul

Команда cd

Вы можете изменить вашу текущую директорию с помощью команды cd (расшифровывается как Change Directory — изменить директорию).

paul@debian8$ cd /etc paul@debian8$ pwd /etc paul@debian8$ cd /bin paul@debian8$ pwd /bin paul@debian8$ cd /home/paul/ paul@debian8$ pwd /home/paul

Команда cd ~

Команда cd также может использоваться для быстрого перехода назад в вашу домашнюю директорию. Простое исполнение команды cd без задания пути к целевой директории приведет к перемещению в домашнюю директорию. Исполнение команды cd ~ приведет к аналогичному эффекту.

paul@debian8$ cd /etc paul@debian8$ pwd /etc paul@debian8$ cd paul@debian8$ pwd /home/paul paul@debian8$ cd ~ paul@debian8$ pwd /home/paul

Команда cd ..

Для перехода в родительскую директорию (ту директорию, которая находится над вашей текущей директорией в дереве директорий) следует использовать команду cd .. .

paul@debian8$ pwd /usr/share/games paul@debian8$ cd .. paul@debian8$ pwd /usr/share

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

Команда cd —

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

paul@debian8$ pwd /home/paul paul@debian8$ cd /etc paul@debian8$ pwd /etc paul@debian8$ cd - /home/paul paul@debian8$ cd - /etc

Абсолютные и относительные пути

Вы должны иметь представление об абсолютных и относительных путях в рамках дерева директорий файловой системы. Если вы вводите путь, начинающийся с символа слэша (/) , подразумевается, что путь будет указан относительно корневой директории файловой системы. Если же вы не начинаете ввод пути с символа слэша, подразумевается, что точкой отсчета будет текущая директория.

В примере ниже показано, что текущей директорией является директория /home/paul . Для перехода из этой директории в директорию /home вам придется ввести команду cd /home вместо команды cd home .

paul@debian8$ pwd /home/paul paul@debian8$ cd home bash: cd: home: Нет такого файла или каталога paul@debian8$ cd /home paul@debian8$ pwd /home

При нахождении в директории /home вам придется ввести команду cd paul вместо команды cd /paul для перехода в поддиректорию paul текущей директории /home .

paul@debian8$ pwd /home paul@debian8$ cd /paul bash: cd: /paul: Нет такого файла или каталога paul@debian8$ cd paul paul@debian8$ pwd /home/paul

В том же случае, если вашей текущей директорией является корневая директория / , то и команда cd /home , и команда cd home позволят вам переместиться в директорию /home .

paul@debian8$ pwd / paul@debian8$ cd home paul@debian8$ pwd /home paul@debian8$ cd / paul@debian8$ cd /home paul@debian8$ pwd /home

Этот пример был последним примером, в котором используются команды pwd . С этого момента информация о текущей директории будет всегда выводиться в рамках приглашения командной оболочки. Далее в данной книге будут даны пояснения относительно того, как следует использовать переменную командной оболочки $PS1 для вывода описанной информации.

Завершение путей

Клавиша TAB может помочь избежать ошибок при вводе путей. Нажатие клавиши TAB после ввода части команды cd /et приведет к завершению команды до вида cd /etc/ . При этом нажатие клавиши TAB после ввода команды cd /Et не приведет ни к чему, так как была допущена ошибка при вводе части пути (использована буква E в верхнем регистре).

Вам придется нажимать меньше клавиш в случае использования клавиши TAB , к тому же, при использовании этой клавиши вы можете быть уверены в том, что введенный путь является корректным!

Утилита ls

Вы можете вывести список содержимого директории с помощью утилиты ls .

paul@debian8:~$ ls allfiles.txt dmesg.txt services stuff summer.txt paul@debian8:~$

Команда ls -a

Часто используемым параметром утилиты ls является параметр -a , который предназначен для вывода информации обо всех файлах. Под выводом информации обо всех файлах подразумевается вывод информации в том числе и о скрытых файлах . В том случае, если имя файла в рамках файловой системы Linux начинается с символа точки, он считается скрытым файлом и не включается в обычные списки содержимого директорий.

paul@debian8:~$ ls allfiles.txt dmesg.txt services stuff summer.txt paul@debian8:~$ ls -a . allfiles.txt .bash_profile dmesg.txt .lesshst stuff .. .bash_history .bashrc services .ssh summer.txt paul@debian8:~$

Команда ls -l

Вам придется многократно использовать параметры утилиты ls для вывода информации о содержимом директории в различных форматах или для вывода информации о различных файлах из директории. Команда ls без параметров позволяет получить список файлов, расположенных в директории. Команда ls -l (в качестве параметра использована строчная буква L, а не число 1) позволяет получить более подробный список файлов.

paul@debian8:~$ ls -l итого 17296 -rw-r--r-- 1 paul paul 17584442 сен 17 00:03 allfiles.txt -rw-r--r-- 1 paul paul 96650 сен 17 00:03 dmesg.txt -rw-r--r-- 1 paul paul 19558 сен 17 00:04 services drwxr-xr-x 2 paul paul 4096 сен 17 00:04 stuff -rw-r--r-- 1 paul paul 0 сен 17 00:04 summer.txt

Команда ls -lh

Другим периодически используемым параметром утилиты ls является параметр -h . Он позволяет выводить числовые значения (соответствующие размерам файлов) в формате, лучше читаемом человеком. Также в примере ниже показаны варианты передачи параметров утилите ls . Позднее в данной книге будут даны подробные пояснения относительно выводимых данных.

Обратите внимание на то, что мы используем строчную букву L, а не число 1 в качестве параметра утилиты в данном примере.

paul@debian8:~$ ls -l -h итого 17M -rw-r--r-- 1 paul paul 17M сен 17 00:03 allfiles.txt -rw-r--r-- 1 paul paul 95K сен 17 00:03 dmesg.txt -rw-r--r-- 1 paul paul 20K сен 17 00:04 services drwxr-xr-x 2 paul paul 4.0K сен 17 00:04 stuff -rw-r--r-- 1 paul paul 0 сен 17 00:04 summer.txt paul@debian8:~$ ls -lh итого 17M -rw-r--r-- 1 paul paul 17M сен 17 00:03 allfiles.txt -rw-r--r-- 1 paul paul 95K сен 17 00:03 dmesg.txt -rw-r--r-- 1 paul paul 20K сен 17 00:04 services drwxr-xr-x 2 paul paul 4.0K сен 17 00:04 stuff -rw-r--r-- 1 paul paul 0 сен 17 00:04 summer.txt paul@debian8:~$ ls -hl итого 17M -rw-r--r-- 1 paul paul 17M сен 17 00:03 allfiles.txt -rw-r--r-- 1 paul paul 95K сен 17 00:03 dmesg.txt -rw-r--r-- 1 paul paul 20K сен 17 00:04 services drwxr-xr-x 2 paul paul 4.0K сен 17 00:04 stuff -rw-r--r-- 1 paul paul 0 сен 17 00:04 summer.txt paul@debian8:~$ ls -h -l итого 17M -rw-r--r-- 1 paul paul 17M сен 17 00:03 allfiles.txt -rw-r--r-- 1 paul paul 95K сен 17 00:03 dmesg.txt -rw-r--r-- 1 paul paul 20K сен 17 00:04 services drwxr-xr-x 2 paul paul 4.0K сен 17 00:04 stuff -rw-r--r-- 1 paul paul 0 Sep 17 00:04 summer.txt paul@debian8:~$

Утилита mkdir

Обход дерева директорий файловой системы Unix является интересным занятием, но еще больший интерес представляет создание ваших собственных директорий с помощью утилиты mkdir . Вам придется передавать как минимум один параметр утилите mkdir , а именно, имя новой директории, которая должна быть создана. При этом следует серьезно задумываться перед использованием начального символа / в именах директорий.

paul@debian8:~$ mkdir mydir paul@debian8:~$ cd mydir paul@debian8:~/mydir$ ls -al итого 8 drwxr-xr-x 2 paul paul 4096 сен 17 00:07 . drwxr-xr-x 48 paul paul 4096 сен 17 00:07 .. paul@debian8:~/mydir$ mkdir stuff paul@debian8:~/mydir$ mkdir otherstuff paul@debian8:~/mydir$ ls -l итого 8 drwxr-xr-x 2 paul paul 4096 сен 17 00:08 otherstuff drwxr-xr-x 2 paul paul 4096 сен 17 00:08 stuff paul@debian8:~/mydir$

Команда mkdir -p

Исполнение следующей команды закончится неудачей, так как родительской директории для директории threedirsdeep не существует.

paul@debian8:~$ mkdir mydir2/mysubdir2/threedirsdeep mkdir: невозможно создать каталог "mydir2/mysubdir2/threedirsdeep": Нет такого файла или каталога

В случае использования параметра -p утилиты mkdir при необходимости будут создаваться родительские директории.

paul@debian8:~$ mkdir -p mydir2/mysubdir2/threedirsdeep paul@debian8:~$ cd mydir2 paul@debian8:~/mydir2$ ls -l итого 4 drwxr-xr-x 3 paul paul 4096 сен 17 00:11 mysubdir2 paul@debian8:~/mydir2$ cd mysubdir2 paul@debian8:~/mydir2/mysubdir2$ ls -l итого 4 drwxr-xr-x 2 paul paul 4096 сен 17 00:11 threedirsdeep paul@debian8:~/mydir2/mysubdir2$ cd threedirsdeep/ paul@debian8:~/mydir2/mysubdir2/threedirsdeep$ pwd /home/paul/mydir2/mysubdir2/threedirsdeep

Утилита rmdir

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

paul@debian8:~/mydir$ ls -l итого 8 drwxr-xr-x 2 paul paul 4096 сен 17 00:08 otherstuff drwxr-xr-x 2 paul paul 4096 сен 17 00:08 stuff paul@debian8:~/mydir$ rmdir otherstuff paul@debian8:~/mydir$ cd .. paul@debian8:~$ rmdir mydir rmdir: не удалось удалить "mydir": Каталог не пуст paul@debian8:~$ rmdir mydir/stuff paul@debian8:~$ rmdir mydir paul@debian8:~$

Команда rmdir -p

И по аналогии с параметром mkdir -p , вы также можете использовать утилиту rmdir для рекурсивного удаления директорий.

paul@debian8:~$ mkdir -p test42/subdir paul@debian8:~$ rmdir -p test42/subdir paul@debian8:~$

Практическое задание: работа с директориями

1. Выведите путь к вашей текущей директории.

2. Перейдите в директорию /etc.

3. А теперь перейдите в вашу домашнюю директорию с помощью ровно трех нажатий клавиш.

4. Перейдите в директорию /boot/grub с помощью ровно одиннадцати нажатий клавиш.

5. Перейдите в родительскую директорию для текущей директории.

6. Перейдите в корневую директорию.

7. Выведите список содержимого корневой директории.

8. Выведите подробный список содержимого корневой директории.

9. Оставаясь в текущей рабочей директории, выведите список содержимого директории /etc.

10. Оставаясь в текущей директории, выведите список содержимого директорий /bin и /sbin.

11. Оставаясь в текущей директории, выведите список содержимого директории ~.

12. Выведите список всех файлов (включая скрытые файлы), находящихся в вашей домашней директории.

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

14. Создайте директорию testdir в вашей домашней директории.

15. Перейдите в директорию /etc и, оставаясь в ней, создайте директорию newdir в вашей домашней директории.

16. Создайте с помощью одной команды директории ~/dir1/dir1/dir2/dir3 (директория dir3 является поддиректорией директории dir2, а директория dir2 — поддиректорией директории dir1).

17. Удалите директорию testdir.

18. Если позволяет время (или вы ждете момента, когда остальные студенты закончат выполнение данного практического задания), попытайтесь воспользоваться командами pushd и popd и понять принцип их работы. Обратитесь к странице руководства man для командной оболочки bash с целью поиска информации о данных командах.

Корректная процедура выполнения практического задания: работа с директориями

1. Выведите путь к вашей текущей директории.

2. Перейдите в директорию /etc.

cd /etc

3. А теперь перейдите в вашу домашнюю директорию с помощью ровно трех нажатий клавиш.

cd (и нажатие клавиши Enter)

4. Перейдите в директорию /boot/grub с помощью ровно одиннадцати нажатий клавиш.

cd /boot/grub (Используйте клавишу Tab)

5. Перейдите в родительскую директорию для текущей директории.

cd .. (Между cd и .. должен быть пробел)

6. Перейдите в корневую директорию.

7. Выведите список содержимого корневой директории.

8. Выведите подробный список содержимого корневой директории.

ls -l

9. Оставаясь в текущей рабочей директории, выведите список содержимого директории /etc.

ls /etc

10. Оставаясь в текущей директории, выведите список содержимого директорий /bin и /sbin.

ls /bin /sbin

11. Оставаясь в текущей директории, выведите список содержимого директории ~.

12. Выведите список всех файлов (включая скрытые файлы), находящихся в вашей домашней директории.

ls -al ~

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

ls -lh /boot

14. Создайте директорию testdir в вашей домашней директории.

mkdir ~/testdir

15. Перейдите в директорию /etc и, оставаясь в ней, создайте директорию newdir в вашей домашней директории.

cd /etc ; mkdir ~/newdir

16. Создайте с помощью одной команды директории ~/dir1/dir1/dir2/dir3 (директория dir3 является поддиректорией директории dir2, а директория dir2 — поддиректорией директории dir1).

mkdir -p ~/dir1/dir2/dir3

17. Удалите директорию testdir.

rmdir testdir

18. Если позволяет время (или вы ждете момента, когда остальные студенты закончат выполнение данного практического задания), попытайтесь воспользоваться командами pushd и popd и понять принцип их работы. Обратитесь к странице руководства man для командной оболочки bash с целью поиска информации о данных командах.

man bash # открытие страницы руководства /pushd # поиск раздела с описанием команды pushd n # переход к следующему разделу (повторите это действие два/три раза)

Командная оболочка Bash поддерживает две встроенных команды с именами pushd и popd. Обе команды предназначены для работы со стандартным стеком посещенных ранее директорий. Команда pushd позволяет поместить директорию в стек и переместиться в новую текущую директорию, команда popd удаляет директорию из стека и устанавливает предыдущую текущую директорию.

paul@debian7:/etc$ cd /bin paul@debian7:/bin$ pushd /lib /lib /bin paul@debian7:/lib$ pushd /proc /proc /lib /bin paul@debian7:/proc$ popd /lib /bin paul@debian7:/lib$ popd /bin
Предыдущий раздел: Оглавление Следующий раздел:
Глава 5. Страницы руководств man Глава 7. Работа с файлами

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *