Консольные команды
Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.
Файлы и каталоги, пользователи и группы, права доступа
pwd
Команда pwd (print working directory) выводит полный путь к текущему каталогу.
cd
С помощью команды cd (change directory) можно перемещаться по дереву каталогов. Для этой команды необходим один параметр — целевой каталог. Можно использовать относительный путь (относительно текущего каталога) и абсолютный (относительно корня). Абсолютный всегда начинается с корня и дальше по иерархии каталогов (/home/adam), а относительный — с одного из подкаталогов текущего каталога либо строки «..», которая обозначает переход в родительский каталог (как обычно, через «/» можно повторять эту комбинацию, перемещаясь всё выше по дереву каталогов).
С помощью тильды (~) можно ссылаться на домашнюю папку текущего пользователя.
$cd ~/video $pwd /home/adam/video
Чтобы перейти домашний каталог можно также (помимо ~) использовать cd без параметров.
ls
ls | отобразить содержимое текущей директории в алфавитном порядке |
ls -F | отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип |
ls -l | показать детализированное представление файлов и директорий в текущей директории |
ls -a | показать скрытые файлы и директории в текущей директории |
ls *2* | показать файлы и директории содержащие в имени цифры |
ls -t | показать файлы, отсортировав их по времени последнего обновления |
ls -r | показать файлы, отсортировав их в обратном порядке от выбранного |
ls -U | показать файлы, не отсортировывая, а в соответствии с физическим расположением в каталоге |
ls -f | показать скрытые файлы и директории в текущей директории + показать файлы, не отсортировывая (комбинация U и a) |
mkdir
mkdir (make) создает каталог. Ей передается один параметр — путь к каталогу.
mkdir dir1 | создать директорию с именем ‘dir1’ |
mkdir dir1 dir2 | создать две директории одновременно |
mkdir -p /tmp/dir1/dir2 | создать дерево директорий |
cp, mv, rm
cp — копировать (copy), требует два параметра — имена файлов: «что» копировать и «куда».
cp file1 file2 | копировать файл file1 в файл file2 |
cp dir/* . | копировать все файлы директории dir в текущую директорию |
cp -a /tmp/dir1 . | копировать директорию dir1 со всем содержимым в текущую директорию |
mv — перемещение (move) или переименование (переименование — это тоже перемещение, только в тоже место), параметры как и у команды cp.
Переименование: | mv dir1 new_dir |
Перемещение: | mv file1 file2 file3 dir/ |
Не забывайте для надёжности ставить завершающий «слеш» в случаях, описываемых вторым примером! |
rm — удаление (remove) файлов и каталогов.
rm -f file1 | удалить файл с именем ‘file1’ |
rmdir dir1 | удалить директорию с именем ‘dir1’ |
rm -rf dir1 | удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое |
rm -rf dir1 dir2 | удалить две директории и рекурсивно их содержимое |
С этими командами могут использоваться следующие ключи:
- -f — форсирует (force) задавание лишних вопросов, например если файл только для чтения, система потребует подтверждение на удаление;
- -i — работа в интерактивном режиме, система будет спрашивать разрешение на каждое действие;
- -b — создает резервную копию файла (для команд cp и mv);
- -r — рекурсивный режим (для команд cp и rm).
По возможности не используйте переменные среды внутри потенциально необратимых команд, например удаления или перемещения!
$ ls directory1 directory2 directory3 example.txt all_about_console.txt $ cp -R directory2/ directory3/ $ ls directory3/ directory2 $ rm -r directory3/ $ ls directory1 directory2 example.txt all_about_console.txt
Замечание. rm -r удалит все, даже непустые каталоги.
rmdir
rmdir (remove удаляет каталог. Ей передается один параметр — путь к каталогу. rmdir можно применять только к пустым каталогам.
$ rmdir directory/ $ ls example.txt all_about_console.txt
ln
ln -s fileName lnk | создать символическую ссылку lnk на файл fileName или директорию |
ln file1 lnk1 | создать «жёсткую» (физическую) ссылку на файл fileName или директорию |
id
id выводит информацию об указанном пользователе USERNAME или текущем пользователе, который запустил данную команду и не указал явно имя пользователя. По умолчанию выводятся подлинные числовые идентификаторы пользователя (UID) и группы (GID), действующие (именные) идентификаторы пользователей и групп, а также идентификаторы других групп, в которых состоит пользователь.
$ id uid=500(aleksander) gid=500(aleksander) группы=500(aleksander),19(proc),22(cdrom),71(floppy), 80(cdwriter),81(audio),83(radio) $
-g, —group | выводит только подлинный числовой идентификатор группы |
-G, —groups | выводит все подлинные числовые идентификаторы групп, в которых состоит пользователь |
-n, —name | выводит действующие имена пользователей или групп. Используется совместно с опциями -ugG |
-r, —real | выводит подлинные числовые идентификаторы пользователей или групп. Используется совместно с опциями -ugG |
-u, —user | выводит только подлинный числовой идентификатор пользователя |
chmod
chown
locate
— найти все файлы, содержащие в имени ‘.ps’.
find
find поиск файлов в текущем каталоге. Если указать путь, можно искать везде.
— найти файл с именем и отобразить результат поиска на экране. Поиск начинается с каталога ; может содержать маску для поиска.
find / -name file1 | найти файлы и директории с именем file1. Поиск начать с корня (/) |
find / -user user1 | найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/) |
find /home/user1 -name «*.bin» | Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’ |
find /usr/bin -type f -atime +100 | найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней |
find /usr/bin -type f -mtime -10 | найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней |
xargs cp -av —target-directory=/home/backup/ —parents | поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию |
tar cv —files-from=- | bzip2 > log.tar.bz2 | поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них |
Текстовые файлы
cat, cat > . cat >> .
Команда cat может использоваться для создания или просмотра содержимого файлов.
cat — вывод содержимого файла на стандартный вывод (по умолчанию — на экран).
Если использовать ключ -n, строки будут пронумерованы:
$cat -n file.txt 1 Very interesting text.
cat > перенаправляет поток ввода в файл и отображает поток ввода на стандартном потоке вывода. При этом, если файл не существовал, он создается, а если существовал, то перезаписывается. После окончания ввода следует нажать CTRL+:
Так же эту команду можно использовать для объединения файлов, например:
cat file1 file2 file3 file4 file5 > file.iso
Чтобы записать вводимый текст в конец существующего файла следует использовать cat >>:
cat /proc/cpuinfo | отобразить информацию о процессоре |
cat /proc/interrupts | показать прерывания |
cat /proc/meminfo | проверить использование памяти |
cat /proc/swaps | показать файл(ы) подкачки |
cat /proc/version | вывести версию ядра |
cat /proc/net/dev | показать сетевые интерфейсы и статистику по ним |
cat /proc/mounts | отобразить смонтированные файловые системы |
cat file1 | вывести содержимое файла file1 на стандартное устройство вывода |
less, . |less
less file1 | постраничный вывод файла file1 на устройство вывода, но с возможностью пролистывания (вверх-вниз), поиска по содержимому. |
grep, . |grep
grep Aug /var/log/messages | из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug» |
grep ^Aug /var/log/messages | из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug» |
grep 8 /var/log/messages | из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры |
grep Aug -R /var/log/* | отобрать и вывести на устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже |
head
head -2 file1 | вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк |
tail
tail -2 file1 | вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк |
tail -f /var/log/messages | выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста |
tail /var/log/dmesg | вывести десять последних записей из журнала загрузки ядра |
tail /var/log/messages | вывести десять последних записей из системного журнала |
join
join -t’\0′ -a1 -a2 file1 file2 | Объединение отсортированных файлов |
join -t’\0′ file1 file2 | Пересечение отсортированных файлов |
join -t’\0′ -v2 file1 file2 | Разность отсортированных файлов |
join -t’\0′ -v1 -v2 file1 file2 | Симметрическая разность отсортированных файлов |
wc
wc — печатает число строк, слов и байт в файлах.
Печатает число переводов строк, слов и байт для каждого ФАЙЛА и их итоговое количество, если было задано несколько ФАЙЛОВ. Если ФАЙЛ не задан или задан как -, читает стандартный ввод.
Опции
печать количества символов в самой длинной строке
вывести справку и закончить работу
вывести информацию о версии и закончить работу
Процессы
ps
ps -eafw | отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды) |
ps -e -o pid,args —forest | вывести PID’ы и процессы в виде дерева |
pstree | отобразить дерево процессов |
top
top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
kill
kill -9 98989 | «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных) |
kill -TERM 98989 | Корректно завершить процесс с PID 98989 |
kill -1 98989 | заставить процесс с PID 98989 перепрочитать файл конфигурации |
Сеть
Разное
man
date
date | вывести системную дату |
date 041217002007.00 | установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды) |
cal
cal | вывести форматированный календарь на текущий месяц |
cal 2010 | вывести таблицу-календарь на 2010-ый год |
uname
hostname
whereis
tar
tar -Puf backup.tar /home/user | создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий |
ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ | копирование /home на удалённый компьютер через ssh-туннель в /home/backup-home |
(cd /tmp/backup ; tar xf — ) | копирование одной директории в другую с сохранением полномочий и линков |
tar -cvf archive.tar file1 | создать tar-архив archive.tar, содержащий файл file1 |
tar -cvf archive.tar file1 file2 dir1 | создать tar-архив archive.tar, содержащий файл file1, file2 и dir1 |
tar -tf archive.tar | показать содержимое архива |
tar -xvf archive.tar | распаковать архив |
tar -xvf archive.tar -C /tmp | распаковать архив в /tmp |
tar -cvfj archive.tar.bz2 dir1 | создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -xvfj archive.tar.bz2 | разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах) |
tar -cvfz archive.tar.gz dir1 | создать архив и сжать его с помощью gzip |
tar -xvfz archive.tar.gz | разжать архив и распаковать его |