Ниже представлены различные команды системной оболочки Unix подобных операционных систем. Имейте в виду, это просто сборник, не относящийся к какому-то конкретному дистрибутиву, то есть многие из этих команд, специфичны для какой-то определенной системы и могут отсутствовать в других дистрибутивах Linux.
Большинство из приведенных ниже команд, являются достаточно повседневными, то есть часто используются в процессе администрирования Unix-систем ( различных дистрибутивов Linux ).
Корректные: выключение, перезагрузка, выход из системы
- # init 0
- Выключить систему
- # logout
- Завершить текущую сессию
- # reboot
- Перезагрузка
- # shutdown -h now
- Еще один вариант корректного выключения
- # shutdown -h 22:15 &
- Запланировать выключение системы на 22 часа 15 минут
- # shutdown -c
- Отменить запланированное выключения системы
- # shutdown -r now
- Еще один вариант перезагрузки
- # telinit 0
- Тоже способ выключения системы
Получение различной информации о системе
- # arch
- Вывести на экран архитектуру компьютера
- # uname -m
- Так-же выводит архитектуру компьютера
- # cal 2010
- Печатает календарь на 2010 год. Без аргументов выводит календарь на текущий месяц
- # cat /proc/cpuinfo
- Вывести подробную информацию о процессоре
- # cat /proc/interrupts
- Вывести информацию о прерываниях
- # cat /proc/meminfo
- Выводит статистику использования памяти
- # cat /proc/swaps
- Вывести информацию о swap файле(ах) ( файл подкачки )
- # cat /proc/version
- Вывести информацию о версии текущего ядра
- # cat /proc/net/dev
- Вывести информацию и статистику по сетевым устройствам
- # cat /proc/mounts
- Показать смонтированные файловые системы
- # clock -w
- Записать текущую системную дату в BIOS
- # date
- Вывести текущую системную дату и время
- # date 041217002007.00
- Установить дату и время в значение МесяцДеньЧасМинутаГод.Секунда
- # dmidecode -q
- Вывести в читабельном виде информацию по аппаратному оборудованию системы (SMBIOS / DMI)
- # hdparm -i /dev/hda
- Вывести характеристики жесткого диска
- # hdparm -tT /dev/sda
- Измерять скорость чтения данных с жесткого диска
- # lspci -tv
- Вывести список устройств на шине PCI
- # lsusb -tv
- Вывести список устройств на USB шине
- # uname -r
- Вывести версию используемого ядра
Дисковое пространство
- # df -h
- Вывод информации о свободном и занятом дисковом пространстве на смонтированных разделах, в формате, удобном для чтения
- # dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n
- Выводит объем используемого дискового пространства, занятого файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
- # du -sh dir
- Выводит объем дискового пространства, занимаемый директорией dir
- # du -sk * | sort -rn
- Выводит листинг файлов и директорий с размером, сортируя его по размеру
- # ls -lSr | more
- Выводит листинг файлов и директорий, сортируя по возрастанию размера и перенаправляет его в программу more для постраничного просмотра
- # rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n
- Выводит объем дискового пространства, занимаемого файлами rpm-пакета, с сортировкой по размеру ( fedora, redhat и т.п. )
Работа с файлами и папками
- # pwd
- Вывести текущую директорию
- # cd /home
- Перейти в директорию /home
- # cd ..
- Перейти в родительский каталог, то есть подняться на уровень выше
- # cd ../..
- Подняться в дереве каталогов на два уровня
- # cd
- Перейти в домашний каталог
- # cd ~user
- Перейти в домашний каталог пользователя user
- # cd —
- Перейти в предыдущую директорию, из которой был сделан переход в текущую директорию
- # cp -a test_1 test_2
- Копировать директорию test_1 в директорию test_2
- # cp file_1 file_2
- Копировать файл file_1 в файл file_2
- # cp -a /tmp/test .
- Rопировать директорию test и все ее содержимое в текущую директорию
- # cp test/* .
- Копировать все файлы содержащиеся в директории test в текущую директорию
- # iconv -l
- Выводит список доступных для использования кодировок
- # iconv -c -f windows-1251 -t utf-8 inputFile > outputFile
- Конвертировать файл из кодировки windows-1251 в кодировку utf-8
- # ln -s /path/to/filedir ./link
- Создать в текущей директории символическую ссылку link на директорию или файл filedir
- # ln /path/to/filedir ./link
- Создать в текущей директории жесткую ссылку link на директорию или файл filedir
- # ls
- Вывести листинг содержимого текущей директории
- # ls -F
- Листинг текущей директории с добавлением к именам символов, обозначающих тип объекта
- # ls -l
- Листинг текущей директории с подробностями по каждому объекту ( права доступа, владелец, группа, дата, размер )
- # ls -a
- Кроме обычных объектов, вывести в листинге, скрытые файлы и директории, текущего каталога
- # ls /tmp | pr -T5 -W$COLUMNS
- Листинг директории /tmp в 5 колонок
- # ls *[0-9]*
- Вывести в листинг файлов и директорий текущего каталога, содержащие в имени цифровые символы
- # lstree
- Листинг иерархии директорий и файлов, начиная с корневого каталога (/)
- # mkdir dir
- Создать в текущем каталоге, директорию с именем dir
- # mkdir dir_1 dir_2
- Создать в текущем каталоге две директории, с именами dir_1 и dir_2
- # mkdir -p /path/to/dir
- Создать иерархию директорий. Кроме самой директории dir будут созданы все промежуточные директории
- # mv filedir new_filedir
- Переместить ( переименовать ) файл или директорию из filedir в new_filedir
- # rm -rf /dir
- Рекурсивно удалить директорию dir и всё её содержимое, без запроса подтверждения на удаление
- # rm -f file
- Удалить файл file, без запроса подтверждения
- # rm -rf /dir_1 /dir_2
- Удалить директории /dir_1 и /dir_2 вместе с содержимым, без запроса подтверждения
- # rmdir /dir
- Удалить директорию /dir
- # tree
- Вывести иерархию директорий и файлов, начиная с корневой (/)
- # touch -t 0712250000 file1
- Изменить дату и время создания файла, если указанный файл не существует, создать его с указанными датой и временем (YYMMDDhhmm)
Поиск нужного файла
- # find / -user vasya
- Найти все директории и файлы принадлежащие пользователю vasya. Поиск будет производиться, начиная с корневой директории (/)
- # find / -name filedir
- Найти директории и файлы с именем filedir. Поиск будет производиться, начиная с корневой директории (/)
- # find /usr/bin -type f -atime +20
- Найти все файлы в директории /usr/bin, время последнего обращения к которым более 20 дней
- # find /usr/bin -type f -mtime -10
- Найти все файлы в директории /usr/bin, которые были созданы или модифицированы в течении последних 10 дней
- # find / -xdev -name \*.rpm
- Искать директории и файлы, имена которых оканчиваются на «.rpm«, но игнорируя съёмные накопители, cdrom, usb и т.п.
- # find . -maxdepth 1 -name *.jpg -print -exec convert
- Найти в текущей директории все файлы с расширением jpg и выполнить для каждого команду convert ( Imagemagick )
- # find /path/to/dir -name \*.c
- Найти все директории и файлы, имена которых оканчиваются на «.с«. Поиск будет производиться, начиная с директории /path/to/dir
- # find / -name *.rpm -exec chmod 755 ‘{}’ \;
- Начиная с корня, найти все фалы и директории, имена которых оканчиваются на «.rpm«, и для каждого изменить права доступа
- # whereis ls
- Вывод полных путей к бинарным файлам, файлом исходных кодов и руководств, имеющих отношение к файлу ls
- # locate \*.ps
- Поиск всех файлов, содержащих в имени «.ps» по специальной базе данных, предварительно сформированной командой updatedb
- # which ls
- Вывести полный путь до файла ls
Монтирование файловых систем
- # mount /dev/hda1 /mnt/disk
- Монтировать устройство /dev/hda1 в папку с именем /mnt/disk. точка монтирования, папка /mnt/disk, должна существовать
- # fuser -km /mnt/hda1
- Размонтировать устройство hda1 если оно заблокировано каким либо процессом
- # mount -o loop file.iso /mnt/cdrom
- Смонтировать фаил или образ ISO в директорию /mnt/cdrom
- # mount /dev/hdb /mnt/cdrecorder
- Монтировать cdrw или dvdrom
- # mount -t vfat /dev/hda5 /mnt/hda5
- Смонтировать раздел с файловой системой FAT32
- # mount /dev/cdrom /mnt/cdrom
- Монтировать cdrom или dvdrom
- # mount /dev/fd0 /mnt/floppy
- Монтировать floppy disk ( дисковод мягких дисков )
- # mount /dev/hdc /mnt/cdrecorder
- Монтировать cdrw или dvdrom
- # mount /dev/sda1 /mnt/usbdisk
- Монтировать USB устройство
- # mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
- Монтировать сетевую файловую систему Windows (SMB/CIFS)
- # umount -n /mnt/hda2
- Размонтировать без записи в файл /etc/mtab, используется в ситуациях, когда файл находится в режиме только чтение или жесткий диск переполнен
- # umount /dev/hda2
- Размонтировать диск hda2, предварительно неоходимо выйти из точки монтирования /mnt/hda2
Пользователи и группы
- # useradd -c «User Vasya» -g admin -d /home/vasya -s /bin/bash vasya
- Создать пользователя vasya, домашним каталогом будет создана директория /home/vasya, в качестве системной оболочки будет назначен/bin/bash, пользователь будет включен в группу admin, кроме того для учетной записи будет создан комментарий «User Vasya»
- # useradd vasya
- Создать пользователя vasya
- # usermod -c «User FTP» -g system -d /ftp/ftpuser -s /bin/nologin ftpuser
- Изменение пользователя
- # userdel -r vasya
- Удалить пользователя с именем vasya и его домашнюю директорию
- # groupadd [ group_name ]
- Создать группу с именем group_name
- # chage -E 2005-12-31 vasya
- Установить дату окончания действия учётной записи пользователя vasya
- # groupdel [ group_name ]
- Удалить группу group_name
- # groupmod -n test new_test
- Переименовать группу test в new_test
- # newgrp — [group]
- Изменяет основную группу текущего пользователя. При указании «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, основная группа будет назначена из файла /etc/passwd
- # grpck
- Проверка корректности системных файлов учётных записей. Проверяется файл/etc/group
- # pwck
- Проверка корректности системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
- # passwd
- Изменить пароль текущего пользователя
- # passwd vasya
- Изменить пароль пользователя vasya ( может выполнять только root )
Атрибуты файлов
- # chattr +a file
- Разрешает только добавление данных в файл
- # chattr +d file
- Игнорировать данный файл при создании резервной копии с помощью программы dump
- # chattr +c file
- Разрешить ядру автоматически сжимать/разжимать содержимое файла
- # chattr +i file1
- Защита файла от каких либо изменений или манипуляций: редактирование, перемещение, удаление, создание ссылок на него
- # chattr +S file1
- Определяет, будет-ли при сохранении изменений, произведена синхронизация, как при использовании команды sync
- # chattr +u file1
- При удалении файла с данным атрибутом, его будет сохранено, что-бы оставить пользователю возможность восстановить данные в случае необходимости
- # chattr +s file1
- Позволяет безвозвратное удаление данного файла. При удалении файла с этим атрибутом, место на диске, занимаемое файлом, перезаписывается нулями, после чего файл уже не подлежит восстановлению
- # lsattr
- Листинг файлов с атрибутами
Работа с правами доступа файлов и директорий
- # chown vasya /file
- Назначить пользователя vasya владельцем файла file
- # chown -R vasya directory
- Рекурсивно обойти директорию directory и назначить пользователя vasya владельцем всех вложенных файлов и директорий
- # chown vasya:group /file
- Назначить владельца и группу для файла /file
- # chmod ugo+rwx /directory
- Установить полные права доступа rwx ( Read Write eXecute ) для всех ugo ( User Group Other ) на директорию /directory. То-же самое можно сделать, используя числовой представление chmod 777 directory
- # chmod go-rwx /directory
- Удалить все права на директорию /directory для группы и остальных
- # chgrp new_group file
- Изменить группу-владельца для file на new_group
- # chmod o+t /home/public
- Установить так называемый STIKY-бит на директорию /home/public. Удалить файл в такой директории может только владелец данного файла
- # chmod o-t /home/public
- Удалить STIKY-бит с директории /home/public
- # chmod u+s /bin/binary_file
- Установить SUID-бит на файл /bin/binary_file. Это позволяет любому пользователю системы, запускать данный файл с правамивладельца файла
- # chmod u-s /bin/binary_file
- Удалить SUID-бит с файла /bin/binary_file
- # chmod g+s /home/public
- Установить SGID-бит на директории /home/public
- # chmod g-s /home/public
- Удалить SGID-бит с директории /home/public
- # find / -perm -u+s
- Поиск всех файлов с установленным SUID битом, начиная с корня файловой системы
- # ls -lh
- Листинг текущего каталога с правами доступа
Архивация и сжатие файлов
- # gzip -9 file1
- Поместить файл file1 в архив gzip с максимальной степенью сжатия
- # rar a file1.rar file1 file2 dir1
- Создать rar архив file1.rar, заархивировав файлы: file1, file2 и директорию: dir1
- # rar a file1.rar test_file
- Упаковать в rar архив file1.rar файл test_file
- # rar x file.rar
- Разархивировать rar архив file.rar
- # bzip2 file1
- Сжимает файл file1
- # bunzip2 file1.bz2
- Разжимает файл file1.bz2
- # gzip file1
- Сжимает файл file1
- # gunzip file1.gz
- Разжимает файл file1.gz
- # tar -cvf archive.tar file1 file2 dir1
- Создать tar архив archive.tar, упаковав в него файлы file1, file2 и директорию dir1
- # tar -cvf archive.tar file
- Упаковать в tar-архив archive.tar, файл file
- # tar -tf archive.tar
- Вывести содержимое tar архива