50 самых часто используемых команд в UNIX/Linux с примерами

Конечно, не стоит воспринимать эту статью как подробное руководство, но она определенно даст вам отправную точку при работе с Linux. Советую поставить себе в браузере закладку на этот список.

Если я что то упустил, то дайте мне знать в комментариях.

Примеры команды tar

Создание tar архива

$ tar cvf archive_name.tar dirname/

извлечение существующего архива:

$ tar xvf archive_name.tar

просмотр существующего архива:

$ tar tvf archive_name.tar

Примеры команды grep

Регистронезависимый поиск строки в файле

$ grep -i "the" demo_file

Вывод найденной строки, включая 3 последних строки после

$ grep -A 3 -i "example" demo_text

Рекурсивный поиск строки во всех файлах

$ grep -r "ramesh" *

Примеры команды find

Регистронезависимый поиск файла по имени

$ find -iname "MyCProgram.c"

Выполнение команд над файлами, которые были найдены по команде find

$ find -iname "MyCProgram.c" -exec md5sum {} \;

Поиск пустых файлов в домашнем каталоге

$ find ~ -empty

Примеры команды SSH

Login в удаленный хост

ssh -l jsmith remotehost.example.com

Отладка ssh клиента

ssh -v -l jsmith remotehost.example.com

Вывод версии ssh клиента

$ ssh -V
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

Примеры команды sed

При копировании DOS файлов в UNIX, вы часто можете встретить \r\n в конце каждой строки. Этот пример переводит все DOS имена в формат Unix.

$ sed 's/.$//' filename

Печать содержимого файла в обратном порядке

$ sed -n '1!G;h;$p' thegeekstuff.txt

Добавление номера строки ко всем не пустым строкам

$ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'

Примеры команды awk

Удаление повторяющихся строк

$ awk '!($0 in array) { array[$0]; print }' temp

Вывод всех строк из /etc/passwd с повторяющимися uid и gid

$awk -F ':' '$3==$4' passwd.txt

Печать определенного поля из файла

$ awk '{print $2,$5;}' employee.txt

Примеры команды vim

Переход к 143 строке файла

$ vim +143 filename.txt

Переход к найденной строке

$ vim +/search-term filename.txt

Открытие файла в режиме только для чтения

$ vim -R /etc/passwd

Примеры команды diff

Пропуск пробелов при сравнении

$ diff -w name_list.txt name_list_new.txt
  1. примеры команды sort

Сортировка файлов в восходящем порядке

$ sort names.txt

Сортировка файлов в нисходящем порядке

$ sort -r names.txt

Сортировка содержимого файла passwd по третьему полю

$ sort -t: -k 3n /etc/passwd | more

Примеры команды export

Вывод переменных, связанных в oracle

$ export | grep ORACLE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"

Экспорт переменных среды

$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

Примеры команды xargs

Копирование всех изображений на внешний диск

$ ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

Поиск всех изображений jpg в системе и их архивирование

$ find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

Загрузука всех url из файла url-list.txt

$ cat url-list.txt | xargs wget –c

Примеры команды ls

Вывод размеров файлов в читаемом формате

$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

Сортировка файлов по последней дате изменения (в обратном порядке)

$ ls -ltr

Визуальная классификация файлов со специальными символами

$ ls -F

Команда pwd

Команда pwd выводит текущий рабочий каталог. Больше тут и нечего добавить.

Примеры команды cd

Используйте cd - для перехода в предыдущий каталог Используйте shopt -s cdspell для автоматической корректировки опечаток

Примеры команды gzip

Создание *.gz архива

$ gzip test.txt

Извлечение архива *.gz:

$ gzip -d test.txt.gz

Вывод соотношения компрессии в архивах

$ gzip -l *.gz
        compressed        uncompressed  ratio uncompressed_name
             23709               97975  75.8% asp-patch-rpms.txt

Примеры команды bzip2

Создание архива *.bz2:

$ bzip2 test.txt

Извлечение архива *.bz2:

bzip2 -d test.txt.bz2

Примеры команды unzip

Создание архива *.zip:

$ unzip test.zip

Вывод содержимого архива *.zip, без извлечения:

$ unzip -l jasper.zip
Archive:  jasper.zip
 Length     Date   Time    Name
--------    ----   ----    ----
   40995  11-30-98 23:50   META-INF/MANIFEST.MF
   32169  08-25-98 21:07   classes_
   15964  08-25-98 21:07   classes_names
   10542  08-25-98 21:07   classes_ncomp

Примеры команды shutdown

Останаливает систему и отключает питание

$ shutdown -h now

Выключает систему через 10 минут

$ shutdown -h +10

Перезагрузка

$ shutdown -r now

Проверка файловой системы при перезагрузки

$ shutdown -Fr now

Примеры команды ftp

Для соединения с удаленным сервером и загрузки несколько файлов используйте следующую команду:

$ ftp IP/hostname
ftp> mget *.html

Чтобы просмотреть файлы на сервере до их загрузки применяйте:

ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html

Примеры команды crontab

Вывод крон задач пользователя

$ crontab -u john -l

Запуск крон задачи каждые 10 минут

*/10 * * * * /home/ramesh/check-disk-space

Примеры команды service

Команда service применяется для запуска системных скриптов, вместо того, что бы запускать их с использованием полного пути из /etc/init.d.

Проверка состояния службы:

$ service ssh status

Проверка состояния все служб:

service --status-all

Перезапуск службы:

$ service ssh restart

Примеры команды ps

Команды ps выводит информацию о запущенных в системе процессах. Команда ps принимает огромное количество аргументов, но самые частые из них следующие:

Вывод текущих запущенных процессов:

$ ps -ef | more

Вывод процессов в виде дерева:

$ ps -efH | more

Примеры команды free

Эта команда применяется для вывод свободной, занятой памяти и памяти файла подкачки в системе.

Вывод команды. Значения в байтах.

$ free
            total       used       free     shared    buffers     cached
Mem:       3566408    1580220    1986188          0     203988     902960
-/+ buffers/cache:     473272    3093136
Swap:      4000176          0    4000176

Если вам надо посмотреть сколько гигов оперативной памяти осталось в системе используйте ключ -g. -k — вывод в килобайтах, -m — в мегабайтах

$ free -g
            total       used       free     shared    buffers     cached
Mem:             3          1          1          0          0          0
-/+ buffers/cache:          0          2
Swap:            3          0          3

Используйте ключ t для подсчета результирующего значения занятой памяти:

ramesh@ramesh-laptop:~$ free -t
            total       used       free     shared    buffers     cached
Mem:       3566408    1592148    1974260          0     204260     912556
-/+ buffers/cache:     475332    3091076
Swap:      4000176          0    4000176
Total:     7566584    1592148    5974436

Примеры команды top

Выводит самые ресурсоемкие процессы в системе (по-умолчанию сортируются по использованию cpu). Для изменения столбца сортировки используйте O.

Current Sort Field:  P  for window 1:Def
Select sort field via field letter, type any other key to return
 a: PID        = Process Id              v: nDRT       = Dirty Pages count
 d: UID        = User Id                 y: WCHAN      = Sleeping in Function
 e: USER       = User Name               z: Flags      = Task Flags
 ........

Для вывода процессов одного пользователя используйте ключ u. Следующая команда выводит процессы, принадлежащие пользователю oracle.

$ top -u oracle

Примеры команды df

Вывод количество занятого дискового пространства. По-умолчанию в байтах (-k)

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

df -h выводит размер в гигабайтах

ramesh@ramesh-laptop:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              29G  3.1G   24G  12% /
/dev/sda2             115G   48G   62G  44% /home

Используйте ключ -T для вывода типа системы

ramesh@ramesh-laptop:~$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

Примеры команды kill

Применяется для завершения процесса. Сначала, определите id процесса командой ps -ef, а затем при помощи kill -9 вы сможете завершить процесс. Также для этой цели можно применять killall, pkill, xkill.

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim
$ kill -9 7243

Примеры команды rm

Удаление файла с подтверждением

$ rm -i filename.txt

Довольно полезно использовать метасимволы в качестве имени файла в аргументе команды Вывод имени файла и запрос на подтверждение удаления:

$ rm -i file*

В следующем примере рекурсивно удаляются все файлы из каталога example, включая сам каталог

$ rm -r example

Примеры команды cp

Копированиt файла file1 в file2 с сохранением режима, владельца и отметки времени.

$ cp -p file1 file2

Копирование file1 в file2. Если file2 уже существует, то выдается запрос на разрешение на перезапись

$ cp -i file1 file2

Примеры команды mv

Переименование file1 в file2. Если file2 существует, то выводится запрос разрешения на перезапись.

$ mv -i file1 file2

Заметьте mv -f переписывает файл по-умолчанию, без запросов.

mv -v выводит что именно происходит в процессе переименования, что особенно полезно при использовании метасимволов в команде.

$ mv -v file1 file2

Примеры команды cat

Вывод содержимого нескольких файлов. Следующий пример выводит содержимое file1 и file2 в stdout.

$ cat file1 file2

Ключ -n добавит номер строки в выводе:

$ cat -n /etc/logrotate.conf
   1        /var/log/btmp {
   2            missingok
   3            monthly
   4            create 0660 root utmp
   5            rotate 1
   6        }

Примеры команды mount

Для того, чтобы смонтировать файловую систему, сначала надо создать каталог, а уже потом в него смонтировать систему.

$ mkdir /u01
$ mount /dev/sdb1 /u01

Так же можно добавить следующую строку в файл fstab, и указанные файловые системы будут монтироваться автоматически при загрузке системы. /dev/sdb1 /u01 ext2 defaults 0 2

32. примеры команды chmod

Используется для изменения прав файла или каталога. Выдаем полные права пользователю и группе:

$ chmod ug+rwx file.txt

Отмена выданных прав:

$ chmod g-rwx file.txt

Применение прав рекурсивно ко всем каталогам и файлам:

$ chmod -R ug+rwx file.txt

Примеры команды chown

Команда используется для изменения собственника файла или каталога. Чтобы изменить владельца на oracle, а группу на db, следует изменять оба параметра одновременно:

$ chown oracle:dba dbora.sh

Используйте ключ -R для применения команды рекурсивно:

$ chown -R oracle:dba /home/oracle

Примеры команды passwd

Изменения пароля пользователя в терминале. Вы увидите запрос на ввод старого и новых паролей:

$ passwd

Супер пользователь может изменять пароли других пользователей. Запрос на ввод старого пароля не будет выведен.

# passwd USERNAME

Удаление пароля пользователя. Root пользователь может отключить пароль любому пользователю. Как только пароль будет удален, пользователь сможет входить в систему без пароля.

# passwd -d USERNAME

Примеры команды mkdir

Создание каталога temp в домашней директории

$ mkdir ~/temp

Создание вложенных каталогов при помощи одной команды. Если один из каталогов уже существует, ошибка не возникнет. Если какой-то каталог отсутствует, то он будет создан.

$ mkdir -p dir1/dir2/dir3/dir4/

Примеры команды ifconfig

Команда позволяет вывести текущие настройки сетевых интерфейсов и изменить их. Вывод списка интерфейсов с текущими настройками.

$ ifconfig -a

Запуск и остановка определенного интерфейса.

$ ifconfig eth0 up
$ ifconfig eth0 down

Примеры команды uname

Выводит важную информацию о системе, например, имя ядра, хоста и версию ядра, тип процессора и так далее.

Пример вывода команды:

$ uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux

Примеры команды whereis

Выводит местоположение определенной команды linux:

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

Если вы хотите осуществить поиск за пределами тех путей, которые заложены в команду whereis, можно использовать ключ -B для дополнения новых путей. Следующая команда ищет исполняемый файл в каталоге tmp и выводит его, если он был найден:

$ whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk

Примеры команды whatis

Выводит однострочное описание команды.

$ whatis ls
ls                (1)  - list directory contents
$ whatis ifconfig
ifconfig (8)         - configure a network interface

Примеры команды locate

Выдает месторасположение определенного файла (или группы файлов). Команда использует БД созданную командой updatedb.

Следующая команда выводит список файлов, в имени которых присутствует строка crontab.

$ locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim

Примеры команды man

Команда выводит инструкцию к команде.

$ man crontab

Если существует несколько инструкций к одной команде, то выбрать нужную можно указав определенный раздел:

$ man SECTION-NUMBER commandname

Всего существует 8 разделов.

  • Основные команды
  • Системные вызовы
  • Библиотеки C функций
  • Специальные файлы (как правило из /dev) и драйвера
  • Форматы файлов и условные обозначения
  • Игры и скринсейверы
  • Разное
  • Системные команды и демоны

Например, если вы обратитесь к странице документации команды crontab, то вы найдете её в двух разделах (1 и 5). Чтобы вывести статью из раздела 5, выполните следующее:

$ whatis crontab
crontab (1)          - maintain crontab files for individual users (V3)
crontab (5)          - tables for driving cron
$ man 5 crontab

Примеры команды tail

По-умолчанию выводит 10 последних строк файла.

$ tail filename.txt

Вывод N строк из файла filename.txt

$ tail -n N filename.txt

Вывод содержимого файла в реальном времени при помощи tail -f. Такой подход очень полезен при просмотре файлов логов. Остановить команду можно комбинацией CTRL-C.

$ tail -f log-file

Примеры команды less

Эта команда очень полезна при просмотре больших лог файлов, так как она не загружает файл полностью.

$ less huge-log-file.log

Используйте следующие две команды для навигации по открытому файлу:

CTRL+F – вперед на окно CTRL+B – назад на окно

Примеры команды su

Переход к другому аккаунту пользователя. Super пользователь может перейти под любой другой аккаунт без ввода пароля.

$ su - USERNAME

Выполнение одной команды под другим пользователем. В следующем примере john выполняет ls команду от имени пользователя raj. После выполнения команды, управление перейдет пользователю john.

[john@dev-server]$ su - raj -c 'ls'
[john@dev-server]$

Переход под другого пользователя и выполнение указанной shell оболочки вместо указанной по-умолчанию.

$ su -s 'SHELLNAME' USERNAME

Примеры команды mysql

Mysql, пожалуй, занимает первое место в ряду СУБД с открытым исходным кодом. Даже если на вашем сервере и не запущен mysql сервер, то клиента mysql вы все рано наверняка используете для доступа к БД на удаленном сервере.

Команда подключает вас к удаленному серверу и запрашивает пароль.

$ mysql -u root -p -h 192.168.1.2

Соединение с локальной БД.

$ mysql -u root -p

Если вы хотите ввести пароль прямо в команде подключения, то вводите его сразу после ключа -p (без пробелов).

Примеры команды yum

Установка apache при помощи yum.

$ yum install httpd

Обновление apache при помощи yum.

$ yum update httpd

Удаление apache при помощи yum.

$ yum remove httpd

Примеры команды rpm

Установка apache при помощи rpm.

# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

Обновление apache при помощи rpm.

$ rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm

Удаление apache при помощи rpm.

$ rpm -ev httpd

Примеры команды ping

Пинг пяти пакетов до удаленного сервера.

$ ping -c 5 gmail.com
  1. примеры команды date

Установка системной даты:

$ date -s "01/31/2010 23:59:53"

После изменения системной даты следует синхронизировать часы оборудования:

$ hwclock –systohc
# hwclock --systohc –utc

Примеры команды wget

Быстрый способ загрузки ресурсов из сети:

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

Загрузка и сохранение под другим именем.

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Я что-то упустил? Оставляйте комментариями и делитесь своими примерами.