- Главная
- Информатика
- Использование Linux при программировании 3
Содержание
- 2. Лекция 3. Файлы и каталоги в Linux. Команды для работы с файлами и каталогами Типы файлов
- 3. Типы файлов в Linux Одним из основных принципов построения Linux и Unix является принцип “Everything is
- 4. Структура каталогов в Windows
- 5. Структура каталогов в Linux
- 6. Каталог /bin содержит основные системные утилиты, необходимые в однопользовательском режиме, а так же при обычной работе
- 7. Каталог /proc содержит виртуальную файловую систему proc, которая отображает в виде структуры файлов и каталогов различную
- 8. При задании имени файла в Linux можно использовать шаблоны имен файлов. Они задаются с помощью специальных
- 9. Команда ls выводит на экран содержимое заданного каталога. $ ls [флаги] [каталог] Если каталог не указан,
- 10. $ ls -al итого 52 drwxr-xr-x 2 user user 4096 Янв 26 14:29 . drwxr-xr-x 3
- 11. Команды cd и pwd Команда cd изменяет текущий каталог (сокр. от change directory). $ cd [каталог]
- 12. Для создания одного или нескольких новых каталогов используется команда mkdir. $ mkdir [ключи] имя_каталога … $
- 13. Команда cat Очень полезной командой является команда cat. Она позволяет объединять файлы, но не только это.
- 14. Переименование или перемещение файла выполняется командой mv. $ mv [флаги] исходный_файл файл_назначения $ mv [флаги] исходный_файл…
- 15. Команда rm Команда rm позволяет удалить указанные файлы или каталоги. Она имеет формат: $ rm [флаги]
- 16. Работа со ссылками Для создания ссылок на файлы в Linux предназначена команда ln. Она может создавать
- 17. Понятия владельца файла и прав доступа В Linux каждый файл имеет своего владельца. Им обычно является
- 18. Команда chmod (1) Для изменения прав доступа к файлу предназначена команда chmod. $ chmod [ключи] режим
- 20. Скачать презентацию
Слайд 2Лекция 3. Файлы и каталоги в Linux. Команды для работы с файлами
Лекция 3. Файлы и каталоги в Linux. Команды для работы с файлами
Типы файлов в Linux
Дерево каталогов Linux . Монтирование файловых систем
Шаблоны имен файлов
Команда ls
Команды cd и pwd
Команды mkdir и rmdir
Команда cat
Команды mv и cp
Команда rm
Работа со ссылками
Понятия владельца файла и прав доступа
Команда chmod
Слайд 3Типы файлов в Linux
Одним из основных принципов построения Linux и Unix является
Типы файлов в Linux
Одним из основных принципов построения Linux и Unix является
Обычный файл (file) – это обозначенная некоторым именем последовательность данных, которые хранятся на диске (устройстве хранения данных).
Каталог (директория, directory) формально тоже считается файлом, содержащим данные о файлах, хранящихся в нем.
Символьная или мягкая ссылка (символическая ссылка, symbolic link, simlink) во многом похожа на ярлык Windows. Но предназначена она не для быстрого запуска программ, а для исключения дублирования и более оптимального использования места на диске.
Файл устройства представляет собой способ обращения к различным устройствам с помощью файловых операций. Файлы устройств отображаются в каталоге /dev дерева каталогов Linux. Существуют два типа устройств – символьные (character) и блочные (block), работа с которыми происходит по-разному.
Канал (pipe) представляет собой специальный механизм для обмена данными между процессами (исполняющимися программами), которые выполняются на одной машине.
Сокет (socket) похож на канал в том смысле, что тоже является механизмом для обмена данными между двумя разными процессами. Однако сокет имеет два важных отличия от канала – процессы чаще всего запущены на разных компьютерах, а обмен данными осуществляется по сети с использованием стека протоколов TCP/IP.
Слайд 4Структура каталогов в Windows
Структура каталогов в Windows
Слайд 5Структура каталогов в Linux
Структура каталогов в Linux
Слайд 6Каталог /bin содержит основные системные утилиты, необходимые в однопользовательском режиме, а так
Каталог /bin содержит основные системные утилиты, необходимые в однопользовательском режиме, а так
Каталог /boot содержит файлы загрузчика, например, образ ядра Linux.
Каталог /dev содержит файлы устройств.
Каталог /etc содержит общесистемные конфигурационные файлы и конфигурационные файлы программ.
Каталог /home содержит домашние каталоги пользователей. При обычной работе чаще всего используется этот каталог.
Каталог /lib содержит файлы общесистемных разделяемых библиотек и модулей ядра.
Каталог /media содержит точки монтирования для сменных носителей, таких как CD и DVD-диски, flash-накопители и т.п.
Каталог /mnt содержит точки монтирования для временных разделов.
Каталог /opt содержит дополнительные пакеты приложений.
Дерево каталогов Linux (1)
Слайд 7Каталог /proc содержит виртуальную файловую систему proc, которая отображает в виде структуры
Каталог /proc содержит виртуальную файловую систему proc, которая отображает в виде структуры
Каталог /root является домашним каталогом пользователя root.
Каталог /sbin содержит основные системные программы для администрирования и настройки системы.
Каталог /sys является точкой монтирования еще одной виртуальной файловой системы sys, являющейся расширением proc.
Каталог /usr содержит большинство пользовательских приложений и утилит, использующихся в многопользовательском режиме.
Каталог /var содержит изменяемые файлы, такие как файлы регистрации, временные файлы и т.п.
Дерево каталогов Linux (2)
Слайд 8При задании имени файла в Linux можно использовать шаблоны имен файлов. Они
При задании имени файла в Linux можно использовать шаблоны имен файлов. Они
Символ “*” заменяет несколько любых символов, в том числе и ни одного.
Шаблону “*” соответствует любое имя файла, а шаблону “a*b” соответствуют имена “ab”, “a1b”, “ahtb”, “a_file_b” и т.п.
Символ “?” в шаблоне заменяет один любой символ в имени файла.
Шаблону “a?b” соответствуют имена файлов “aab”, “abb”, “axb”, “a8b” и т.п.
Символы квадратных скобок позволяют задать символ из заданного набора. Например, шаблону “a[abc]b” соответствуют имена файлов “aab”, “abb” и “acb”. В квадратных скобках можно указать диапазон.
Шаблоны имен файлов
Слайд 9Команда ls выводит на экран содержимое заданного каталога.
$ ls [флаги] [каталог]
Если каталог
Команда ls выводит на экран содержимое заданного каталога.
$ ls [флаги] [каталог]
Если каталог
$ ls /home/user/Prog
file.c fileout
$ ls
inst.txt ls.txt Prog
Команда содержит множество ключей, которые определяют:
• в каком формате выводить информацию,
• какую именно информацию об этих объектах нужно вывести,
• как упорядочить выводимую информацию.
За то, каким образом выводить содержимое каталога, отвечают опции -1, -m, -x, -C и -l.
За то, какая именно информация выводится на экран, отвечают опции -l, -a, -R.
Третья группа ключей отвечает за сортировку списка выводимых файлов. Это ключи -f, -t, -v, -S, -X, -r.
Команда ls (1)
Слайд 10$ ls -al
итого 52
drwxr-xr-x 2 user user 4096 Янв 26 14:29 .
drwxr-xr-x
$ ls -al
итого 52
drwxr-xr-x 2 user user 4096 Янв 26 14:29 .
drwxr-xr-x
-rw-r--r-- 1 user user 22 Янв 26 14:26 example2.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 example.c
-rw-r--r-- 1 user user 22 Янв 26 14:25 example.o
-rw-r--r-- 1 user user 22 Янв 26 14:25 example.out
-rw-r--r-- 1 user user 22 Янв 26 14:25 file100.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 file1.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 file20.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 file.a.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 fileb.txt
-rw-r--r-- 1 user user 22 Янв 26 14:25 textfile
-rw-r--r-- 1 user user 22 Янв 26 14:26 textfile2
Команда ls (2)
Слайд 11Команды cd и pwd
Команда cd изменяет текущий каталог (сокр. от change
Команды cd и pwd
Команда cd изменяет текущий каталог (сокр. от change
$ cd [каталог]
Примеры:
$ cd /usr - перейти в каталог /usr,
$ cd .. - перейти в родительский каталог (находящийся в иерархии каталогов на один уровень выше),
$ cd - перейти в рабочий каталог пользователя.
$ cd – - перейти в предыдущий каталог.
Вывести на экран текущий каталог можно с помощью команды pwd (сокр. от print working directory). Команда не имеет параметров.
$ pwd
/home/user
Слайд 12Для создания одного или нескольких новых каталогов используется команда mkdir.
$ mkdir [ключи]
Для создания одного или нескольких новых каталогов используется команда mkdir.
$ mkdir [ключи]
$ mkdir dir_a dir_b dir_c
Используя ключ -m можно при создании каталога сразу задать ему права доступа.
$ mkdir -m 777 dir1
Если в команде mkdir задать ключ -p, то можно сразу создать цепочку вложенных друг в друга подкаталогов.
$ mkdir -p dir1/dir2/dir3
Для удаления пустых каталогов предназначена команда rmdir.
$ rmdir [ключи] каталог …
$ rmdir dir1 dir2
Если задать в команде ключ -p, то она позволяет удалять вложенные друг в друга пустые подкаталоги.
$ rmdir -p ./dir1/dir2/dir3
Команды mkdir и rmdir
Слайд 13Команда cat
Очень полезной командой является команда cat. Она позволяет объединять файлы, но
Команда cat
Очень полезной командой является команда cat. Она позволяет объединять файлы, но
$ cat [ключи] имя_файла …
Команду cat можно использовать для:
1. Вывода файла на экран
$ cat file
2. Ввода файла с клавиатуры. В конце ввода нужно нажать Ctrl+D.
$ cat > file
3. Объединения нескольких файлов в один.
$ cat file1 file2 file3 > file123
Например:
$ cat file1
This is file1
$ cat file2
This is file2
$ cat file1 file2 > file3
$ cat file3
This is file1
This is file2
Слайд 14Переименование или перемещение файла выполняется командой mv.
$ mv [флаги] исходный_файл файл_назначения
$ mv
Переименование или перемещение файла выполняется командой mv.
$ mv [флаги] исходный_файл файл_назначения
$ mv
Если последний параметр команды является именем каталога , то команда mv перемещает файлы в этот каталог.
Команда cp позволяет выполнить копирование указанного файла под новым именем или копировать несколько файлов под старыми именами в указанный каталог.
$ cp [флаги] файл1 файл2
$ cp [флаги] файл… каталог_назначения
Если последним параметром команды является имя каталога, то в данный каталог копируются указанные в команде файлы с сохранением их имен.
Ключи команды:
-l - вместо копирования файлов будут созданы их жесткие ссылки.
-s - вместо копирования файлов будут созданы их символьные ссылки.
-r - рекурсивный режим копирования, когда вместе с каждым копируемым каталогом копируются вложенные в него файлы и подкаталоги.
Команды mv и cp
Слайд 15Команда rm
Команда rm позволяет удалить указанные файлы или каталоги. Она имеет
Команда rm
Команда rm позволяет удалить указанные файлы или каталоги. Она имеет
$ rm [флаги] файл…
В Linux удаленный файл восстановить чаще всего невозможно.
Достаточно мощным, но в то же время опасным ключом команды является ключ -r, включающий режим рекурсивного удаления каталогов, позволяющий удалять каталоги вместе с вложенными в них файлами и подкаталогами. Например, следующая команда удаляет каталог prog и все его подкаталоги:
$ rm –r prog
Слайд 16Работа со ссылками
Для создания ссылок на файлы в Linux предназначена команда
Работа со ссылками
Для создания ссылок на файлы в Linux предназначена команда
$ ln [ключи] имя_файла [имя_ссылки]
$ ln [ключи] имя_файла … каталог
Первый вариант команды создает (по умолчанию - в текущем каталоге) ссылку с именем ссылка на заданный файл с именем имя_файла.
Второй вариант команды создает в заданном каталоге ссылки на указанные файлы, причем имена файлов ссылок будут совпадать с именами исходных файлов.
По-умолчанию создается жесткая ссылка. Если требуется создать символьную ссылку, то в команде нужно указать ключ -s.
Слайд 17Понятия владельца файла и прав доступа
В Linux каждый файл имеет своего
Понятия владельца файла и прав доступа
В Linux каждый файл имеет своего
Владелец файла определяет права доступа к файлу. Для каждого файла могут быть заданы: право на чтение, право на запись и право на выполнение. Права задаются отдельно для трех категорий пользователей:
1. для владельца файла,
2. для пользователей, входящих в группу владельца,
3. для всех остальных пользователей.
Основные права доступа часто задают в виде трех восьмеричных цифр, например 764. Первая цифра (7) определяет права владельца файла, вторая (6) – права группы владельца, а третья – права остальных пользователей. Каждая восьмеричная цифра прав складывается из трех двоичных разрядов – права на исполнение (в разряде единиц), права на запись (в разряде двоек) и права на чтение (в разряде четверок).
Кроме перечисленных есть еще три дополнительных бита прав доступа. Это так называемые SUID-, SGID- и sticky-биты. Они хранятся в старшей тройке битов прав доступа.
Слайд 18Команда chmod (1)
Для изменения прав доступа к файлу предназначена команда chmod.
$
Команда chmod (1)
Для изменения прав доступа к файлу предназначена команда chmod.
$
Параметр режим, задающий права доступа, может задаваться в двух форматах – числовом и символьном.
$ chmod 4764 report.txt
Символьная форма описания режима прав доступа задается в следующем формате:
[ugoa] [+-=] [rwxstugo]
Первая часть строки режима определяет, для кого изменяются права доступа – для владельца (u), группы владельца (g), остальных пользователей (o) или всех пользователей (a).
Вторая часть строки режима определяет, как изменяются права доступа – они добавляются к уже имеющимся (+), устанавливаются заново (=) или удаляют часть имеющихся прав (-).
Третья часть строки режима задает новые права доступа для пользователя, заданного первой строкой: r – чтение, w – запись, x – выполнение, s – SUID- или SGID-биты, t – sticky-бит.