Работа со справочными страницами
apropos
- поиск справочных страниц по ключевому слову.
aropos [ключевое слово]
apropos user
- поиск мануалов, в описании которых встречается слово "user" (User).
apropos -e delete
- поиск мануалов, в описании которых встречается точное слово "delete".
apropos -w "*create*"
- поиск мануалов по маске, в описании которых встречается слово "create" (creates, created).
info
- аналог команде man, выводит справочные страницы в другом формате.
info [команда] [ключи]
info useradd
info pwd -o pwdinfo.txt
- вывод справки по команде pwd в файл pwdinfo.txt
man
- вызов страниц из указанного раздела. Вызов справочной страницы о команде.
man [раздел] [заголовок]
man 3 undocumented
man 5 terminfo
man [команда]
man awk
manpath
- отображение путей хранения справочных страниц.
whatis
- информация о команде одной строкой.
whatis [ключи] [команда]
whatis mkdir
type
- определяет тип команды (выполняемая программа, внутренняя команда, функция оболочки, алиас).
type [команда]
type w
=> w is /usr/bin/w
type cd
=> cd is a shell builtin
type sayhi
=> sayhi is a function
sayhi(){echo "Hi!"}
type sites
=> sites is aliased to 'cd /var/www'
help
- короткая справка по встроенным в оболочку командам (builtin).
help [команда]
help cd
- справка по команде cd
help pwd
- справка по команде pwd
help factor
- ничего не выведет, factor - не встроенная команда.
команда --help
- показать доступные флаги для команды.
Работа с историей команд
history
- вывод истории команд (хранится в файле
~/.bash_history
)!!
- повтор предыдущей команды
sudo !!
- повтор предыдущей команды с правами root.
!число
- повтор команды под определенным номером. Номер можно узнать командой
history
.!1005
- повтор команды под номером 1005.
!строка
- повтор последней команды, которая начинается с слов указанных в строке.
!he
=> help script
!r
=> rm -rf .* (будьте осторожны применяя эту команду!)
!?строка
- повтор последней команды, которая содержит слова указанные в строке.
!?dir
=> mkdir books
!?dir
=> rmdir songs (будьте осторожны применяя эту команду!)
script
- запись сессии терминала в файл. Для остановки записи введите -
exit
script [ключи] [файл]
script session_record.txt
- запись сессии терминала в файл session_record.txt.
script -c "mkdir pictures" session_record.txt
- запись одной команды в файл.
Навигация по файловой системе
cd
- перейти в каталог.
cd [каталог]
cd /var/www
- перейти в каталог /var/www.
cd ..
- перейти на один каталог назад.
cd
- (без аргументов) перейти в домашний каталог.
cd -
- переход в предыдущий каталог.
cd ~janedoe
- переход в домашний каталог пользователя janedoe.
pwd
- вывод полного пути до текущего каталога.
Управление каталогами
mkdir
- создание нового каталога.
mkdir [ключи] [каталоги]
mkdir -p /var/www/example.ru/www/
- создать все каталоги в пути если их не существует.
mkdir Games Videos Pictures
- создание нескольких каталогов в текущей директории.
mkdir /var/www/site.ru/www/{js,css,img}
- создание нескольких каталогов в определенной директории.
rmdir
- удаление пустого каталога.
rmdir [ключи] [каталоги]
rmdir /var/www
rmdir music videos pictures
- удаление нескольких пустых каталогов в текущей директории.
rmdir /home/john/{pictures,music,films}
- удаление нескольких пустых каталогов в определенной директории.
rm -r каталог
- удаление непустых каталогов.
Управление файлами
Просмотр свойств файлов и каталогов
ls
- просмотр содержимого и атрибутов (свойств) каталога.
ls [ключи] [файл/каталог]
ls ~ /var/www ~john
- просмотр списка содержимого сразу для трех каталогов.
ls -lha /var/www
- просмотр списка содержимого каталога, с отображением скрытых файлов.
ls -l ~/avatar.png
- список свойств файла.
ls -l *.{css,html}
- список свойств всех файлов с расширениями css, html.
ls -ld
- просмотр списка свойств текущего каталога.
ls -F
- добавление символа индикатора (
/
- для каталогов).ls ../
- просмотр содержимого родительского каталога.
ls -t
- сортировка по времени изменения файлов.
ls -S
- сортировка по размеру файлов.
ls -X
- сортировка по алфавиту для расширений файлов.
ls -Z
- просмотр SElinux параметров для файлов.
ls -w20
- вывод списка файлов с ограничением в 20 колонок (ширина вывода).
ls backup???
- список всех файлов, имена которых начинаются на backup за которым следует ровно 3 любые символа.
ls ticket[0-9][0-9]
- список всех файлов, начинающиеся с символов "ticket" за которыми следует ровно 2 цифры.
ls [[:upper:]]*
- список всех файлов, имена которых начинаются c заглавной буквы.
ls [![:digit:]]*
- список всех файлов, имена которых не начинаются с цифры.
ls *[[:punct:]427]
- список всех файлов, заканчивающихся знаком препинания или цифрой 4, 2 или 7.
ls [mds]*
- список всех файлов, имена которых начинаются на m, d или s.
file
- просмотр типа файлов.
file [ключи] [файл]
file -i index.html /dev/tty0
- вывод mime типа для каждого файла.
du
- просмотр, того сколько памяти занимают файлы и каталоги.
du [ключи] [файл/каталог]
du -ah
- занимаемая память для каждого файла в текущем каталоге.
du -sh ~/music
- сумма занимаемой памяти для всех файлов в каталоге ~/music.
du -ah --time /home/john/downloads
- вывод занятой памяти для файлов и каталогов с датой последнего изменения.
stat
- показать детальную информацию о свойствах файла.
stat [ключи] [файл/каталог]
stat index.html
- свойства файла.
stat .
- свойства текущего каталога.
stat -f /dev/sda
- свойства файловой системы на диске /dev/sda.
sort
- сортировка строк.
sort [ключи] [текстовый файл]
sort fruitlist.txt
- сортировка строк по алфавиту.
sort -r fruitlist.txt
- обратная сортировка строк по алфавиту
sort -R fruitlist.txt > newlist.txt
- случайная сортировка строк и запись результата в файл.
sort -с fruitlist.txt
- показывает первую не отсортированную строку файла.
sort -k 2 fruitlist.txt
- сортировка по второму слову (после пробела).
sort -k 1.2 fruilist.txt
- сортировка по первому слову и второму символу.
ls -sh | sort -n
- сортировка списка файлов по их размеру.
Создание файлов
> имя_файла
- создание нового файла. Также очистка файла если он уже существует.
ln
- создание жесткой или символической ссылки для файла.
ln [ключи] [файл1] [файл2]
ln file1.txt file2.txt
- создание жесткой ссылки file1 на индексный дескриптор file2. Проще говоря, еще одно имя для одного и того же файла.
ln -s file1.txt file2.txt
- создание символической (мягкой) ссылки (file1 будет ярлыком для file2).
mkfifo
- создание именного канала, к которому могут обратится два различных процесса. Именованные каналы FIFO позволяют обмениваться данными с абсолютно чужим процессом.
mkfifo [ключи] [имя канала]
mkfifo pipe; ls > pipe; cat < pipe
- создаем канал pipe, передаем результат команды в канал, выводим то, что передали в канал. Чтобы увидеть результат - "ls > pipe" и "cat < pipe" должны выполняться в разных окнах терминала.
mknod
- создание файла символьного/блочного устройства или именованного канала FIFO.
mknod [имя устройства] [тип устройства] [ключи] [старший номер] [младший номер]
mknod /dev/ttyS0 c 4 64
touch
- изменение времени редактирования файла (часто используется для создания файлов).
touch [ключи] [файлы]
touch -c report.txt
- изменить время изменения файла на текущее или создать файл если его не существует.
touch index.html about.html
- создание двух html файлов (если их не существует).
touch -ad "Jun 19 1994 12:30:21" report.txt
- изменить время последнего доступа к файлу report.txt.
Перенос, копирование и удаление файлов
mv
- переименование файлов. Перенос файлов в другие каталоги.
mv [ключи] [файл/каталог] [файл/каталог]
mv oldname.txt newname.txt
- переименование файла в текущем каталоге.
mv essay.txt ~/docs/univer
- перенос файла в другой каталог.
mv -n cat.png ~/pictures/cats
- если файл с именем cat.png уже существует в каталоге ~/pictures/cats, то не перезаписывать его новым файлом.
mv essay.doc /univer/essay_done.doc
- переименование файла с перемещением.
mv [0-9]*.jpg ~/pictures/photos
- перенести все изображения формата jpg, имена которых начинаются с цифры в каталог ~/pictures/photos.
cp
- копирование файла (с переименованием).
cp [ключи] [файл/каталог] [файл/каталог]
cp index.html /var/www/site.ru/www/
- скопировать файл в другой каталог.
cp cat.jpg ~/pictures/kitty.jpg
- копирование файла с его переименованием.
rename
- переименование файлов с использованием масок.
rename [ключи] [что заменить] [чем заменить] [файл]
rename .htm .html *.htm
- изменить расширение .htm на .html для всех файлов с расширением .htm.
rename accepted declined *
- если файл содержит строку accepted, то заменить ее на declined для всех файлов.
rm
- удаление файлов и каталогов.
rm [ключи] [файл/каталог]
rm -d ~/pictures/cats
- удаление пустой директории (аналог
rmdir
).rm cat.jpg dog.png
- удаление нескольких файлов.
rm -r ~/music/kpop
- удаление непустого каталога вместе с файлами (рекурсивное удаление).
rm -rf *
- удалить все файлы и каталоги в текущей директории.
crm -rf ~/pictures/*.png
- удалить все png файлы без подтверждения удаления.
rm -- Frank Sinatra - Let it snow.mp3
- удаление файла с многословным именем, а также файлов с именем, которое имеет знак "-" (имя указывать после
--
).scp
- копирование файлов через зашифрованное сетевое соединение между двумя хостами.
scp [ключи] [хост1:файл] [хост2:файл]
scp report.txt jane@192.168.0.250:report.txt
- копирование файла на удаленный хост в домашнюю директорию пользователя jane (потребуется ввести пароль для пользователя jane).
scp jane@192.168.0.250:/home/jane/* .
- скопировать все файлы в текущий каталог из домашней директории пользователя jane на удаленном хосте (потребуется ввести пароль для пользователя jane).
scp -r jane@meliorem.ru:/home/jane/music ~/janes_music
- рекурсивное копирование всех файлов и подкаталогов из домашней директории пользователя jane на удаленном хосте (потребуется ввести пароль для пользователя jane).
scp jane@firshost.ru:pricelist.txt john@secondhost.ru:/home/john/docs
- копирование файла с удаленного хоста пользователя jane на удаленный хост пользователя john.
Управление доступом к файлам
chmod
- изменение битов режима доступа к файлу.
chmod [ключи] [биты доступа] [файл]
chmod -R 711 /usr/local/scripts
- право выполнения на все файлы в каталоге, для группы и всех остальных.
chmod g-w passwords.txt
- отнять у группы право записи.
chmod og+r menu.txt guests.txt
- добавить группе и всем остальным пользователям право чтения.
сhmod g-x, o= script.sh
- отнять право выполнения у группы, всем остальным запретить доступ к файлу.
сhmod g=u userlist.txt
- группе выдаются такие же права, что и у владельца файла.
chmod --reference=file1 file2
- скопировать права file1 для file2
chown
- изменение владельца файлов и каталогов.
chown [ключи] [владелец:группа] [файл]
chown jane report.doc stats.txt
- пользователь jane становится владельцем файлов report.doc и stats.txt.
chown jane: report.doc
- пользователь jane становится владельцем файла report.doc. Также группа владельцев меняется на jane.
chown :accounters report.doc
- смена группы владельцев файла report.doc.
chown john:accounters report.doc
- пользователь john становится владельцем файла report.doc. У файла также меняется группа владельцев, к которой он принадлежит на accounters.
chown -R jane:testers /var/www/example.ru/fortest
- рекурсивная смена пользователя и группы для всех файлов в каталоге.
chown 1003:1004 /var/www/example.ru
- установка владельца c UID(UserID)=1003 и группы c GID(GroupID)=1004.
chown -Rc --reference ~/music ~/pictures
- рекурсивное копирование владельца и группы у ~/music для всех файлов в каталоге ~/pictures
chgrp
- смена группы пользователей для файла.
chgrp [ключи] [группа] [файл]
chgrp designers logo.png
- установка группы пользователей designers для файла logo.png.
chgrp -R accounters ~/reports
- установка группы пользователей accounters для всех файлов в каталоге ~/reports.
getfacl
- вывод списка контроля доступа (ACL) для файла.
getfacl [ключи] [файл]
getfacl file.txt
getfacl -t file.txt
- вывод параметров доступа в табличном виде.
getfack -Rt ~/reports
- вывод параметров доступа для всех файлов в каталоге.
sudo
- запуск команды от имени другого пользователя (root по умолчанию)
sudo [ключи] [команда]
sudo -u janedoe mkdir ~janedoe/reports
- выполнить команду от имени пользователя janedoe.
sudo mkdir /var/www
- выполнить команду от имени пользователя root.
umask
- изменение маски прав доступа по умолчанию при создании нового файла.
umask [-S] [маска]
umask
- показать текущую маску по умолчанию.
umask u+w,g-w,o=
- добавить право записи для владельца -
u+w
, отнять право записи для группы - g-w
, для остальных пользователей запретить доступ к файлу o=
.umask a=rw
- установить право записи и чтения для всех пользователей.
umask 0000
- полный доступ для всех пользователей. (так не надо делать :-))
Чтение текстовых файлов
cat
- конкатенация (склеивание) файлов. Часто используется для простого просмотра текстового файла.
cat [ключи] [файл]
cat /etc/passwd
- просмотр содержимого файла.
cat > essay.txt
- копирует содержимое стандартного ввода в файл. Позволяет печатать короткие тексты в файл прямо в консоли, для прекращения печати нажмите Ctrl+D (EOF).
cat -n file1.txt file2.txt
- объединить два файла и вывести номера строк.
grep
- поиск заданной строки в текстовых файлах.
grep [ключи] [текст] [файл]
grep -i jane /etc/passwd
- поиск слова jane в файле /etc/passwd, без учета регистра символов.
grep 'Sep 02 .* Updated' yum.log
- поиск строки из нескольких слов с использованием маски.
grep 'green apple' pricelist1.txt pricelist2.txt
- поиск строки green apple в нескольких файлах.
grep -c 1994 bdaylist.txt
- показать количество строк, в которых нашлось совпадение с числом 1994.
grep -n 1994 bdaylist.txt
- показать строки и их номера, в которых нашлось совпадение с числом 1994.
grep -r jane /etc
- рекурсивный поиск слова jane во всех файлах и подкаталогах в директории /etc.
grep -w pop songs.txt
- поиск целого слова pop (kpop, poprock, latinpop не будут показаны в результатах).
grep -v pop songs.txt
- поиск наоборот, будут показаны строки, в которых не встречается слово pop.
grep -lr TODO /var/www/example.ru
- поиск файлов в каталоге /var/www/example.ru, в которых встречается слово TODO.
grep -Lr '<title>' /var/www/example.ru
- поиск файлов в каталоге /var/www/example.ru, в которых не встречается слово <title>.
man ps | grep -- -f
- поиск значение ключа
-f
для команды ps
.head
- вывод первых 10 строк файла.
head [ключи] [файл]
head ~/documents/essay.doc
head -n5 ~/documents/essay.doc
- вывод первых 5 строк файла.
less
- мощная утилита для просмотра содержимого файла, более функциональный вариант утилиты more.
less [ключи] [файл]
less -c pricelist.txt
- вывести содержимое файла с очисткой экрана.
more
- старая утилита просмотра содержимого файла. Не позволяет скролить вверх.
more [ключи] [файл]
more -5 -p pricelist.txt
- вывести пять строк файла с очисткой экрана.
tac
- тоже самое, что и команда cat только вывод текста происходит снизу вверх (последняя строка становится первой, предпоследняя становится второй и т.д.).
tac [ключи] [файл]
tac pricelist.txt
tac part1.txt part2.txt > whole.txt
- конкатенация (склеивание файлов) и запись результата в файл whole.txt
tail
- вывод последних 10 строк файла.
tail [ключи] [файл]
tail /var/log/nginx/error.log
tail -n7 /var/log/nginx/error.log
- вывод последних 7 строк файла.
tr
- осуществляет посимвольную замену, удаление, преобразование символов строки из стандартного ввода.
tr [ключи] [набор]
tr b v
- заменить все 'b' на 'v'.
'black cat'=>'vlack cat'
tr abc op
- заменить все 'a' на 'o', все 'b' и 'с' на 'p'.
'black cat'=>'plopk pot'
tr b v < source.txt > result.txt
- заменить все 'b' на 'v' в тексте файла source.txt и записать результат в файл result.txt (source.txt останется без изменений).
cat source.txt | tr b v > result.txt
- альтернативный вариант предыдущему примеру.
tr '[a-d]' '[w-z]'
- заменить последовательность 'a-d', на последовательность 'w-z'.
'black cat'=>'xlwyk ywt'
tr '[A-Z]' '[a-z]'
- заменить все символы в верхнем регистре на нижний регистр.
'Black Cat'=>'black cat'
tr '[:upper:]' '[:lower:]'
- альтернативный вариант предыдущему примеру.
tr -s ' ' ' '
- замещает все повторяющиеся символы на один.
'black cat'=>'black cat'
tr -s '[:blank:]'
- альтернативный вариант предыдущему примеру.
tr -d '[:digit:]'
- удалить все цифры из текста.
'2 black cats'=>' black cat'
tr -c 'a[:space:]' 'o'
- всё, что не 'a' и не пустой символ, то 'o'.
'black cat'=>'ooaoo oao'
tr -cd '[:digit:]'
- всё, что не цифра - удалить.
'Phone: 36-33-16'=>'363316'
cat /etc/passwd | tr '[:punct:][:space:]' ' ' | tr -s ' ' >> trash.txt- удалить все знаки пунктуации и отступы (пробелы и переводы строк) из текста файла /etc/passwd, заменить все повторения пробелов одним пробелом и записать результат в конец файла trash.txt.
uniq
- исключает повторяющиеся строки из сортированного текста.
uniq [ключи] [файл]
sort buylist.txt | uniq
- исключает повторяющиеся строки из списка.
sort buylist.txt | uniq -d
- выводит повторяющиеся строки из списка.
sort buylist.txt | uniq -ic- выводит количество повторяющихся строк.
wc
- вывод количества строк, слов и символов в файле.
wc [ключи] [файл]
wc /etc/passwd
wc -w /etc/passwd
- показать только количество слов в файле.
wc -L /etc/passwd
- показать количество символов в самой длинной строке.
Поиск ПО, файлов и каталогов
locate
- поиск файлов и каталогов, используя базу данных имен файлов.
locate [ключи] [имя файла]
locate report
- выведет все пути к файлам, в имени которых есть слово "report".
locate ~/*.txt
- выведет все пути к файлам домашнего каталога с расширением txt.
locate -i essay
- выведет все пути к файлам, в имени которых есть слово "essay" без учета регистра символов.
locate -с essay
- только вывод количества строк найденных результатов.
locate -S
- вывести статистику по базе данных файлов.
locate -l5 essay
- вывод только 5 результатов поиска.
locate [[:digit:]]*
- поиск файлов, имена которых начинаются с цифры.
locate [abc]*
- поиск файлов, имена которых начинаются с буквы "a", "b" или "c".
updatedb
- обновление базы данных имен файлов. По умолчанию запускается в cron, раз в сутки.
find
- расширенный поиск файлов и каталогов.
find [где ищем] [ключ] [значение ключа]
find
- вывести список всех файлов (включая подкаталоги) в текущей директории.
find ~
- вывести список всех файлов (включая подкаталоги) в домашней директории.
find ~ ~jane /etc/sysconfig
- вывести список всех файлов (включая подкаталоги) для директорий ~, /home/jane, /etc/sysconfig.
find ~ -name 'report.txt'
- поиск файла с точным именем report.txt (Report.txt, report.doc - не найдутся).
find ~ -iname 'report.txt'
- поиск файла с именем report.txt без учета регистра символов (Report.txt - также найдётся).
find ~/music -iname '*aqua*'
- поиск файлов и каталогов, которые в своем имени содержат слово aqua (без учета регистра).
find ~/music | grep -iv 'aqua'
- поиск файлов и каталогов, которые в своем имени не содержат слово aqua (без учета регистра).
find ~/music -type f ! -name 'aqua'
- альтернативный вариант предыдущего примера.
!
- логический оператор NOT.find ~/music -iname 'aqua' -type f
- поиск только файлов, которые в своем имени содержат слово aqua (без учета регистра).
find ~/music -iname '*aqua*' -type d
- поиск только каталогов, которые в своем имени содержат слово aqua (без учета регистра).
find ~ -user 'jane' -group 'managers'
- поиск файлов, владельцем которых указан пользователь jane и группа - managers.
find ~/documents -type f -atime +1
- поиск файлов, к которым обращались более чем 1 день назад.
find ~/documents -type f -atime -1
- поиск файлов, к которым обращались менее чем 1 день назад.
find ~/documents -type f -amin -30
- поиск файлов, к которым обращались менее чем 30 минут назад.
find ~/documents -type f -mtime 0
- поиск файлов, которые подвергались изменениям за последние 24 часа.
find ~/documents -perm 644
- поиск файлов и каталогов с битами доступа 644.
find ~/documents -empty
- поиск пустых файлов и каталогов.
find ~/documents -perm u=rw,g=rw,o=r
- поиск файлов и каталогов с битами доступа записи и чтения для владельцев и групп и только чтения для остальных пользователей.
find ~ -size +1M
- поиск файлов и каталогов, чьи размеры больше 1Мб.
find ~ -size -1G
- поиск файлов и каталогов, чьи размеры меньше 1Гб.
find ~/music -type f -iname '*aqua*' -exec mv '{}' /home/john \;
- поиск файлов с именем aqua и перенесение их в каталог /home/john.
'{}'
- место вставки результатов поиска, \;
- конец команды.find ~/music -type f -iname '*aqua*' -ok mv '{}' /home/john \;
- то же самое, что и в предыдущем примерe, но с подтверждением каждого действия.
find -name '*.jpg' -o -name '*.png'
- поиск файлов с расширением jpg или png.
-o
- логический оператор OR.find -name '*.txt' -maxdepth 1
- поиск txt файлов только в текущем каталоге, не заглядывая в подкаталоги.
-maxdepth
- уровень поиска в подкаталогах.find -maxdepth 1 -type f -exec du -sh {} \; | sort -n -r | head -10
- вывод самых тяжелых файлов в текущем каталоге.
find -maxdepth 1 -type f -exec du -sh {} \; | sort -n | head -10
- вывод самых легких файлов в текущем каталоге.
find /var/log -type f -name '*.log' -delete
- удаление всех найденных файлов с расширением ".log".
which
- показывает путь бинарного файла установленной программы (сообщает установлена ли программа).
which [ключи] [команда]
which vi
=> /usr/bin/vi.
whereis
- расширенный аналог which, показывает нахождение программы когда нет бинарников и мануалов.
whereis [команда]
whereis vi
=> vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz
Получение информации о системе
df
- отчет об использовании пространства дисковых накопителей.
df [ключи] [файл]
df -h
- вывод отчета в удобном виде.
du
- отображение дискового пространства, занятого файлами и каталогами.
du [ключи] [файл]
du -ah /home/janedoe
- отображение размера файлов и каталогов.
du -sh /home/janedoe
- отображение общего размера всех файлов и каталогов.
du -h -d0 *.txt /home/janedoe
- отображение размера только текстовых файлов без заглядывания в подкаталоги (-d0).
du --time -h /home/janedoe
- дополнить вывод временем последнего изменения файла.
free
- отображение занятого пространства оперативной памяти.
free [ключи] [команда]
free -mt
- занятая оперативная память в мегабайтах со строкой Total.
free -th -s1
- отображение результата каждую секунду.
watch free
- отображение занятой оперативной памяти в реальном времени.
hostname
- имя текущего хоста.
iostat
- статистика использования CPU и операций ввода/вывода.
iostat [ключи]
iostat -m
- выводить статистику в мегабайтах.
iostat -N
- вывод имен устройств в статистике.
iostat -p sda
- вывод статистики для группы блочных устройств.
iostat -x
- вывод расширенной статистики.
screenfetch
- информация о системе (не везде предустановлена).
uptime
- время прошедшее после запуска системы.
uname
- информация об ОС.
uname [ключи]
uname -a
- полная информация об ОС.
vmstat
- информация об использовании виртуальной памяти.
vmstat [ключи] [частота обновления]
vmstat 2
- обновление данных каждые 2 секунды.
vmstat -d
- статистика использования дисков.
Управление процессами
ps
- выводит информацию о выполняемых в данный момент процессах.
ps [ключи] [id процессов]
ps -fp 1256 1886 1887
- полная информация о процессах с id 1256, 1886, 1887.
ps aux
- выводит полный список запущенных процессов в системе.
ps -ejH
- вывести дерево процессов.
ps axjf
- вывести расширенное дерево процессов.
ps -p 15 -o comm=
- вывести имя процесса по id.
ps -C sshd -o pid=
- вывести id процесса по его имени.
ps axo pid,pcpu,comm
- вывести информацию о процессах в пользовательском формате.
pstree
- вывод дерева процессов.
pstree [ключи]
pstree -p
- вывод дерева процессов совместно с их идентификаторами PID.
top
- выводит информацию в реальном времени о запущенных процессах в системе.
jobs
- вывод запущенных задач, остановленных или выполняемых в фоновом режиме.
bg
- перевод задачи (остановленной) на выполнение в фоновом режиме.
bg [номер задачи]
bg
- перевод последней (остановленной) задачи в фоновый режим
bg %2
- перевод задачи %2 в фоновый режим.
fg
- вывод задач (остановленных) из фонового режима работы на передний план.
fg [номер задачи]
fg
- перевод последней фоновой (остановленной) задачи на передний план.
fg %3
- перевод задачи 3 на передний план.
процесс &
- запуск процесса в фоновом режиме.
firefox &
- запуск браузера Mozilla Firefox в фоновом режиме.
kill
- принудительное завершение работы процессов.
kill [сигнал] [процесс]
kill 6478
- послать сигнал Terminate (завершить) процессу с идентификатором PID=6478.
kill %2
- послать сигнал Terminate (завершить) задаче под номером 2 в списке jobs.
kill -2 45211
- послать сигнал Interrupt (прервать) процессу с идентификатором PID=45211. Аналог работы Ctrl + C.
kill -19 6478
- послать сигнал Stop (приостановить). Грубо говоря, процесс ставится на паузу.
kill -18 6478
- послать сигнал Continue (продолжить). Грубо говоря, снять процесс с паузы.
kill -28 6478
- послать сигнал Window Changed (сменен размер окна).
kill -20 6478
- послать сигнал Stop (остановить). Аналог работы Ctrl + Z.
kill -l
- получить полный список доступных сигналов.
killall
- принудительное завершение работы для нескольких одноименных процессов.
killall [сигнал] [процесс]
killall -9 top
- принудительное завершение работы для всех процессов с именем top.
Работа с сетью
mtr
- утилита для диагностики сети (улучшенный аналог
traceroute
и ping
).mtr [ключи] [команда]
mtr --show-ips yandex.ru
- трассировка маршрута.
traceroute
- трассировка маршрута до указанного хоста.
traceroute [ключи] [адрес хоста]
traceroute yandex.ru
ip
- показать или изменить сетевые настройки.
ip [ключи] [команда]
ip -s addr
- подробный вывод параметров для сетевых устройств.
ip neigh
- вывод хостов подключенных к сети (аналог
arp
).ip route
- вывод таблицы маршрутизации.
Установка имени хоста (hostname)
hostnamectl
- установить новое имя хоста.
hostnamectl [ключи] [команда]
hostnamectl
- вывести данные о системе включая текущее имя хоста.
hostnamectl set-hostname meliorem.ru --static
- установка имени хоста - meliorem.ru.
hostnamectl set-hostname "Blog for webdev" --pretty
- установка имени хоста ориентированного на человека, а не на машину.
systemctl restart systemd-hostnamed
- перезапустить сервис hostname для применения настроек.
nmtui
- утилита для смены hostaname в псевдографическом режиме.
Управление учетными записями пользователей
id
- вывод идентификаторов пользователя и его групп.
id [ключи] [пользователь]
id janadoe
- вывод идентификатора пользольвателя и групп для janedoe
logname
- выводит логин текущего пользователя.
su
- смена учетной записи.
su [ключи] [имя пользователя]
su
- перейти в учетную запись root.
su - jane
- перейти в учетную запись пользователя jane запустить оболочку этого пользователя (изменить переменные окружения).
su -m jane
- перейти в учетную запись пользователя jane с сохранением сессии оболочки текущего пользователя.
whoami
- отображает имя текущего пользователя.
who
- показывает залогиненных пользователей.
w
- отображает залогиненных пользователей и их процессы.
w [ключи] [пользователь]
w -i john
Работа с утилитами *ctl
systemctl
- управляет работой системных сервисов и утилит.
systemctl [ключи] [команда] [сервис]
systemctl -l status nginx
- проверка состояния сервиса.
systemctl start ngnix
- запуск работы сервиса.
systemctl stop nginx
- остановка работы сервиса.
systemctl enable nginx
- включение сервиса при старте системы.
systemctl disable nginx
- выключение сервиса при старте системы.
systemctl reload nginx
- обновление конфигурационного файла сервиса.
systemctl restart nginx
- перезапуск сервиса.
systemctl is-enabled
- проверка включения сервиса при старте системы.
systemctl list-unit-services
- вывод списка всех сервисов.
systemctl show nginx
- вывод свойств сервиса.
systemctl cat nginx
- вывод списка зависимых и исходных файлов сервиса.
loginctl
- менеджер учетных записей.
loginctl [ключи] [команда] [имя логина]
loginctl list-users
- вывод авторизованных пользователей.
loginctl user-status root
- вывод авторизованных пользователей.
loginctl show-user root
- вывод свойств пользователя.
loginctl terminate-user root
- удаление всех сессий пользователя.
journalctl
- вывод журналов (логов) сервисов.
journalctl [ключи]
journalctl --disk-usage
- вывод количества занятой памяти под логи.
journalctl --unit=nginx
- вывод логов сервиса.
journalctl --output=verbose --unit=nginx
- вывод всех полей в логе сервиса.
journalctl --output=cat --unit=nginx
- вывод только сообщений из лога сервиса.
Работа с файловыми системами
cat /etc/fstab
- список смонтированных файловых систем.
fuser
- вывод идентификаторов процессов, использующих файловую систему или сокет.
fuser [ключи] [файловая система/сокет]
fuser -c /home
- процессы работающие с файловой системой /home.
fuser -v ftp/tcp
- процессы, работающие с портом 21.
Управление окном терминала
clear
- очистка содержимого на экране терминала.
reset
- перезапуск сессии терминала.
Переменные окружения
env
- вывод всех переменных окружения.
export переменная
- создание переменной окружения (будет видна всей системе).
Управление питанием компьютера
shutdown
- управление питанием компьютера.
shutdown [ключи]
shutdown -h
- выключение компьютера.
shutdown -r
- перезагрузка компьютера.
shutdown -h -c 3600
- выключение компьютера через час (3600 секунд).
poweroff
- выключение компьютера.
reboot
- перезагрузка компьютера.
Другие интересные и полезные команды
cal
- просмотр календаря.
cal [ключи]
cal -3
- вывести предыдущий, текущий и следующий месяцы.
cal -m
- первый день в неделе - понедельник.
date
- вывод текущей даты.
date [ключи]
date
- вывод даты и времени.
date -s "06/19/1994 11:30:00"
- установить время на 19 июня 1994 года.
date "+Time: %H:%M %d.%m.%y"
- смена формата отображения даты и времени.
=>Time: 20:34 26.11.2018
expr
- простой калькулятор (некоторые символы необходимо экранировать). Пробелы между знаками обязательны.
expr [выражение]
expr 23 % 3
=> 2
expr 3 \> 2
=> 1
expr \( 20 + 2 \) \* 3 \/ 2
=> 33
factor
- раскладывает число на множители.
factor [число]
factor 22
=> 2 11
look
- отобразить слова, начинающиеся с заданной строки. По умолчанию используется словарь /usr/share/dict/words.
look [ключи] [начало слова]
look beaut
- вывод всех слов из словаря, которые начинаются со слова 'beaut'.
man ascii
- шпаргалка кодовой таблица ASCII-символов.
yes строка
- бесконечный вывод строки в терминале.
wall строка
- выводит сообщение в терминалах всех залогиненных пользователей.