кодесурса
«Linux

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

script1adsense2code
script1adsense3code

Вступление

На этом занятии мы рассмотрели наиболее распространенные команды для работы с каталогами: 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), а затем ищите требуемый каталог. Команда дерева ниже используется в качестве примера с целью объяснения компакт-диска.

«Linux

Предположим, вы находитесь в каталоге пользователя и хотите переключиться на каталог user1, вам нужно переместиться вверх в дереве каталогов.
Если вы введете:

«Linux

Пока вы находитесь в каталоге пользователя, вы получите сообщение об ошибке «Нет такого файла или каталога». Это потому, что нет каталога user1 ниже каталога пользователя.

Чтобы перейти в каталог user1, вы должны набрать:

«Linux

Это абсолютный путь. Он говорит linux начинать сверху (здесь это домашний каталог) и смотреть вниз, пока не найдет каталог user1.

Поэтому абсолютные пути приведут вас в любой каталог, из любого каталога.

Относительные пути

Любой путь, который не начинается с / или ~, является относительным путем. Вы можете использовать абсолютный путь где угодно, также можно использовать относительный путь. В отличие от абсолютного пути, где ваше текущее местоположение не имеет значения, оно имеет значение, где находится ваш текущий каталог, при использовании относительного пути. Два специальных символа "." (точка) и «..» (точка) используются для представления относительных позиций в дереве файловой системы. Команда дерева ниже используется в качестве примера с целью объяснения относительного пути.

«Linux

Давайте изменим рабочий каталог на / home / user

«Linux

Допустим, мы хотим изменить рабочий каталог на / home / usre1 (см. Приведенную выше древовидную структуру). Мы можем сделать это двумя разными способами. Либо с абсолютным путем:

«Linux

Или с относительным именем пути:

«Linux

Поэтому мы получаем одинаковый результат двумя разными методами.

Вот еще один пример:

«Linux

Мы можем изменить рабочий каталог с / home на / home / user1 двумя различными способами. Либо с использованием абсолютного пути:


Или с относительным именем пути:

«Linux

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

«Linux

Будь в курсе, где ты

Всегда вы должны знать, в каком рабочем каталоге вы находитесь, прежде чем указывать относительный путь к каталогу или файлу, в который вы хотите попасть. Вам не нужно беспокоиться о своем положении в файловой системе, когда вы указываете абсолютный путь к другому каталогу или файлу. Если вы не уверены, введите 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code