Crmgo Blog

LINUX KOMANDE

LINUX KOMANDE

LINUX KOMANDE Komanda Opis Sistemski podaci arch prikazuje arhitekturu računara uname -m uname -r prikazuje verziju kernela koja se koristi dmidecode -q prikazuje hardverske sistemske komponente - (SMBIOS / DMI) hdparm -i /dev/hda prikazuje karakteristike tvrdog diska hdparm -tT /dev/sda testira performanse…

LINUX KOMANDE

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

 

članak preuzet odavde

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.