Шпаргалка популярных консольных команд для Linux.
Файлы и директории:
cd переход в директорию.
cd /home перейти в директорию ‘/home‘.
cd .. перейти в директорию уровнем выше.
cd ~user перейти в домашнюю директорию пользователя user.
pwd показать текущую директорию.
mkdir dir создать директорию с именем ‘dir‘.
mkdir -p /tmp/dir1/dir2 создать дерево директорий.
rmdir dir удалить директорию с именем ‘dir‘.
rm file удалить файл file.
rm -R(рекурсивно) dir удалить директорию dir.
mv dir new_dir или file new_file переименовать или переместить файл или директорию .
mv /var/dir /home/test/dir переместить dir из директории var в home/test.
ls [-ключ] печатает содержание каталога
-l выдавать тип файла, права доступа к файлу имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.
-F для каждого имени каталога добавлять суффикс `/’, для каждого имени FIFO — `|’ и для каждого имени исполняемого файла `*’.
-a показать скрытые файлы и директории в текущей директории.
tar — наиболее распространенный архиватор, используемый в Linux-системах.
Сам по себе tar не является архиватором в привычном понимании этого слова, т.к. он самостоятельно не использует сжатие.
tar [ключ] [имя_файла.tar] [файл или директория]
-c (создание архива).
-x (распаковка архива).
-f(упаковка содержимого в файл).
-v(вывод списка упакованных файлов в процессе работы) .
-z gzip сжатие tar.gz.
-j bzip2 сжатие tar.bz2.
tar -cvzf files.tar.gz ~/files упаковка файла или директории сжатием gzip.
tar -cvf files.tar ~/files упаковка без сжатия.
tar -xvf /path/to/test.tar распаковка архива.
-С /path/to/ альтернативное место.
tar -xvf /path/to/test.tar -C /home/test/1/
-tf просмотр содержимого архива.
tar -tf /path/to/test.tar
chmod программа для изменения прав доступа к файлам и директориям.
ch 777 file установить права 777 на fail.
ch 777 * установить на все файлы права 777 .
ch -R 777 * установить на все файлы и поддиректории права 777.
400 (-r———) Владелец имеет право чтения; никто другой не имеет права выполнять никакие действия.
644 (-rw-r—r—) Все пользователи имеют право чтения; владелец может редактировать.
660 (-rw-rw—-)Владелец и группа могут читать и редактировать; остальные не имеют права выполнять никаких действий.
664 (-rw-rw-r—)Все пользователи имеют право чтения; владелец и группа могут редактировать.
666 (-rw-rw-rw-)Все пользователи могут читать и редактировать.
700 (-rwx——) Владелец может читать, записывать и запускать на выполнение; никто другой не имеет права выполнять никакие действия.
744 (-rwxr—r—) Каждый пользователь может читать, владелец имеет право редактировать и запускать на выполнение.
755 (-rwxr-xr-x) Каждый пользователь имеет право читать и запускать на выполнение; владелец может редактировать.
777 (-rwxrwxrwx)Каждый пользователь может читать, редактировать и запускать на выполнение.
chown меняем владельца файлу или папке.
chown -ключ user:group /tmp или /tmp/file.txt меняем папке или файлу владельца на user и группу на group.
-R рекурсивно.
which Команда which обычно используется для быстрого поиска программ. Она просто выполняет поиск по переменной окружения PATH и возвращает первый найденный результат, а также путь к нему.
whereis Команда whereis работает примерно как и which, однако она также ищет страницы руководства и файлы с исходными текстами.
Пользователи и Группы.
adduser, addgroup — добавляют пользователя или группу в систему
adduser -ingroup group -home /home/user -shell [shell] user Создаем пользователя user , входящего в группу group , домашний каталог /home/user.
-no-create-home не создавать домашний каталог, даже если он не существует.
-disabled-login не запускать passwd для задания пароля.
deluser user удалить пользователя user.
usermod -l user user1 поменять имя пользователя user на user1.
usermod -d /home/user1 -m user поменять домашний каталог для пользователя user с переносом всего содержимого.
usermos -G nossh user добавить пользователя user в группу nossh.
usermod -s /bin/nologin user поменять shell пользователя user.
usermod -a -G group username удаление пользователя из группы происходит путём переопределения групп, в которые пользователь входит.
passwd test поменять пароль пользователю test.
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
chfn user поменять пользовательские данные.
Changing the user information for user
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
APT(Advanced Package Tool) Установщик Debian/Ubuntu.
apt-get install name установить пакет.
apt-get update получить обновлённые списки пакетов.
apt-get upgrade обновить пакеты, установленные в систему.
apt-get remove name удалить пакет c сохранением файлов конфигурации.
apt-get purge name удалить пакет с удалением файлов конфигурации.
apt-get autoclean удалить старые загруженные архивные файлы пакетов.
apt-get remove —purge mysql* Удаление пакетов с mysql в названии.
dpkg -l | grep -i mysql Установленные пакеты с mysql в названии.
Сетевые команды.
netstat -plutn Выводит информацию о портах которые со статусом LISTEN.
mtr exempel.com Ping и traceroute в одном флаконе.(нужно установить)
ping exempel.com Пинг узла.
-s размер пакета.
-I интерфейс.
tcpdump позволяющая перехватывать и анализировать сетевой трафик(пакет надо установить).
-i можно указать сетевой интерфейс, с которого следует принимать данные:
tcpdump -i eth2
Чтобы узнать получаемые или отправляемые пакеты от определенного хоста, необходимо его имя или IP-адрес указать после ключевого слова host:
tcpdump host nameofserver
Следующим образом можно узнать о пакетах которыми обмениваются nameofserverA и nameofserverB:
tcpdump host nameofserverA and nameofserverB
Для отслеживания только исходящих пакетов от какого-либо узла нужно указать следующее:
tcpdump src host nameofserver
Только входящие пакеты:
tcpdump dst host nameofserver
Порт отправителя и порт получателя соответственно:
tcpdump dst port 80
tcpdump src port 22
tcpdump -l | tee out.log отобразит работу tcpdump и сохранит результат в файле out.log .
Информационные команды.
df -h показывает размер дисков.
du -hs /* отобразит размер всех директорий.
-s, —summarize | выводить размер только для папки, переданной в качестве аргумента |
-h, —human-readable | Выводить размеры в удобном для человека виде (например, 1K 234M 2G) |
Определить какие процессы занимают память.
ps axo rss,comm,pid \
| awk ‘{ proc_list[$2]++; proc_list[$2 «,» 1] += $1; } \
END { for (proc in proc_list) { printf(«%d\t%s\n», \
proc_list[proc «,» 1],proc); }}’ | sort -n | tail -n 10 | sort -rn \
| awk ‘{$1/=1024;printf «%.0fMB\t»,$1}{print $2}’