419.89K

Операции с файлами и каталогами. Работа с командами. Типы файлов Linux

1.

Операции с файлами и
каталогами
Работа с командами

2.

Типы файлов LINUX
• Обычный файл (-) - содержат обычные данные, текстовые
файлы, исполняемые файлы ( или программы ), файлы ввода или
вывода программ
• Каталог (d) - файлы, которые представляют собой списки
других файлов
• Ссылка (l) - механизм обеспечения видимости файла или
каталога во множестве частей файлового дерева системы
• Сокет (s) - особый тип файла, подобный сокетам TCP/IP,
обеспечивающий взаимодействие в сети процессов, защищенных
контролем файловой системы на доступ
• Именованный канал FIFO (p) - действуют более или менее
похоже на сокеты и обеспечивают способ коммуникации между
процессами без использования правил поведения сетевых
сокетов.

3.

Пользовательская среда shell
В рамках любого из интерпретаторов можно:
• использовать набор команд (встроенные и внешние)
• создавать и исполнять командные процедуры – скрипты
• запускать на выполнение любые программы
• осуществлять настройку терминала и параметров среды
(окружения) пользователя
Каждый раз, когда открывается пользовательский сеанс,
автоматически запускаются два файла:
• profile
• bashes

4.

Обобщенный формат команд
shell
имя_команды [-ключи] [аргументы…]
имя_команды – ключевое слово, определяющее действие команды:
cd, cat, find, set
ключ (опция) – символ, задающий режим или способ выполнения
команды (предваряется знаком “-”):
-l, -E, -alEgF
аргументы – список параметров, указывающих на обрабатываемые
объекты или задающих исходные данные
При необходимости разделить ключи и аргументы следует указать
«двойной минус» --
man – команда вывода страниц руководства по командам shell

5.

Работа с каталогами
Показать текущий каталог (pwd)
pwd
Изменить текущий каталог (cd)
cd [имя_каталога]
$ pwd
/u/u01
$ cd pic
$ pwd
/u/u01/pic
/
u
u01
file
pic
prog
$ pwd
/u/u01
$ cd /etc
$ pwd
/etc

6.

Создание каталога
mkdir имя_каталога1 [имя_каталога2 …]
$ mkdir dir - создание каталога, с именем dir в текущем каталоге
$ mkdir –m 750 dir - создание каталога с установленными правами
доступа (код 750)
$ mkdir dir1 dir2 dir3 - создание нескольких каталогов
$ mkdir /home/stud/tst - создание каталога с абсолютным именем

7.

Просмотр содержимого каталога
ls [-ключи] [имя_каталога]
Список файлов текущего каталога
$ ls
file1
file2
dir1
Список файлов указанного каталога /u/user01
$ ls -F /u/user01
file1
file2*
dir1/
* - программы (исполнимые файлы)
/ - каталоги
@, & - ссылки на другие файлы
| - FIFO файл
пробел - простой файл

8.

Просмотр содержимого каталога
Расширенный вывод каталога /home/stud
$ ls –l /home/stud
-rwxr-xr-x
-rw-r--r-x
drw-r--r-x
Тип
файла
Права
доступа
1
1
1
user01
user01
user01
Число
ссылок
is
is
is
512
1320
8096
Имя
группы
Имя
пользователя
Apr 16 10:46 file1
Apr 11 17:02 file2
Apr 11 17:02 dir1
Дата и
время
Размер
Имя
файла

9.

Удаление каталога
rmdir [-p] каталог
Удаляет пустые каталоги или деревья (-p)
$ rmdir /abc
$ rmdir –p /int/mom/tmp
rm [-irv] каталог
Удаляет файлы из указанных каталогов и сами каталоги
-i – вывод запроса на удаление файлов
-r – удаление всех подкаталогов (рекурсивное удаление)
-v – вывод списка удаленных файлов
$ rm -r /temp

10.

Создание и редактирование
файлов
ed [файл] – встроенный текстовый редактор shell
vi [файл] – встроенный текстовый редактор shell
сat > файл – ввод с консоли (Ctrl-D – завершить ввод)

11.

Вывод текстовых файлов
сat файл [файл …] - для просмотра файлов из нескольких
строк
Управляющие действия:
Ctrl-s – приостановка, Ctrl-q - возобновление вывода
more файл - постраничный просмотр больших файлов
Управляющие действия:
Пробел - переход на следующую страницу
Enter - сдвиг вперед на одну строку
b - возврат на предыдущую страницу
h - обращение за подсказкой
q или Ctrl-c - выход в режим командной строки

12.

Удаление файла
rm [-iv] файл [файл…]
-i – вывод запроса на удаление файлов
-v – вывод списка удаленных файлов
$ rm file1 file2 file3
$ rm –i file?

13.

Копирование файлов и каталогов
Копирование файлов в текущем каталоге
cp [-ключи] файл1 файл2
$ cp file1 file2
Копирование файлов в другой каталог
cp [-ключи] файл [файл…] каталог
$ cp file1 file2 ~/dir
$ cp –i file1 /dir
overwrite dir/file1? n
Копирование каталога в другой каталог
cp [-ключи] каталог1 каталог2
$ cp –r ~/dir /tmp

14.

Перемещение и переименование
файлов и каталогов
Переименование файла
mv [-ключи] файл1 файл2
$ mv file1 file3
Перемещение файла в другой каталог
mv [-ключи] файл [файл…] каталог
$ mv file3 dir
Переименование каталога
mv [-ключи] каталог1 каталог2
$ mv dir katalog
Перемещение каталога в другой каталог
mv [-ключи] каталог1 каталог2
$ mv –r dir katalog

15.

Выборка столбцов файла
сut –c список файл
$ cat tabl1
1 Ivan
578
2 Peter 435
3 Sasha 734
mosсow
newyork
orel
$ cut –c 1, 3, 4, 5, 16-22 tabl1
1Ivamoscow
2Petnewyork
3Sasorel

16.

Поиск контекста в файле
grep [-ключи] шаблон [файл]
egrep [-ключи] шаблон [файл]
-c - вывести количество найденных строк
-v - вывести строки, не удовлетворяющие условию
-i - игнорировать различие между прописными и строчными
символами
$ grep linux docs.txt
$ grep –ci ’Red Hat Linux’ docs.txt
$ grep ’get|put|print|write’ docs.txt

17.

Поиск контекста в файле
Специальные символы шаблона:
. – любой произвольный символ
* – предыдущий символ повторить любое число раз
.* – любая последовательность символов
^шаблон – привязка шаблона к началу строки
шаблон$ – привязка шаблона к концу строки
[символы] – взять ровно один символ из списка
$ grep ’^a.*z$’ docs.txt
$ grep ’^[aA]$’ docs.txt
$ grep ’\$1\.00’ price

18.

Поиск файлов по запросу
find каталог ключи-условия [ключи-действия]
Ключи-условия:
-name шаблон - шаблон имени файла
-type f - брать только обыкновенные файлы ( d - только каталоги)
-size +500 - файлы размером более 500*512 байт
-mtime –3 – файл изменен менее трех дней назад
-atime +3 – последний доступ к файлу более трех дней назад
-user имя - файлы, принадлежащие указанному пользователю
-group имя - файлы, принадлежащие пользователям указанной группы
-maxdepth 1 – ограничить глубину поиска по вложенным каталогам
Ключи-действия:
-exec команда {} \; - выполнить заданную команду над найденными файлами
$ find / -name ’*.c’
$ find /tmp –type f –atime+30 –exec rm {} \;
English     Русский Правила