Основни команди за работа с файлове

Команди на файловата система

Изброяване на файловата система - 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/\;