Основни команди за работа с файлове
Команди на файловата система
Изброяване на файловата система - ls
$ ls $ ls -a $ ls /bin $ ls -l / $ ls -l /dev $ ls -l .. $ ls -a .
Определяне на текущата директория - pwd
pwd (работна директория за печат) показва текущата работна директория.
Промяна на текущата директория - cd
cd (промяна на директория) променя текущата работна директория. Ако командата cd се извика без параметри, тя се променя в началната директория на потребителя. Командата cd ви позволява да се върнете към предишната директория (директорията, от която е направен преходът към текущата).
$ cd /usr $ cd bin $ cd .. $ cd $ cd
Създаване на файл с командата touch
Командата touch променя времевите марки на файл и има страничен ефект, който се използва много по-често от основния - ако няма файл с посоченото име, се създава празен файл.
Създайте директория - mkdir
Командата mkdir (make directory) създава директории, включително междинни директории (ако е посочена опцията -p).
$ mkdir /tmp/test $ mkdir
Премахване на файл - rm
Командата rm премахва файлове и директории, вкл. директории със съдържание (опция r или R). Опцията f потиска подкани (например при изтриване на файлове само за четене) и грешки при изтриване, а опцията i ви подканва, когато всеки файл бъде изтрит.
$ touch /tmp/test $ rm -r /tmp/test # rm -fr /*
Премахване на директория - rmdir
Командата rmdir премахва само празни директории. Опцията p също премахва родителските директории на целевата директория, ако те са празни.
$ rmdir /tmp/test $ rmdir -p /tmp/a/b/c
Копиране на файлове и директории - cp
Командата cp ви позволява да копирате файлове и директории (опция r или R). При честа употребасе прилагат шаблони за черупки. По принцип командата cp изисква поне два параметъра: какво да копирате и къде да копирате. Командата cp има голям брой опции, подробности за които могат да бъдат намерени в страницата на ръководството.
$ 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
Командата ln ви позволява да създавате символни (с опцията s) и твърди (без опцията s) връзки.
$ ln -s /etc/rc.conf файл4
Команди за съдържанието на файла
Определяне на типа на файла - файл
Командата файл е интерфейс към магическата система, който е достъпен за потребителя като обикновена команда.
$ файл /usr/sbin/adduser $ файл /bin/sh $ файл /usr/share/man/man1/cat.1.gz
Преглед на файлове - повече/по-малко
$ повече /etc/defaults/rc.conf $ по-малко /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 archivefilename.tar 'etc/fstab' $ tar -xOf archivefilename.tar 'etc/fstab' - дисплей (STDOUT) $ tar -xf archivefilename.tar 'etc/' $ tar -xf archivefilename.tar '*fstab*'
-z използва gzip компресия -j използва bzip2 компресия
Команди за оценка на използването на диска
Статистика за използване на дялове - df
Командата df се използва за получаване на статистика за използването на дискови дялове (монтирани файлови системи). Най-полезните опции тук са h (читаема от човека, показва числови данни в четима от човека форма) и t (отпечатва информация само за файлови системи от посочения тип, като игнорира други, като виртуални файлови системи).
Пример за изпълнение на програмата:
$ df -h -t ufs Използван размер на файловата система Наличен капацитет, монтиран на /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
Програмата du (използване на диск) ви позволява да получавате статистически данни за използването на дисковото пространство не за цели дялове, а за конкретни посочени директории. Опцията h тук е подобна на тази опция на програмата df, а опциите s (резюме) и d номер (дълбочина) ви позволяват да укажете необходимото ниво на детайлност (дълбочина) на изходната информация. Опцията s е еквивалентна на опцията d 0 (нулева дълбочина) и тези опции не могат да бъдат посочени заедно.
$ du -s -h /usr/share/ $ du -d 1 /usr/share/
Команди за търсене на файлове
Място на програмата - кое и къде е
За търсене на програми (изпълними файлове) в UNIX се използва командата which, която търси определени файлове в директории,изброени в променливата на средата PATH. Командата whereis е подобна по ефект, но също така търси в man страници и директории с източници.
$ където е ls ls: /bin/ls /usr/share/man/man1/ls.1.gz
Намиране на файлове в индексирана база данни - намерете
Търсене на файлове по име с помощта на предварително изградена индексна база данни с помощта на програмата за намиране. Програмата /usr/libexec/locate.updatedb се използва за създаване на индексна база данни
Пълно търсене на файлове - намиране
Програмата за намиране е много мощна за указване на атрибутите на обектите, които търсите, и ви позволява да търсите с различни параметри. Подробна информация можете да намерите на страницата за помощ.
Намерете примери за употреба:
Търсене по име и модел на име
$ 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/\;