Linux - Работа с каталогами
Вступление
На этом занятии мы рассмотрели наиболее распространенные команды для работы с каталогами: pwd, cd, ls, mkdir, rmdir. Эти команды доступны в любой системе Linux (или Unix). Мы также обсудили абсолютные и относительные пути и завершение пути в оболочке bash.
PWD
Отображает полный путь к текущему каталогу. Откройте интерфейс командной строки (например, gnome-терминал, konsole, xterm или tty) и введите pwd.
[email protected]oft-linux:~$ pwd
/home/datasoft
CD
Вы можете изменить свой текущий каталог (рабочий каталог) с помощью команды cd.
[email protected]:~$ cd /etc
[email protected]:/etc$ pwd
/etc
[email protected]:/etc$ cd /bin
[email protected]:/bin$ pwd
/bin
[email protected]:/bin$ cd /home/datasoft/
[email protected]:~$ pwd
/home/datasoft
CD ~ <
Ввод cd без целевого каталога вернет вас в ваш домашний каталог. Ввод CD ~ имеет тот же эффект.
[email protected]:~$ cd /etc
[email protected]:/etc$ pwd
/etc
[email protected]:/etc$ cd
[email protected]:~$ pwd
/home/datasoft
[email protected]:~$ cd ~
[email protected]:~$ pwd
/home/datasoft
Чтобы перейти в родительский каталог (перемещает вас на один каталог вверх), введите cd ..
[email protected]:~$ pwd
/home/datasoft
[email protected]:~$ cd ..
[email protected]:/home$ pwd
/home
Чтобы остаться в текущем каталоге, введите cd. ;-) Мы увидим полезное использование. символ, представляющий текущий каталог позже.
CD -
Другой полезный ярлык с помощью cd - просто наберите cd - для перехода в предыдущий каталог.
[email protected]:~$ pwd
/home/datasoft
[email protected]:~$ cd /etc
[email protected]:/etc$ pwd
/etc
[email protected]:/etc$ cd -
/home/datasoft
[email protected]:~$ cd -
/etc
Абсолютные пути
Абсолютные пути начинаются сверху / (именуемые root), а затем ищите требуемый каталог. Команда дерева ниже используется в качестве примера с целью объяснения компакт-диска.
Предположим, вы находитесь в каталоге пользователя и хотите переключиться на каталог user1, вам нужно переместиться вверх в дереве каталогов.
Если вы введете:
Пока вы находитесь в каталоге пользователя, вы получите сообщение об ошибке «Нет такого файла или каталога». Это потому, что нет каталога user1 ниже каталога пользователя.
Чтобы перейти в каталог user1, вы должны набрать:
Это абсолютный путь. Он говорит linux начинать сверху (здесь это домашний каталог) и смотреть вниз, пока не найдет каталог user1.
Поэтому абсолютные пути приведут вас в любой каталог, из любого каталога.
Относительные пути
Любой путь, который не начинается с / или ~, является относительным путем. Вы можете использовать абсолютный путь где угодно, также можно использовать относительный путь. В отличие от абсолютного пути, где ваше текущее местоположение не имеет значения, оно имеет значение, где находится ваш текущий каталог, при использовании относительного пути. Два специальных символа "." (точка) и «..» (точка) используются для представления относительных позиций в дереве файловой системы. Команда дерева ниже используется в качестве примера с целью объяснения относительного пути.
Давайте изменим рабочий каталог на / home / user
Допустим, мы хотим изменить рабочий каталог на / home / usre1 (см. Приведенную выше древовидную структуру). Мы можем сделать это двумя разными способами. Либо с абсолютным путем:
Или с относительным именем пути:
Поэтому мы получаем одинаковый результат двумя разными методами.
Вот еще один пример:
Мы можем изменить рабочий каталог с / home на / home / user1 двумя различными способами. Либо с использованием абсолютного пути:
Или с относительным именем пути:
Предполагается, что вы можете опустить "./". Смотрите следующую команду, которая даст вам идентичный результат.
Будь в курсе, где ты
Всегда вы должны знать, в каком рабочем каталоге вы находитесь, прежде чем указывать относительный путь к каталогу или файлу, в который вы хотите попасть. Вам не нужно беспокоиться о своем положении в файловой системе, когда вы указываете абсолютный путь к другому каталогу или файлу. Если вы не уверены, введите pwd (выведите имя текущего каталога).
завершение пути
Клавиша табуляции может помочь вам ввести путь без ошибок. Ввод cd / et с последующим нажатием клавиши tab расширит командную строку до cd / etc /. При вводе cd / Et с последующим нажатием клавиши табуляции ничего не произойдет, потому что вы ввели неверный путь (заглавная E).
Вам потребуется меньше нажатий клавиш при использовании клавиши табуляции, и вы будете уверены, что введенный вами путь правильный!
Ls
Команда ls используется для вывода списка имен файлов и подкаталогов каталога.
[email protected]:~$ ls
abc.txt Documents examples.desktop Pictures Templates Videos
Desktop Downloads Music Public typescript
[email protected]:~$
ls -a
Перечисляет все файлы в каталоге, включая скрытые файлы (.filename).
[email protected]:~$ ls
abc.txt Documents examples.desktop Pictures Templates Videos
Desktop Downloads Music Public typescript
[email protected]:~$ ls -a
. .cache Downloads Pictures Videos
.. .compiz examples.desktop .pki .Xauthority
abc.txt .config .gconf .profile .xsession-errors
.bash_history Desktop .ICEauthority Public .xsession-errors.old
.bash_logout .dmrc .local Templates
.bashrc Documents Music typescript
[email protected]:~$
.. и. вверху вашего списка обратитесь к родительскому каталогу и текущему каталогу соответственно. Каждый файл каталога имеет запись для себя (файл точек ( . )) И для своего родительского каталога (файл точек-точек ( .. ). Параметр -a можно комбинировать с параметром -l.
ls -l
Перечисляет сведения о содержимом, включая разрешения (режимы), владельца, группу, размер, дату создания, является ли файл ссылкой где-либо еще в системе и где указывается его ссылка.
[email protected]:~$ ls -l
total 48
-rw-rw-r-- 1 datasoft datasoft 729 Jul 28 15:34 abc.txt
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Desktop
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Documents
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Downloads
-rw-r--r-- 1 datasoft datasoft 8980 Jun 20 11:42 examples.desktop
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Music
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Pictures
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Public
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Templates
-rw-rw-r-- 1 datasoft datasoft 0 Jul 28 16:21 typescript
drwxr-xr-x 2 datasoft datasoft 4096 Jun 20 12:41 Videos
[email protected]:~$
Вывод, показанный в файле выше, отображает:
- Колонка-1: Тип файла - Первый символ.
- Колонка-2: Нет ссылок
- FAP: столбец 1, 2-10 символы
- Колонка 3: Владелец файла (имя пользователя)
- Колонка 4: Владелец группы (название группы)
- Колонка 5: Размер файла (в байтах)
- Столбцы 6,7 и 8: последняя модификация файла.
- Колонка 9: Владелец файла (имя пользователя)
ls -lh
Другой часто используемый параметр ls - это -h. Он показывает числа (размеры файлов) в более удобочитаемом формате. Ниже также показано, как вы можете задать опции для ls. Мы расскажем подробнее о результатах позже в этой книге.
[email protected]:~$ ls -l -h
total 52K
-rw-rw-r-- 1 datasoft datasoft 729 Jul 28 15:34 abc.txt
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Documents
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Downloads
-rw-r--r-- 1 datasoft datasoft 8.8K Jun 20 11:42 examples.desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Music
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Pictures
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Public
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Templates
-rw-rw-r-- 1 datasoft datasoft 4.0K Jul 28 16:46 typescript
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Videos
[email protected]:~$ ls -lh
total 52K
-rw-rw-r-- 1 datasoft datasoft 729 Jul 28 15:34 abc.txt
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Documents
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Downloads
-rw-r--r-- 1 datasoft datasoft 8.8K Jun 20 11:42 examples.desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Music
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Pictures
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Public
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Templates
-rw-rw-r-- 1 datasoft datasoft 4.0K Jul 28 16:46 typescript
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Videos
[email protected]:~$ ls -hl
total 52K
-rw-rw-r-- 1 datasoft datasoft 729 Jul 28 15:34 abc.txt
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Documents
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Downloads
-rw-r--r-- 1 datasoft datasoft 8.8K Jun 20 11:42 examples.desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Music
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Pictures
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Public
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Templates
-rw-rw-r-- 1 datasoft datasoft 4.0K Jul 28 16:46 typescript
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Videos
[email protected]:~$ ls -h -l
total 52K
-rw-rw-r-- 1 datasoft datasoft 729 Jul 28 15:34 abc.txt
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Documents
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Downloads
-rw-r--r-- 1 datasoft datasoft 8.8K Jun 20 11:42 examples.desktop
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Music
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Pictures
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Public
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Templates
-rw-rw-r-- 1 datasoft datasoft 4.0K Jul 28 16:46 typescript
drwxr-xr-x 2 datasoft datasoft 4.0K Jun 20 12:41 Videos
[email protected]:~$
MkDir
Команда mkdir используется для создания нового каталога. Вы должны задать как минимум один параметр для mkdir, имя нового каталога, который будет создан. Подумайте, прежде чем вводить ведущий /.
[email protected]:~/MyDir$ mkdir test
[email protected]:~/MyDir$ cd test
[email protected]:~/MyDir/test$ ls -al
total 8
drwxrwxr-x 2 datasoft datasoft 4096 Jul 28 16:51 .
drwxrwxr-x 5 datasoft datasoft 4096 Jul 28 16:51 ..
[email protected]:~/MyDir/test$ mkdir staff
[email protected]:~/MyDir/test$ mkdir casualstaff
[email protected]:~/MyDir/test$ ls -l
total 8
drwxrwxr-x 2 datasoft datasoft 4096 Jul 28 16:53 casualstaff
drwxrwxr-x 2 datasoft datasoft 4096 Jul 28 16:52 staff
[email protected]:~/MyDir/test$
mkdir -p
Если задана опция -p, mkdir создаст родительские каталоги по мере необходимости.
[email protected]:~$ mkdir -p test3/Mytest/sample
[email protected]:~$ ls test3
Mytest
[email protected]:~$ ls test3/Mytest
sample
[email protected]:~$ ls test3/Mytest/sample
[email protected]:~$
RmDir
rmdir используется для удаления пустой директории.
[email protected]:~$ rmdir test3/Mytest/sample
[email protected]:~$ ls
abc.txt Documents examples.desktop MyDir Public test3 Videos
Desktop Downloads Music Pictures Templates typescript
[email protected]:~$ cd ..
[email protected]:~$ rmdir test3/Mytest/sample
[email protected]:~$
rmdir -p
Подобно опции mkdir -p, вы также можете использовать rmdir для рекурсивного удаления каталогов.
[email protected]:~$ mkdir -p dir/subdir/subdir2
[email protected]:~$ rmdir -p dir/subdir/subdir2
[email protected]:~$
Упражнение и решение:
1. Показать ваш текущий каталог.
pwd
2. Перейдите в каталог / etc.
Код:
cd /etc
3. Теперь перейдите в свой домашний каталог, используя только три нажатия клавиш.
Код:
cd (and the enter key)
4. Перейдите в каталог / boot / grub, используя всего одиннадцать нажатий клавиш.
Код:
cd /boot/grub (use the tab key)
5. Перейдите в родительский каталог текущего каталога.
Код:
cd .. (with space between cd and ..)
6. Перейдите в корневой каталог.
Код:
cd /
7. Перечислите содержимое корневого каталога.
Код:
ls
8. Перечислите длинный список корневого каталога.
Код:
ls -l/
9. Оставайтесь на месте и перечислите содержимое / etc.
Код:
ls /etc
10. Оставайтесь на месте и перечислите содержимое / bin и / sbin.
Код:
ls /bin /sbin
11. Оставайтесь на месте и перечислите содержимое ~.
Код:
ls ~
12. Перечислите все файлы (включая скрытые) в вашем домашнем каталоге.
Код:
ls -al ~
13. Перечислите файлы в / boot в удобочитаемом формате.
Код:
ls -lh /boot
14. Создайте каталог testdir в вашем домашнем каталоге.
Код:
mkdir ~/testdir
15. Перейдите в каталог / etc, оставайтесь здесь и создайте каталог newdir в вашем домашнем каталоге.
Код:
cd /etc ; mkdir ~/newdir
16. Создайте в одной команде каталоги ~ / dir1 / dir2 / dir3 (dir3 - это подкаталог из dir2,
и dir2 является подкаталогом из dir1).
Код:
mkdir -p ~/dir1/dir2/dir3
17. Удалите каталог testdir.
Код:
rmdir testdir
18. Если позволяет время (или если вы ждете, пока другие студенты закончат эту практику), используйте и понимайте pushd и popd. Используйте справочную страницу bash, чтобы найти информацию об этих командах.
Код:
man bash
Предыдущая: Linux - Control-операторы
Далее: Linux - Работа с файлами
Новый контент: Composer: менеджер зависимостей для PHP , R программирования