Linux. Основные команды. Справочник команд Linux с примерами

Linux. Основные команды. Справочник команд Linux с примерами

Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию. Так же есть версия отдельная онлайн версия справочника по командам Linux которую вы можете посмотреть тут.

Оглавление

Системная информация

  • отобразить архитектуру компьютера:

      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
EnglishRussianUkrainian