
Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию. Так же есть версия отдельная онлайн версия справочника по командам Linux которую вы можете посмотреть тут.
Оглавление
- Системная информация
- Остановка системы
- Файлы и директории
- Поиск файлов
- Монтирование файловых систем
- Дисковое пространство
- Пользователи и группы
- Выставление/изменение полномочий на файлы
- Специальные атрибуты файлов
- Архивирование и сжатие файлов
- RPM пакеты (Fedora, Red Hat и тому подобное)
- YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
- DEB пакеты (Debian, Ubuntu и тому подобное)
- APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
- Pacman — средство управление пакетами (Arch Linux, Chakra, Frugalware и alike)
- Просмотр содержимого файлов
- Манипуляции с текстом
- Преобразование наборов символов и файловых форматов
- Анализ файловых систем
- Форматирование файловых систем
- swap-пространство
- Создание резервных копий (backup)
- Сеть
- Microsoft Windows networks(SAMBA)
- IPTABLES (firewall)
- Мониторинг и отладка
- Другие полезные команды
Системная информация
отобразить архитектуру компьютера:
archотобразить используемую версию ядра
uname -rпоказать аппаратные системные компоненты — (SMBIOS / DMI)
dmidecode -qвывести характеристики жесткого диска
hdparm -i /dev/hdaотобразить информацию о процессоре
cat /proc/cpuinfoпоказать прерывания
cat /proc/interruptsпроверить использование памяти
cat /proc/meminfoпоказать файл(ы) подкачки
cat /proc/swapsвывести версию ядра
cat /proc/versionпоказать сетевые интерфейсы и статистику по ним
cat /proc/net/devотобразить смонтированные файловые системы
cat /proc/mountsпоказать в виде дерева PCI устройства
lspci -tvпоказать в виде дерева USB устройства
lsusb -tvвывести системную дату
dateвывести таблицу-календарь 2011-го года
cal 2007установить системные дату и время ММДДЧЧммГГГГ.СС
date 041217002007.00*сохранить системное время в BIOS
clock -w
Остановка системы
остановить систему
shutdown -hзапланировать остановку системы на указанное время
shutdown -h hours:minutes &отменить запланированную по расписанию остановку системы
shutdown -cперезагрузить систему
shutdown -rвыйти из системы
logout
Файлы и директории
перейти в директорию ‘/home’
cd /homeперейти в директорию уровнем выше
cd ..перейти в директорию двумя уровнями выше
cd ../..перейти в домашнюю директорию
cdперейти в домашнюю директорию пользователя user
cd ~userперейти в директорию, в которой находились до перехода в текущую директорию
cd -показать текущюю директорию
pwdотобразить содержимое текущей директории
lsотобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -Fпоказать детализированое представление файлов и директорий в текущей директории
ls -lпоказать скрытые файлы и директории в текущей директории
ls -aпоказать файлы и директории содержащие в имени цифры
ls *[0-9]*показать дерево файлов и директорий, начиная от корня (/)
treeсоздать директорию с именем ‘dir1’
mkdir dir1создать две директории одновременно
mkdir dir1 dir2создать дерево директорий
mkdir -p /tmp/dir1/dir2удалить файл с именем ‘file1’
rm -f file1удалить директорию с именем ‘dir1’
rmdir dir1удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1удалить две директории и рекурсивно их содержимое
rm -rf dir1 dir2переименовать или переместить файл или директорию
mv dir1 new_dirскопировать файл file1 в файл file2
cp file1 file2копировать все файлы директории dir в текущую директорию
cp dir/* .копировать директорию dir1 со всем содержимым в текущую директорию
cp -a /tmp/dir1 .копировать директорию dir1 в директорию dir2
cp -a dir1 dir2создать символическую ссылку на файл или директорию
ln -s file1 lnk1*создать «жёсткую» (физическую) ссылку на файл или директорию
ln file1 lnk1модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
touch -t 0712250000 fileditest
Поиск файлов
найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -name file1найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find / -user user1найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’*
find /home/user1 -name "*.bin"найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -atime +100найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find /usr/bin -type f -mtime -10найти все файлы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -name *.rpm -exec chmod 755 '{}' ;найти все файлы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
find / -xdev -name "*.rpm"найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
locate "*.ps"показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
whereis haltотображает полный путь к файлу ‘halt’
which halt
Монтирование файловых систем
монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
mount /dev/hda2 /mnt/hda2размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
umount /dev/hda2принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
fuser -km /mnt/hda2выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
umount -n /mnt/hda2монтировать флоппи-диск
mount /dev/fd0 /mnt/floppyмонтировать CD или DVD
mount /dev/cdrom /mnt/cdromмонтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount /dev/hdc /mnt/cdrecorderсмонтировать ISO-образ
mount -o loop file.iso /mnt/cdromмонтировать файловую систему Windows FAT32
mount -t vfat /dev/hda5 /mnt/hda5монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share«монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работ е ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
mount -o bind /home/user/prg /var/ftp/user
Дисковое пространство
информация о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
df -hвывести список файлов и директорий рекурсивно с сортировкой по возрастанию размера и осуществлять постраничный просмотр
ls -lSr |moreвывести размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sh dir1размер и имена файлов и директорий, с соритровкой по размеру
du -sk * | sort -rnразмер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
rpm -q -a --qf '%10t%n' | sort -k1,1nразмер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
dpkg-query -W -f='${Installed-Size;10}t$n' | sort -k1,1n
Пользователи и группы
создать новую группу с именем group_name
groupadd group_nameудалить группу group_name
groupdel group_nameпереименовать группу old_group_name в new_group_name
groupmod -n new_group_name old_group_nameсоздать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1создать пользователя user1
useradd user1удалить пользователя user1 и его домашний каталог
userdel -r user1изменить атрибуты пользователя
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1сменить пароль
passwdсменить пароль пользователя user1 (только root)
passwd user1установить дату окончания действия учётной записи пользователя user1
chage -E 2005-12-31 user1проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
pwckпроверить корректность системных файлов учётных записей. Проверяется файл/etc/group
grpckизменить первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
newgrp [-] group_name
Выставление/изменение полномочий на файлы
просмотр полномочий на файлы и директории в текущей директории
ls -lhвывести содержимое директории /tmp и разделить вывод на пять колонок
ls /tmp | pr -T5 -W$COLUMNSдобавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod ugo+rwx directory1отобрать у группы и всех остальных все полномочия на директорию directory1
chmod go-rwx directory1назначить владельцем файла file1 пользователя user1
chown user1 file1назначить рекурсивно владельцем директории directory1 пользователя user1
chown -R user1 directory1сменить группу-владельца файла file1 на group1
chgrp group1 file1сменить владельца и группу владельца файла file1
chown user1:group1 file1найти, начиная от корня, все файлы с выставленным SUID
find / -perm -u+sназначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла
chmod u+s /bin/binary_fileснять SUID-бит с файла /bin/binary_file
chmod u-s /bin/binary_fileназначить SGID-бит директории /home/public
chmod g+s /home/publicснять SGID-бит с директории /home/public
chmod g-s /home/publicназначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o+t /home/publicснять STIKY-бит с директории /home/public
chmod o-t /home/public
Специальные атрибуты файлов
позволить открывать файл на запись только в режиме добавления
chattr +a file1позволяет ядру автоматически сжимать/разжимать содержимое файла
chattr +c file1указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +d file1делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него
chattr +i file1позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных
chattr +s file1указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +S file1данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
chattr +u file1показать атрибуты файлов
lsattr
Архивирование и сжатие файлов
разжать файл ‘file1.bz2’
bunzip2 file1.bz2разжать файл ‘file1.gz’
gunzip file1.gzсжать файл ‘file1’
gzip file1 или bzip2 file1сжать файл file1 с максимальным сжатием
gzip -9 file1создать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar test_fileсоздать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
rar a file1.rar file1 file2 dir1распаковать rar-архив
unrar x file1.rarсоздать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -cvf archive.tar file1 file2 dir1показать содержимое архива
tar -tf archive.tarраспаковать архив
tar -xvf archive.tarраспаковать архив в /tmp
tar -xvf archive.tar -C /tmpсоздать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfj archive.tar.bz2 dir1разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2создать архив и сжать его с помощью gzip
tar -cvfz archive.tar.gz dir1разжать архив и распаковать его
tar -xvfz archive.tar.gzсоздать сжатый zip-архив
zip file1.zip file1создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
zip -r file1.zip file1 file2 dir1разжать и распаковать zip-архив
unzip file1.zip
RPM пакеты (Fedora, Red Hat и тому подобное)
установить пакет с выводом сообщений и прогресс-бара
rpm -ivh package.rpmустановить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -ivh --nodeps package.rpmобновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -U package.rpmобновить пакет только если он установлен
rpm -F package.rpmудалить пакет
rpm -e package_name.rpmотобразить список всех пакетов, установленных в системе
rpm -qaсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qa | grep httpdвывести информацию о конкрентном пакете
rpm -qi package_nameотобразить пакеты входящие в группу пакетов
rpm -qg "System Environment/Daemons"вывести список файлов, входящих в пакет
rpm -ql package_nameвывести список конфигурационных файлов, входящих в пакет
rpm -qc package_nameвывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name --whatrequiresотобразить скрипты, запускаемые при установке/удалении пакета
rpm -q package_name --scriptsвывести историю ревизий пакета
rpm -q package_name --changelogпроверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла
rpm -qf /etc/httpd/conf/httpd.confотображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm -qp package.rpm -lипортировать публичный ключ цифровой подписи
rpm --import /media/cdrom/RPM-GPG-KEYпроверит подпись пакета
rpm --checksig package.rpmпроверить целостность установленного содержимого пакета
rpm -qa gpg-pubkeyпроверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -V package_nameпроверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vaпроверить пакет, который ещё не установлен в систему
rpm -Vp package.rpmизвлечь из пакета файлы содержащие в своём имени bin
rpm2cpio package.rpm | cpio --extract --make-directories *bin*установить пакет, собранный из исходных кодов
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpmсобрать пакет из исходных кодов
rpmbuild --rebuild package_name.src.rpm
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
закачать и установать пакет
yum install package_nameобновить все пакеты, установленные в систему
yum updateобновить пакет
yum update package_nameудалить пакет
yum remove package_nameвывести список всех пакетов, установленных в систему
yum listнайти пакет в репозитории
yum search package_nameочисть rpm-кэш, удалив закачанные пакеты
yum clean packagesудалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean headersочисть rpm-кэш, удалив закачанные пакеты и заголовки
yum clean all
DEB пакеты (Debian, Ubuntu и тому подобное)
установить / обновить пакет
dpkg -i package.debудалить пакет из системы
dpkg -r package_nameпоказать все пакеты, установленные в систему
dpkg -lсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «apache2»
dpkg -l | | grep apache2отобразить инфрмацию о конкретном пакете
dpkg -s package_nameвывести список файлов, входящих в пакет, установленный в систему
dpkg -L package_nameотобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg --contents package.debнайти пакет, в который входит указанный файл
dpkg -S /bin/ping
APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
установить / обновить пакет
apt-get install package_nameустановить / обновить пакет с cdrom’а
apt-cdrom install package_nameполучить обновлённые списки пакетов
apt-get updateобновить пакеты, установленные в систему
apt-get upgradeудалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get remove package_nameудалить пакет, установленный в систему с удалением файлов конфигурации
apt-get purge package_nameпроверить целостность зависимостей
apt-get checkудалить загруженные архивные файлы пакетов
apt-get cleanудалить старые загруженные архивные файлы пакетов
apt-get autoclean
Pacman — средство управление пакетами (Arch Linux, Chakra, Frugalware и alike)
установить пакет из репозитория. Если после команды добавить
--noconfirm, то не потребуется подтверждать действия.pacman -S package_nameустановить пакет из текущей деиректории
pacman -U package_nameудалить пакет
pacman -R package_nameудалить пакет с зависимостями, которые более не требуются
pacman -Rs package_nameнайти пакет
pacman -Ss package_nameполучить обновленные списки пакетов
pacman -Syобновить пакеты
pacman -Su
Просмотр содержимого файлов
вывести содержимое файла file1 на стандартное устройсво вывода
cat file1вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
tac file1постраничный вывод содержимого файла file1 на стандартное устройство вывода
more file1постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
less file1вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
head -2 file1вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста
tail -f /var/log/messages