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