Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spo_voprosy.docx
Скачиваний:
9
Добавлен:
20.03.2016
Размер:
465.35 Кб
Скачать

7.Working with files

  1. Необходимо помнить, что, во-первых, Linux чувствителен к регистру, то есть file1 и FILE1 разные файлы, так же как /etc/hosts и /etc/Hosts разные папки (по умолчанию второй даже не существует в Linux).

Во-вторых, все является файлом. Папка (директория) – это особый вид файла, но это по-прежнему файл. Даже окно терминала (/dev/pts/4) или жесткий диск (/dev/sdb) представлены где-то в файловой системе как файл.

  1. file

Команда file определяет тип файла. Linux не использует расширений для определения типа файла. Вашему редактору все равно, оканчивается файл .TXT или .DOC. Как системному администратору, вам следует использовать file для определения типа файла. Вот пара примеров:

paul@laika:~$ file pic33.png

pic33.png: PNG image data, 3840 x 1200, 8-bit/color RGBA, non-interlaced

paul@laika:~$ file /etc/passwd

/etc/passwd: ASCII text

paul@laika:~$ file HelloWorld.c

HelloWorld.c: ASCII C program text

Команда file использует волшебный файл, который содержит модели для определения типа файлов. Этот файл расположен в /usr/share/file/magic/. Наберите man 5 magic для большей информации.

Для определения типа специальных файлов, таких как в /dev и /proc необходимо использовать опцию s.

root@debian6~# file /dev/sda

/dev/sda: block special

root@debian6~# file -s /dev/sda

/dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead...

root@debian6~# file /proc/cpuinfo

/proc/cpuinfo: empty

root@debian6~# file -s /proc/cpuinfo

/proc/cpuinfo: ASCII C++ program text

  1. touch

Один из наиболее простых способов создания файлов это команда touch. (Прим: touch file1). При создании файла можно так же использовать параметр t, для изменения времени создания:

paul@laika:~/test$ touch -t 200505050000 SinkoDeMayo

paul@laika:~/test$ touch -t 130207111630 BigBattle

paul@laika:~/test$ ls -l

total 0

-rw-r--r-- 1 paul paul 0 1302-07-11 16:30 BigBattle

-rw-r--r-- 1 paul paul 0 2005-05-05 00:00 SinkoDeMayo

  1. rmкоманда для удаления файла. В отличие от ОС с графическим интерфейсом, командная строка не имеет корзины, или чего-либо подобного. Если вы используете rm, то файл пропадает окончательно. Чтобы предостеречь себя от случайного удаления файла, добавьте опцию i, тогда будет задан вопрос, уверены ли вы:

paul@laika:~/Linux$ touch brel.txt

paul@laika:~/Linux$ rm -i brel.txt

rm: remove regular empty file `brel.txt'? y

paul@laika:~/Linux$

По умолчанию rmr не будет удалять пустые директории. Однако есть несколько опций, которые позволят вам удалить любую директорию. Опция rmrf известна потому, что она удалит всё (если у вас есть разрешение). Когда вы вошли с правами root, будьте осторожны с rm –rf (r – recursive, рекурсивно, f – force, усиленно/форсировано), на вас больше не будут распространяться ограничения. То есть вы буквально можете случайно удалить всю систему.

  1. cpдля копирования файлов (если добавить исходный файл и конечную цель). Если цель – папка, то он будет скопирован в эту папку. Если вы хотите скопировать папку вместе со всем содержимым (и подпапками), используйте cpr. Вы так же можете скопировать несколько файлов за раз, в этом случае последний аргумент (цель) должен быть папкой. (Прим: cp file1 file2 dir1/file3 dir1/file55 dir2). Аналогично с rm можно использовать опцию i, для защиты от случайной перезаписи файла при копировании. Чтобы при копировании сохранить все выставленные права доступа, а так же время создания файла, используйте опцию p.

  1. mvдля изменении имени файла или для перемещения файла в другую папку. Когда надо переименовать только один файл, удобно использовать команду mv (прим: mv 1.txt 2.pdf, тогда файл 1.txt сменит название на 2.pdf).

  1. renameкоманда для переименования большого числа файлов за раз. Ниже приведены два примера, первый меняет все расширения из txt в png, для всех файлов, имя которых оканчивается на txt. Второй пример меняет все, что имеет в названии ABC в нижний регистр: abc, для всех файлов, которые кончаются на .png. Приведенный синтаксис работает для debian и ubuntu (до Ubuntu 7.10, у меня на виртуальной машине стоит Ubuntu 12.04, работает также)

paul@laika:~/test$ ls

123.txt ABC.txt

paul@laika:~/test$ rename 's/txt/png/' *.txt

paul@laika:~/test$ ls

123.png ABC.png

paul@laika:~/test$ rename 's/ABC/abc/' *.png

paul@laika:~/test$ ls

123.png abc.png

paul@laika:~/test$

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]