
Права на файлы/папки в текущем положении можно посмотреть командой ls -l
Выглядят они, например, так: rwx rwx r-x
 
	
		Для изменения прав доступа в относительном режиме в символьном представлении, например:
		chmod go+rw [filename]
		
Здесь мы дали группе (g) и владельцу (o) права чтения (r) и записи (w).
		
Общая форма — chmod personOperatorRights имя_файла
	
		Person:
		
u — user, пользователь, владелец файла или директории.
		
g — group, группа файла или директории.
		
o — other, все другие.
		
a — all, то есть все вместе взятые, и владелей и группа, и все остальные.
	
		Operator:
		
+	— "плюс", добавляем нужные права
		
-	— "минус", удаляем нужные права
		
=	— "равно", устанавливаем нужные права
	
Rights: r/w/x
		Для изменения прав доступа в абсолютном режиме в числовом представлении, например:
		chmod 745 [filename]
		
Разберём что здесь делается.
		
Каждая цифра обозначает определенную группу:
		
Первая цифра — права для владельца,
		
вторая цифра — права для группы,
		
третья цифра — права для остальных.
		
Установлено правило, что:
		
r — это 4,
		
w — это 2,
		
x — это 1.
		
Просто прибавляем цифры:
		
Таким образом, команда chmod 745 [filename] означает что файлу [filename] мы присвоили следующие права:
		
Права владельца: 7 = 4+2+1 = rwx
		
Права группы: 4 = 4 = r
		
Права остальных: 5 = 4+1 = rx
		
| все права на файл все права на папку рекурсивно (с подпапками и файлами) | chmod 777 <имя файла> chmod -R go=rwX,u=rwX sharan | 
Для изменения владельца или группы у файла или каталога есть команда chown:
Основные команды для манипуляций:
# List the rules in a chain or all chains iptables --list
# to add rule to iptable for accessing 48666 port iptables -I INPUT -p tcp --dport 48666 -j ACCEPT # to delete rule from iptable, use same command but change -I to -D iptables -D INPUT -p tcp --dport 48666 -j ACCEPT
# To block an IP Address with iptables: iptables -A INPUT -s 11.22.33.44 -j DROP # to unblock: iptables -D INPUT -s 11.22.33.44 -j DROP
# Save changes in iptables: iptables-save
		# установить TARPIT для iptables
		apt-get install module-assistant xtables-addons-source
		
module-assistant prepare
		
module-assistant auto-install xtables-addons-source
		
depmod -a
	
ЕСЛИ вышеприведённое failed, то: sudo apt-get install xtables-addons-dkms
		# Первое правило проверяет наличие в динамическом списке ip-адреса отправителя, и запись об этом адресе должна быть "старше" 20 секунд. Иначе — TARPIT.
		
# Второе правило разрешает обращение на 22-й порт и заносит IP-адрес в динамический список.
		
# дефолтный таймаут TARPIT — 600 секунд
		iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 20 -j TARPIT
		
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
	
# теперь после защиты, можно открыть SSH iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
		# сохранить изменения
		iptables-save
iptables-save > /etc/iptables.conf
	
Автоматическая запись и восстановление правил nano /etc/network/interfaces после строчки "iface lo inet loopback" добавляем следующие строки: pre-up iptables-restore < /etc/iptables.conf post-down iptables-save > /etc/iptables.conf Теперь при отключении машины правила сами будут сохраняться, а при включении — восстанавливаться.
A Secure Shell (SSH) tunnel consists of an encrypted tunnel created through an SSH protocol connection. Users may set up SSH tunnels to transfer unencrypted traffic over a network through an encrypted channel.
 
		 
	  
		Установить постоянное соединение через server.com к машине в его подсети, перенаправив её порт 8080 на наш локальный 28080:
		ssh -f -L 28080:192.168.99.86:8080 user@server.com -N
		-f запрашивает ssh идти фоном до начала выполнения команды. Используется, если ssh будет запрашивать пароли или пассфразу, но пользователь хочет чтобы это было в фоне
		
-L перенаправляет порты (согласно одной из схем с картинки выше)
		
-N говорит о том, что никакую команду выполнять удалённо не надо. Используется когда нужно просто наблюдать (warding) за портом
	
Удалённо выполнить какую-нибудь команду (результат будет показан в консоли): ssh user1@local_server 'play /usr/share/sounds/gaim/arrive.wav'
sudo chown -R ${USER}:${USER} ~/.gnupg chmod -R go-rwx ~/.gnupg
| получить список файлов/каталогов в текущем положении | ls | 
| получить список ВСЕХ (a) файлов/каталогов в текущем положении, используя длинный (l) формат | ls -la | 
| “зайти” в каталог | cd <имя каталога> | 
| поиск в истории ввода консоли | history или CTRL-R и ввести что ищешь | 
| найти файлы, начиная с корня (/),  название которых начинается c my найти директории (-type d) с именем abc d, начиная с корневой (/) найти все файлы, начиная с текущей директории, используя регулярку Смотреть подробнее в Википедии | find / -name 'my*'
				find / -type d -name 'abc d'
				find . -type f -regex ".*\.\(jpg\|png\|JPG\|PNG\)" | 
| найти файлы, в которых встречается выражение найти файлы, в которых НЕ встречается выражение Подробнее: grep всё, что можно | grep -l "www.google.com" *.conf grep -L "www.google.com" *.conf | 
| запуск perl-скрипта | perl filename.pl | 
| запуск python-скрипта | python filename.py | 
| синхронизация каталогов | rsync -r -u --progress --delete "/home/progforce/source/" /media/progforce/flash/target/ | 
| Краткая информация о свободных RAM и SWAP: -m — в МБ -t — со строчкой total (всего) | free -t -m | 
| получить список запущенных процессов получить список запущенных процессов для всех юзеров найти процесс “opera” без учёта регистра убить процесс убить процесс не спрашивая у него разрешения | ps -A ps aux ps -A | grep -i "opera" kill <# of process> kill -9 <# of process> | 
| Информация об использовании процессами RAM и CPU | top htop | 
| Информация о файловой системе (список дисков, свободное/использованное пространство и т.п.) | df | 
| обновить список пакетов (packages), которые у нас прописаны /etc/apt/sources.list | apt-get update | 
| установка package (пакета) вместе с его зависимостями, если таковые имеют место быть | apt-get install <packagename> | 
| посмотреть информацию о пакете (package) | apt-get show <packagename> | 
| список установленных packages (пакетов) | dpkg -l dpkg -l | grep -i <pattern> | 
| деинсталляция packages (пакетов) | apt-get remove <packagename> | 
| деинсталляций packages (пакетов) с удалением настроек Посмотреть список пакетов, для которых было проделано remove, но не удалены все следы Удалить все следы всех таких удалённых пакетов | apt-get purge <packagename> aptitude search ~c aptitude purge ~c | 
| удалить неиспользуемые packages (пакеты) | apt-get autoremove | 
| стереть старые загруженные архивные файлы package’ей | apt-get autoclean | 
| Обновить релиз ubuntu (из -proposed репозитория) | sudo do-release-upgrade -p | 
| получить список подключённого “железа” | lspci -k | 
| Поискать среди железа дискретную видеокарту | lspci | grep -E "VGA|3D" -A2 | 
| Посмотреть информацию о процессоре, выводится поядрённо)) | cat /proc/cpuinfo | 
| Посмотреть информацию о количестве оперативной памяти | cat /proc/meminfo | 
| Посмотреть информацию о конкретных "планках" оперативной памяти | sudo dmidecode --type 17 | 
| ремаунт диска с RW свойствами,в данном случае флешки | sudo mount -o remount,rw /media/username/fleshkaname | 
| узнать что “висит” на 27017 порту | lsof -iTCP | grep 27017 | 
| поиск определённого открытого порта в подсети | nmap -v -p27017 192.168.88.1/24 --open | 
| Посмотреть все порты что СЛУШАЕТ, например MongoDB | sudo lsof -iTCP -sTCP:LISTEN | grep -i mongo | 
| смотреть открытые порты | sudo netstat -nlp | 
| скачать файл Подробнее: wget на 12 примерах | wget mellarius.ru/font_artmodernap.otf | 
| unpack tar.xz | tar -xpJf [archive_filename.tar.xz] | 
| unpack tar.xz — specific file only | tar -xpJf [archive_filename.tar.xz] usr/lib/opera/lib_extra/libffmpeg.so | 
| unpack tar.gz | tar -xzvf [archive_filename.tar.gz] | 
| Добавить в глобальную переменную PATH путь до директории какого-то приложения | PATH=$PATH:~/Android/Sdk/tools | 
| показать путь до файла (ссылки), который выполняется при использовании указанной команды [command] | which [command] | 
| “Наблюдать” файл в реальном времени, чаще всего нужно для разного рода логов серверов для отлова сообщений об ошибках С подсветкой строк, включающих слово error и warning | tail -c 10000 -f ~/work/merchantz/Merchantz/server.log tail -c 10000 -f ~/work/merchantz/Merchantz/server.log.* | perl -pe 's/.*(error|warning).*/\e[1;31m$&\e[0m/ig' | 
| узнать код клавиши | xev | grep keycode | 
| всплывающее уведомление в углу экрана | notify-send -u low "Заголовок" "Тело сообщения с низкой важностью" notify-send -u normal "Заголовок" "Тело сообщения средней важности" notify-send -u critical "Заголовок" "Тело сообщения критической важности" | 
| Запуск bin-файлов Простой bin файл не запустить стандартным двойным кликом, а только простыми командами в терминале Первой командой мы даём файлу права на исполнение, а второй уже непосредственно запускаем. | chmod +x file.bin ./file.bin | 
| Запуск sh-файлов //sh файл это скрипт, специально написанный для операционной системы Linux. Процесс его запуска похож на запуск bin файла: //первой командой задаём права на выполнение, 1-3 команды это различные варианта запуска файла | chmod +x file.sh ./file.sh sh filename.sh bash filename.sh | 
| Установка TrueType-шрифтов для всех пользователей системы | * создать /usr/share/fonts/truetype/ sudo mkdir /usr/share/fonts/truetype/ * скопировать шрифты в этот каталог cp путь/до/шрифта /usr/share/fonts/truetype * обновить кэш шрифтов sudo fc-cache -fv | 
| Установка шрифтов для текущего пользователя | # в своём “родном” каталоге создать каталог .fonts/ mkdir .fonts # скопировать файлы со шрифтами в этот каталог cp путь/до/шрифта ~/.fonts # обновить кэш шрифтов fc-cache -fv | 
| Удобная подстановка и прокрутка команд в консоли по нажатию TAB | Нужно поправить системный файл /etc/inputrc, вписав в него предпоследней строкой следующее:
				
					TAB: menu-complete "\e[A": history-search-backward "\e[B": history-search-forward | 
| rename files to lowercase doesn't actually rename the files, but show you what it would have done | rename 'y/A-Z/a-z/' * rename -n 'y/A-Z/a-z/' * | 
| случайное число от 0 до 32767 | echo $RANDOM | 
| GODMODE | su | 
Ввести Unicode символ: CTRL+SHIFT+u -> [ввести номер] -> [Enter]
		С недавнего времени на домашнем компе начались "хрипы" и "залагивания" звука в играх, при проигрывании файлов мультимедиа (музыка, фильмы) и просмотре ютуба.
		
Покопался в интернетах и нашёл вот такое решение, которое мне помогло.
		
Сначала удаляем Pulseaudio и всю связанную с ним хурму, ибо в нём как раз и проблема:
		
sudo apt-get purge pavumeter paman pavucontrol paprefs pulseaudio-module-raop pulseaudio-esound-compat pulseaudio-module-x11 gstreamer0.10-pulseaudio pulseaudio-utils
		
ALSA'е нужно указать какую звуковую карту использовать.
		
Смотрим какие звуковые карты у нас есть:
		lspci -nn | grep -i audio
		У меня так:
		00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05)
		
Редактируем файл настроек ALSA'ы:
		sudo nano /etc/modprobe.d/alsa-base.conf
		вставим туда следующее, где vid/pid взято из информации которую мы получили выше:
		options snd-hda-intel index=0 model=auto vid=8086 pid=8c20
options snd-hda-intel index=1 model=auto vid=8086 pid=0c0c
		Глобальный переключатель громкости у меня пропал, ибо мы удалили PulseAudio, но зато прекратились хрипы и "лагание".
		
Громкость можно регулировать посредством
		alsamixer
	
sudo dpkg-reconfigure locales sudo update-locale LANG=en_US.UTF-8
sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer
Установка: sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder sudo apt-get update sudo apt-get install simplescreenrecorder sudo apt-get install simplescreenrecorder-lib:i386 запускается командой simplescreenrecorder
		Скачать версию с сайта https://adminer.org/
		
скопировать в /var/www/html
		
выставить права:
		sudo chmod 744 /var/www/html/adminer-4.2.2.php
		открыть в браузере localhost/adminer-4.2.2.php
	
# устанавливаем Opera'у sudo add-apt-repository 'deb http://deb.opera.com/opera-stable/ stable non-free' wget -qO- http://deb.opera.com/archive.key | sudo apt-key add - sudo apt-get update sudo apt-get install opera-stable