Конечно, не стоит воспринимать эту статью как подробное руководство, но она определенно даст вам отправную точку при работе с 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
- примеры команды 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
- примеры команды 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
Я что-то упустил? Оставляйте комментариями и делитесь своими примерами.