Команда ls (list files) предназначена для просмотра содержимого каталогов и получения информации о файлах.
Примеры:
$ ls
$ ls -a
$ ls /bin
$ ls -l /
$ ls -l /dev
$ ls -l ..
$ ls -a .
pwd (print working directory) показывает текущий рабочий каталог.
cd (change directory) меняет текущий рабочий каталог. Если команда cd вызвана без параметров, происходит переход в домашний каталог пользователя. Команда cd позволяет вернуться в предыдущий каталог (каталог, откуда был осуществлен переход в текущий).
Примеры:
$ cd /usr
$ cd bin
$ cd ..
$ cd
$ cd ~
$ cd ~u1
Команда touch меняет временные метки файла и имеет побочное действие, которое используется гораздо чаще, чем основное – если файла с указанным именем нет, создается пустой файл.
Команда mkdir (make directory) создает каталоги, в том числе и промежуточные (если указана опция -p).
Примеры:
$ mkdir /tmp/test
$ mkdir ~p /tmp/a/b/c
Команда rm удаляет файлы и каталоги, в т.ч. каталоги с содержимым (опция r или R). Опция f подавляет вывод запросов (например, при удалении файлов, доступных только для чтения) и ошибок при удалении, а опция i выводит запрос при удалении каждого файла.
Примеры:
$ touch /tmp/test
$ rm -r /tmp/test
# rm -fr /*
Команда rmdir удаляет только пустые каталоги. При использовании опции p удаляются и родительские каталоги целевого каталога, если они пусты.
Примеры:
$ rmdir /tmp/test
$ rmdir -p /tmp/a/b/c
Команда cp позволяет копировать файли и каталоги (опция r или R). При её использовании часто применяются шаблоны шелла. В общем случае, команда cp требует не менее двух параметров: что копировать и куда копировать. Команда cp имеет большое количество опций, подробно о которых можно узнать на странице man.
Примеры:
$ touch file1
$ mkdir dir1
$ cp file1 file2
$ cp file1 incorrectdirname
$ cp file1 dir1/
$ cp -r dir1/ dir2/
Команда mv предназначена для перемещения и переименования файлов и каталогов. При перемещении внутри одного каталога имя исходного файла/каталога меняется на новое, что эквивалентно переименованию. При перемещении внутри одного раздела (одной файловой системы) меняется только жесткая ссылка на объект и процесс перемещения происходит очень быстро. При перемещении данных между различными файловыми системами происходит копирование с последующим удалением источника, так что время выполнения команды зависисит от объема данных.
Примеры:
$ mv file2 file3
$ mv dir2 dir3
$ mv file3 incorrectdirname
$ mv file3 dir1/
$ mv dir3 dir1/
Команда ln позволяет создавать символьные (с опцией s) и жесткие (без опции s) ссылки.
Примеры:
$ 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/
Команда file представляет собой интерфейс к системе magic, который доступен пользователю в виде обычной команды.
Примеры:
$ file /usr/sbin/adduser
$ file /bin/sh
$ file /usr/share/man/man1/cat.1.gz
Пейджеры (pager) more или less используются для просмотра больших объемов текстовой информации страницами. Они позволяют осуществлять навигавицию, поиск по тексту и некоторые другие действия с помощью команд. Получить помощь по этим командам всегда можно, нажав клавишу h. Выход из пейджера осуществляется с помощью команды q. Поиск информации осуществляется с помощью команд / (вперед) и ? (назад), после которых указывается шаблон для поиска. Для получения подробной справки обратитесь к соответствующей странице справочного руководства.
Примеры запуска:
$ more /etc/defaults/rc.conf
$ less /etc/defaults/rc.conf
UNIX обладает богатым арсеналом средств резервного копирования и восстановления данных: программы dump/restore, cpio, tar и пр. Для работы архивами наиболее широко используется программа tar. Несмотря на то, что в разных системах UNIX используются различные реализации этой программы, получающиеся в результате архивы являются кроссплатформенными, т. е. могут быть обработаны в разных ОС (в т.ч. и Windows). Ниже приведены примеры работы с программой tar:
Создать архив:
$ tar -c -v -f имяфайлаархива.tar каталогилифайл ...
Посмотреть содержимое архива:
$ tar -t -f имяфайлаархива.tar
Раскрыть архив целиком:
$ tar -x -v -f имяфайлаархива.tar
Раскрыть отдельные файлы:
$ tar -xf имяфайлаархива.tar 'etc/fstab' $ tar -xOf имяфайлаархива.tar 'etc/fstab' - вывести на экран(STDOUT) $ tar -xf имяфайлаархива.tar 'etc/' $ tar -xf имяфайлаархива.tar '*fstab*'
Дополнительные ключи:
-z использовать gzip сжатие
-j использовать bzip2 сжатие
Для получения статистики использования разделов дисков (смонтированных файловых систем) используется команда df. Наиболее полезные опции здесь – h (human-readable, выводит числовые данные в виде, удобном для восприятия пользователем) и t (выводит информацию только о файловых системах указанного типа, не принимая во внимание остальные – например, виртуальные файловые системы).
Пример запуска программы:
$ df -h -t ufs
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 434M 143M 256M 36% /
/dev/ad0s1e 403M 12K 371M 0% /tmp
/dev/ad0s1f 6.4G 427M 5.5G 7% /usr
/dev/ad0s1d 771M 304K 709M 0% /var
Программа du (disk usage) позволяет получить статистику использования дискового пространства не по разделам целиком, а для конкретных указанных каталогов. Опция h здесь аналогична этой опции программы df, а опции s (summary) и d число (depth) позволяют указать необходимую степень подробности (глубину) выводимой информации. Опция s эквивалента опции d 0 (нулевая глубина погружения), причем эти опции нельзя указывать вместе.
Примеры использования:
$ du -s -h /usr/share/
$ du -d 1 /usr/share/
Для поиска программ (исполняемых файлов) в UNIX используется команда which, которая ищет указанные файлы в каталогах, перечисленных в переменной окружения PATH. Команда whereis аналогична по действию, но ищет также среди man страниц и в каталогах с исходными текстами программ.
Примеры:
$ which ls
/bin/ls
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
Поиск файлов по имени с помощью заранее созданной индексной базы данных используется программа locate. Для создания индексной базы используется программа /usr/libexec/locate.updatedb
Программа find обладает большими возможностями для указания атрибутов искомых объектов и позволяет осуществлять поиск с самыми разными параметрами. Подробную информацию можно получить на странице справки.
Примеры использования find:
Поиск по имени и по шаблону имени
$ find /usr/share -name index.html
$ find /usr/share -name '*.html'
Поиск файлов, которые модифицировались за последние 2 дня и вывод полной информации про них
$ find /var/log -ctime -2 -type f -ls
Поиск файлов более новых чем некоторый
$ touch -t 200901051230 /tmp/xtime
$ find /etc/ -newer /tmp/xtime -type f
Пример выполнения команд над найденными файлами
# find /usr/ports/ -name '*.tbz' -exec mv {} /usr/ports/packages/All/ \;