Горячие клавиши и пара полезных трюков
Enter | Выполняет команду. |
↑ | Показывает предыдущую команду. |
Ctrl+r | Позволяет искать команду в истории. |
Ctrl+с | Останавливает выполнение текущей команды. |
Ctrl+a | Переводит курсор в начало строки. |
Ctrl+e | Переводит курсор в конец строки. |
Ctrl+l | Очищает экран. |
Ctrl+u | Вырезает всё от начала строки до курсора и помещает в специальный буфер. |
Ctrl+k | Вырезает всё от курсора до конца строки и помещает в специальный буфер. |
Ctrl+y | Вставляет содержимое специального буфера. |
Ctrl+w | Удаляет слово/аргумент слева от курсора в текущей строке. |
Ctrl+d | Завершает текущую сессию, аналогично команде exit . |
Alt+< | Переходит к первой команде в истории. |
Alt+> | Переходит к последней команде в истории. |
Alt+␈ | Удаляет всё от начала слова до курсора. |
TabTab | Показывает возможные дополнения текущей команды. |
*TabTab | Показывает директории, содержащиеся в текущей директории (за исключением скрытых). |
~TabTab | Выводит список пользователей из /etc/passwd . |
!!
| Повторяет последнюю команду. |
&&
| Объединяет несколько команд. |
command | less
| Выводит результат работы команды command постранично. Переходить между страницами можно с помощью Shift+↑ и Shift+↓. |
Помощь
Все описаные ниже команды имеют значительно больше параметров, чем указано на этой странице. Для того, чтобы узнать полный список возможностей как раз и нужна команда man
man command
| Показывает страницу мануала для команды command . |
man -k something
или apropos something
| Показывает список страниц мануала, связанных с something . |
Системная информация
date
| Показывает системную дату. |
cal
| Показывает календарь на текущий месяц. |
uptime
| Показывает текущий аптайм. |
w
| Показывает залогиненых пользователей. |
whoami
| Показывает имя, под которым вы залогинены. |
uname -a
| Показывает информацию о ядре. |
whereis app
| Показывает пути возможного нахождения программы app . |
which app
| Показывает путь, по которому программа app будет запущена по умолчанию. |
df
| Отображает информацию об использовании HDD на основе файловой системы. |
df -h
| Отображает ту же информацию, но в более читабельном виде (флаг -h буквально означает "human readable"). |
du
| Отображает информацию об использовании диска для каждого файла и директории в текущей директории. |
free
| Показывает информацию об использовании памяти и swap. |
Файловые команды
Листинг содержимого текущей директории
ls
| Показывает содержимое текущей директории. |
ls -l
| Форматирует вывод в виде списка с более детализированным представлением содержимого текущей директории. |
ls -a
| Показывает также скрытые файлы, соответственно: |
ls -la
| Показывает детализированный список со всем содержимым текущей директории. |
pwd
| Показывает полный путь к текущей директории. |
Вывод файла на экран
cat /some/file/path
| Показывает содержимое файла /some/file/path . Можно перенаправить вывод не на экран, а в другой файл, с помощью символа '>'. Если нужно ограничить вывод каким-то количеством строк, используем опцию -n [количество строк]. |
Также команду cat можно использовать для просмотра определенной системной информации, например: |
cat /proc/cpuinfo
| Показывает информацию о CPU. |
cat /proc/meminfo
| Показывает информацию о памяти. |
more /some/file/path
| Показывает содержимое файла /some/file/path постранично. Переход на следующую страницу с помощью Space bar |
less filename
| Более продвинутая вариация команды more , которая также постранично показывает содержимое файла filename , но добавляет возможность листать в обе стороны, поиск по содержимому и т.п. |
head -5 filename
| Показывает первые 5 строк файла filename . |
tail -f /some/log/path
| Показывает последние 10 строк файла /some/log/path , добавляя новые строки по мере их появления в файле (опция -f ). |
tail -f /some/log/path | grep -i -P "(error|warning)"
| Показывает те строки из последних 10 строк файла /some/log/path , которые содержат error или warning . |
Смена директории
cd
или cd ~
| Переходит в домашнюю директорию текущего пользователя. |
cd ~user
| Переходит в домашнюю директорию пользователя user . |
cd /some/dir/path
| Переходит в директорию /some/dir/path . |
cd ..
| Переходит в директорию уровнем выше. |
cd -
| Переходит в предыдущую посещённую директорию. |
Создание файлов и директорий
touch filename
| Создаёт файл с именем filename . |
touch -t 1702270000 filename
| Изменяет дату и время создания файла filename на 27.02.2017 00:00. Если файла не существует, то он создаётся с указанными датой и временем создания (в формате YYMMDDhhmm). |
mkdir dirname1
| Создаёт директорию с именем dirname1 . |
mkdir dirname1 dirname2
| Создаёт сразу 2 директории — dirname1 и dirname2 . |
mkdir -p /dir1/dir2/dir3
| Создаёт сразу 3 директории, вложенные друг в друга (создаёт дерево директорий). |
mkdir -m 755 dirname1
| Создаёт директорию dirname1 и устанавливает ей права доступа 755. |
Копирование, перемещение и удаление файлов и директорий
cp /some/file/path1 /some/file/path2
| Копирует файл /some/file/path1 в /some/file/path2 . |
cp -p /some/file/path1 /some/file/path2
| Копирует файл /some/file/path1 в /some/file/path2 с сохранением атрибутов (время изменения, права доступа). |
cp -r /some/dir/path1 /some/dir/path2
| Рекурсивно копирует директорию /some/dir/path1 в /some/dir/path2 . Если директории /some/dir/path2 не существует, она будет создана. |
mv filename1 filename2
| Переименовывает (перемещает содержимое) файла filename1 в filename2 . |
mv filename /some/dir/path
| Перемещает файл filename в директорию /some/dir/path . |
rm something
| Удаляет файл или директорию с названием something . |
rm -r /some/dir/path
| Удаляет директорию /some/dir/path и всё её содержимое (рекурсивное удаление). В случае, если директория, которую мы собираемся удалить, не пуста, простая команда rm /some/dir/path выдаст ошибку и нам понадобиться опция -r для рекурсивного удаления всего содержимого. |
О некоторых особенностях работы команд cp , mv и rm со скрытыми файлами можно узнать в заметке. |
Права доступа и владельцы
chmod mode something
| Устанавливает права доступа к файлу или директории something на mode . |
mode может быть указан в числовом или в символьном виде и определяет права для владельца (файла или директории), группы и всех остальных, например: |
chmod 754 /some/dir/path
или chmod rwxr-xr-- /some/dir/path
| Устанавливает для директории /some/dir/path следующие права: владелец (7 в 754 или rwx в rwxr-xr-- ) может читать, записывать и выполнять (r - Read; w - Write; x - eXecute); группа может читать и выполнять; все остальные (world) могут только читать. |
chown user:group something
| Назначает владельцем файла или директории something пользователя user и группу group . |
chmod -R 754 /some/dir/path && chown -R user:group /some/dir/path
| Рекурсивно устанавливает права и владельца для директории /some/dir/path . |
Поиск
find / -name dirname1 -type d
| Производит поиск директорий (-type d) c именем dirname1 , начиная с корневой директории (/). |
find /some/dir/path -name "*.php" -type f
| Ищет все php файлы в директории /some/dir/path . |
find some/dir/path -type f -mtime -10
| Ищет все файлы в директории some/dir/path , измененные за последние 10 дней. |
Кроме того команда find позволяет выполнять другие команды для найденных файлов, например: |
find . -name "*.tmp" -type f -exec rm -rf {} \;
| Ищет все tmp файлы в текущей и дочерних директориях и удаляет их. |
grep "something" filename
| Ищет вхождения something в файл filename . |
grep -i "something" filename1 filename2
| Ищет вхождения something в файлы filename1 и filename2 без учета регистра (опция -i ). |
grep --include=\*.log -r "some_ip_address" /some/dir/path
| Рекурсивно (опция -r ) ищет some_ip_address (понятно, что это не обязательно должен быть ip адрес) во всех *.log файлах, находящихся в директории /some/dir/path . |
history | grep "some_previous_command"
| Ищет вхождения some_previous_command в выводе команды history . Полученную информацию можно использовать, например, для повторного запуска какой-нибудь команды с помощью команды !n , где n - номер строки в истории. |
ps auxf | grep nginx
| Ищет вхождения nginx в списке активных процессов (вывод команды ps auxf ). |
Другие файловые команды
ln filename linkname
| Создаёт жёсткую ссылку с именем linkname на файл filename . |
ln -s /some/dir/path /some/dest/dir/path/linkname
| Создаёт в директории /some/dest/dir/path/ символическую ссылку с именем linkname на директорию /some/dir/path . Если в пути встречаются пробелы, их нужно экранировать обратным слешем. |
Символические (программные, мягкие) ссылки указывают на файл или директорию, но не содержат никаких метаданных (они чем-то похожи на ярлыки в Windows). Жёсткие же ссылки указывают на физический адрес области диска. |
Работа с процессами
top
| Показывает список запущенных процессов и потребляемые ими ресурсы (процессорное время, память и т.д.). Информация автоматически обновляется. |
pstree
| Показывает дерево процессов. |
ps
| Показывает активные процессы. |
ps auxf
| Показывает активные процессы в виде дерева. |
kill 5555
или kill -TERM 5555
| Отправляет процессу с PID (ID процесса) 5555 сигнал о завершении работы (-TERM ). |
kill -9 5555
или kill -KILL 5555
| Отправляет процессу с PID 5555 сигнал -KILL о немедленном завершении работы без сохранения данных. |
lsof -p 5555
| Показывает список файлов, открытых процессом с PID 5555 . |
Пользователи и группы
useradd username
| Создаёт аккаунт пользователя с именем username . |
useradd -g some_group -d /home/users/username -s /bin/bash username
| Создаёт аккаунт пользователя с именем username , помещает его в группу some_group , устанавливает ему в качестве домашнего каталога директорию /home/users/username и назначает ему в качестве shell'а /bin/bash . |
usermod -s /bin/nologin username
| Изменяет в аккаунте пользователя username атрибут shell, устанавливая его в /bin/nologin |
userdel -r username
| Удаляет аккаунт пользователя username и его домашний каталог. |
passwd
| Позволяет изменить пароль. Для суперпользователя доступна команда passwd username , которая позволяет менять пароль аккаунту пользователя username . |
Другие полезные команды
wget -r www.example.com
| Рекурсивно загружает содержимое сайта www.example.com . |
wget -c www.example.com/filename.iso
| Продолжает загрузку файла filename.iso с сайта www.example.com . |
alias ngr="service nginx restart"
| Назначает команде service nginx restart алиас ngr . |