СПИСЪК НА ВСИЧКИ ЛИНУКС КОМАНДИ С ПРИМЕРИ
ХАРДУЕР
# показва наличният хардуер с параметри - процесор, памет, видео карта
inxi -F
 
# показва наличният хардуер от БИОС-а
dmidecode
dmidecode -t system
dmidecode -t memory
dmidecode -t processor
dmidecode -t bios
dmidecode -t baseboard
 
# показва наличният хардуер
hwinfo
hwinfo --short
 
# показва наличният хардуер
lshw
lshw -short
lshw -html > info.html
 
# показва PCI устройствата
lspci
lspci -t
# резултата в дървовиден формат
lspci -v
# детайлна информация за всяко свързано устройство
 
# показва списък на блоковите устройства
blkid
blkid -a
 
# показва дяловете, входните точки + заетото и свободно дисково пространство
df -H
 
# показва използваната, свободната и цялата RAM памет
free -m
 
# информация за RAM паметта
cat /proc/meminfo
 
# информация за процесора - брой, ядра, модел, кеш, нишки и др.
lscpu
cat /proc/cpuinfo
 
# информация за линукса и kernel-а
cat /proc/version
uname -a
 
# информация за дяловете
cat /proc/partitions
 
# температурата на процесора
cat /proc/acpi/thermal_zone/CPUZ/temperature
 
# мощността на процесора
cpupower frequency-info
cpupower -c all frequency-set -g ondemand
cpupower set -c all frequency-set --min 800MHz --max 2.30GHz
 
# информация за САТА устройствата
hdparm -i /dev/sda
 
# показва списък на USB устройствата
lsusb
lsusb -v
 
ДИАГНОСТИКА НА ТВЪРДИЯ ДИСК
# проверка за лоши сектори
badblocks -v /dev/sdc1
 
# поправка на дял
fsck -t ext4 /dev/sdc1
 
# попрвка на всякакъв тип дял даже и ntfs
e2fsck -c /dev/sdc1
 
# поправка на ntfs дял
ntfsfix -b /dev/sdc1
 
# инструмент за анализ на твърди дискове
smartctl -i /dev/sdc
# проверка дали диска поддържа SMART механизма
smartctl -c /dev/sdc
# изчислява приблизителното време за всеки тест
smartctl -t (short|long|conveyance|select) /dev/sdc
# изпълнява избран тест
smartctl -t (short|long|conveyance|select) -C /dev/sdc
# изпълнява избран тест във foreground режим
smartctl -a /dev/sdc
# показва резултатите от теста
smartctl -d ata -H /dev/sdc1
# проверка на статуса на твърдият диск
 
# поправя почти всички видове дялове и копира данни от развалени дялове
testdisk
 
# създава потребител: '-d' задава собствената папка, '-g' задава групата, '-p' задава паролата
useradd -m -d /home/[user_name] -g [group_name] -c "Full name" -p "$(openssl passwd -1 [password])" [user_name]
 
# създава потребител без shell
adduser --shell /bin/false --no-create-home [user_name]
useradd --shell /bin/false --no-create-home [user_name]
 
# преместване на потребителската собствена папка на друго място
usermod -m -d /userspace/[user_name] [user_name]
 
# задава групите на потребителя да бъдат group1, group2 и group3
usermod -G group1,group2,group3 [user_name]
 
# променя потребителският UID
usermod -u 1000 [user_name]
 
# премахва потребителят от системата, но му запазва собствената папка
userdel [user_name]
 
# напълно премахва потребителят от системата
userdel -r [user_name]
 
# добавя потребителят към определена група
gpasswd [group_name] -a [user_name]
 
# премахва потребителят от определена група
gpasswd [group_name] -r [user_name]
 
# променя GID-а на групата
groupmod -g 1000 [group_name]
 
# проверка към кои групи даден потребител принадлежи
groups [user_name]
id -nG [user_name]
 
# промяна на потребителската парола
passwd [user_name]
 
# излизане от системата
pkill -KILL -u [user_name]
 
# показва списък на всички дялове
fdisk -l /dev/sda
 
# активира всички дялове след промени във файла /etc/fstab
mount -o remount /
 
# активира USB дял
mount -t vfat -o umask=0022,gid=1000,uid=1000 /dev/sdd1 /mnt/usb
 
( EXT4 )
# показва заглавието на дял от твърдият диск
e2label /dev/sda1
 
# форматира 'EXT4' дял
mkfs.ext4 /dev/sdc1
mke2fs -t ext4 -L "LABEL_123" /dev/sdc1
 
# променя някои настройки след форматиране на 'EXT4' дял:
# '-c' означава да стартира fsck на всеки 200 пускания на компютъра
# '-m' слага 1% дялово пространство за супер потребителя вместо стандартните 5%
tune2fs -c 200 -m 1 /dev/sdc1
 
# променя заглавието на 'EXT4' дял
e2label /dev/sdc1 "LABEL_123"
 
# активира 'EXT4' дял
mount -t ext4 -o /dev/sda1 /mnt
mount -t ext4 -o acl /dev/sda1 /mnt
 
( FAT 32 )
# показва заглавието на дял от твърдият диск
fatlabel /dev/sda1
 
# форматира 'FAT 32' дял
mkfs.vfat /dev/sdc1
mkfs -t vfat /dev/sdc1
mke2fs -t vfat -L "LABEL_123" /dev/sdc1
 
# променя заглавието на 'FAT 32' дял
fatlabel /dev/sdc1 "LABEL_123"
 
( NTFS )
# форматира 'NTFS' дял
mkntfs -L "LABEL_123" /dev/sdc1
 
# променя заглавието на 'NTFS' дял
ntfslabel -f /dev/sdc1 "LABEL_123"
 
( DVD )
# активира CD/DVD устройство
mount -t iso9660 -o ro /dev/dvd /mnt/dvd
 
( ФАЙЛОВЕ )
# показва файловото разрешение за достъп като трицифрено число, т.е. 755
stat -c "%a %n" file1.txt
 
# променя файловото разрешение за достъп
chmod 755 file1.txt
chmod ugo+rwx file1.txt
# (u)ser, (g)roup, (o)thers + (r)ead, (w)rite, e(x)ecute
chmod o+r file1.txt
chmod go-w file1.txt
 
# хибернетизация
dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
 
# рестарт
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
 
# спиране на системата
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
 
# спиране на системата веднага
shutdown -h now
 
# спиране на системата след 10 минути
shutdown -h +10
 
# рестарт на системата веднага
shutdown -r now
 
# вклчва проверка на дяловете на твърдият диск след рестарт
shutdown -Fr now
 
# преглед на планираните задачи за потребител 'john'
crontab -u john -l
 
# списък на всички активни процеси в дървовиден режим
ps -efH
 
# създаване и активиране на 4GB swap файл
dd if=/dev/zero of=/var/swap.tmp bs=1024 count=$((3*1024*1024))
mkswap -f /var/swap.tmp
swapon /var/swap.tmp
 
# списък на всички активирани модули на kernel-а
lsmod
cat /proc/modules
 
# показва информация за даден модул
modinfo moduleX
 
# активиране на нов модул в kernel-а
modprobe moduleX
 
# активиране на нов модул в kernel-а директно от файл
insmod /lib/modules/4.14.3.el7.x86_64/kernel/drivers/cdrom/cdrom.ko
 
# активиране на нов модул в kernel-а чрез използване на друго име
modprobe moduleX -o moduleY
 
# де-активиране на съществуващ модул в kernel-а
modprobe -r moduleX
 
( YUM )
# YUM е инструментът за управление на пакети в дистрибуцията Red Hat / CentOS

# показва списък на активните Yum източници на пакети
yum repolist
 
# показва списък на активните и неактивните Yum източници на пакети
yum repolist all
 
# списък на наличните пакети от източниците
yum list
 
# списък на наличните групови пакети в системата
yum grouplist
 
# списък на инсталираните пакети
yum list installed
 
# търсене на пакет
yum search firefox
 
# инсталиране на пакет
yum install firefox
yum install firefox -y
# -y означава да не задава въпроса 'Искаш ли да инсталираш пакета ?'
yum --enablerepo=epel install firefox
# инсталира пакет от изрично зададен източник
yum -ivh firefox-49.5.3-37.el7.x86_64.rpm
# инсталира пакет от RPM файл
 
# инсталиране на групов пакет
yum groupinstall 'MySQL Database'
 
# актуализация на пакет
yum update firefox
 
# актуализация на групов пакет
yum groupupdate 'MySQL Database'
 
# премахва инсталиран пакет
yum remove firefox
 
# премахва инсталиран групов пакет
yum groupremove 'MySQL Database'
 
# проверява даден файл към кой пакет принадлежи
yum provides /usr/bin/nautilus
 
# проверява за колко от инсталираните пакети има налична актуализация
yum check-update
 
# актуализира всички пакети наведнъж
yum update
 
# изчиства Yum кеша
yum clean all
 
# показва цялата история на всички изпълнени yum команди
yum history
 
( DPKG )
# DPKG е инструментът за управление на пакети в дистрибуцията Debian

# списък на инсталираните пакети
dpkg -l
 
# инсталиране на пакет
dpkg -i firefox.deb
 
# частично премахване на пакет, конфигурационните файлове остават
dpkg -r firefox
 
# пълно премахване на пакет
dpkg -P firefox
 
# преглед на съдържанието на пакет
dpkg -c firefox.deb
 
# проверка дали даден пакет е инсталиран или не
dpkg -s firefox
 
# рекурсивно инсталиране на всички '*.deb' файлове намерени в папката 'debpackages/' + подпапките
dpkg -R --install debpackages/
 
# разархивиране на пакет, но без инсталация
dpkg --unpack firefox.deb
 
( APT )
# APT е инструментът за управление на пакети в дистрибуцията Ubuntu

# списък на инсталираните пакети
apt-cache pkgnames
 
# търсене на пакет
apt-cache search firefox
 
# дава описанието на даден пакет
apt-cache show firefox
 
# показва зависимостта на даден пакет от други пакети
apt-cache showpkg firefox
 
# показва кешова статистика
apt-cache stats
 
# актуализация на системните пакети
apt-get update
 
# актуализация към по нови версии на всички софтуерни пакети
apt-get upgrade
 
# инсталиране на пакет
apt-get install firefox
apt-get install firefox --no-upgrade
# не актуализира вече инсталирани пакети
apt-get install firefox --only-upgrade
# единствено актуализация на пакет
 
# частично премахване на пакет, конфигурационните файлове остават
apt-get remove firefox
 
# пълно премахване на пакет
apt-get purge firefox
 
# премахване на излични пакети от които преди са зависели други пакети но вече не зависят
apt-get autoremove firefox
 
# изчистване на дисковото пространство от свалени '.DEB' файлове
apt-get clean
 
# изтрива всички '.DEB' файлове от /var/cache/apt/archives
apt-get autoclean
 
# сваляне на програмният код на пакет
apt-get --download-only source [package]
 
# сваляне и разархивиране на програмният код на пакет
apt-get source [package]
 
# сваляне, разархивиране и компилация на програмният код на пакет
apt-get --compile source [package]
 
# проверка за липсващи зависимости в пакетите
apt-get check
 
( PACMAN )
# PACMAN е инструментът за управление на пакети в дистрибуцията Arch

# синхронизация на локалната база с отдалечената
pacman -Syy
 
# актуализация на всички пакети
pacman -Syu
 
# инсталиране на един или няколко пакета + зависимите пакети
pacman -S [package]
pacman -S [package1] [package2]
 
# проверка какви пакети влизат в gnome групата
pacman -Sg gnome
 
# премахване на даден пакет, зависимите пакети остават
pacman -R [package]
 
# премахване на даден пакет + зависимите пакети, които не се използват
pacman -Rs [package]
 
# премахване на даден пакет + всички зависими пакети
pacman -Rc [package]
 
# насилствено премахване на даден пакет, зависимите пакети остават
pacman -Rdd [package]
# тези две команди вършат едно и също нещо
pacman -R --nodeps --nodeps [package]
# тези две команди вършат едно и също нещо
 
# търсене на пакет
pacman -Ss [package]
 
# търсене на пакет
pacman -Ss '^thunar-'
 
# търсене на вече инсталиран пакет
pacman -Qs [package]
 
# търсене на пакет, който съдържа даден файл
pacman -Fy
# sync the files database
pacman -Fs file_name
 
# показва много информация за даден пакет
pacman -Si [package]
 
# показва много информация за вече инсталиран пакет
pacman -Qi [package]
 
# показва списък на файловете в даден пакет /локално/
pacman -Ql [package]
 
# показва списък на файловете в даден пакет /отдалечено/
pacman -Fl [package]
 
# проверка даден файл в кой пакет се съдържа /локално/
pacman -Qo /path/to/file_name
 
# проверка даден файл в кой пакет се съдържа /отдалечено/
pacman -Fo /path/to/file_name
 
# показва в дървовиден режим от кои пакети даден пакет е зависим
pactree [package]
 
# показва рекурсивно зависимоста на пакети от друг пакет
whoneeds [package]
 
# pacman съхранява свалените пакети в /var/cache/pacman/pkg/ и не ги трие автоматично,
# следователно е необходимо тази папка да се чисти от време на време
pacman -Sc
 
# сваляне на пакет без да се инсталира
pacman -Sw [package]
 
# инсталиране на пакет от файл
pacman -U /path/to/package/package_name-version.pkg.tar.xz
 
# инсталиране на пакет от файл и запазването му в кеша
pacman -U file:///path/to/package/package_name-version.pkg.tar.xz
 
# търси файл в папка, ИМА значение дали името е с малки и големи букви
find / -name file.txt
 
# търси файл в папка, НЯМА значение дали името е с малки и големи букви
find / -iname file.txt
 
# намира всички файлове с разширение '.txt'
find / -name *.txt
 
# намира всички файлове с разширение, което не е '.mp3'
find / -not -name "*.mp3"
 
# намира всички файлове започващи с 'abc' или завършващи на '.php'
find / -name 'abc*' ! -name '*.php'
 
# намира всички '.php' или '.txt' файлове
find / -name '*.php' -o -name '*.txt'
 
# намира всички файлове променени в последните 24 часа
find / -mtime -1 -print
 
# намира всички файлове по-големи от 200kb
find / -type f -size +200k -exec ls -lh {} \
 
# намира всички 'sticky bits' файлове
find / -perm +1000
 
# намира всички '.php' файлове с максимално влизане в подпапки до ниво 2
find / -maxdepth 2 -name "*.php"
 
# намира всички скрити файлове
find / -type f -name ".*"
 
# намира всички папки с име 'images'
find / -type d -name images
 
# намира всички файлове с име 'images'
find / -type f -name images
 
# намира всички '.png' файлове в папка
find / -type f -name "*.png"
 
# намира всички файлове с разрешение за достъп развно на 777
find / -type f -perm 0777 -print
 
# намира всички файлове с разрешение за достъп различно от 777
find / -type f ! -perm 777
 
# намира всички празни файлове
find / -type f -empty
 
# намира всички празни папки
find / -type d -empty
 
# намира всички файлове със собственик потребителя 'john'
find / -user john
 
# намира всички файлове с име 'file.txt' и със собственик потребителя 'root'
find / -user root -name file.txt
 
# намира всички файлове променени последните 3 дни
find / -mtime 3
 
# намира всички файлове отваряни за четене последните 3 дни
find / -atime 3
 
# намира всички файлове променени последните 3-5 дни
find / -mtime +3 -mtime -5
 
# намира всички файлове създадени последният 1 час
find / -cmin -60
 
# намира всички файлове променени последният 1 час
find / -mmin -60
 
# намира всички файлове отваряни за четене последният 1 час
find / -amin -60
 
# намира всички файлове променени след като file.txt е променен
find / -newer file.txt
 
# намира всички файлове по-големи от 50MB и по-малки от 100MB
find / -size +50M -size -100M
 
# намира всички файлове по-големи от 100MB и ги изтрива
find / -size +100M -exec rm -rf {} \;
 
# намира всички SUID файлове
find / -perm /u=s
 
# намира всички SGID файлове
find / -perm /g+s
 
# намира всички READ-ONLY файлове
find / -perm /u=r
 
# намира всички EXECUTABLE файлове
find / -perm /a=x
 
# намира всички файлове, които имат групови права за четене
find / -perm -g=r -type f -exec ls -l {} \;
 
# намира всички файлове, които имат единствено групови права за четене
find / -perm g=r -type f -exec ls -l {} \;
 
# намира всички папки, които имат право на достъп равно на 777 и го променя на 755
find / -type d -perm 777 -print -exec chmod 755 {} \;
 
# изтрива всички '.mp3' файлове
find / -type f -name "*.mp3" -exec rm -f {} \;
 
# намира 5-те най-големи по размер файлла
find / -type f -exec ls -s {} \; | sort -n -r | head -5
 
# търси 'file.txt' в цялата файлова система започвайки от '/'
locate file.txt
 
( TGZ )
# създава 'tar.gz' архив
tar czf archive.tar.gz folder
tar czf archive.tar.gz file1.txt file2.txt
 
# разархивира файловете от 'tar.gz' архив
tar zxf archive.tar.gz
 
( GZ )
# създава 'gz' архив
gzip file1.txt file2.txt
# заменя 2-та файла с file1.txt.gz и file2.txt.gz
gzip -k file1.txt file2.txt
# по този начин запазва оригиналните 2 файла
gzip -cd old.gz | gzip > new.gz
# ре-компресира архив за по-добро качество
gunzip file1.txt.gz file2.txt.gz
# заменя 2-та файла с file1.txt и file2.txt
gunzip -c file1.txt.gz
# ако file1.txt е текстов файл го показва без да го разархивира
 
( BZ2 )
# създава 'tar.bz2' архив
tar cjf archive.tar.bz2 folder
tar cjf archive.tar.bz2 file1.txt file2.txt
 
# разархивира файловете от 'tar.bz2' архив
tar jxf archive.tar.gz
 
( BZIP2 )
# създава 'bz2' архив
bzip2 file1.txt file2.txt
# заменя 2-та файла с file1.txt.bz2 и file2.txt.bz2
bzip2 -k file1.txt file2.txt
# по този начин запазва оригиналните 2 файла
bzip2 -d file1.txt.bz2 file2.txt.bz2
# разархивира и заменя 2-та файла с file1.txt и file2.txt
bunzip2 file1.txt.bz2 file2.txt.bz2
# разархивира и заменя 2-та файла с file1.txt и file2.txt
bunzip2 -c file1.txt.bz2
# ако file1.txt е текстов файл го показва без да го разархивира
 
( TXZ )
# създава 'tar.xz' archive
tar cJf archive.tar.xz folder
tar cJf archive.tar.xz file1.txt file2.txt
 
# разархивира файловете от 'tar.xz' архив
tar Jxf archive.tar.xz
 
( 7Z )
# създава '7z' архив
7z a archive.7z folder
7z a archive.7z file1.txt file2.txt
 
# създава защитен с парола '7z' архив, да се замени {PASSWORD} с друг секретен ключ
7z a archive.7z -p{PASSWORD} -mhe=on file1.txt file2.txt
 
# създава '7z' архив и го разпределя в няколко файла всеки с размер = 100mb
7z a archive.7z -v100m /path/to/big-size-directory
 
# създава '7z' архив без компресия
7z a -m0=Copy archive.7z folder
7za a -mx0 archive.7z folder
 
# актуализира '7z' архив
7z u archive.7z folder
 
# показва информация за '7z' архив
7z l archive.7z
 
# показва технически параметри - тип, размер и др.
7z l -slt archive.7z
 
# изтрива файл от '7z' архив
7z d archive.7z file1.txt -r
 
# разархивира '7z' архив в текущата папка без да създава директорийна структура
7z e archive.7z
 
# разархивира '7z' архив в текущата папка като създава пълна директорийна структура
7z x archive.7z
7z x -o/path/to/directory archive.7z
 
# създава архив от папка
tar cf - folder | 7z a -si backup.tar.7z
 
# възстановява папка от архив
7z x -so backup.tar.7z | tar xf
 
( RAR )
# създава 'rar' архив
rar a archive.rar folder
rar a archive.rar file1.txt file2.txt
 
# създава 'rar' архив и го разпределя в няколко файла всеки с размер = 1.9GB
rar a -v1900m archive.rar folder
 
# създава защитен с парола 'rar' архив без компресия, да се замени {PASSWORD} с друг секретен ключ
rar a -hp{PASSWORD} -m0 archive.rar folder
 
# разархивира файловете от 'rar' архив
unrar e archive.rar
 
( XAR )
# създава 'xar' архив
xar -cf archive.xar folder
xar -cf archive.xar file1.txt file2.txt
 
# показва списък на файловете в 'xar' архив
xar -tf archive.xar
 
# разархивира файловете от 'xar' архив
xar -xf archive.xar
 
( CPIO )
# създава 'CPIO' архив
ls | cpio -ov > archive.cpio
 
# създава 'CPIO' архив
find . -print -depth | cpio -ov > archive.cpio
 
# създава 'CPIO' архив
ls | cpio -ov -H tar -F archive.tar
 
# разархивира файловете от 'CPIO' архив
cpio -idv < archive.cpio
 
# разархивира файловете от 'CPIO' архив
cpio -idv -F archive.cpio
 
# показва списък на файловете в 'CPIO' архив
cpio -it -F archive.tar
 
( PATOOL )
# PATOOL е мултифункционален инструмент за работа с всички видове архивни формати


# показва всички поддържани архивни формати
patool formats
 
# разархивира архив
patool extract archive.zip
patool extract archive.rar
patool extract archive.txz
 
# прави проверка дали даден архив е валиден
patool test --verbose archive.txz
 
# показва списък на файловете в даден архив
patool list archive.rar
 
# създава архив
patool create --verbose archive.zip folder
patool create --verbose archive.txz folder
patool create --verbose archive.tar.bz2 file1.txt file2.txt
 
# показва разликите в съдържанието на 2 архива
patool diff archive1.tar.gz archive2.zip
 
# търси в съдържанието на архив
patool search "def urlopen" archive.zip
 
# компресира архив от един формат в друг формат
patool repack archive.tar.gz archive.zip
 
( PAX )
# PAX е мултифункционален инструмент за работа с всички видове архивни формати


# създава архив
pax -wf archive.tar folder
pax -wf archive.zip folder
pax -wf archive.tar.bz2 folder
 
# показва списък на файловете в даден архив
pax -f archive.tar
 
# разархивира архив
pax -rf archive.tar
 
# разархивира архив използвайки регулярни изрази
pax -r <archive.tar 'sales/*.txt' 'products/*.png'
pax -r <archive.tar 'sales/year_200[123456].txt'
 
# копира съдържанието на текущата папка в друга папка
pax -rw . /path/newdir
 
# копира единствено файловете модифицирани днес
pax -rw -T file1.txt folder /n/mybackups/$(date +%A)/
 
# разархивира всички файлове, които са на потребителя 'root' и групата 'bin' като запазва режима на достъп
pax -r -pe -U root -G bin -f archive.pax
 
# актуализира само тези файлове в папката '/backup', които са
# по-стари от файловете със същото име намерени в папката '/home'
pax -r -w -v -Y -Z /home /backup
 
( ATOOL )
# ATOOL е мултифункционален инструмент за работа с всички видове архивни формати


# създава архив
atool -a archive.tar.gz folder
apack archive.tar.gz folder
 
# разархивира архив
atool -x archive.tar.gz
aunpack archive.tar.gz
 
# показва съдържанието на даден файл в архива
atool -c archive.tar.gz file1.txt
acat archive.tar.gz file1.txt
 
# показва списък на файловете в даден архив
atool -l archive.tar.gz
als archive.tar.gz
 
# ре-пакетира даден архив
arepack archive.tar.gz archive.7z
 
# показва разликите в съдържанието на 2 архива
atool -d archive1.7z archive2.7z
adiff archive1.7z archive2.7z
 
# добавяйки '-S' към коя да е команда е само за симулация, няма да последват файлови промени
atool -x -S archive.tar.gz
 
( DTRX )
# DTRX - (d)o (t)he (r)ight e(x)traction

# разархивира архив
dtrx archive.tar.gz
 
# промяна на текущата дата и време
date --set="1 JAN 2018 18:00:00"
date +%Y%m%d -s "20171128"
date +%Y-%m-%d -s "2017-11-28"
date +%T -s "10:13:13"
date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
 
# добавяне на 7 дена към датата и принтиране в ISO формат в терминала
date -d "2017-12-04 7 days" +%Y-%m-%d
 
# промяна на датата и часът на хардуерно ниво
hwclock --set --date="2017-04-19 20:45:05" --utc
 
# промяна на времевата зона
cp /usr/share/zoneinfo/Europe/Paris /etc/localtime
 
# колко е часът сега според "National Institute of Standards and Technology"
nc time.nist.gov 13
 
( СЪЗДАВАНЕ НА ISO ФАЙЛ )
# създаване на ISO файл от папка
mkisofs -r -o data.iso folder
mkisofs -lJR -o data.iso folder
mkisofs -V Label123 -J -r -o data.iso folder
genisoimage -o data.iso folder
 
# създаване на ISO файл от папка използвайки Rock Ridge алгоритъм
genisoimage -o data.iso -R folder
 
# създаване на ISO файл от папка + Rock Ridge алгоритъм + файловете са на потребителя 'root'
genisoimage -o data.iso -r folder
 
# създаване на ISO файл от списък с 'mp3' файлове
mkisofs -r -o data.iso *.mp3
 
# създаване на ISO файл от CD/DVD
dd if=/dev/cdrom of=data.iso
 
# създаване на ISO файл за инсталиране на ОС
mkisofs -V Label123 -J -r -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o slackware.iso folder
 
( РАЗАРХИВИРАНЕ НА ISO ФАЙЛ )
# разархивиране
mount -t iso9660 -o loop file.iso /mnt
# после 'cd /mnt' и 'cp -R * /path/to/folder/'
 
# разархивиране
7z x file.iso
 
( ЗАПИСВАНЕ НА ISO ФАЙЛ )
# записване върху CD/DVD
growisofs -dvd-compat -Z /dev/sr0=file.iso
 
# записване върху CD/DVD
dd if=/path/image.iso of=/dev/sr0
 
# записване върху CD/DVD, намирането на записвачката става с: wodim --devices
wodim -eject -tao speed=0 dev=/dev/sr0 -v -data file.iso
 
# записване върху CD/DVD, намирането на записвачката става с: cdrecord -scanbus
cdrecord -v dev=ATA:1,0,0 driveropts=burnfree -dao file.iso
cdrecord dev=/dev/sr0 file.iso
 
( ЗАПИСВАНЕ НА ПАПКА )
# записване на папка
growisofs -Z /dev/sr0 -R -J folder
 
# записване на папка - мултисесиен CD/DVD диск
growisofs -M /dev/sr0 -R -J folder
 
# заместване на новите редове с шпация
cat file1.txt | sed ':a;N;$!ba;s/\n/ /g'
 
# премахване на всички празни нови редове в началото на файла
cat file1.txt | sed '/./,$!d'
 
# премахване на всички празни нови редове в края на файла
cat file1.txt | sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba'
 
# премахване на всички празни нови редове в началото и в края на файла
cat file1.txt | sed -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba'
 
# изтриване на 'start' + следващите 4 реда
cat file1.txt | sed '/start/,+4d'
 
# преглед на съсържанието на файл в обратен ред - отдолу нагоре
tac file1.txt
cat file1.txt | sed -n '1!G;h;$p' file1.txt
 
# добавяне на номер на ред срещу всички не-празни редове
sed '/./=' file1.txt | sed 'N; s/\n/ /'
 
# заменяне на /usr/bin/ с /usr/bin/local
cat file1.txt | sed 's@/usr/bin@&/local@g'
 
# показване на списък на всички потребители в системата
sed 's/\([^:]*\).*/\1/' /etc/passwd
 
# премахване на дублиращи се редове
cat file1.txt | awk '!($0 in array) { array[$0]; print }'
awk -i inplace '!($0 in array) { array[$0]; print }' file1.txt
# променя се file1.txt
 
# замяна на 'OLD' с 'NEW' само ако OLD се съдържа в 3-тата колона
cat file1.txt | awk '{gsub(/OLD/,"NEW",$3); print}'
awk -i inplace '{gsub(/OLD/,"NEW",$3); print}' file1.txt
# променя се file1.txt
 
# замяна на 'OLD' с 'NEW' само ако OLD се съдържа на 4-ият ред
cat file1.txt | sed '4s/OLD/NEW/g'
cat file1.txt | awk 'NR==4{gsub(/OLD/,"NEW")};1'
cat file1.txt | perl -pe 's/OLD/NEW/g if $.==4'
awk -i inplace 'NR==4{gsub(/OLD/,"NEW")};1' file1.txt
# променя се file1.txt
 
# многоредова замяна на един текст с друг, Evian + God >> Naive + Dog
sed -n '$!N;s@Evian\nGod@Naive\nDog@;P;D' file1.txt
# 2 реда
sed -n '1{$!N};$!N;s@Evian\nGod\nLive@Naive\nDog\nEvil@;P;D' file1.txt
# 3 реда
sed -n '1{$!N;$!N};$!N;s@ ... @ ... @;P;D' file1.txt
# 4 реда
 
# сортиране на файл
sort file1.txt
 
# сортиране на файл в обратен ред
sort -r file1.txt
 
# сортиране на файл спрямо 3-тата колона
sort -t: -k 3n file1.txt
 
# отваряне на файл с vim и позициониране курсора на ред 113
vim +113 file1.txt
 
# отваряне на файл с vim и позициониране курсора, където е 'search-term'
vim +/search-term file1.txt
 
# отваряне на файл с vim само в режим на четене
vim -R file1.txt
 
# показване само на тези редове, в които column#3 == column#4
cat file1.txt | awk -F':' '$3==$4'
 
# намери "token" във файл, независимо дали token се пише с малки или големи букви
grep -i "token" file1.txt
 
# намери "token" в папка + всичките ѝ подпапки
grep -r1 "token" ./
 
# премахване отляво на шпациите
echo " Capella" | sed 's/^ *//g'
 
# премахване отдясно на шпациите
echo "Arcturus " | sed 's/ *$//g'
 
# запълване с шпации отляво
printf "%20s" "Sirius"
# "              Sirius"
 
# запълване с шпации отдясно
printf "%-20s" "Orion"
# "Orion              "
 
# "123 | 456 | 789" => "321 | 654 | 987"
echo "123|456|789" | tr "|" "\n" | rev | paste -sd "|"
 
# заграждане в скоби на всяка първа буква от всяка дума
echo "The Planet Earth" | sed 's/\(\b[A-Z]\)/\(\1\)/g'
# (T)he (P)lanet (E)arth
 
# големите числа да са по-четливи, чрез добавяне на запетайка: 2342355 >> 2,342,355
echo "123456789" | sed 's/\(^\|[^0-9.]\)\([0-9]\+\)\([0-9]\{3\}\)/\1\2,\3/g'
 
# отпечатване на произволна поредица от букви и цифри
tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs
 
# отпечатване на цветен текст, за други варианти да се замени 31 с число в интервала 31..47 и 1m с 1m..9m
echo -e "\033[31;1mRED COLORED TEXT\033[0m"
 
# mogrify идва с пакета 'Image Magick'
mogrify -resize 1600 *.jpg
# промяна размера на всики 'JPG' файлове с широчина=1600
mogrify -resize '1280x1024>' *.jpg
# промяна на размера само ако е в определени граници
mogrify -format jpeg *.tiff
# конвертиране от един снимков формат в друг
mogrify -format gif *.jpg
# конвертиране от един снимков формат в друг
mogrify -rotate 90 *.jpg
# ротация на снимките
mogrify -monochrome *.jpg
# конвертиране от цветен формат в черно-бял
mogrify -colors 4 *.gif
# намаляване на броя цветове до 4 при 'GIF' снимките
 
# конвертиране на 'WAV' файл в 'MP3' файл
ffmpeg -i file.WAV -codec:a libmp3lame -qscale:a 2 file.MP3
# високо качество на звука
ffmpeg -i file.WAV -vn -ar 44100 -ac 2 -ab 192k -f mp3 file.MP3
lame file.WAV --cbr -b 256 file.MP3
# 256 е за високо качество, 128 би било за по-лошо качество на звука
ls *.WAV | xargs -t -I {} lame "{}" --cbr -b 256
# конвертира всички WAV файлове в директория
 
# показване на информацията за даден видео файл
mplayer -frames 0 -identify file.AVI
ffmpeg -i file.VOB
# аудио/видео информация
ffmpeg -codecs
# пълен списък на наличните кодеци
 
# комбиниране на 2 видео файла в 1 файл
mencoder -ovc copy -oac copy part1.AVI part2.AVI -o full_movie.AVI
 
# конвертиране на 'VOB' файл в 'MKV' файл
ffmpeg -i file.VOB -fflags +genpts -c:v copy -c:a copy file.MKV
ffmpeg -i file.VOB -c:v libx264 -an file.MP4
# добро качество, почти като на оригинала
ffmpeg -i file.VOB -c:v libx264 -map 0:1 -c:a libfdk_aac -b:a 192k -map 0:4 file.MP4
avconv -i file.VOB file.MKV
avconv -i file.VOB -vcodec libx264 file.MKV
avconv -i file.VOB -c:v copy -c:a copy file.MKV
 
# конвертиране на 'VOB' файл в 'MP4' файл
ffmpeg -i file.VOB -q:v 3 file.MP4
# с -q:v може да се настройва видео качеството
ffmpeg -i file.VOB -c:v copy -c:a copy file.MP4
ffmpeg -i file.VOB -acodec libmp3lame -ac 2 -ar 22050 file.MP4
# за да копираш аудиото, използвай '-acodec copy'
 
# конвертиране на 'VOB' файл в 'AVI' файл
ffmpeg -i file.VOB -sameq file.AVI
# изходен файл със същото качество
ffmpeg -i file.VOB -c:v libx264 -crf 20 -c:a libmp3lame -ac 2 -ab 192k file.AVI
# за качеството -crf = 18-29
mencoder file.VOB -oac copy -ovc x264 -x264encopts bitrate=2500 -o file.AVI
mencoder file.VOB -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1600 -force-avi-aspect 1.7778 -oac mp3lame -lameopts vbr=3 -nosub -idx -o file.AVI
 
# конвертиране на 'MKV' файл в 'AVI' файл
mencoder file.MKV -ffourcc divx -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=400 -oac mp3lame -lameopts vbr=3 -o file.AVI
 
# намаляване на размера на видео файл
ffmpeg -i file.AVI -s 320x240 -vcodec msmpeg4v2 file-divx.AVI
# compress file to divx format
mencoder file.AVI -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1600 -force-avi-aspect 1.7778 -oac mp3lame -lameopts vbr=3 -o file-reduced.AVI
 
# копиране на част от видео, в случая от 1:02:41 следващите 20 секунди; 3600*ч + 60*м + с
mencoder file.AVI -ss 3761 -endpos 20 -ovc copy -oac copy -o clip.AVI
ffmpeg -i file.VOB -ss 3761 -t 20 -c:v mpeg4 -qscale:v 2 -c:a mp2 -b:a 320k clip.AVI
 
# копиране на част от видео в снимки
mplayer -vo jpeg -ss 1:02:41 -frames 48 file.AVI
 
# копиране на музиката от видео файл в MP3 формат
ffmpeg -i file.AVI -vn -ar 44100 -ac 2 -ab 192k -f mp3 sound.MP3
 
# записване във видео файл на движенията по екрана
recordmydesktop -x 0 -y 0 --width 200 --height 200 --on-the-fly-encoding -o desktop-200x200.ogv
mencoder -idx desktop-200x200.ogv -ovc lavc -oac mp3lame -o desktop-200x200.avi
 
# слушане на аудио поток
mplayer http://www.dummy-streaming-location.com/path -dumpstream -dumpfile file.MP3 -vc dummy -vo null
 
Хардуер: inxi, hwinfo, lshw, lscpu, blkid, dmidecode
Твърд диск: e2fsck, smartctl
Потребители и групи: useradd, usermod, userdel, gpasswd
Файлова система: mke2fs, tune2fs, mkntfs, e2label
Управление на
системата
:
dbus-send, ps, yum, dpkg, apt,
pacman
Търсене на файлове: find, locate
Архиви: tgz, bz2, txz, 7z, rar, xar, cpio, patool, pax, atool, dtrx
Дата и време: date, hwclock
ISO файлове: mkisofs, genisoimage, growisofs, cdrecord, wodim
Текстови файлове: cat, tac
Обработка на текст: sed, awk
Мултимедия: mogrify, ffmpeg, mplayer, mencoder
English Version