This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
основные_команды_для_работы_с_файлами [2009/05/18 15:51] val |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Основные команды для работы с файлами ====== | ||
- | ===== Команды для работы с файловой системой ===== | ||
- | ==== Просмотр файловой системы - ls ==== | ||
- | типы файлов man ls | ||
- | <code> | ||
- | $ ls | ||
- | $ ls -a | ||
- | $ ls /bin | ||
- | $ ls -l / | ||
- | $ ls -l /dev | ||
- | $ ls -l .. | ||
- | $ ls -a . | ||
- | $ ls ~root | ||
- | </code> | ||
- | ==== Файловые подстановки shell ==== | ||
- | <code> | ||
- | $ echo /bin/* | ||
- | $ echo /bin/u* | ||
- | $ echo /bin/??? | ||
- | $ echo /bin/[cd]* | ||
- | $ ls -l /bin/c* | ||
- | $ ls -l /bin/cat /bin/chflags /bin/chio /bin/chmod /bin/cp /bin/csh | ||
- | $ ls -l /bin/*c | ||
- | </code> | ||
- | |||
- | ==== Определние текущего каталога - pwd ==== | ||
- | ==== Смена текущего каталога - cd ==== | ||
- | <code> | ||
- | $ cd /usr | ||
- | $ cd bin | ||
- | $ cd .. | ||
- | $ cd | ||
- | $ cd - | ||
- | $ cd ~u1 | ||
- | </code> | ||
- | |||
- | ==== Создание файла - touch ==== | ||
- | |||
- | ==== Создание каталога - mkdir ==== | ||
- | |||
- | ==== Удаление файла - rm ==== | ||
- | |||
- | ==== Удаление каталога - rmdir ==== | ||
- | |||
- | ==== Копирование файлов и каталогов - cp ==== | ||
- | <code> | ||
- | $ touch file1 | ||
- | $ mkdir dir1 | ||
- | $ cp file1 file2 | ||
- | $ cp file1 incorrectdirname | ||
- | $ cp file1 dir1/ | ||
- | $ cp -r dir1/ dir2/ | ||
- | </code> | ||
- | |||
- | ==== Перемещение и переименование файлов и каталогов - mv ==== | ||
- | <code> | ||
- | $ mv file2 file3 | ||
- | $ mv dir2 dir3 | ||
- | $ mv file3 incorrectdirname | ||
- | $ mv file3 dir1/ | ||
- | $ mv dir3 dir1/ | ||
- | </code> | ||
- | |||
- | ==== Создание линков/ссылок на файлы и каталоги - ln ==== | ||
- | <code> | ||
- | $ ln -s /etc/rc.conf file4 | ||
- | |||
- | $ mkdir -p ~/var/db/mysql | ||
- | $ touch ~/var/db/mysql/file.db | ||
- | |||
- | $ mkdir ~/disk2 | ||
- | $ mv ~/var/db/mysql ~/disk2/ | ||
- | |||
- | $ ln -s ~/disk2/mysql/ ~/var/db/mysql | ||
- | $ ls ~/var/db/mysql/ | ||
- | </code> | ||
- | |||
- | ===== Команды для работы с содержимым файлов ===== | ||
- | ==== Определение типа файла - file ==== | ||
- | <code> | ||
- | $ file /usr/sbin/adduser | ||
- | $ file /bin/sh | ||
- | $ file /usr/share/man/man1/cat.1.gz | ||
- | </code> | ||
- | ==== Просмотр файлов - more/less ==== | ||
- | <code> | ||
- | $ more /etc/defaults/rc.conf | ||
- | |||
- | $ less /etc/defaults/rc.conf | ||
- | </code> | ||
- | |||
- | ==== Показать последние строки файла - tail ==== | ||
- | Последние 5 строк | ||
- | <code> | ||
- | $ tail -n 5 /var/log/messages | ||
- | </code> | ||
- | |||
- | Последние строки, начиная с 10-й | ||
- | <code> | ||
- | $ tail -n +10 /var/log/messages | ||
- | </code> | ||
- | Динамически отслеживать запись в файл | ||
- | <code> | ||
- | $ tail -f /var/log/messages | ||
- | </code> | ||
- | |||
- | ==== Выбор фрагмента строки - cut ==== | ||
- | <code> | ||
- | $ cut -d: -f1 /etc/passwd | ||
- | $ cut -d: -f1,7 /etc/passwd | ||
- | $ cut -d: -f1-3 /etc/passwd | ||
- | $ cut -c1-5 /etc/passwd | ||
- | </code> | ||
- | |||
- | ===== Работа с архивами ===== | ||
- | ==== dump/restore ==== | ||
- | |||
- | ==== cpio ==== | ||
- | |||
- | ==== tar ==== | ||
- | |||
- | Создать архив: | ||
- | <code> | ||
- | $ tar -c -v -f имяфайлаархива.tar каталогилифайл ... | ||
- | </code> | ||
- | Посмотреть содержимое архива: | ||
- | <code> | ||
- | $ tar -t -f имяфайлаархива.tar | ||
- | </code> | ||
- | Раскрыть архив целиком: | ||
- | <code> | ||
- | $ tar -x -v -f имяфайлаархива.tar | ||
- | </code> | ||
- | Раскрыть отдельные файлы: | ||
- | <code> | ||
- | $ tar -xf имяфайлаархива.tar 'etc/fstab' | ||
- | $ tar -xOf имяфайлаархива.tar 'etc/fstab' - вывести на экран (STDOUT) | ||
- | $ tar -xf имяфайлаархива.tar 'etc/' | ||
- | $ tar -xf имяфайлаархива.tar '*fstab*' | ||
- | </code> | ||
- | Дополнительные ключи: | ||
- | <code> | ||
- | -z - использовать gzip сжатие | ||
- | -j - использовать bzip2 сжатие | ||
- | </code> | ||
- | |||
- | ===== Команды оценки использования дискового пространства ===== | ||
- | |||
- | ==== Статистика использования разделов - df ==== | ||
- | ключи -h, -t ufs | ||
- | ==== Размер каталога - du ==== | ||
- | ключи -h, -s, -d1 | ||
- | <code> | ||
- | $ du -s -h /usr/share/ | ||
- | |||
- | $ du -d 1 /usr/share/ | ||
- | </code> | ||
- | |||
- | ===== Команды поиска файлов ===== | ||
- | |||
- | ==== Метоположение программ - which ==== | ||
- | |||
- | |||
- | ==== Поиск файлов по индексированной базе - locate ==== | ||
- | Для переиндексации используется программа | ||
- | <code> | ||
- | $ /usr/libexec/locate.updatedb | ||
- | </code> | ||
- | |||
- | ==== Полный поиск файлов - find ==== | ||
- | |||
- | Поиск файла, по имени и по шаблону имени | ||
- | <code> | ||
- | $ find /usr/share -name index.html | ||
- | $ find /usr/share -name '*.html' | ||
- | </code> | ||
- | |||
- | Поиск файлов, которые модифицировались за последние 2 дня и вывод полной информации про них\\ | ||
- | <code> | ||
- | $ find /var/log -ctime -2 -type f -ls | ||
- | </code> | ||
- | |||
- | Поиск файлов более новых чем некоторый | ||
- | <code> | ||
- | $ touch -t 200901051230 /tmp/xtime'' | ||
- | $ find /etc/ -newer /tmp/xtime -type f'' | ||
- | </code> | ||
- | Пример выполнения команд над найденными файлами | ||
- | <code> | ||
- | # find /usr/ports/ -name '*.tbz' -exec mv {} /usr/ports/packages/All/ \; | ||
- | </code> | ||
- | ===== Запуск команд в фоновом режиме ===== | ||
- | <code> | ||
- | $ find / -name '*.gz' & | ||
- | |||
- | $ opera & | ||
- | </code> |