Операционные системы семейства UNIX предоставляют пользователю широкий спектр команд для работы с файлами и каталогами. Их сильной стороной является возможность использования их в простой форме в отношении группы файлов и каталогов, которые отвечают определенным требованиям. Например удалить группу файлов отвечающих определенным критериям или сменить им всем имена по определенному шаблону.
1. ls
Это очень часто используемая команда. Она перенаправляет содержимое каталога в стандартный поток вывода. Если выполнить эту команду не указывая целевой каталог, то выведется содержимое текущего каталога.
adam@laptop:~/Documents/polishlinux.org$ pwd
/home/adam/Documents/polishlinux.org/
adam@laptop:~/Documents/polishlinux.org$ls
example.txt all_about_console.txt
adam@laptop:~/Documents/polishlinux.org$ls /var/
backups cache crash games lib local lock log mail opt run spool
tmp
Если после команды ls поставить ключ -l, то выведется более подробная информация о содержимом каталога.
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
total 0
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 example.txt
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 all_about_console.txt
В первой строке показывается общее количество блоков на диске занимаемое файлами каталога. Остальные строчки описывают фалы в следующем формате (по столбцам):
- -rw-r–r– – уровни доступа к файлам и каталогам
- количество жестких ссылок на файл
- пользователь и группа владельцев файла
- размер файла
- время последнего изменения файла
- имя файла или каталога
Команда ls с ключом -a выводит так же и скрытые файлы. Имена скрытых файлов начинаются с точки.
adam@laptop:~/Documents/polishlinux.org/examples$ ls -a
. .. .hidden_file example.txt all_about_console.txt
По мимо этого, доступна возможность сортировки файлов командой ls со следующими ключами:
- strong>-t – по времени (по убыванию)
- -S – по размеру (по убыванию)
- -r – обратный порядок (-tr)
Если запустить с ключом -R, то выведется все содержимое каталога и его подкаталогов (рекурсивный обход):
adam@laptop:~/Documents/polishlinux.org/examples$ ls -R
.:
directory1 directory2 example.txt all_about_console.txt
./directory1:
file1 file2
./directory2:
file3 file4
2. cd
С помощью команды cd (change directory) мы можем перемещаться по дереву каталогов. Для этой команды необходим один параметр – это целевой каталог (относительно текущего или относительно корня).
adam@laptop:~$cd /usr/bin
adam@laptop:/usr/bin$pwd
/usr/bin
Если вместо пути поставить символ тильда (~), то вас перекинут в домашнюю папку.
adam@laptop:/usr/bin$cd ~
adam@laptop:~$pwd
/home/adam
Если ввести ключ в виде ~имя_пользователя, то нас перекинут в домашний каталог этого пользователя.
adam@laptop:~$cd ~zoidberg
adam@laptop:/home/zoidberg$pwd
/home/zoidberg
Любой каталог к UNIX всегда содержит каталог “.” и “..”. Одна точка “ссылка” (не жесткая, и не символическая) на текущий каталог, а две точки – это “ссылка” на родительский каталог.
adam@laptop:~$cd ..
adam@laptop:/home$pwd
/home
Как уже говорилось выше, можно использовать как относительный путь, так и абсолютный. Абсолютный всегда начинается с корня и дальше по иерархии каталогов (/home/adam), а относительный – это относительно текущего каталога, начинается сразу с его имени.
3. mkdir, rmdir
Обе команды оперируют каталогами, первая создает их (make), вторая соответственно удаляет (remove). Обеим передается один параметр – это путь к каталогу. rmdir можно применять только к пустым каталогам.
adam@laptop:~/Documents/polishlinux.org/examples$ mkdir directory
adam@laptop:~/Documents/polishlinux.org/examples$ ls
directory example.txt all_about_console.txt
adam@laptop:~/Documents/polishlinux.org/examples$ rmdir directory/
adam@laptop:~/Documents/polishlinux.org/examples$ ls
example.txt all_about_console.txt
4. cp, mv, rm
- cp – копировать (copy), требует два параметра, “что” и “куда”
- mv – перемещение (move) или переименование (переименование – это тоже перемещение, только в тоже место), параметры как и у команды cp
- rm – удаление (remove) файлов и каталогов
С этими командами могут использоваться следующие ключи:
- -f – форсирует (force) задавание лишних вопросов, например если файл только для чтения, у вас не спросят уверены ли вы что хотите его удалить
- -i – работа в интерактивном режиме,система будет спрашивать разрешение на каждое действие
- -b – для команд cp и mv создает резервную копию файла
Для команд cp и rm существует рекурсивный режим – ключ -r.
adam@laptop:~/Documents/polishlinux.org/examples$ ls
directory1 directory2 directory3 example.txt all_about_console.txt
adam@laptop:~/Documents/polishlinux.org/examples$ cp -R directory2/ directory3/
adam@laptop:~/Documents/polishlinux.org/examples$ ls directory3/
directory2
adam@laptop:~/Documents/polishlinux.org/examples$ rm -r directory3/
adam@laptop:~/Documents/polishlinux.org/examples$ ls
directory1 directory2 example.txt all_about_console.txt
Помните, что rm -r удалит все, даже и не пустые каталоги.
5. ln
Команда ln создает ссылки на файл или каталог, которая имеет теже параметры что и оригинальный файл. Разделяют два вида ссылок, символические и жесткие.
- символическая ссылка – содержит в себе путь к оригинальному файлу, полный аналог ярлыков в Windows
- жесткая ссылка – в отличии от символической содержит в себе путь к тому дисковому пространству где расположены данные оригинального файла
Если удалить файл на который ссылается символическая ссылка, то в шелле она будет подсвечена красным. Если мы удалим оригинальный файл на который ссылается жесткая ссылка, то с ней ничего не произойдет, т.к. жесткая ссылка все еще “резервирует” место на диске, сообщая что это не не используемая область данных.
Символические ссылки создаются с помощью параметра -s.
adam@laptop:~/Documents/polishlinux.org/examples$ cat file
Symlink example.
adam@laptop:~/Documents/polishlinux.org/examples$ ln -s file
symlink_file
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
lrwxrwxrwx 1 adam adam 4 2007-06-01 19:11 symlink_file -> file
-rw-r–r– 1 adam adam 22 2007-06-01 19:10 file
adam@laptop:~/Documents/polishlinux.org/examples$ rm file
adam@laptop:~/Documents/polishlinux.org/examples$ ls
ymlink_file
Посмотреть все жесткие ссылки на файл можно с помощью команды ln с ключом -l.
adam@laptop:~/Documents/polishlinux.org/examples$ ln file hardlink_file
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
-rw-r–r– 2 adam adam 22 2007-06-01 19:11 hardlink_file
-rw-r–r– 2 adam adam 22 2007-06-01 19:11 file
adam@laptop:~/Documents/polishlinux.org/examples$ rm file
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
-rw-r–r– 1 adam adam 22 2007-06-01 19:11 hardlink_file
6. touch
Эта простая команда имеет два применения. Первое, если в параметр мы передадим имя файла, программа простол изменит его время модификации на текущее. Если такого файла нет, то она его создаст – это второе.
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l example.txt
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 example.txt
adam@laptop:~/Documents/polishlinux.org/examples$ touch example.txt
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
total 0
-rw-r–r– 1 adam adam 0 2007-06-07 13:27 example.txt
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 all_about_console.txt
adam@laptop:~/Documents/polishlinux.org/examples$ touch new.txt
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
total 0
-rw-r–r– 1 adam adam 0 2007-06-07 13:28 new.txt
-rw-r–r– 1 adam adam 0 2007-06-07 13:27 example.txt
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 all_about_console.txt
Если в качестве ключа указать -c или –no-create, то в случае отсутствия файла, она его не создаст. А параметры -d и -t меняют время создания на определенное в соответствии с шаблоном: [[CC]YY]MMDDhhmm[.ss].
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
total 0
-rw-r–r– 1 adam adam 0 2007-06-07 13:28 new.txt
-rw-r–r– 1 adam adam 0 2007-06-07 13:27 example.txt
-rw-r–r– 1 adam adam 0 2007-05-30 11:31 all_about_console.txt
adam@laptop:~/Documents/polishlinux.org/examples$ touch -t
200706101200 new.txt
adam@laptop:~/Documents/polishlinux.org/examples$ touch -d
“last monday” example.txt
adam@laptop:~/Documents/polishlinux.org/examples$ touch -d
“2 days ago 12:00″ all_about_console.txt
adam@laptop:~/Documents/polishlinux.org/examples$ ls -l
total 0
-rw-r–r– 1 adam adam 0 2007-06-10 12:00 new.txt
-rw-r–r– 1 adam adam 0 2007-06-04 00:00 example.txt
-rw-r–r– 1 adam adam 0 2007-06-05 12:00 all_about_console.txt
7. df, du
Следующие две команды шелла это df и du. Первая выводит информацию о свободнов пространстве на дисках (Display Free disk space). Вторая выводит информацию о занимаемом месте на диске файлом. С ключом -h информация выдастся не в блоках, а в мегабайтах.
adam@laptop:~/Documents/polishlinux.org/examples$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sda5 40G 34G 4,0G 90% /
varrun 502M 136K 502M 1% /var/run
varlock 502M 0 502M 0% /var/lock
procbususb 502M 148K 502M 1% /proc/bus/usb
udev 502M 148K 502M 1% /dev
devshm 502M 0 502M 0% /dev/shm
adam@laptop:~/Documents/polishlinux.org/examples$ du -h error.txt
4,0K error.txt
8. echo
Простая команда, возвращает текст переданный параметром.
adam@laptop:~$echo Hello World!
Hello World!
adam@laptop:~$
Команда автоматически добавляет в конце строки символ перехода на новую, что бы этого избежать используйте ключ -n.
adam@laptop:~$echo -n Hello World!
Hello World!adam@laptop:~$
9. pwd
Команда pwd (print working directory) выдает полный путь к текущему каталогу.
adam@laptop:~$pwd
/home/adam
adam@laptop:~$
10. cat
Эта команда может использоваться для создания файлов. Строго говоря, эта программа перенаправляет поток ввода в файл и отображает поток ввода на стандартном потоке вывода.
adam@laptop:~$cat > file.txt
Very interesting text.
Для просмотра содержимого файла, нужно ввести тоже самое но без оператора >.
adam@laptop:~$cat file.txt
Very interesting text.
Если использовать ключ -n, строки будут пронумированны.
adam@laptop:~$cat -n file.txt
1 Very interesting text.
Так же эту команду можно использовать для объединения файлов, например:
cat file1 file2 file3 file4 file5 > file.iso
11. wc, head, tail
Есть три команды используемые для обработки строк. Команда wc выводит количество строк, слов и байтов в файле:
adam@laptop:~/Documents/polishlinux.org$ wc all_about_console.txt
94 908 6828 all_about_console.txt
Первая цифра – это строки, далее слова и последнее – это байты.
Оставшиеся две команды выводят соответственно голову и хвост файла. По умолчанию выводятся 10 строк, но используя ключ -n, и указав после него цифру, можно регулировать количество выводимых строк.
adam@laptop:~/Documents/polishlinux.org$ head -n 1 example.txt
The first row of the text.
adam@laptop:~/Documents/polishlinux.org$ tail -n 2 example.txt
The last but one row of the text.
The last row of the text.
12. less
Эта команда позволяет скролить текст прямо на экране.
adam@laptop:~$less file.txt
Если во время просмотра нажать f, то выведется интересная информация о файле, например текущая строка и т.д.
Источник: linuxpeople.ru
One Comment