Основные команды Linux

whoami  #вывести имя под которым Вы зарегистрированы

date    #вывести дату и время

time <имя программы>   #выполнить программу или команду и получить информацию о времени, 
    #нужном для ее выполнения
who   #определить кто из пользователей работает на машине

uname -a   #вывести информацию о версии операционной системы

cat /etc/issue   #показать версию операционной системы (12.04, 13.04 etc.)

lsb_release -a   #название дистрибутива и версия

uname -m   #узнать, сколько бит в linux ОС

free   #вывести информацию по использованию памяти     

df -h   #вывести информацию о свободном и используемом месте на дисках   

uptime   #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих 
#пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут

top (htop)   #выводит список работающих в системе процессов и информацию о них

ps axu | grep php   #список процессов, в имени которых встречается php

ps aux | head -n 1; ps aux | grep :searchd   #процессы с пояснением параметров сверху

netstat -lnp | grep :9000   #узнать, что висит на 9000 порту

netstat -luntp   #показывает все открытые порты с использующими их приложениями

lsusb   #информация об устройствах, подключенных через USB

lscpu   #характеристики процессора

Здесь я только в кратце опишу основные команды. Про большинство команд можно узнать подробнее в интерактивном режиме, обратившись к справочной системе Linux с помощью команды man. Чтобы легче запомнить, от слова manual:

man <имя изучаемой команды> 

Для выполнение некоторых команд, например задание прав доступа на системные файлы и многое другое, нужны права суперпользователя. Что бы выполнить команду от имени суперпользователя, нужно перед названием команды написать sudo(например: sudo service nginx restart). В некоторых debian системах, sudo может не быть установлен по умолчанию (но его можно установить apt-get install sudo). Для установки sudo нужно авторизоваться по root`ом:

su -

На запрос пароля нужно ввести пароль суперпользователя. После чего любая команда будет выполняться от суперпользователя root.

eugene@PCname:~$ su -
Пароль:  
root@PCname:~# <команда, которая выполнится от имени root>

Общие команды Linux

Тут представлен список полезных команд, которые не вошли в другие разделы.

sudo shutdown -h now   #выключить компьютер сейчас

sudo shutdown -h 90   #выключить компьютер через 90 мин.

sudo reboot   #перезагрузить компьютер

wget --convert-links -r http://www.linux.org/   #копирование сайта целиком и конвертирование ссылок для автономной работы
                            #копирование происходит на 5 уровней в глубину                        

!!    #выполнить последнюю выполненную команду   

history | tail -50   #показать последние 50 набранных команд

passwd   #меняет пароль текущего пользователя 

cal -3   #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь) 

ctrl + r  #поиск по истории набранных комманд, чтобы выполнить снова (ctrl+r - чтобы перейти к след. результату))

Работа с файлами и директориями Linux

ls   #показать список файлов в текущем каталоге (list) 

ls -la <имя каталога>  #список файлов в каталоге <имя каталога>, включая скрытые 

pwd   #выводит текущий путь (команда вывода текущей директории)

cd [каталог]    #cменить текущий каталог (change directory)

cp <что_копировать> <куда_копировать>   #копировать файлы (copy)

mv <что_перемещать> <куда_перемещать>   #переместить или переименовать файл (move)

mkdir <каталог>   #создать новый каталог (make directory)

rmdir <каталог>   #удалить пустой каталог (remove directory)

rm <файлы>  #удалить файлы (remove)

rm -rf <имя каталога>   #удаление директории вместе с вложенными файлами

locate /var/www*index.php   #найти все файлы с названием, заканчивающимся на index.php
        #в директории /var/www

tail <имя файла>   #выводит конец файла. Удобно при работе с логами и большими файлами 

du . -bh | more   #вывод на экран информации о размере файлов и каталогов, начиная с текущего каталога  

sudo chmod 777 -R ~/Общедоступные   #разрешение на чтение/запись/исполнение для всех на каталог ~/Общедоступные       
                # -R - рекурсивно, то есть и на все вложенные файлы и папки

sudo chown <имя пользователя> <имя файла>   #задать владельца файла

>filename   #делает filename пустым файлом, т.е. стирает содержимое

touch filename   #создаёт пустой файл, также меняет время последнего изменения файла

Команды Linux, дающие информацию о системе

whoami  #вывести имя под которым Вы зарегистрированы

date    #вывести дату и время

time <имя программы>   #выполнить программу или команду и получить информацию о времени, 
    #нужном для ее выполнения
who   #определить кто из пользователей работает на машине

uname -a   #вывести информацию о версии операционной системы

cat /etc/issue   #показать версию операционной системы (12.04, 13.04 etc.)

lsb_release -a   #название дистрибутива и версия

uname -m   #узнать, сколько бит в linux ОС

free   #вывести информацию по использованию памяти     

df -h   #вывести информацию о свободном и используемом месте на дисках   

uptime   #показывает текущее время, время, прошедшее после загрузки ОС, количество текущих 
#пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут работы после загрузки, 
#количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут     

top (htop)   #выводит список работающих в системе процессов и информацию о них

ps axu | grep php   #список процессов, в имени которых встречается php

ps aux | head -n 1; ps aux | grep :searchd   #процессы с пояснением параметров сверху

netstat -lnp | grep :9000   #узнать, что висит на 9000 порту

netstat -luntp   #показывает все открытые порты с использующими их приложениями

lsusb   #информация об устройствах, подключенных через USB

lscpu   #характеристики процессора

Как завершить какой-нибудь процесс? Если во время вывода top нажать k (от слова kill), то будет предложено

PID to kill:

нужно ввести идентификатор (PID) процесса и затем нажать enter. Это нечто вроде диспетчера задач в Windows.

Работа с архивами Linux

tar cf primer.tar /home/primer.txt    #создать tar архив с именем primer.tar, 
                    #содержащий /home/primer.txt
tar czf primer.tar.gz /home/primer.txt   #cоздать tar-архив с сжатием Gzip по 
                    #имени primer.tar.gz
tar xf primer.tar   #распаковать архив primer.tar в текущую папку

tar xzf primer.tar.gz   #распаковать tar-архив с Gzip

tar xjf primer.tar.bz   #распаковать tar-архив с Bzip2  

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

grep -rl 'что_ищем' /путь    #искать файлы рекурсивно с текстом 
                            #'что_ищем' по пути '/путь'

less ~/Документы/http.txt | grep -A 2 'skype'    #поиск по файлу ~/Документы/http.txt, 
                                              #выведет строку совпадения + 2 следующие строки  
                                              
tail -f -n100 ~/logs/php-error.log    #очень удобная фича для прочтения логов
                                     #в реальном времени выводит 100 последних строк файла
                                     
find . -name "*.php" -mtime -1 -print    #рекурсивный поиск файлов по паттерну (маске) '*.php'
                                        #которые изменялись за последние сутки   
                                        
find /var/www/ -mtime -10    #поиск файлов которые были изменены за последние 10 дней

find /var/www/ -mtime -10 > filename.txt    #записать вывод в файл
                                        
find . -perm 777 | xargs rm    #найти все файлы с правами 777 и удалить их  

find . -name cache | xargs chmod -R 777    #найти каталог cache и задать ему права 777                                                                                  

Выполнить куски кода в командной строке (php, python):

php -r "var_dump(strlen('hello'));"
python -c "print('hello');"

Это неполный список команд, которые уже очень пригодились мне. По мере изучения linux пост будет пополняться другими командами.

 
 
 
 

icon Комментарии 2

 Marisha 12 лет назад
Хорошая статья. Я так понимаю, скоро больше будет полезной инфы?
 root 12 лет назад
Конечно, скоро будет!
Ваш комментарий к статье.. (для авторизованных)

ctrl+enter

icon Вход в систему

зарегистрироваться
НОВЫЕ ПОЛЬЗОВАТЕЛИ