Основные команды Linux для начинающих. Прикольные команды Linux Команды операционной системы linux


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

Команды для работы с файлами и каталогами

Файловые команды

ls – список файлов и каталогов

ls –l - форматированный список файлов и каталогов с атрибутами, владельцем, датой создания

ls -al – форматированный список, включая скрытые каталоги и файлы

cd dir – сменить директорию на dir

cd – сменить на домашний каталог

cd .. - перейти в каталог уровнем выше.

pwd – показать текущий каталог

mkdir dir – создать каталог dir

rm file – удалить file

rm -r dir – удалить каталог dir

rm -f file – удалить файл без запросов подтверждения и игнорировать ошибки file

rm -rf dir – удалить каталог dir без запросов подтверждения и игнорировать ошибки

cp file1 file2 – скопировать file1 в file2

cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует

mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог – переместить file1 в каталог file2

ln -s file link – создать символическую ссылку link к файлу file

touch file – создать file, если файл существует – изменить отметки времени файла.

cat > file – направить стандартный ввод в file

more file – вывести содержимое файла file в постраничном режиме

head file – вывести первые 10 строк указанного файла.

tail file – вывести последние 10 строк указанного файла

tail –n 100 /var/log/messages - отобразить последние 100 строк из файла журнала /var/log/messages .

tail -f file - выводить содержимое файла по мере его роста.

Права доступа:

chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:

4 – чтение (r)
2 – запись (w)
1 – исполнение (x)
Примеры:

chmod 777 iptraf – чтение, запись, исполнение любым пользователям для файла iptraf
chmod 755 rwx для владельца, rx для группы и остальных.

Команды для работы с процессами

Управление процессами

ps – вывести ваши текущие активные процессы

ps –e - вывести список процессов с идентификаторами (PID) и их именами

ps –eF - вывести список процессов, как в предыдущем примере, но с полной строкой запуска

ps –aux - как и в предыдущем примере, но с использованием синтаксиса BSD.

top – показать степень использования ресурсов системы.

nice - отобразить текущее значение модификации приоритета nice Модификатор принимает значения от -20 (высокий приоритет) до 19 (низкий)

nice -4 mc - запустить mc с приоритетом +4

nice --4 mc - запустить приложение mc с приоритетом -4 по отношению к родительскому процессу (оболочке пользователя).

renice 4 -p 11590 - установить значение приоритета для процесса с идентификатором PID=11590 равное 4

kill pid – завершить (убить) процесс с идентификатором pid

killall proc – убить все процессы, имена которых начинаются с proc

bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg – выносит на передний план последние задачи

fg n – вынести задачу n на передний план

Команды для архивирования

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files

tar xf file.tar – распаковать file.tar

tar czf file.tar.gz files – создать архив tar с сжатием Gzip

tar xzf file.tar.gz – распаковать tar с Gzip

tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 – распаковать tar с Bzip2

gzip file – сжать file и переименовать в file.gz

gzip -d file.gz - распаковать file.gz в file

Команды для поиска

grep pattern files – искать pattern в файлах files

grep 192.168.1.1 /etc/*.conf - искать IP – адрес 192.168.1.1 /etc

grep –r 192.168. /etc/*.conf - искать часть IP – адреса 192.168. в конфигурационных файлах каталога /etc и его подкаталогах (рекурсивно)

command | grep pattern – искать pattern в выводе команды command

locate file – найти все файлы с именем file . Например, для определения места хранения пакетов.deb – locate *.deb

whereis mc – где находятся файлы с именем mc

which iptraf iptraf , запускаемый по умолчанию (без указания пути).

find / -name iptables* - искать, начиная с корневого каталога, файлы, имена которых начинаются с iptables .

find /etc -name iptables* - искать в каталоге /etc файлы, имена которых начинаются с iptables .

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

date – вывести текущую дату и время

cal – вывести календарь на текущий месяц

uptime – показать время с момента последней загрузки ОС.

w – сведения о пользователях, зарегистрировавшихся в системе

users - список имен пользователей, вошедших в систему.

last - список пользователей, вошедших в систему по данным из специального файла /var/log/wtmp . Отображается имя, терминал, время входа IP-адрес и т.п.

last –ad - сведения о пользователях, вошедших в систему, с отображением в последней колонке имени компьютера с которого выполнен вход.

last –F - отобразить время входа пользователей в систему, длительность сессий и время выхода.

last –x - отобразить сведения о выключениях, перезагрузках и изменениях уровня запуска системы.

last root - отобразить сведения о сеансах пользователя root .

last -n 10 user1 - отобразить сведения о десяти последних сеансах пользователя user1 .

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

whoami – имя, под которым вы в данный момент работаете в системе.

finger user – показать информацию о user

uname -a – отобразить все сведения о системе.

uname -vr – отобразить номер выпуска операционной системы и версию ядра.

df – отобразить информацию об использовании дисков.

du – отобразить информацию об использовании текущего каталога

free – информация об использовании реальной и виртуальной памяти.

whatis app - отобразить краткую информацию об app из базы данных документации.

whereis app – где находится исполняемый модуль app

which app – какой исполняемый модуль приложения app будет запущен по умолчанию.

man command – отобразить справочную информацию для команды command

Команды для управления пользователями и группами.

groupadd -g 500 user - создать группу user с идентификатором GID=500

useradd -p PASS user - создать пользователя user с паролем PASS

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

passwd user - изменить пароль пользователя user (команда только для root )

su - user - выполнить смену текущего пользоателя на пользователя user с использованием его оболочки (- ).

su - - сменить текущего пользователя на суперпользователя root с использованием его командной оболочки.

sudo shutdown now - выполнить команду shutdown now с правами суперпользователя root

script /var/log/mysession.txt - создать протокол действий пользователя с записью вводимых команд и отображаемых результатов в файл /var/log/mysession.txt . Для прекращения записи введите команду exit

Команды для получения сведений об оборудовании

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

cat /proc/devices - информация о типах устройств.

cat /proc/diskstats - информация о дисковых устройствах.

cat /proc/dma - информация о режиме работы контроллера прямого доступа к памяти.

cat /proc/iomem - информация об адресах, используемых контроллерами ввода-вывода.

cat /proc/ioports - информация о портах ввода-вывода.

cat /proc/meminfo - информация об оперативной памяти.

cat /proc/cpuinfo - информация о процессорах..

lshw - отобразить полную информацию об оборудовании в текстовом формате.

lshw -c storage - отобразить информацию об устройствах хранения данных (класса ”storage”)

lscpu - отобразить информацию о процессоре

lscpu | grep L2 - получить размер кэш второго уровня процессора.

lscpu | grep Arch - получить информацию об архитектуре процессора.

lspci - отобразить сведения об оборудовании на шине PCI

lsusb - отобразить сведения об оборудовании на шине USB

dmidecode отобразить версию программы, общую информация базы DMI, и расшифрованное содержимое отдельных записей.

dmidecode -t bios - сведения о BIOS

dmidecode -t system - сведения о переключателях системной платы.

dmidecode -t baseboard - сведения о материнской плате.

dmidecode -t chassis - сведения о переключателях и датчиках шасси.

dmidecode -t processor - сведения о центральном процессоре (о процессорах для многопроцессорных систем) .

dmidecode -t memory - сведения об оперативной памяти.

dmidecode -t cache - сведения о кэш-памяти.

dmidecode -t connector - сведения о разъемах контроллеров периферийных устройств.

dmidecode -t slot - сведения о разъемах PCI/PCI-Express

Команды для работы с сетью

ifconfig - отобразить сведения о конфигурации сетевых интерфейсов.

ifconfig -a - отобразить сведения о конфигурации сетевых интерфейсов, в том числи и отключенных..

ifconfig eth0 - отобразить сведения о конфигурации сетевого интерфейса eth0

ifсonfig –s

ifconfig eth0 hw ether 00:11:22:33:44:55 - установить новое значение аппаратного адреса (MAC-адреса) для сетевого интерфейса eth0

ifconfig eth1 broadcast 192.168.1.255 - установить значение широковещательного адреса для интерфейса eth1

ifconfig eth1 netmask 255.255.255.0 - установить маску подсети для интерфейса eth1

ifconfig eth1 192.168.1.1 - установить IP-адрес для интерфейса eth1

ifconfig eth1 add 192.168.1.2 - добавить IP-адрес для интерфейса eth1

ifconfig eth0 down - отключить интерфейс eth0

ifconfig eth0 up - включить интерфейс eth0

Команда ifconfig считается устаревшей и постепенно вытесняется командой ip

ip addr show - отобразить список сетевых интерфейсов с адресами. Возможно сокращение параметров команды - ip a sh или ip a s

ip addr list permanent - отобразить только статические ip адреса

ip addr list dynamic - отобразить только динамические ip адреса

ip addr add 1.1.1.13/24 dev eth0 - установить ip адрес для интерфейса eth0

ip addr del 1.1.1.13/24 dev eth0 - удалить ip адрес интерфейса eth0

ip addr flush dev eth0 - удалить все ip адреса интерфейса eth0

ip addr help - отобразить справку по команде ip addr

ip route show - отобразить сведения о маршрутах. В сокращенном варианте - ip r s

ip route show table 255 - отобразить все маршруты из таблицы 255 ip route get 10.10.20.0/24 - отобразить маршрут к этой сети ip route get 10.10.20.0/24 from 192.168.1.100 - отобразить маршрут к этой сети от указного интерфейса с IP=192.168.1.100.

ip route add 10.10.20.0/24 via 192.168.5.1 - создать маршрут к заданной сети через интерфейс c IP=192.168.5.1

ip route delete 10.10.20.0/24

ip route del 10.10.20.0/24 via 192.168.50.100 - удалить указанный маршрут.

ip route add default via 192.168.50.100 - создать маршрут по умолчанию.

ip route add 10.10.20.0/24 dev eth0 - создать маршрут к указной сети.

ip route add table nnn 10.10.20.0/24 dev eth0 - создать маршрут в специальной таблице маршрутов с номером nnn .

ip route add to blackhole 10.10.0.0/16 - создать фиктивный маршрут.

ip route add unreachable 10.10.0.0/16 - создать недостижимый маршрут.

ip link show - отобразить список сетевых интерфейсов.

ip link show eth0 - отобразить состояние eth0

ip link list up - отобразить статус всех включенных интерфейсов

ip link set eth1 up - включить интерфейс eth1

ip link set eth1 down - выключить интерфейс eth1

nslookup - запуск nslookup в интерактивном режиме.

nslookup mail.ru mail.ru с использованием сервера DNS из сетевых настроек.

nslookup mail.ru 8.8.8.8 - отобразить сведения для домена mail.ru с использованием сервера DNS с адресом 8.8.8.8 (публичный DNS-сервер Google).

nslookup –query=mx mail.ru - отобразить запись типа MX для домена mail.ru .

Альтернативой команде nslookup является команда dig

dig yandex.ru yandex.ru с использованием DNS-сервера по умолчанию

dig @8.8.8.8 yandex.ru – получить DNS информацию о домене yandex.ru с использованием DNS-сервера 8.8.8.8

dig -x ya.ru – отобразить реверсивную запись для узла ya.ru

whois domain - получить информацию whois для domain

wget file – скачать file

wget -c file – продолжить остановленную закачку

ping –help - отобразить справку по использованию ping ping host - пинговать host . Для завершения нажать Ctrl+C

ping –c 10 host - пинговать 10 раз host .и завершиться

ping –c 1 –s 3000 ya.ru - пинговать 1 раз узел ya.ru с отправкой пакетов длиной 3000 байт.

ping –c 10 host - пинговать 10 раз host .и завершиться

ping –c 1 –s 3000 –t 3 ya.ru - пинговать 1 раз узел ya.ru с отправкой пакетов длиной 3000 байт. И с использованием TTL=3

tcpdump –I eth0 - отображать в сокращенном виде содержимое пакетов на сетевом интерфейсе ith0

tcpdump –vv –I eth1 - отображать в подробном виде содержимое пакетов на сетевом интерфейсе eth1

netstat - отобразить список текущих соединений.

netstat -nap - отобразить список соединений и слушаемых портов (a ) в числовом виде (n ) и с именами программ (p )

netstat –r - отобразить таблицу маршрутизации.

netstat –s - отобразить сетевую статистику.

traceroute ya.ru - выполнить трассировку к узлу ya.ru

traceroute 8.8.8.8 - выполнить трассировку к узлу с IP-адресом 8.8.8.8

Команды для работы с SSH

ssh user@host – подключится к узлу host как пользователь user

ssh –l admin 192.168.1.1 – подключится к узлу 192.168.1.1 как пользователь admin

ssh -p port user@host – подключится к узлу host на порт port как пользователь user

ssh-keygen - сгенерировать публичный и приватный ключ для текущего пользователя.

ssh-copy-id user@host – добавить публичный ключ, сгенерированный для пользователя user на узел host . Текущим каталогом должен быть подкаталог с файлом ключа. Применяется для доступа к удаленной системе по ключу (без пароля).

ssh -X -l user 192.168.0.1 - подключиться к удаленному компьютеру 192.168.0.1 как пользователь user с использованием перенаправления графического вывода (X11 Forwarding)

ssh -Y -l user 192.168.0.1 - то же, что и в предыдущем примере, но без возможности взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение. BR>
ssh -X -l user 192.168.0.1 ‘xterm’ - подключиться к удаленному компьютеру 192.168.0.1 как пользователь user с использованием перенаправления графического вывода (X11 Forwarding) и запуском графического терминала xterm .

exit – выйти из командной оболочки SSH.

Команды для установки ПО.

Установка из исходников:

./configure
Make
make install

Установка программ для различных дистрибутивов linux:

apt-get install iptraf - установить приложение iptraf из репозитория (Debian, Ubuntu и их ответвления.

apt-get remove iptraf mc - удалить приложения iptraf и mc

apt-get purge iptraf mc - удалить приложения iptraf и mc и их служебные и конфигурационные данные.

dpkg -i pkg.deb – установить приложение из пакета.deb (Debian, Ubuntu и их ответвления).

dpkg –r package - удалить пакет package . Удаление не полное - конфигурационные файлы, служебные сценарии, файлы журналов, данные, используемые этим пакетом, останутся. Это позволяет переустановить пакет с использованием существующей конфигурации.

dpkg –P package - как и в предыдущем примере, но с полным удалением конфигурации и служебных данных.

rpm –ivh packag1.rpm packagr2.rpm - установить приложения из указанных пакетов .rpm (Red Hat, Fedora, Centos и их ответвления)

rpm -Uvh foo-1.0-1.i386.rpm – обновить приложение из пакета .rpm

rpm –e ipraf - удалить приложение iptraf

Сочетания клавиш

Клавиатурные сочетания Ctrl+C – завершить текущую команду

Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне

Ctrl+D – выйти из оболочки пользователя, тоже самое, что и exit

Ctrl+W – удалить одно слово в текущей строке

Ctrl+U – удалить строку

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

Ctrl+Shift+F1 … CTrl+Shift+F6 - переключаться между терминалами 1 … 6

Вы можете считать себя новичком в Linux, но на самом деле это не так. Есть 3,74 миллиарда глобальных пользователей Интернета, и все они в некотором роде, используют Linux так как серверы Linux поддерживают 90% интернета. Большинство современных маршрутизаторов запускают Linux или Unix, а супер компьютеры также в большинстве своем работают на Linux. Если у вас есть Android-смартфон, ваша операционная система построена на ядре Linux.

Другими словами, Linux повсюду.


Изображение: Opensource.com

Но есть разница между использованием Linux-технологий и использованием самой Linux. Если вы заинтересованы в Linux, вам может быть интересно узнать, как использовать интерфейс командной строки Linux (CLI)

Ниже приведены основные команды Linux, которые всем нужно знать. Каждая из них проста и легко запоминается. Другими словами, вам не обязательно быть продвинутым пользователем, чтобы понять их.

Начните осваивать интерфейс командной строки Linux с помощью этих 10 основных команд.

1. ls

Нет, это не типографская ошибка - я действительно намеревался ввести нижний регистр буквы L. ls , или «list» - это команда номер один, которую вам нужно знать для использования CLI Linux. Эта команда списка функционирует в терминале Linux, чтобы отобразить все основные каталоги, поданные в соответствующей файловой системе. Например, эта команда:

ls /applications

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

Все скрытые файлы можно просмотреть с помощью команды ls -a

2. cd

Эта команда используется для перехода (или «изменения») в каталог. Это то, как вы перемещаетесь из одной папки в другую. Скажите, что вы находитесь в папке «Загружаемые файлы», но вы хотите перейти в папку «Список воспроизведения Gym».

Просто ввод текста cd Gym Playlist не будет работать, поскольку оболочка не узнает его и сообщит, что папка, которую вы ищете, не существует. Чтобы открыть эту папку, вам нужно поставить обратную косую черту.

Команда должна выглядеть так:

cd Gym\ Playlist

Чтобы вернуться из текущей папки в предыдущую, вы можете ввести имя папки, за которой следует cd ... Подумайте о двух точках, подобных кнопке «Назад».

3. mv

Эта команда передает файл из одной папки в другую; mv означает «двигаться». Вы можете использовать эту короткую команду, как если бы вы перетащили файл в папку на ПК с Windows.

Например, если я создаю файл, призванный testfile продемонстрировать все основные команды Linux, и я хочу переместить его в папку «Мои документы», я бы выпустил эту команду:

mv /home/sam/testfile /home/sam/Documents/

Первая часть команды (mv ) говорит, что я хочу переместить файл, вторая часть (home/sam/testfile ) называет файл, который я хочу переместить, а третья часть (/home/sam/Documents/ ) указывает местоположение, куда я хочу передать файл.

4. Горячие клавиши Linux

Это больше, чем одна команда, но я не мог удержаться, и не рассказать про них здесь. Зачем? Потому что они экономят время и сильно помогают в работе.

CTRL+K Вырезает текст с курсора до конца строки

CTRL+Y Вставить текст

CTRL+E Перемещает курсор в конец строки

CTRL+A Перемещает курсор в начало строки

ALT+F Переход к следующему пространству

ALT+B Переход к предыдущему пространству

ALT+Backspace Удаляет предыдущее слово

CTRL+W Обрезает слово за курсором

Shift+Insert Вставляет текст в терминал

Ctrl+D Выходит из системы

Эти команды используются разными способами. Например, представьте, что вы неправильно заметили слово в тексте команды:

sudo apt-get intall programname

Вероятно, вы заметили, что «install » написана с ошибкой, поэтому команда не будет работать. Но быстрые клавиши позволяют легко вернуться и исправить. Если мой курсор находится в конце строки, я могу щелкнуть ALT+B дважды, чтобы переместить курсор на место, указанное ниже, с помощью ^ символа:

sudo apt-get^intall programname

Теперь мы можем быстро добавить письмо sдля исправления install . Очень просто!

5. mkdir

Это команда, которую надо использовать для создания каталога или папки в среде Linux. Например, вы можете ввести mkdir DIY в каталог для своих проектов DIY.

6. at

Если вы хотите запустить команду Linux в определенное время, вы можете добавить at к уравнению.

За синтаксисом at следует дата и время, в которые вы хотите выполнить команду. Затем будет изменено командное приглашение, at> чтобы вы могли ввести команду или команды, которые хотите запустить, в указанное вами время

Например:

at 4:08 PM Sat

at> cowsay "hello"

Это будет запускать программу cowsay в 16:08 в субботу.

7. rmdir

Эта команда позволяет удалить каталог через CLI Linux.

Например:

rmdir testdirectory

Имейте в виду, что эта команда не удалит каталог, в котором есть файлы внутри. Это работает только при удалении пустых каталогов.

8. rm

Если вы хотите удалить файлы, rm команда - это то, что необходимо. Она может удалять файлы и каталоги.

Чтобы удалить один файл, введите rm testfile

для удаления каталога и файлов внутри него, введите rm -r .

9. touch

Команда touch , иначе известная как команда make file , позволяет создавать новые, пустые файлы с помощью CLI Linux. Очень похоже на команду mkdir для создания каталогов, touch применяется для создание файлов.

Например, touch testfile создаст пустой файл с именем testfile.

10. locate

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

Например, если у вас есть документ о вариантах использования цепочки блоков, но вы не можете придумать название, вы можете нажать на него locate -blockchain или вы можете искать «варианты использования цепочки», разделив слова звездочкой или звездочками (*).

Например:

locate -i*blockchain*use*cases* ,

Есть много других полезных команд CLI Linux, таких как pkill команда, и это здорово, если вы начнете понимать, что они делают.

Вот ещё некоторые другие полезные команды для людей, которые хотят научиться использовать терминал Linux: man, apropos, sudo, su, chown, chmod, find, xargs, grep, sed, mount, less, stat

Но 10 этих простых и полезных команд, являются необходимыми для начала работы с использованием командной строки 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. Чтобы легче запомнить, от слова man ual:

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

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

На запрос пароля нужно ввести пароль суперпользователя. После чего любая команда будет выполняться от суперпользователя 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 #показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь)

Работа с файлами и директориями 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 пост будет пополняться другими командами.

Наступила пятница, а значит можно немного расслабиться. В этой подборке представлено 7 забавных (и не очень команд), которые можно выполнить в терминале Linux. Какие-то используются в качестве шутки, какие-то очень полезные.

cal — календарь в терминале

Команда cal выводит в терминале календарь.

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

Можно указать год, тогда получим календарь на целый год:

sl — поезд в терминале

sl означает Steam Locomotive — паровоз. Команда была создана для тех, кто неправильно вводит команду ls (данная команда выводит список файлов).

По команде sl в терминале проезжает паровоз.

Установить в Ubuntu:

Sudo apt install sl

rev — все наоборот

Команда rev выводит все, что вы вводите в терминале, но наоборот (от слова rev erse):

figlet — надпись

Команда figlet выводит большими буквами надпись, которую вы ей указали. Надпись выводится ASCII символами.

Установка в Ubuntu:

Sudo apt install figlet

Figlet сайт

banner — баннер

Команда banner , так же как и figlet , выводит в терминале большими буквами символы, которые вы ей указали. Выводятся только первые 10 символов.

Установка в Ubuntu:

Sudo apt install sysvbanner

Banner Pingvinus

aafire — огонь в терминале

Команда aafire для тех, кто хочет увидеть огонь в своем терминале, ASCII огонь.

Установка в Ubuntu:

Sudo apt install libaa-bin

w — самая короткая команда

Команда w примечательна тем, что это самая короткая команда в Linux .

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

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

В первой строке, которую выводит команда w , показано текущее время, uptime (аптайм — время работы системы), количество пользователей, работающих в данный момент и среднее время загрузки системы (system load averages) за последние 1, 5 и 15 минут.

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

По аналогии с ОС Windows, в Линуксе присутствует определенный набор команд для наиболее удобной и быстрой работы в операционной системе. Но если в первом случае мы вызываем утилиту или выполняем действие из «Командной строки» (cmd), то во второй системе действия производятся в эмуляторе терминала. По сути, «Терминал» и «Командная строка» — это одно и то же.

Для тех, кто недавно начал знакомство с линейкой операционных систем семейства Linux, приведем ниже реестр наиболее значимых команд, которые необходимы каждому пользователю. Заметим, что инструменты и утилиты, вызываемые из «Терминала» , являются предустановленными во всех дистрибутивах Linux и не нуждаются в предварительной загрузке.

Управление файлами

В любой операционной системе не обойтись без взаимодействия с различными форматами файлов. Большинство пользователей привыкло для этих целей использовать файловый менеджер, который имеет графическую оболочку. Но все те же манипуляции, а то и больший их перечень, можно провести, используя специальные команды.


Работа с текстом

Вводя в «Терминал» команды, которые непосредственно взаимодействуют с файлами, рано или поздно понадобится вносить правки в них. Для работы с текстовыми документами используются следующие команды:


Управление процессами

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

Данную ситуацию легко можно исправить, завершая ненужные процессы. В системе Linux в этих целях применяют следующие команды:


Окружение пользователя

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


Управление пользователями

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


Просмотр документов

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


Управление сетью

Чтобы настроить интернет и в дальнейшем успешно вносить коррективы в сетевые параметры, необходимо знать хотя бы несколько отвечающих за это команд.


Заключение

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