LINUX KOMANDE
| Команда | Опис |
|---|---|
| Системне информације | |
| arch | прикажи архитектуру рачунара |
| uname -m | |
| uname -r | прикажи коришћену верзију језгра |
| dmidecode -q | прикажи хардверске системске компоненте - (SMBIOS / DMI) |
| hdparm -i /dev/hda | испечати карактеристике тврдог диска |
| hdparm -tT /dev/sda | тестирати перформансе читања података са тврдог диска |
| cat /proc/cpuinfo | прикажи информације о процесору |
| cat /proc/interrupts | прикажи прекиде |
| cat /proc/meminfo | проверити коришћење меморије |
| cat /proc/swaps | прикажи фајл(ове) за размештање (swap) |
| cat /proc/version | испечати верзију језгра |
| cat /proc/net/dev | прикажи мрежне интерфејсе и статистику о њима |
| cat /proc/mounts | прикажи монтиране фајл системе |
| lspci -tv | прикажи PCI уређаје у виду стабла |
| lsusb -tv | прикажи USB уређаје у виду стабла |
| date | испечати системски датум |
| cal 2007 | испечати календар за 2007. годину |
| date 041217002007.00 | поставити системски датум и време ММДДЧЧммГГГГ.СС (МесецДанСатМинутиГодина.Секунде) |
| clock -w | сачувати системско време у BIOS |
| Заустављање система | |
| shutdown -h now | Заустави систем |
| init 0 | |
| telinit 0 | |
| shutdown -h hours:minutes & | запланирај заустављање система на назначено време |
| shutdown -c | откажи планирано заустављање система |
| shutdown -r now | поново покренути систем |
| reboot | |
| logout | одјавити се из система |
| Фајлови и директоријуми | |
| cd /home | прећи у директоријум '/home' |
| cd .. | прећи у директоријум ниво изнад |
| cd ../.. | прећи у директоријум два нивоа изнад |
| cd | прећи у кућни директоријум |
| cd ~user | прећи у кућни директоријум корисника user |
| cd - | прећи у директоријум у коме сте се налазили пре преласка у тренутни директоријум |
| pwd | прикажи тренутни директоријум |
| ls | прикажи садржај тренутног директоријума |
| ls -F | прикажи садржај тренутног директоријума са додатим симболима који карактеришу тип |
| ls -l | прикажи детаљан приказ фајлова и директоријума у тренутном директоријуму |
| ls -a | прикажи скривене фајлове и директоријуме у тренутном директоријуму |
| ls *[0-9]* | прикажи фајлове и директоријуме који садрже цифре у имену |
| tree | прикажи стабло фајлова и директоријума, почињући од корена (/) |
| lstree | |
| mkdir dir1 | креирај директоријум са именом 'dir1' |
| mkdir dir1 dir2 | креирај два директоријума истовремено |
| mkdir -p /tmp/dir1/dir2 | креирај стабло директоријума |
| rm -f file1 | обриши фајл са именом 'file1' |
| rmdir dir1 | обриши директоријум са именом 'dir1' |
| rm -rf dir1 | обриши директоријум са именом 'dir1' и рекурзивно све његове садржаје |
| rm -rf dir1 dir2 | обриши два директоријума и рекурзивно њихове садржаје |
| mv dir1 new_dir | преименуј или премести фајл или директоријум |
| cp file1 file2 | копирај фајл file1 у фајл file2 |
| cp dir/* . | копирај све фајлове директоријума dir у тренутни директоријум |
| cp -a /tmp/dir1 . | копирај директоријум dir1 са свим садржајем у тренутни директоријум |
| cp -a dir1 dir2 | копирај директоријум dir1 у директоријум dir2 |
| ln -s file1 lnk1 | креирај симболичку линк ка фајлу или директоријуму |
| ln file1 lnk1 | креирај "чврсту" (физичку) линк ка фајлу или директоријуму |
| touch -t 0712250000 fileditest | модификуј датум и време креирања фајла, ако не постоји, креирај фајл са назначеним датумом и временом (YYMMDDhhmm) |
| Претрага фајлова | |
| find / -name file1 | пронађи фајлове и директоријуме са именом file1. Претрагу започни од корена (/) |
| find / -user user1 | пронађи фајл и директоријум који припадају кориснику user1. Претрагу започни од корена (/) |
| find /home/user1 -name "*.bin" | Пронађи све фајлове и директоријуме, чија се имена завршавају на '.bin'. Претрагу започни од '/home/user1' |
| find /usr/bin -type f -atime +100 | пронађи све фајлове у '/usr/bin', на које је последњи приступ био пре више од 100 дана |
| find /usr/bin -type f -mtime -10 | пронађи све фајлове у '/usr/bin', креиране или измењене у последњих 10 дана |
| find / -name *.rpm -exec chmod 755 '{}' \; | пронађи све фајлове и директоријуме, чија се имена завршавају на '.rpm', и промени права приступа њима |
| find / -xdev -name "*.rpm" | пронађи све фајлове и директоријуме, чија се имена завршавају на '.rpm', игноришући покретне носаче, попут cdrom, floppy и сл. |
| locate "*.ps" | пронађи све фајлове, који садрже у имену '.ps'. Препоручује се претходно извршити команду 'updatedb' |
| whereis halt | приказује распоред бинарних фајлова, изворног кода и приручника, који се односе на фајл 'halt' |
| which halt | приказује пун пут до фајла 'halt' |
| Монтирање фајл система | |
| mount /dev/hda2 /mnt/hda2 | монтира партицију 'hda2' у тачку монтирања '/mnt/hda2'. Уверите се да постоји директоријум-тачка монтирања '/mnt/hda2' |
| umount /dev/hda2 | демонтажира партицију 'hda2'. Пре извршавања, напустите '/mnt/hda2' |
| fuser -km /mnt/hda2 | принудна демонтажа партиције. Користи се у случају да је партиција заузета од стране неког корисника |
| umount -n /mnt/hda2 | изврши демонтажу без уношења информација у /etc/mtab. Корисно када фајл има атрибуте "само за читање" или нема довољно места на диску |
| mount /dev/fd0 /mnt/floppy | монтирај флопи диск |
| mount /dev/cdrom /mnt/cdrom | монтирај CD или DVD |
| mount /dev/hdc /mnt/cdrecorder | монтирај CD-R/CD-RW или DVD-R/DVD-RW(+-) |
| mount -o loop file.iso /mnt/cdrom | монтирај ISO слику |
| mount -t vfat /dev/hda5 /mnt/hda5 | монтирај фајл систем Windows FAT32 |
mount -t smbfs -o username=user,password=pass//winclient/share [/mnt/share |
монтирај мрежни фајл систем Windows (SMB/CIFS) |
| mount -o bind /home/user/prg /var/ftp/user | "монтирај" директоријум у директоријум (binding). Доступно од верзије језгра 2.4.0. Корисно, на пример, за пружање садржаја корисничког директоријума преко ftp-а када ftp сервер ради у "песковници" (chroot), када симболичке линкове није могуће направити. |
| Диск простор | |
| df -h | приказује информације о монтираним партицијама са приказом укупног, доступног и искоришћеног простора (Прим. преводиоца. кључ -h не ради на свим *nix системима) |
ls -lSr [|more |
исписује листу фајлова и директоријума рекурзивно са сортирањем по растућем величини и омогућава постранични преглед |
| du -sh dir1 | рачуна и исписује величину коју заузима директоријум 'dir1' (Прим. преводиоца. кључ -h не ради на свим *nix системима) |
du -sk * [|] sort -rn |
приказује величину и имена фајлова и директоријума, са сортирањем по величини |
rpm -q -a [-]-qf '%10{SIZE}t%{NAME}n' [|] sort -k1,1n |
приказује величину искоришћеног диск простора, коју заузимају фајлови rpm пакета, са сортирањем по величини (fedora, redhat и сл.) |
dpkg-query -W -f='${Installed-Size;10}t${Package}n'[|] sort -k1,1n |
приказује величину искоришћеног диск простора, коју заузимају фајлови deb пакета, са сортирањем по величини (ubuntu, debian и сл.) |
| Корисници и групе | |
| groupadd group_name | креирај нову групу са именом group_name |
| groupdel group_name | обриши групу group_name |
| groupmod -n new_group_name old_group_name | преименуј групу old_group_name у new_group_name |
| useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1 | креирај корисника user1, додели му као кућни каталог /home/user1, као shell /bin/bash, укључи га у групу admin и дода коментар Nome Cognome |
| useradd user1 | креирај корисника user1 |
| userdel -r user1 | обриши корисника user1 и његов кућни каталог |
| usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 | промени атрибуте корисника |
| passwd | промени лозинку |
| passwd user1 | промени лозинку корисника user1 (само root) |
| chage -E 2005-12-31 user1 | постави датум истека важења налога корисника user1 |
| pwck | провери исправност системских фајлова налога. Проверавају се фајлови /etc/passwd и /etc/shadow |
| grpck | проверава исправност системских фајлова налога. Проверава се фајл /etc/group |
| newgrp [-] group_name | мења примарну групу тренутног корисника. Ако се наведе "-", ситуација ће бити идентична оној у којој је корисник изашао из система и поново ушао. Ако се не наведе група, примарна група ће бити додељена из /etc/passwd |
| Додељивање/промена овлашћења на фајловима | |
| ls -lh | преглед овлашћења на фајловима и директоријумима у тренутном директоријуму |
ls /tmp [|] pr -T5 -W$COLUMNS |
испечати садржај директоријума /tmp и поделити испис на пет колона |
| chmod ugo+rwx directory1 | додај овлашћења на директоријум directory1 ugo(User Group Other)+rwx(Read Write eXecute) - свима пунa права. Слично се може урадити на овај начин "chmod 777 directory1" |
| chmod go-rwx directory1 | одузми групи и свима осталима сва овлашћења на директоријуму directory1. |
| chown user1 file1 | додели власника фајла file1 корисника user1 |
| chown -R user1 directory1 | додели рекурзивно власника директоријума directory1 корисника user1 |
| chgrp group1 file1 | промени групу-власника фајла file1 на group1 |
| chown user1:group1 file1 | промени власника и групу власника фајла file1 |
| find / -perm -u+s | пронађи, почињући од корена, све фајлове са постављеним SUID |
| chmod u+s /bin/binary_file | додели SUID-бит фајлу /bin/binary_file. Ово даје могућност било ком кориснику да покрене фајл са овлашћењима власника фајла. |
| chmod u-s /bin/binary_file | уклони SUID-бит са фајла /bin/binary_file. |
| chmod g+s /home/public | додели SGID-бит директоријуму /home/public. |
| chmod g-s /home/public | уклони SGID-бит са директоријума /home/public. |
| chmod o+t /home/public | додели STIKY-бит директоријуму /home/public. Дозвољава брисање фајлова само власницима |
| chmod o-t /home/public | уклони STIKY-бит са директоријума /home/public |
| Специјални атрибути фајлова | |
| chattr +a file1 | дозволи отварање фајла за писање само у режиму додавања |
| chattr +c file1 | омогућава језгру да аутоматски компресује/декомпресује садржај фајла. |
| chattr +d file1 | наводи утилит dump да игнорише овај фајл током извршавања backup-а |
| chattr +i file1 | чинећи фајл недоступним за било какве промене: уређивање, брисање, премештање, креирање линкова на њега. |
| chattr +s file1 | омогућава да брисање фајла буде безбедно, тј. постављени атрибут s говори да при брисању фајла, место које заузима фајл на диску попуњава нулама, што спречава могућност опоравка података. |
| chattr +S file1 | наводи да, при чувању промена, биће извршена синхронизација, као при извршавању команде sync |
| chattr +u file1 | овој атрибут наводи да при брисању фајла садржај ће бити сачуван и по потреби корисник ће моћи да га опорави |
| lsattr | прикажи атрибуте фајлова |
| Архивирање и компресија фајлова | |
| bunzip2 file1.bz2 | декомпресуј фајл 'file1.gz' |
| gunzip file1.gz | |
| gzip file1 | компресуј фајл 'file1' |
| bzip2 file1 | |
| gzip -9 file1 | компресуј фајл file1 са максималном компресијом |
| rar a file1.rar test_file | креирај rar-архив 'file1.rar' и укључи у њега фајл test_file |
| rar a file1.rar file1 file2 dir1 | креирај rar-архив 'file1.rar' и укључи у њега file1, file2 и dir1 |
| unrar x file1.rar | распакуј rar-архив |
| tar -cvf archive.tar file1 | креирај tar-архив archive.tar, који садржи фајл file1 |
| tar -cvf archive.tar file1 file2 dir1 | креирај tar-архив archive.tar, који садржи фајл file1, file2 и dir1 |
| tar -tf archive.tar | прикажи садржај архиве |
| tar -xvf archive.tar | распакуј архиву |
| tar -xvf archive.tar -C /tmp | распакуј архиву у /tmp |
| tar -cvfj archive.tar.bz2 dir1 | креирај архиву и компресуј је помоћу bzip2(Прим. преводиоца. кључ -j не ради на свим *nix системима) |
| tar -xvfj archive.tar.bz2 | декомпресуј архиву и распакуј је(Прим. преводиоца. кључ -j не ради на свим *nix системима) |
| tar -cvfz archive.tar.gz dir1 | креирај архиву и компресуј је помоћу gzip |
| tar -xvfz archive.tar.gz | декомпресуј архиву и распакуј је |
| zip file1.zip file1 | креирај компресовани zip-архив |
| zip -r file1.zip file1 file2 dir1 | креирај компресовани zip-архив и са укључивањем неколико фајлова и/или директоријума |
| unzip file1.zip | декомпресуј и распакуј zip-архив |
| RPM пакети (Fedora, Red Hat и слично) | |
| rpm -ivh package.rpm | инсталирај пакет са исписом порука и прогрес-баром |
rpm -ivh [-]-nodeps package.rpm |
инсталирај пакет са исписом порука и прогрес-баром без контроле зависности |
| rpm -U package.rpm | ажурирај пакет без промене конфигурационих фајлова, у случају да пакет не постоји, биће инсталиран |
| rpm -F package.rpm | ажурирај пакет само ако је инсталиран |
| rpm -e package_name.rpm | обриши пакет |
| rpm -qa | прикажи листу свих пакета инсталираних у систему |
rpm -qa [|] grep httpd |
међу свим пакетима инсталираним у систему, пронађи пакет који садржи у свом имену "httpd" |
| rpm -qi package_name | испечати информације о конкретном пакету |
| rpm -qg "System Environment/Daemons" | прикажи пакете који припадају групи пакета |
| rpm -ql package_name | испечати листу фајлова који припадају пакету |
| rpm -qc package_name | испечати листу конфигурационих фајлова који припадају пакету |
rpm -q package_name [-]-whatrequires |
испечати листу пакета потребних за инсталацију конкретног пакета по зависностима |
rpm -q package_name [-]-whatprovides |
прикажи капацитет који пружа rpm пакет |
rpm -q package_name [-]-scripts |
прикажи скрипте које се покрећу при инсталацији/брисању пакета |
rpm -q package_name [-]-changelog |
испечати историју ревизија пакета |
| rpm -qf /etc/httpd/conf/httpd.conf | провери коме пакету припада назначени фајл. Наведи пун пут и име фајла. |
| rpm -qp package.rpm -l | приказује листу фајлова који припадају пакету, али још нису инсталирани у систем |
rpm [-]-import /media/cdrom/RPM-GPG-KEY |
импортуј јавни кључ дигиталног потписа |
rpm [-]-checksig package.rpm |
провери потпис пакета |
| rpm -qa gpg-pubkey | провери интегритет инсталираног садржаја пакета |
| rpm -V package_name | провери величину, овлашћења, тип, власника, групу, MD5-суму и датум последње промене пакета |
| rpm -Va | провери садржај свих пакета инсталираних у систем. Извршавај опрезно! |
| rpm -Vp package.rpm | провери пакет који још није инсталиран у систем |
rpm2cpio package.rpm [|] cpio [-]-extract [-]-make-directories *bin* |
извуци из пакета фајлове који садрже у свом имену bin |
| rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm | инсталирај пакет, саграђен из изворног кода |
rpmbuild [-]-rebuild package_name.src.rpm |
сагради пакет из изворног кода |
| YUM - средство за ажурирање пакета (Fedora, RedHat и слично) | |
| yum install package_name | преузми и инсталирај пакет |
| yum update | ажурирај све пакете инсталиране у систем |
| yum update package_name | ажурирај пакет |
| yum remove package_name | обриши пакет |
| yum list | испечати листу свих пакета инсталираних у систем |
| yum search package_name | пронађи пакет у репозиторијуму |
| yum clean packages | очисти rpm-кеш, брисањем преузетих пакета |
| yum clean headers | обриши све заглавља фајлова која систем користи за разрешавање зависности |
| yum clean all | очисти rpm-кеш, брисањем преузетих пакета и заглавља |
| DEB пакети (Debian, Ubuntu и слично) | |
| dpkg -i package.deb | инсталирај / ажурирај пакет |
| dpkg -r package_name | обриши пакет из система |
| dpkg -l | прикажи све пакете инсталиране у систем |
dpkg -l [|] grep httpd |
међу свим пакетима инсталираним у систему, пронађи пакет који садржи у свом имену "httpd" |
| dpkg -s package_name | прикажи информације о конкретном пакету |
| dpkg -L package_name | испечати листу фајлова који припадају пакету, инсталираном у систем |
dpkg [-]-contents package.deb |
прикажи листу фајлова који припадају пакету, који још није инсталиран у систем |
| dpkg -S /bin/ping | пронађи пакет у који припада назначени фајл. |
| APT - средство за управљање пакетима (Debian, Ubuntu и слично) | |
| apt-get install package_name | инсталирај / ажурирај пакет |
| apt-cdrom install package_name | инсталирај / ажурирај пакет са cdrom-а |
| apt-get update | преузми ажуриране листе пакета |
| apt-get upgrade | ажурирај пакете инсталиране у систем |
| apt-get remove package_name | обриши пакет, инсталиран у систем, уз чување конфигурационих фајлова |
| apt-get purge package_name | обриши пакет, инсталиран у систем, уз брисање конфигурационих фајлова |
| apt-get check | провери интегритет зависности |
| apt-get clean | обриши преузете архивне фајлове пакета |
| apt-get autoclean | обриши старе преузете архивне фајлове пакета |
| Преглед садржаја фајлова | |
| cat file1 | испечати садржај фајла file1 на стандардни излазни уређај |
| tac file1 | испечати садржај фајла file1 на стандардни излазни уређај у обрнутом редоследу (последња линија постаје прва и сл.) |
| more file1 | постранични испис садржаја фајла file1 на стандардни излазни уређај |
| less file1 | постранични испис садржаја фајла file1 на стандардни излазни уређај, али са могућношћу прегледања у оба смера (горе-доле), претраге по садржају и сл. |
| head -2 file1 | испечати прве две линије фајла file1 на стандардни излазни уређај. Подразумевано се исписује десет линија |
| tail -2 file1 | испечати последње две линије фајла file1 на стандардни излазни уређај. Подразумевано се исписује десет линија |
| tail -f /var/log/messages | исписивати садржај фајла /var/log/messages на стандардни излазни уређај појавом текста у њему. |
| Манипулације са текстом | |
cat file [|] grep -i "Criteria" > result.txt |
општи синтаксис извршавања радњи по обради садржаја фајла и испису резултата у нови |
cat file [|] grep -i "Criteria" » result.txt |
општи синтаксис извршавања радњи по обради садржаја фајла и испису резултата у постојећи фајл. Ако фајл не постоји, биће креиран |
| grep Aug /var/log/messages | из фајла '/var/log/messages' одабрати и исписати на стандардни излазни уређај линије, које садрже "Aug" |
grep [^]Aug /var/log/messages |
из фајла '/var/log/messages' одабрати и исписати на стандардни излазни уређај линије, које почињу на "Aug" |
| grep [0-9] /var/log/messages | из фајла '/var/log/messages' одабрати и исписати на стандардни излазни уређај линије, које садрже цифре |
| grep Aug -R /var/log/* | одабрати и исписати на стандардни излазни уређај линије, које садрже "Aug", у свим фајловима, који се налазе у директоријуму /var/log и испод |
| sed 's/stringa1/stringa2/g' example.txt | у фајлу example.txt заменити "string1" са "string2", резултат исписати на стандардни излазни уређај. |
sed ['/^$/]d' example.txt |
обрисати празне линије из фајла example.txt |
sed ['/ *#/]d; [/^$/]d' example.txt |
обрисати празне линије и коментаре из фајла example.txt |
echo 'test' [|] tr '[:lower:]' '[:upper:]' |
претворити симболе из малог регистра у велики |
| sed -e '1d' result.txt | обрисати прву линију из фајла example.txt |
| sed -n '/string1/p' | приказати само линије које садрже "string1" |
sed -e 's[/] *$[/]/' example.txt |
обрисати празне симболе на крају сваке линије |
sed -e 's[/]string1[/]/g' example.txt |
обрисати линију "string1" из текста не мењајући остало |
| sed -n '1,8p;5q' example.txt | узети из фајла од прве до осме линије и из њих исписати првих пет |
| sed -n '5p;5q' example.txt | испечати пету линију |
| sed -e 's/0*/0/g' example.txt | заменити низ од било ког броја нула једном нулом |
| cat -n file1 | нумерисати линије при испису садржаја фајла |
cat example.txt [|] awk 'NR%2==1' |
при испису садржаја фајла, не исписати парне линије фајла |
echo a b c [|] awk '{print $1}' |
испечати прву колону. Раздвајање, подразумевано, по размаку/размацима или симболу/симболима табулације |
echo a b c [|] awk '{print $1,$3}' |
испечати прву и трећу колону. Раздвајање, подразумевано, по размаку/размацима или симболу/симболима табулације |
| paste file1 file2 | објединити садржај file1 и file2 у виду табеле: линија 1 из file1 = линија 1 колона 1-n, линија 1 из file2 = линија 1 колона n+1-m |
| paste -d '+' file1 file2 | објединити садржај file1 и file2 у виду табеле са дељивачем "+" |
| sort file1 file2 | сортирати садржај два фајла |
sort file1 file2 [|] uniq |
сортирати садржај два фајла, не приказујући понављања |
sort file1 file2 [|] uniq -u |
сортирати садржај два фајла, приказујући само јединствене линије (линiје, које се јављају у оба фајла, не исписују се на стандардни излазни уређај) |
sort file1 file2 [|] uniq -d |
сортирати садржај два фајла, приказујући само понављајуће линије |
| comm -1 file1 file2 | упоредити садржај два фајла, не приказујући линије које припадају фајлу 'file1' |
| comm -2 file1 file2 | упоредити садржај два фајла, не приказујући линије које припадају фајлу 'file2' |
| comm -3 file1 file2 | упоредити садржај два фајла, уклањајући линије које се јављају у оба фајла |
| Претварање скупова симбола и фајл формата | |
| dos2unix filedos.txt fileunix.txt | конвертуј фајл тексног формата из MSDOS у UNIX (разлика у симболима повратка карета) |
| unix2dos fileunix.txt filedos.txt | конвертуј фајл тексног формата из UNIX у MSDOS (разлика у симболима повратка карета) |
| recode ..HTML < page.txt > page.html | конвертуј садржај тестовног фајла page.txt у html-фајл page.html |
recode -l [|] more |
испечати листу доступних формата |
| Анализа фајл система | |
| badblocks -v /dev/hda1 | провери партицију hda1 на присуство bad-блокова |
| fsck /dev/hda1 | провери/врати интегритет linux-фајл система партиције hda1 |
| fsck.ext2 /dev/hda1 | провери/врати интегритет фајл система ext2 партиције hda1 |
| e2fsck /dev/hda1 | |
| e2fsck -j /dev/hda1 | провери/врати интегритет фајл система ext3 партиције hda1 са навођењем да се журнал налази тамо исто |
| fsck.ext3 /dev/hda1 | провери/врати интегритет фајл система ext3 партиције hda1 |
| fsck.vfat /dev/hda1 | провери/врати интегритет фајл система fat партиције hda1 |
| fsck.msdos /dev/hda1 | |
| dosfsck /dev/hda1 | |
| Форматирање фајл система | |
| mkfs /dev/hda1 | креирај linux-фајл систем на партицији hda1 |
| mke2fs /dev/hda1 | креирај фајл систем ext2 на партицији hda1 |
| mke2fs -j /dev/hda1 | креирај журналирајући фајл систем ext3 на партицији hda1 |
| mkfs -t vfat 32 -F /dev/hda1 | креирај фајл систем FAT32 на партицији hda1 |
| fdformat -n /dev/fd0 | форматирање флопи диска без провере |
| mkswap /dev/hda3 | креирање swap-простора на партицији hda3 |
| swap-простор | |
| mkswap /dev/hda3 | креирање swap-простора на партицији hda3 |
| swapon /dev/hda3 | активирај swap-простор, који се налази на партицији hda3 |
| swapon /dev/hda2 /dev/hdb3 | активирај swap-просторе, који се налазе на партицијама hda2 и hdb3 |
| Креирање резервних копија (backup) | |
| dump -0aj -f /tmp/home0.bak /home | креирај потпуну резервну копију директоријума /home у фајл /tmp/home0.bak |
| dump -1aj -f /tmp/home0.bak /home | креирај инкременталну резервну копију директоријума /home у фајл /tmp/home0.bak |
| restore -if /tmp/home0.bak | врати из резервне копије /tmp/home0.bak |
rsync -rogpav [-]-delete /home /tmp |
синхронизуј /tmp са /home |
rsync -rogpav -e ssh [-]-delete /home ip_address:/tmp |
синхронизуј преко SSH-тунела |
rsync -az -e ssh [-]-delete ip_addr:/home/public /home/local |
синхронизуј локални директоријум са удаљеним директоријумом преко ssh-тунела са компресијом |
rsync -az -e ssh [-]-delete /home/local ip_addr:/home/public |
синхронизуј удаљени директоријум са локалним директоријумом преко ssh-тунела са компресијом |
dd bs=1M if=/dev/hda [|] gzip [|] ssh user@ip_addr 'ddof=hda.gz' |
направи "слику" локалног диска у фајл на удаљеном рачунару преко ssh-тунела |
| tar -Puf backup.tar /home/user | креирај инкременталну резервну копију директоријума '/home/user' у фајл backup.tar са чувањем овлашћења |
( cd /tmp/local/ && tar c . ) [|] ssh -C user@ip_addr 'cd/home/share/ && tar x -p' |
копирање садржаја /tmp/local на удаљени рачунар преко ssh-тунела у /home/share/ |
( tar c /home ) [|] ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' |
копирање садржаја /home на удаљени рачунар преко ssh-тунела у /home/backup-home |
tar cf - . [|] (cd /tmp/backup ; tar xf - ) |
копирање једног директоријума у други са чувањем овлашћења и линкова |
find /home/user1 -name '*.txt' [|] \
xargs cp -av [-]-target-directory=/home/backup/[-]-parents |
претрага у /home/user1 свих фајлова, чија се имена завршавају на '.txt', и копирање их у други директоријум |
find /var/log -name '*.log' [|] tar cv [-]-files-from=- [|]bzip2 > log.tar.bz2 |
претрага у /var/log свих фајлова, чија се имена завршавају на '.log', и креирање bzip-архиве од њих |
| dd if=/dev/hda of=/dev/fd0 bs=512 count=1 | креирај копију MBR (Master Boot Record) са /dev/hda на флопи диск |
| dd if=/dev/fd0 of=/dev/hda bs=512 count=1 | врати MBR са флопи диска на /dev/hda |
| CDROM | |
| cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force | очисти преписиви cdrom |
| mkisofs /dev/cdrom > cd.iso | креирај iso слику cdrom-а на диску |
mkisofs /dev/cdrom [|] gzip > cd_iso.gz |
креирај компресовану iso слику cdrom-а на диску |
| mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd | креирај iso слику директоријума |
| cdrecord -v dev=/dev/cdrom cd.iso | запиши ISO слику |
gzip -dc cd_iso.gz [|] cdrecord dev=/dev/cdrom - |
запиши компресовану ISO слику |
| mount -o loop cd.iso /mnt/iso | монтирај ISO слику |
| cd-paranoia -B | извуци аудио траке са CD-а у wav фајлове |
cd-paranoia [-]-] "-3" |
извуци прве три аудио траке са CD-а у wav фајлове |
cdrecord [-]-]scanbus |
скенирај шину да идентификујеш scsi канал |
| Мрежа (LAN и WiFi) | |
| ifconfig eth0 | прикажи конфигурацију мрежног интерфејса eth0 |
| ifup eth0 | активирај (подigni) интерфејс eth0 |
| ifdown eth0 | деактивирај (опусти) интерфејс eth0 |
| ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | постави интерфејсу eth0 ip-адресу и маску подмреже |
| ifconfig eth0 promisc | пребацити интерфејс eth0 у promiscuous-режим за "ухватање" пакета (sniffing) |
| ifconfig eth0 -promisc | искључи promiscuous-режим на интерфејсу eth0 |
| dhclient eth0 | активирај интерфејс eth0 у dhcp-режиму. |
| route -n | испечати локалну табелу маршрутизације |
| netstat -rn | |
| route add -net 0/0 gw IP_Gateway | постави ip-адресу подразумеваног шлюза (default gateway) |
| route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | додај статичку руту у мрежу 192.168.0.0/16 преко шлюза са ip-адресом 192.168.1.1 |
| route del 0/0 gw IP_gateway | обриши ip-адресу подразумеваног шлюза (default gateway) |
| echo "1" > /proc/sys/net/ipv4/ip_forward | дозволи прослеђивање пакета (forwarding) |
| hostname | прикажи име рачунара |
host www[.]yandex[.]ru |
разрешити име www[.]yandex[.]ru хоста у ip-адресу и обрнуто |
| host 93.158.134.3 | |
| ip link show | прикажи стање свих интерфејса |
| mii-tool eth0 | прикажи статус и тип везе за интерфејс eth0 |
| ethtool eth0 | приказује статистику интерфејса eth0 са исписом таквих информација, као подржани и тренутни режими везе |
| netstat -tupn | приказује све успостављене мрежне везе по протоколима TCP и UDP без разрешавања имена у ip-адресе и PID-ове и имена процеса, који обезбеђују ове везе |
| netstat -tupln | приказује све мрежне везе по протоколима TCP и UDP без разрешавања имена у ip-адресе и PID-ове и имена процеса, који слушају портове |
| tcpdump tcp port 80 | прикажи сав саобраћај на TCP-порт 80 (обично - HTTP) |
| iwlist scan | скенирај етер на присуство, доступности бежичних тачака приступа |
| iwconfig eth1 | прикажи конфигурацију бежичног мрежног интерфејса eth1 |
| Microsoft Windows networks(SAMBA) | |
| nbtscan ip_addr | разрешити netbios-име nbtscan није на свим системима инсталиран по подразумеваном, можда ће бити потребно доинсталирати ручно. nmblookup је укључен у пакет samba. |
| nmblookup -A ip_addr | |
| smbclient -L ip_addr/hostname | прикажи ресурсе, који су стављени у општи приступ на windows-машини |
smbget -Rr smb:[/]/]ip_addr[/]share |
попут wget може преузети фајлове са windows-машина преко smb-протокола |
mount -t smbfs -o username=user,password=pass[/]/]winclient[/]share [/]mnt[/]share |
монтирај smb-ресурс, који је стављен на windows-машини, у локални фајл систем |
| IPTABLES (firewall) | |
| iptables -t filter -nL | прикажи све ланце правила |
| iptables -nL | |
| iptables -t nat -L | прикажи све ланце правила у NAT-табели |
| iptables -t filter -F | очисти све ланце правила у filter-табели |
| iptables -F | |
| iptables -t nat -F | очисти све ланце правила у NAT-табели |
| iptables -t filter -X | обриши све корисничке ланце правила у filter-табели |
iptables -t filter -A INPUT -p tcp [-]-]dport telnet -j ACCEPT |
дозволи улазну везу telnet-ом |
iptables -t filter -A OUTPUT -p tcp [-]-]dport http -j DROP |
блокирај излазне HTTP-везе |
iptables -t filter -A FORWARD -p tcp [-]-]dport pop3 -j ACCEPT |
дозволи "прослеђивање" (forward) POP3-веза |
iptables -t filter -A INPUT -j LOG [-]-]log-prefix "DROP INPUT" |
укључи журналирање језгром пакета, који пролазе кроз ланац INPUT, и додавање префикса "DROP INPUT" уз поруку |
| iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | укључи NAT (Network Address Translate) излазних пакета на интерфејс eth0. Допуштено при коришћењу са динамички додељиваним ip-адресама. |
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp [-]-]dport 22 \
-j DNAT [-]-]to-destination 10.0.0.2:22 |
преусмеравање пакета, који су упућени једном хосту, на други хост |
| Мониторинг и дебаговање | |
| top | прикажи покренуте процесе, коришћене ресурсе и другу корисну информацију (са аутоматским ажурирањем података) |
| ps -eafw | прикажи покренуте процесе, коришћене ресурсе и другу корисну информацију (једном) |
ps -e -o pid,args [-]-]forest |
испечати PID-ове и процесе у виду стабла |
| pstree | прикажи стабло процеса |
| kill -9 98989 | "уби" процес са PID 98989 "на смрт" (без поштовања интегритета података) |
| kill -KILL 98989 | |
| kill -TERM 98989 | Коректно завршити процес са PID 98989 |
| kill -1 98989 | присилити процес са PID 98989 да поново прочита конфигурациони фајл |
| kill -HUP 98989 | |
| lsof -p 98989 | прикажи листу фајлова, отворених процесом са PID 98989 |
| lsof /home/user1 | прикажи листу отворених фајлова из директоријума /home/user1 |
| strace -c ls > /dev/null | испечати листу системских позива, које је креирао и примио процес ls |
| strace -f -e open ls > /dev/null | испечати позиве библиотека |
| watch -n1 'cat /proc/interrupts' | приказивати прекиде у реалном времену |
| last reboot | прикажи историју покретања система |
| last user1 | прикажи историју регистрације корисника user1 у систему и време његовог боравка у њему |
| lsmod | испечати учитане модуле језгра |
| free -m | прикажи стање оперативне меморије у мегабајтима |
| smartctl -A /dev/hda | контрола стања тврдог диска /dev/hda преко SMART |
| smartctl -i /dev/hda | провери доступност SMART на тврдом диску /dev/hda |
| tail /var/log/dmesg | испечати десет последњих записа из журнала учитавања језгра |
| tail /var/log/messages | испечати десет последњих записа из системског журнала |
| Друге корисне команде | |
| apropos …keyword | исписује листу команди, које на један или други начин припадају кључним речима. Корисно, када знате шта програм ради, али не памтите команду |
| man ping | позив приручника за рад са програмом, у овом случају, - ping |
| whatis …keyword | приказује опис радњи назначеног програма |
mkbootdisk [-]-]device /dev/fd0 `uname -r` |
креира покретни флопи диск |
| gpg -c file1 | шифрује фајл file1 помоћу GNU Privacy Guard |
| gpg file1.gpg | дешифрује фајл file1 помоћу GNU Privacy Guard |
wget -r www[.]example[.]com |
преузима рекурзивно садржај сајта www[.]example[.]com |
wget -c www[.]example[.]com/file[.]iso |
преузми фајл www[.]example[.]com/file[.]iso са могућношћу заустављања и наставка касније |
echo 'wget -c www[.]example[.]com/files[.]iso' [|] at 09:00 |
започни преузимање у назначено време |
| ldd /usr/bin/ssh | испечати листу библиотека, потребних за рад ssh |
| alias hh='history' | додели алиас hh команди history |
Језгро ради у једном адресном простору. То јест, један модул или драјвер може да поквари цело језгро.
ctrl + alt + F(1-6) прелазак између виртуелних конзола. ttyN - где је N број конзоле?
ctrl + alt + F7 прелазак у графичку конзолу
startx _покретање X Windows система (прелазак у графички режим)
ho -r или runlevel _приказ нивоа извршавања ОС-а !!!
init n (n од 0 до 6) покреће један од нивоа ОС-а, на пример 3. То јест, покреће фајл rc3.d, који садржи симболичке линкове ка фајловима у init.d.
Име линка може почињати са К-заустављање или С-покретање, затим број приоритета покретања.
*************
mount /dev/hda4 mnt/hda4 -t data=<режим журналирања> _writeback, ordered, journal?
Креирање нове фајл система ext3
1. креирати партицију помоћу parted или fdisk
2. форматирати партицију mkfs
3. доделити партицији ознаку помоћу e2label
4. креирати тачку монтирања mkdir
5. додати партицију у фајл etcfstab
*************
GRUB loader
притисак Е - улаз у интерфејс уређивача записа. Esc - одбацивање промена и повратак у мени.
притисак В (након уређивања) - извршавање команди и покретање ОС-а
притисак С - улаз у интерфејс командне линије, унос команди и притисак enter за извршавање
help all - приказ свих команди
Изаберите језгро и притисните - а. На крају реда додајте размаком број runlevel
less /boot/grub/grub.conf _фајл loader-а
**************************
2.1 Супер блокови - важне информације о дисковима?
dumpe2fs /dev/sda1 | grep superblock _информације о супер блоковима
Коришћење резервног супер блока: све?
1. Покретање са Live CD или инсталационог диска Centos
2. fsck -y -b 8193 /dev/sda1 _провера диска 8193 - број 1 од резервних супер блокова
3. Монтирање фајл система
3.1 Обичним путем
3.2 Ако не успе:
mount sb=8193 /dev/sda1 /mnt _бр. рез. супер блока /уређај /тачка.монтирања
4. Додајте у /etc/fstab опцију sb (sb=8193) ка нашем фајл систему
*********************
Права приступа фајловима
123 456 789
s t rwx rwx rwx
s _suid-бит - 4 (000) фајл добија права не онога ко га је покренуо, већ власника фајла (утилита passwd) мора имати права на извршавање? ***у shell, црвеном бојом су истакнути фајлови са suid-битом.
t _sticky-бит - 1 (000)
1/2/3 _читање/писање/извршавање за власника
4/5/6 _читање/писање/извршавање за групу власника
7/8/9 _читање/писање/извршавање за остале
Право на читање означава се цифром 4, на писање - 2, на извршавање - 1
Ако је све дозвољено, тада је цифра права која се поставља на фајл за одређену групу = 7.
chmod [опции] [режим] файл - изменить права доступа. -v - выводит отладочную информацию, -R - рекурсивный режим, изменять права доступа для всех подкаталогов и файлов
chmod 4755 test.txt _4-добавить suid-бит, 7-полные влад-цу, 5 и 5 -чтение и исполнение группе и остальным - эта команда на файл в домашнем каталоге (папке) root, выдала сообщение: You have new mail in /var/spool/mail/root ?
-rwsr-xr-x root root 1 _нужно читать как rws (s вместо x) rx rx, root - владелец, root - группа владельца, 1 - кол-во ссылок
Обратно: chmod 0755 test.txt или chmod 755 test.txt - 0 перед 7 подставляется по умолчанию.
chmod 750 test.txt - 0 зануляет значение прав
chmod -R u=rwx,g=rx,o=x myfiles - 2ой метод изменения прав доступа для каталога или файла.
chmod -R u-x,g-x,o-x myfiles - 3й метод изменения прав доступа для каталога или файла отдельно каждой группе пользователей, где a -владелец, g -группа владельцев, o -все остальные.
chmod -R a-x myfiles - 4й метод изменения прав доступа для каталога или файла для всех пользователей. В 3 и 4 можно -/+
chmod +x script.sh - добавить на выполнение всем группам. 5й метод изменения прав доступа.
sgid-бит - 2 (000) - наследуются права группы владельца. Если бит sgid установлен для каталога, то создаваемые в нем файлы, при запуске будут принимать идентификатор группы каталога, а не группы в которую входит владелец файла.
Выполнение программы с правами группы владельца? Как правильно?
sgid-бит для файла: chmod 2755 test.txt
sticky-бит - 1 (000) - если уст-ся на каталог, то удалять и переименовывать файлы этого каталога может только владелец этого каталога, владелец файла или root. Иметь только расширение на запись в этот каталог не достаточно.
chmod 1755 test.txt
chown [опции] [владелец]:[группа] test.txt - смена владельца файла и группы. -v - выводит отладочную информацию, -R - рекурсивный режим.
[владелец]:[группа] - это новые владелец и новая группа.
chown -R user1:user1 * - смена владельца и группы, для всех файлов и подкаталогов текущего каталога. Нельзя изменить владельцев подкаталога. У кого права на смену владельцев файла или каталога?
chgrp group1 file1 – смена группы.
umask ХХХХ - изменение (задание) режима доступа, задает права доступа для вновь создаваемых каталогов и файлов!!!
Значение umask вычитается из числа 777 для каталогов и из числа 666 для файлов.
umask - узнать какой umask исп-ся в системе, в моей: 0022.
Новые каталоги: 0777 - 0022 = 0755. Новые файлы 0666 - 0022 = 0644
umask 0 1 2 3 4 5 6 7
Маска режима доступа r w x r w - r - x r - - - w x - w - - - x - - -
mount [опције] [уређај] [тачка_монтирања] - монтирање фајл система
umount [опције] [уређај] ИЛИ [тачка_монтирања] -f форсирано одмонтирање
mount - листа монтираних фајл система
При монтирању се могу задати дозволе. Цео фајл систем се може монтирати само за читање. Ово ће преписати раније додељене дозволе.
монтирати цд: mount -t iso9660 /dev/cdrom /mnt _наводи се тип фајл система (за цд није обавезно)
монтирати слику: mount -o loop -t iso9660 image.iso /mnt/iso није успело?
iso9660 за монтирање unix система и цд/двд mount -t ext3 /dev/sda4 /disk mount не креира партиције.
nfs за монтирање мрежног фајл система
vfat, ntfs за монтирање виндовс партиција
ufs за соларијс
У фајлу /etc/fstab наведена је листа фајл система за аутоматско монтирање при покретању ОС-а
[уређај] [тачка_монтирања] [тип фајл система] [опције] [флаг dump _застарело] [флаг fsck (0-не проверавати, 1-проверавати, 2-проверити након провере 1]
cat /etc/fstab –
називи уређаја:
hdc – тврди дискови
scsi -
cat /etc/mtab (mount) _ преглед информација о монтираним фајл системима. Ручно се не уређује.
/etc/filesystems _ листа могућих фајл система. Користи се командом mount за аутоматску замену, ако није наведен кључ -t са типом фајл система
Фајл систем proc постоји само у РАМ-у. Користи се као интерфејс ка структурама података језгра. Ово је виртуални фајл систем, учитава се у оперативну меморију при покретању система и не заузима место на ХД-у. Многе фајлове у њему можемо мењати, чиме мењамо параметре језгра у реалном времену.
cat /proc/cpuinfo, meminfo, mounts, devices, filesystems, modules, version, cmdline - листа параметара прослеђених језгру при учитавању. Одличан извор информација о систему!!!
Рад са фајловима:
Креирати текстуалним уређивачем vi/vim име фајла, преусмеравањем излаза команде echo или cat.
Уређивач vim:
i - унос текста. Esc - након уноса, повратак у режим уређивања.
: - за унос команди за рад са фајловима, уређивање подешавања и других команди.
Сада можемо уносити: w - за записивање фајла и q за излазак из уређивача. q! – излазак без чувања.
/ - претрага
touch test.txt – ажурирање времена приступа раније креираном фајлу (креирање новог у тренутном директоријуму). Подразумевано се креира фајл са дозволама 644. Обично се мења на 775/ 755
touch ‘s razmakom’.txt – креирање фајла са размаком.
CP [опције] [извор] [одредиште] - копирање фајла или директоријума.
cp test.txt test1.txt - креирај test1 као копију test.txt, cp /etc/test.txt ~ - копирај test.txt у кућни директоријум.
cp -r /etc/ /root/dok - копирај садржај партиције /etc/ у ново креирани фолдер /root/dok, не може се истовремено копирати фајл и креирати фолдер, само садржај партиције.
mv [опције] [извор] [одредиште] - премештање фајлова
mv file.txt /tmp/ - премести file.txt у /tmp/ без преименовања
mv /tmp/file.txt ~/file2.txt - премести file.txt, преименовавши га у file2.txt
Мекa веза указује на фајл, тврда на индексни дескриптор фајла.
ln [опције] [циљ] [име везе] - креирање веза између фајлова.
ln -s file.txt lnk - креирање симболичке (мекe) везе lnk (кроз –s) - уместо путање фајла може се навести псеудоним, указује на фајл.
ln file2.txt file.txt - креирање тврде везе - указује на индексни дескриптор фајла
unlink lnk - брисање мекe везе
cat – prikaz, less – prikaz po stranici/red, q – izlaz, Shift + PgUp/PgDn – kretanje.
cat test.txt test1.txt – prikaz sadržaja dva fajla na ekranu.
cat test.txt test1.txt > test2.txt – spajanje fajlova u jedan.
cat test1.txt > test2.txt – zameniti sadržaj fajla test2 sadržajem fajla test1.
cat test1.txt >> test2.txt – dodati sadržaj fajla test1 sadržaju fajla test2.
cat - >> test1.txt – dodavanje podataka u fajl test1 direktno iz shell-a. Ctrl + C – snimanje promena.
head -n 20 test.txt – prikaz prvih 20 redova fajla (podrazumevano 10 redova).
tail -n 20 test.txt – prikaz poslednjih 20 redova fajla (podrazumevano 10 redova).
nl test.txt – prikaz fajla sa numerisanim redovima
df [opcije] [fajl] – statistika korišćenja fajl sistema. Može se koristiti df, df -h ili df -h /dev/sda1.
du [opcije] [fajl] – statistika korišćenja disk prostora. du -hs /usr/share – prikaz veličine direktorijuma /usr/share.
-h – prikazuje statistiku u ljudski čitljivom formatu – MB i sl. -s – sumira rezultate poddirektorijuma i fajlova u njima.
echo [opcije] [niz] – prikaz niza teksta. echo -n 'blablabla' – prikazuje blablabla u istom redu.
echo 'blablabla' – prikazuje blablabla u novom redu.
echo 'blablabla' > file.txt – zameniti sadržaj fajla, echo 'blablabla' >> file.txt – dodati sadržaju fajla
wc [opcije] [fajl] – statistika o fajlu !!!
-c – broj bajtova u fajlu, -m – broj karaktera u fajlu, -l – broj redova u fajlu, -L – dužina najdužeg reda
-w – broj reči u fajlu.
find [putanja_pretrage] [opcija_pretrage] [vrednost] [opcija_dejstva] – pretraga fajlova ili direktorijuma.
-name – ime fajla ili direktorijuma koji treba pronaći
-type – tip objekta: f – običan fajl, d – direktorijum, b – blok uređaj, c – karakterni uređaj, p – imenovani kanal, l – simbolička veza, s – soket,
-size – korišćenje veličine fajla kao kriterijuma pretrage
-mtime – datum modifikacije
-ctime – vreme poslednje promene atributa fajla. Koja je razlika između mtime i ctime?
-atime – vreme poslednjeg pristupa fajlu touch?
-perm 777 – sa dozvolama pristupa 777
-print – samo ispisati apsolutnu putanju fajla
-exec – izvršiti određenu komandu za pronađene objekte
find / -name pab -type d
find /tmp/ -name core -type f -print | xargs /bin/rm –f – tražimo fajl, ispisujemo ga na ekran pomoću print, i pomoću xargs, kao argument, prosleđujemo komandi rm.
find /etc/ -perm 777 -type f – tražimo fajlove sa dozvolama 777 u direktorijumu etc.
find /etc/ -name pablish -exec rm -rf {} \; – izvršavanje komande rm -rf za pronađene objekte. Umesto {} biće ubačeno ono što smo pronašli kao argument.
F4 - otvaranje fajla
Rad sa direktorijumima:
mkdir - kreiranje, ls - pregled, mv - preimenovanje/pomeranje, rm -rf - brisanje zauzetih direktorijuma, rmdir - brisanje praznih !!!
mkdir –p ~/test/cda/blabla _100% kreiranje poddirektorijuma u kućnom direktorijumu
mkdir -p /root/dok/dir2{dir1,dir2,dir3} – kreiranje strukture direktorijuma dok/dir2, sa 3 dela dir1-3
«.» - trenutni direktorijum, «..» - nadređeni direktorijum, za koren «.» = «..»
mkdir -m 700 dir2 - eksplicitno zadavanje prava za novi direktorijum
rm -rf* - brisanje celokupnog sadržaja trenutnog particije,
gde -r - rekurzivni režim, -f - isključivanje upita za potvrdu
rmdir ~/test _obrisati prazan poddirektorijum kućnog direktorijuma
mknod _kreiranje bajt-orijentisanih uređaja - štampači, modemi rm _obrisati?
mknod _kreiranje blok-orijentisanih uređaja - tvrdi disk?
mknod _kreiranje imenovanih kanala rm _obrisati?
socket se može obrisati rm
ls - ispis sadržaja direktorijuma.
ls -lhR /etc/ | less - kroz cev ispis usmeriti u komandu less
-a - sve uključujući skrivene fajlove (počinju tačkom), -h - veličina fajlova, -l - sve informacije, -i - inodovi (indeksni deskriptori), -R - informacije o svim poddirektorijumima -t – sortiranje po vremenu, /*.txt – pretraga po maski
Man ls – pomoć.
q – izlaz, Pg Up, Pg Dn – kretanje. / - unos pretrage, n - nadole N - nagore
ls ../.. _pregled dva nivoa nagore, ls ../man _na nivou iznad pronaći direktorijum man
ls -l /dev/sda = file /dev/sda, ls –l /root /tmp /usr …- ispis više fajlova
ls –l /etc/*/*.conf – pretraga po ekstenziji, «preskačući» 1 nivo
ls -l /etc/[^a-w]*.conf - traži direktorijume koji ne počinju sa a-w sa ekstenzijom conf.
ls –ld – prava na trenutni direktorijum.
cd – change directory – promena direktorijuma
cd /usr/share/doc - prelazak apsolutnim putem
cd - _u prethodni direktorijum, cd .. _na nivo nagore, cd ~ _u kućni direktorijum,
cd ~/myfiles - prelazak iz bilo kog mesta u novo kreirani poddirektorijum kućnog direktorijuma.
grep [opcije] šablon [putanja do fajla za pretragu] - Pretraga po šablonu.
rpm -qa | grep chk - pretraga chk u izlazu svih instaliranih paketa u sistemu.
/dev/null - tzv. crna rupa, koristi se za upijanje nepotrebnog izlaza programa
command > /dev/nul 2>&1 - usmeravanje svih grešaka u /dev/null.
/dev/zero - može se koristiti za kreiranje fajla željene veličine
dd if=/dev/zero of=file.iso bs=1024 count=1024 - kreiranje iso fajla od 1 Mb.
/dev/random, /dev/urandom - koriste se skriptama za generisanje slučajnih brojeva.
BASH:
# - komandna linija sa pravima administratora
$ - komandna linija običnog korisnika - može se raditi u kućnom direktorijumu bez uticaja na sistem u celini
Ctrl + C - prekinuti trenutni proces (signal SIGINT)
Ctrl + D - izlaz iz komandnog interpretera
Ctrl + L - čišćenje ekrana
Ctrl + Z - prebacivanje procesa u pozadinski režim
Alt + D - brisanje svih simbola od trenutne pozicije do kraja reči
Alt + R - brisanje cele linije
Dvostruki TAB - sve dostupne komande
Esc + D - brisanje od kursora do kraja reči
echo $BASH_VERSION - verzija BASH. $ - znak promenljive, tj. ispis promenljive BASH_VERSION.
echo $BASH - lokacija BASH
Format komandi: ime_komande [zastavice/opcije] [argumenti]
./ime_skripte.sh - pokretanje skripte iz kućnog direktorijuma
BASH konfiguracioni fajlovi
1. Lokalni - nalaze se u kućnim direktorijumima korisnika sistema i imaju prioritet nad globalnim.
.bash_logout - skripta se izvršava pri izlasku iz sistema
.bash_history - fajl sa istorijom komandi, koji se čuva na disk nakon što se korisnik odjavi iz sistema. Može se podesiti da se odmah?
.bash_profile - skripta se izvršava prilikom vašeg povezivanja na sistem (u nekim sistemima se koristi bashlogin)
.bashrc - skripta se izvršava svaki put kada se otvori novi shell. Ona se izvršava, kao i sve komande navedene u njoj.
2. Globalni:
/etc/profile
/etc/bashrc
history - pregled istorije komandi. Broj redova se određuje promenljivom echo $HISTSIZE, podrazumevano 1000 redova.
history N - prikazati poslednjih N redova.
history -d N - obrisati red N.
!! - izvršiti poslednju unetu komandu
!N - izvršiti komandu N
!string - poslednja komanda koja počinje sa stringom string
Preusmeravanje ulaza/izlaza.
Deskriptor fajla - nenegativan ceo broj koji OS dodeljuje fajlu koji proces otvara. U sistemu su stalno otvorena 3 deskriptora fajla.
Broj Naziv Opis Komentar
0 stdin Standardni ulaz - unos podataka sa tastature, upravlja tastaturom
1 stdout Standardni izlaz - ekran monitora, upravlja monitorom
2 stderr Koristi se za ispis poruka o greškama
cat file1 file3 2>err_file - greška pri izlazu za ne postojeći file3, usmerena u novo kreirani fajl err_file. 2 - stderr.
cat < /etc/resolv.conf - preusmeravanje iz fajla.
cat > file, zatim enter, i sa novog reda unosimo tekst. Završetak unosa Ctrl + c. Uneti tekst je dodat u novo kreirani file.
date > date.txt - pri preusmeravanju u fajl, postojeći podaci se brišu.
date >> date.txt - pri preusmeravanju u fajl, dopisati postojećim podacima.
vi <(ls /etc) - preusmeravanje u tekstualni editor sadržaja direktorijuma etc. Pod kojim imenom sačuvati dobijeno?
echo -e "'ls -l /etc/[^a-w]*.conf'\n" - traži direktorije koji ne počinju sa a-w sa ekstenzijom conf. Ne radi??? '- ?
Moguće preusmeravanja:
Otkuda Kuda
stdout Fajl
stdout Stderr
stdout i stderr Stdout
stdout i stderr Stderr
stdout i stderr Fajl
stderr Fajl
stderr Stdout
Cevi (pipelines) povezuju standardni izlaz jedne komande sa ulazom druge i označavaju se: |
ls /usr/share | wc -l - brojanje broja redova u direktorijumu
Builtin ugrađene komande u bash. enable (enable -a) - pogledati sve (ispisuje listu komandi)
rpm -qa | grep hist - traži hist u paketima sistema, takvog nema, jer je komanda history ugrađena u bash.
Prilikom pokretanja prvo se izvršava builtin komanda, a tek onda se vrši njen pretraga u promenljivoj $PATH
enable -n pwd - isključuje builtin komandu pwd. Nakon toga će se izvršavati sistemska komanda pwd koja se nalazi u /bin/pwd
enable -n - lista isključenih builtin komandi
promenljive
Roditeljski proces > dečji proces > dečji proces i tako dalje
Procesi mogu uzastopno da prenose informacije o promenljivama na niži nivo od roditeljskog procesa ka dečjim, ali ne i obrnuto. Dečji proces ne može da prenese ništa u roditeljski proces.
Value=10 – kreiranje promenljive i dodela njene vrednosti. Promenljiva će biti dostupna samo u trenutnoj sesiji.
Export Value=10 – sada se promenljiva može koristiti iz drugih programa.
Unset value – brisanje promenljive
env – pregled promenljivih okruženja (izvezenih). Ovde ćemo videti samo one nakon izvršavanja komande: Export Value
typeset – pregled promenljivih okruženja, uključujući i one koje je kreirao korisnik.
Vim script.sh, sam skript:
#!/bin/bash
Echo $value
./script.sh – izvršavanje skripta u kućnom direktorijumu root korisnika.
Shell – je roditeljski proces za skript. Mogli smo mu dozvoliti korišćenje promenljive tako što smo je izvezli. Ili mu to mogli zabraniti ne izvozeći je.
Popularne promenljive: pregled echo $
$HOSTNAME – ime hosta
$Shell – ime komandnog interpretera
$USER – ime korisnika koji se ulogovao u sistem
$PATH – spisak direktorijuma OS-a u kojima se vrši pretraga komande kada je kucamo u konzoli. Pretraga se vrši uzastopno po direktorijumima do prvog poklapanja.
$PWD – trenutni radni direktorijum
$HOME – trenutni korisnički direktorijum
$UID – numerički identifikator trenutnog korisnika
$# - broj prosleđenih argumenata
echo $PATH - promenljiva koja sadrži spisak direktorijuma u OS-u
Lokalne promenljive.
$0 – sadrži ime izvršavanog fajla
$1 – prvi argument
$2 – drugi argument
$PS1 – ovo je prompt komandne linije
Vim script.sh, sam skript:
#!/bin/bash
Echo “first arg” - $0
Echo “second arg” - $1
…
Echo “10 arg” - ${10} – počevši od 10. argumenta, oni se moraju navoditi u zagradama.
./script.sh first_arg second_arg – prosleđivanje skripti 1. i 2. argumenta
Korisne komande:
cat /etc/passwd - ispis spiska korisnika
pwd - pregled radnog direktorijuma. pwd [-LP]
ps aux | grep mingetty - pronalaženje svih procesa sistema + ispis samo onih koji sadrže reč mingetty
whoami - vraća trenutnu korisničku sesiju pod kojom radi korisnik.
netstat -nr - za mrežnu analizu
su user1 - prelazak na drugog korisnika. Pitanje je u kom slučaju nakon promene korisnika na običnog, ima smisla komanda: cd ~ ?
exit - povratak na root komandnu liniju
useradd – dodavanje korisnika – command not found pri unosu pre startx?
Pitanje sudo useradd PPetrov – greška već nakon unosa tražene lozinke?
#passwd Uliashov– promena lozinke iz root-a na bilo koju
$passwd Ivanov – promena lozinke iz korisničkog naloga na onu koja odgovara bezbednosnim kriterijumima.
date - pregled sistemskog datuma i vremena
env – pregled promenljivih okruženja (izvezenih)
typeset - pregled promenljivih okruženja, uključujući i one koje je kreirao korisnik.
df –h - stepen popunjenosti disk prostora
rm mod pcspkr - učitavanje drajvera jezgra iz operativne memorije
modprobe pcspkr
lsmod – spisak modula
modinfo pcspkr – ispis informacija o modulu
Predavanje br. 4
U svakom direktorijumu postoje 2 linka. Dodavanje svake poddirektorije dodaje +1 link.
Neki isključuju swap kako bi izbegli stalno trzanje diskova.
fdisk –l – konfiguracija hard diska
free – statistika o RAM memoriji
vnc viewer 10.95.4.229
DOS sistem omogućava kreiranje 3 particije
Primarna – obična
Proširena – extended, unutar nje se može kreirati logička particija
Particije od 1 do 4 su Primarne ili Proširene. Od 5 pa naviše su logičke
swapon –a/ swapoff –a – povezivanje/odspajanje swap-a
etoolabel ???
partprobe?
Preuzeti vnc viewer
mkswap – ???
mkfs hdc1(2-6)
Ako se particija montira u novi folder, fajlovi kreirani u tom folderu neće biti u njemu, već u montiranoj particiji
1 free
2 cat /proc/swaps
3 swapoff –a /dev/mapper/VolGroup00-LogVol01 -putanja iz tačke 2
4 mkfs /dev/mapper/VolGroup00-LogVol01
5 mkdir /novyi
6 mount /dev/mapper/VolGroup00-LogVol01 /novyi
7 kreirati foldere i fajlove u folderu – tačka montiranja
8 umount
9 mkswap /dev/mapper/VolGroup00-LogVol01 označavanje uređaja
10 swapon –a
alias ‘fuck’ = ‘init 0’ ne raditi
Montiranje fajl sistema (mount) može samo root.
Može se montirati udaljeni fajl sistem, na primer tokom backup-a.
U etc/fstab se mogu podesiti prava korisniku za montiranje određenog foldera.
Predavanje br. 6
LVM – menadžer logičkih tonova – pogledati opis na internetu.
LV > VG – grupa > PV – hd1, …fizički diskovi se spajaju u 1 grupu. Ili obrnuto, 1 disk se deli na više tonova???. Mogući gubitak performansi ~ 5%.
vgs, pvs, lvs
Zadatak: dobiti logički ton.??????????
pvcreate /dev/hdc5
PV
VG
Vgcreate VG1 /dev/hdc5 - kreiranje grupe
Lvcreate –L 100M –n DataBase VG1 - kreiranje logičkog tona
Ls /dev/VG1/DataBase - pregled.
Radimo:
1 free
2 cat /proc/swaps
3 swapoff –a /dev/mapper/VolGroup00-LogVol01 -putanja iz tačke 2 - isključeno
4 lvremove /dev/mapper/VolGroup00-LogVol01 - uklonjeno
5 cat /proc/swaps
6 vgs – pokazaće slobodno mesto free
7 lvcreate –L 100M –n MYVOL1 VolGroup00
8 mkfs /dev/VolGroup00/MYVOL1 – formatiranje
8 mount /dev/mapper/VolGroup00-MYVOL2 /novyi ili mount /dev/VolGroup00/MYVOL1 /novyi
ls –l /Dev/VolGroup00 – link ka dev/mapper/Vol…
Može se napraviti trenutni snimak stanja particije:
lvcreate –s /dev//VolGroup00/MYVOL1 –n SNAP_MYVOL1 –L 100M - snimak je takođe nova particija. Može se montirati kao particija ka tački.mnt, ali ako se u njoj kreira fajl, on neće biti u snimku
prilikom kreiranja fajlova u tački montiranja lvs će pokazati promene u delu snimka
Pre izmene podataka, njihova istorija se upisuje u snaphot
Snaphot se kreira u istoj volum grupi.
Kreirati snimak samo za čitanje:
lvcreate –p r –s /dev//VolGroup00/MYVOL1 –n SNAP_MYVOL1 –L 100M – neće dozvoliti upis u tački montiranja.
Komande:
Ctrl + r + uneti traženi tekst
Ctrl + u – obrisati ceo izlaz (greška pri unosu lozinke)
Ctrl + W – obrisati po rečima
Ctrl + L – obrisati ekran???
Alt + . – prikaz poslednjeg parametra
Ctrl + S – blokiranje ekrana. Ctrl + Q - otključavanje
