Комбінації клавіш і декілька корисних трюків
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 для рекурсивного видалення всього вмісту. |
Права доступу і власники
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) з ім'ям 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 . |