Команды операционной системы linux. Основные команды Linux. Специальные атрибуты файлов

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

Поэтому я решил составить данную подборку команд для новичков в Linux, которые могут пригодиться каждому.

1. ls

Команда ls (если выполнить ее без аргументов) используется для вывода списка файлов в текущей директории.

Чтобы вывести список файлов в директории /home/vasya/.ssh выполните:

Ls /home/vasya/.ssh

2. cd

Команда cd используется для перехода по дереву директорий (перехода в другую папку).

Например, чтобы перейти в директорию /home/vasya/.local нужно выполнить

Cd /home/vasya/.local

3. mv

Команда mv используется для перемещения (или переименования) файлов и директорий.

Например, чтобы переместить директорию /home/vasya/documents в директорию /home/vasya/secret выполните:

Mv /home/vasya/documents /home/vasya/secret

4. cp

Команда cp создает копию файла или директории.

Чтобы скопировать файл messages.log в файл messages.log.bak выполните:

Cp messages.log messages.log.bak

Чтобы скопировать директорию, необходимо после команды добавить аргумент -r . Например, скопируем директорию drivers в display-drivers :

Cp -r drivers display-drivers

5. sudo

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

Например, если вы попытаетесь создать копию файла в «системной» директории /etc , то получите предупреждение Permission denied . Поэтому в данном случае команду нужно выполнять от имени суперпользователя, например:

Sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

6. touch

Командой touch можно создать пустой файл.

Например, создадим пустой файл path.dat :

Touch path.dat

7. find

Команда find предназначена для поиска файлов. Да, это не самая простая команда, но ее знание очень полезно. Для начала достаточно запомнить как искать файлы и директории по имени или по маске (части имени).

Например, найдем в текущей директории все файлы (и директории), имя которых начинается на document , и заканчивается .odt (это могут быть файлы document-history.odt , document1.odt , document.odt , document-linux.odt ):

Find . -name "document*.odt"

Пояснение: символ точки после команды означает, что осуществляем поиск в текущей директории (и во всех директориях внутри текущей). После аргумента -name в кавычках записывается имя файла или маска (шаблон), по которой мы ищем. Символ звездочка в маске означает, что вместо звездочки могут быть любые символы.

8. cat

Команда cat выводит содержимое указанного файла на экран.

Например, чтобы просмотреть содержимое файла /var/log/auth.log выполните:

Cat /var/log/auth.log

9. nano

На самом деле nano это консольный текстовый редактор. Но иногда, это один из немногих способов отредактировать файл из командной строки (например, когда графический интерфейс не грузится или отсутсвует).

Например, чтобы создать или отредактировать существующий файл ftp.cfg выполните:

Nano ftp.cfg

Откроется текстовый редактор. Внесите изменения в файл. Затем нажмите сочетание клавиш Ctrl+x и введите y , чтобы сохранить изменения и выйти (или введите n , чтобы закрыть файл без сохранения изменений).

10. mkdir

Команда mkdir создает пустую директорию.

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

Mkdir backup

rm и rmdir

Это одиннадцатые команды в моей подборке, так как я считаю, что новичкам про них нужно узнавать в последнюю очередь. Команда rm служит для удаления файлов. rmdir предназначена для удаления директорий.

Например удалим файл veryimportantfile.dat:

Rm veryimportantfile.dat

Для удаления директории воспользуемся командной rmdir . Например, удалим директорию photos :

Rmdir photos

apt или apt-get

И еще одна важная команда для тех, кто использует Ubuntu. apt — это менеджер пакетов, который служит для установки и удаления программ (пакетов), обновления системы.

Например, чтобы установить консольный файловый менеджер Midnight Commander , выполните:

Sudo apt install mc

Если apt недоступен, то используйте apt-get :

Sudo apt-get install mc

Что-то еще?

Уверен, что не написал еще массу важных команд. Поэтому добавляйте в комментарии другие must have команды, которые, на ваш взгляд, будут очень полезны для новичков.

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

Что такое Linux?

Linux - это ядро операционной системы. Возможно, вы слышали о UNIX. Ну, так вот, Linux - это клон UNIX. Он был создан Линусом Торвальдсом из Scratch. Linux является бесплатным и имеет открытый исходный код - вы можете просто изменить что-либо в Linux и распространять это под своим названием! Существует несколько сборок на основе Linux, обычно называемых дистрибутивами.

  • Ubuntu Linux
  • Red Hat Enterprise Linux
  • Linux Mint
  • Debian
  • Fedora

Linux в основном используется на серверах. Около 90% интернета работает на серверах Linux и вот почему.

Linux бесплатный,а основной проблемой использования Windows-серверов является их стоимость. Linux быстрый: ОС, которая работает примерно на 80% смартфонов в мире, Android, также сделана из ядра Linux. Linux безопасный, а большинство вирусов в мире работают на Windows.

Linux Shell или «Терминал»

Linux Shell - это программа, которая получает команды от пользователя и передает их ОС для обработки и показывает выходные данные. Shell Linux является его основной частью. Большинство дистрибутивов поставляются с графическим интерфейсом пользователя (GUI), но в основном в серверных Linux используется CLI (интерфейс командной строки).

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

Чтобы открыть терминал, нажмите Ctrl + Alt + T в Ubuntu или нажмите Alt + F2 , введите gnome-терминал и нажмите ввод. В Raspberry Pi введите lxterminal .

Команды Linux

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

1. pwd - когда вы впервые открываете терминал, вы попадаете в домашний каталог вашего пользователя. Чтобы узнать, в каком каталоге вы находитесь, вы можете использовать команду «pwd». Это команда выводит полный путь от корневого каталога к текущему рабочему каталогу: в контексте которого (по умолчанию) будут исполняться вводимые команды. Корень является основой файловой системы Linux. Обозначается косой чертой (/). Каталог пользователя обычно выглядит как "/ home / username".

Результат команды pwd в linux

2. ls - используйте команду "ls", чтобы узнать, какие файлы находятся в каталоге, в котором вы находитесь. Вы можете увидеть все скрытые файлы, используя команду "ls -a".


результат команды ls в linux

3. cd - используйте команду "cd", чтобы перейти в каталог. Например, если вы находитесь в домашней папке и хотите перейти в папку загрузок, вы можете ввести «cd Downloads ». Помните, что эта команда чувствительна к регистру, и вы должны ввести имя папки в точности так, как оно есть. Но есть один нюанс. Представьте, что у вас есть папка с именем «Raspberry Pi». В этом случае, когда вы вводите «cd Raspberry Pi », оболочка примет второй аргумент команды как другой, поэтому вы получите сообщение об ошибке, говорящее о том, что каталог не существует. Здесь вы можете использовать обратную косую черту, то есть: «cd Raspberry\ Pi ». Пробелы работают так: если вы просто наберете «cd » и нажмете клавишу ввода, вы попадете в домашний каталог. Чтобы вернуться из папки в папку до этого, вы можете набрать «cd ..». Две точки возвращают в предыдущий каталог.

результат команды cd в linux

4. mkdir и rmdir - используйте команду mkdir, когда вам нужно создать папку или каталог. Например, если вы хотите создать каталог под названием «DIY», вы можете ввести «mkdir DIY ». Помните, как уже было сказано, если вы хотите создать каталог с именем «DIY Hacking», вы можете ввести «mkdir DIY\ Hacking ». Используйте rmdir для удаления каталога. Но rmdir можно использовать только для удаления пустой директории. Чтобы удалить каталог, содержащий файлы, используйте команду rm.

результат команды mkdir и rmdir в linux

5. rm - используйте команду rm для удаления файлов и каталогов. Используйте «rm -r», чтобы удалить только каталог. Он удаляет как папку, так и содержащиеся в ней файлы при использовании только команды rm.


результат команды rm в linux

6. touch - команда touch используется для создания файла. Это может быть что угодно, от пустого txt-файла до пустого zip-файла. Например, «touch new.txt ».

результат команды touch в linux

7. man и --help - Чтобы узнать больше о команде и о том, как ее использовать, используйте команду man. Показывает справочные страницы команды. Например, «man ls » показывает справочные страницы команды ls. Ввод имени команды и аргумента помогает показать, каким образом можно использовать команду (например, cd --help).


результат команды cd --help в linux

8. cp - используйте команду cp для копирования файлов через командную строку. Он принимает два аргумента: первый - это местоположение файла, который нужно скопировать, второй - куда копировать.

результат команды cp в linux

9. mv - используйте команду mv для перемещения файлов через командную строку. Мы также можем использовать команду mv для переименования файла. Например, если мы хотим переименовать файл «text» в «new», мы можем использовать «mv text new ». Он принимает два аргумента, как и команда cp.

результат команды mv в linux

10. locate - команда locate используется для поиска файла в системе Linux, так же, как команда поиска в Windows. Эта команда полезна, когда вы не знаете, где файл сохранен или фактическое имя файла. Использование аргумента -i с командой помогает игнорировать регистр (не имеет значения, является ли он прописным или строчным). Итак, если вам нужен файл со словом «hello», он дает список всех файлов в вашей системе Linux, содержащих слово «hello», когда вы вводите «locate -i hello». Если вы помните два слова, вы можете разделить их звездочкой (*). Например, чтобы найти файл, содержащий слова «hello» и «this», вы можете использовать команду «locate -i * hello * this».

Промежуточные команды

1. echo - команда "echo" помогает нам перемещать некоторые данные, обычно текст, в файл. Например, если вы хотите создать новый текстовый файл или добавить в уже созданный текстовый файл, вам просто нужно ввести «echo hello, меня зовут hich >> new.txt». Вам не нужно разделять пробелы с помощью обратной косой черты здесь, потому что мы заключаем в две треугольные скобки, когда мы заканчиваем то, что нам нужно написать.

2. cat - Используйте команду cat для отображения содержимого файла. Обычно используется для удобного просмотра программ.

результат команды echo в linux

3. nano, vi, jed - nano и vi уже установлены текстовые редакторы в командной строке Linux. Команда nano - хороший текстовый редактор, который помечает ключевые слова цветом и может распознавать большинство языков. И vi проще, чем nano. Вы можете создать новый файл или изменить файл с помощью этого редактора. Например, если вам нужно создать новый файл с именем «check.txt», вы можете создать его с помощью команды «nano check.txt». Вы можете сохранить ваши файлы после редактирования, используя последовательность Ctrl + X, затем Y (или N для no). По моему опыту, использование nano для редактирования HTML выглядит не очень хорошо из-за его цвета, поэтому я рекомендую jed текстовый редактор. Мы скоро приступим к установке пакетов.

4. sudo - широко используемая команда в командной строке Linux, sudo означает «SuperUser Do». Поэтому, если вы хотите, чтобы любая команда выполнялась с правами администратора или root, вы можете использовать команду sudo. Например, если вы хотите отредактировать файл, такой как viz. alsa-base.conf, для которого требуются права root, вы можете использовать команду - sudo nano alsa-base.conf. Вы можете ввести корневую командную строку с помощью команды «sudo bash», а затем ввести свой пароль пользователя. Вы также можете использовать команду «su», но перед этим вам нужно установить пароль root. Для этого вы можете использовать команду «sudo passwd» (не с орфографической ошибкой, это passwd). Затем введите новый пароль root.

5. df - используйте команду df, чтобы увидеть доступное дисковое пространство в каждом из разделов вашей системы. Вы можете просто ввести df в командной строке и увидеть каждый смонтированный раздел и его использованное / доступное пространство в % и в килобайтах. Если вы хотите, чтобы оно отображалось в мегабайтах, вы можете использовать команду «df -m».


результат команды df -m в linux

6. du - Используйте du, чтобы узнать, как файл используется в вашей системе. Если вы хотите узнать размер занимаемого места на диске для конкретной папки или файла в Linux, вы можете ввести команду df и имя папки или файла. Например, если вы хотите узнать размер дискового пространства, используемое папкой документов в Linux, вы можете использовать команду «du Documents». Вы также можете использовать команду «ls -lah», чтобы просмотреть размеры всех файлов в папке.

7. tar - Используйте tar для работы с tarballs (или файлами, сжатыми в архиве tarball) в командной строке Linux. У него длинный список применений. Он может использоваться для сжатия и распаковки различных типов архивов tar , таких как .tar, .tar.gz, .tar.bz2 и т. д. Это работает на основе аргументов, данных ему. К примеру, "tar -cvf " для создания .tar архива, -xvf для распаковки.tar архива, -tvf для просмотра содержимого архива и т.д.

8. zip, unzip - используйте zip для сжатия файлов в zip-архив и unzip для извлечения файлов из zip-архива.

9. uname - используйте uname, чтобы показать информацию о системе, в которой работает ваш дистрибутив Linux. Использование команды «uname -a» выводит большую часть информации о системе: дату выпуска ядра, версию, тип процессора и т. д.

результат команды uname -a в linux

10. apt-get - используйте apt для работы с пакетами в командной строке Linux. Используйте apt-get для установки пакетов. Это команда требует прав суперпользователя, поэтому используйте команду sudo с ним. Например, если вы хотите установить текстовый редактор jed (как я упоминал ранее), мы можем ввести команду «sudo apt-get install jed». Точно так же любые пакеты могут быть установлены следующим образом. Рекомендуется обновлять ваш репозиторий каждый раз, когда вы пытаетесь установить новый пакет. Вы можете сделать это, набрав «sudo apt-get update». Вы можете обновить систему, набрав «sudo apt-get upgrade». Мы также можем обновить дистрибутив, набрав «sudo apt-get dist-upgrade». Команда «apt-cache search» используется для поиска пакета. Если вы хотите найти его, вы можете ввести «apt-cache search jed» (для этого не требуется root).


11. chmod - используйте chmod, чтобы сделать файл исполняемым и изменить разрешения, предоставленные ему в Linux. Представьте, что на вашем компьютере есть код Python с именем numbers.py. Вам нужно будет запускать «python numbers.py» каждый раз, когда вам нужно его запустить. Вместо этого, когда вы делаете его исполняемым, вам просто нужно запустить «numbers.py» в терминале, чтобы запустить файл. Чтобы сделать файл исполняемым, вы можете использовать команду «chmod + x numbers.py» в этом случае. Вы можете использовать «chmod 755 numbers.py», чтобы дать ему права root, или «sudo chmod + x numbers.py» для исполняемого файла root. Вот еще немного .

12. hostname - Используйте команду hostname , чтобы узнать ваше имя в вашем хосте или сети. По сути, он отображает ваше имя хоста и IP-адрес. Просто набрав «hostname», вы получите имя хоста. Набрав «hostname -I», вы получите свой IP-адрес в сети.

13. ping - используйте ping для проверки вашего соединения с сервером. Википедия говорит: «Ping - это утилита для администрирования компьютерной сети, используемая для проверки доступности хоста в сети Интернет-протокола (IP)». Например, когда вы набираете, «ping google.com », он проверяет, может ли он подключиться к серверу и вернуться обратно. Он измеряет это время в оба конца и дает вам подробную информацию о нем. Использовать эту команду можно и для проверки интернет-соединения. Если он пингует сервер Google (в данном случае) - интернет-соединение активно!


результат команды ping в linux
  • Вы можете использовать команду clear , чтобы очистить терминал, если он там скопилось слишком много команд.
  • TAB можно использовать для заполнения в терминале. Например, вам просто нужно набрать «cd Doc», а затем TAB, и терминал заполняет все остальное и делает его «cd Documents».
  • Ctrl + C может использоваться для безопасной остановки любой команды в терминале. Если Crtl+C не сработал, то можно использовать Ctrl + Z чтобы остановить процесс, запущенный в терминале.
  • Вы можете выйти из терминала, используя команду exit .
    Выключить или перезагрузить компьютер можно с помощью команд sudo halt и sudo reboot .

/usr/bin/lsb_release -ircd # Узнать версию дистрибутива Linux;

uname -a # Показать версию ядра Linux;

uname -m # Отобразить архитектуру компьютера;

hostname # Показать сетевое имя компьютера;

uptime # Время работы системы без перезагрузки и выключения;

shutdown # Выключение\перезагрузка. Примеры:
- shutdown -r now # Перезагрузка;
- shutdown -h 20:00 # Выключить питание в 20:00;
- shutdown -h now # Выключение;

init 0 # Выключение;

halt # Выключение;
logout # Выйти из системы; # Показывает log-файл загрузки ОС;
cat /proc/cpuinfo # Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.);
cat /proc/meminfo # Показать расширенную информацию о занимаемой оперативной памяти;

lshal # Показать список всех устройств и их параметров;
lspci -tv # Показать обнаруженные PCI-устройства;
lsusb -tv # Показать обнаруженные USB-устройства;
lsmod # Список всех модулей загруженных в ядро;
modprobe # Загрузка модулей в ядро, пример: # Пример смены root-окружения на /mnt: chroot /mnt . После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
ldd # Список библиотек, необходимых для конкретной программы. Вывести список библиотек, необходимых для работы ssh: ldd /usr/bin/ssh ;
whereis # Показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к конкретному файлу. Пример: whereis halt ;
crontab # Обеспечивает возможность выполнения определённых задач по расписанию. Подробнее по ссылке cron ;

swapoff # Отключение swap-разделов. Отключаем swap (данные перемещаются в оперативную память): swapoff -a ;

swapon # Включение swap-разделов. Включаем swap: swapon -a ;

date # Просмотр и изменение даты\времени. Примеры:

- date # Показывает текущую дату и время;

- date 041217002007.00 # Установить системные дату и время. Формат: ММДДЧЧммГГГГ.СС;

Файловые операции

pwd # Выводит текущий путь;
ls # Выводит список файлов и каталогов. Пример вывода форматированного списка всех файлов и директорий, включая скрытые: ls -laX ;
cd # Переход по директориям. Примеры:
- cd # Переход в домашнюю директорию;
- cd /home # Пример перехода в /home;
- cd .. # Переход в директорию уровнем выше;
- cd ~user # Перейти в домашнюю директорию пользователя user ;
touch # Создание пустого файла если нет. Пример: touch test.txt ;
rm # Удаление. Примеры:
- rm test.txt # Удаление файла;
- rm -rf temp # Удаление директории temp с вложенными файлами;
cp # Копирование. Примеры:
- cp test.txt /home/test.txt # Копирует test.txt из текущей директории в /home ;
- cp -la /dir1 /dir2 # Копирование директорий;
ln # Cоздание символической ссылки. Пример: ln -s /var/test.txt /home/test.txt - создать символическую ссылку к файлу /var/test.txt в директории /home;
mkdir # Создание директории. Пример: mkdir temp ;
rmdir # Удаление директории. Пример: rmdir temp ;
mv # Перемещение\Переименование. Пример переименования директории: mv /dir1 /dir2 (аналогично с файлами);
locate # Поиск. Пример поиска везде всех файлов с именем test.txt: locate test.txt ;
find # Поиск. Примеры:
- find /home/it -name test.txt # Найти файлы и директории с именем test.txt в /home/it и вложенных;
- find /home/it -name "*.txt" # Найти все файлы и директории в /home/it и вложенных, имена которых оканчиваются на ".txt";
- find /usr/bin -type f -atime +100 # Найти все файлы в "/usr/bin", время последнего обращения к которым более 100 дней;
- find /usr/bin -type f -mtime -10 # Найти все файлы в "/usr/bin", созданные или изменённые в течении последних 10 дней;
stat # Отображение всей доступной информации об указанном файле. Пример: stat test.txt ;
file # Определяет тип файла. Пример: file test.txt ;
chmod # Права доступа, подробнее по ссылке chmod ;
chown # Меняет владельца файла, пример: chown www:www test.txt ;
mc # Файловый менеджер ;

Архивация

tar - архиватор. Примеры:
- tar cf test.tar /home/test.txt # Создать tar-архив с именем test.tar содержащий /home/test.txt;
- tar czf test.tar.gz /home/test.txt # Cоздать tar-архив с сжатием Gzip по имени test.tar.gz;
- tar cjf test.tar.bz2 /home/test.txt # Cоздать tar-архив с сжатием Bzip2 по имени test.tar.bz;
- tar xf test.tar # Распаковать архив test.tar в текущую папку;
- tar xzf test.tar.gz # Распаковать tar-архив с Gzip;
- tar xjf test.tar.bz # Распаковать tar-архив с Bzip2;

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

top # Диспетчер процессов;
ps # Показывает процессы. Примеры:

- ps axjf # Просмотр всех работающих процессов;

- ps -eF # Список процессов с полной строкой запуска;
- ps -U user # Cписок задач, порожденных пользователем user;
pgrep # Поиск процессов. Показать PID процесса sshd: pgrep -l sshd ;
lsof # lsof /home Показывает список процессов, которые используют /home;

fuser -m # Узнать, какой процесс занял устройство. Пример: fuser -m /mnt ;
kill # Убивает процесс. Примеры:

- kill 4712 «Убить» процесс с PID 4712:;

- kill -9 4712 # Принудительно завершает указанный процесс (выполнять если не помогает kill 4712 );

killall # Убивает процессы по имени. Примеры:

- killall x-www-browser # «Убить» процессы x-www-browser ;

- killall -u user # Завершить процессы, порожденные пользователем user;
nice # Позволяет отобразить или настроить приоритет задачи. Примеры:

- nice -4 mc # Запуск mc с приоритетом = текущий+4 ;

renice # Изменение приоритета процесса. Примеры:
- renice 4 -p 11597 # Установить значение приоритета для процесса mc (PID=11597) равным 4;

Оперативная память

free # Информация о состоянии памяти. free -m - показать состояние оперативной памяти в мегабайтах;
dmidecode # Информация о "железе". Информация о кол-ве разъемов оперативной памяти, и вставленных модулях: dmidecode --type 17 . Подробнее о dmidecode по ссылке dmidecode ;

Жесткий диск

du # Информация о размере директории. du -sh /home/it/ выводит на экран размер директории /home/it/ ;
fdisk # Информация о разделах жестких дисков. Информация о всех подключенных жестких и сменных дисках: fdisk -l . Подробнее: fdisk ;
blkid # Выводит UUID всех доступных накопителей информации в системе;
df # Показывает размер свободного места на разделах. Пример: df -h ;
mount # Монтирование. Примеры:
- mount # Показывает полную информацию о примонтированных устройствах;
- mount /dev/sda1 /mnt # Монтирует раздел /dev/sda1 к точке монтирования /mnt;
- umount /mnt # Отмонтирует раздел от точки монтирования /mnt;
badblocks # Проверка на бэд-блоки. badblocks -v /dev/sda1 проверить раздел sda1 на наличие bad-блоков;
fsck # Проверка файловой системы. fsck /dev/sda1 - проверить/восстановить целостность linux-файловой системы раздела sda1;
mkfs # Форматирование, подробнее по ссылке mkfs ;
smartctl # Проверка SMART. smartctl -A /dev/hda - контроль состояния жёсткого диска /dev/hda через SMART, подробнее по ссылке smart ;

hdparm # Информация о жестких дисках, Примеры:
- hdparm -I /dev/sda # Информация о диске /dev/sda ;
- hdparm -tT /dev/sda # Показывает производительность жесткого диска;

Сеть

ping # Пинг. Пропинговать ya.ru и вывести результат: ping ya.ru ;
ifconfig # Утилита настройки сети. Примеры:
- ifconfig # Показать параметры всех активных сетевых интерфейсов;
- ifconfig -a # Показать все сетевые интерфейсы;
- ifconfig eth0 up # Запустить сетевой интерфейс eth0;
- ifconfig eth0 down # Отключить сетевой интерфейс eth0;
- ifconfig eth0 hw ether 00:01:02:03:04:05 # Смена MAC адреса;
- ifconfig eth0 192.168.1.1 netmask 255.255.255.0 # Выставить интерфейсу eth0 IP-адрес и маску подсети;

- ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 # Задать дополнительный IP адрес сетевому интерфейсу eth0;
iwlist scan # просканировать эфир на предмет, доступности беспроводных точек доступа;
iwconfig # Утилита настройки беспроводных сетевых интерфейсов.
- iwconfig wlan0 # Показать конфигурацию беспроводного сетевого интерфейса wlan0;
- iwconfig wlan0 mode ad-hoc # Указываем тип сети - ad-hoc;
- iwconfig wlan0 channel 2 # Указываем частотный канал;
- iwconfig wlan0 essid inet # Указываем имя сети. Подробнее о настройке раздачи интернета по wi-fi здесь: iwconfig ;
route # Настройка маршрутов. Примеры:
- route -n # Выводит на экран таблицу маршрутизации;
- route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 # добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1 (для удаления меняем add на del);
netstat # Текущие сетевые соединения. Пример:

- netstat -tup # Отобразить активные сетевые соединения: ;

- netstat -an | grep LISTEN # Показывает список всех открытых портов;
- netstat -anp -udp -tcp | grep LISTEN # Посмотреть список приложений, которые открывают порты;
ethtool # Информация о текущем режиме сетевого соединения и поддерживаемых. Примеры:

- ethtool eth0 отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения;
- ethtool -s eth0 speed 100 duplex full autoneg off # Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;
tcpdump # Утилита сканирования сетевого трафика. Пример: tcpdump tcp port 80 отобразить весь трафик на TCP-порт 80;
iptables # Утилита настройки файервола;
ssh # Подключение к удаленному компьютеру по ssh. Пример: ssh 10.10.10.4 . Подробнее: ssh ;
wget # Утилита закачки. wget -c http://www.example.com/file.iso загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии;

whois # Узнать информацию о домене, пример: whois сайт ;

dig # Проверка доменных имён. Примеры по ссылке: dig ;

Текст

Печать

lpstat # Просмотр списка принтеров. Получить список всех доступных принтеров lpstat -a ;
lp # Команда отправки на печать. Подробнее: ;
lpr # Команда отправки на печать. Пример: lpr -P Kyocera_Kyocera_FS-4020DN test.txt ;

lprm - # Удаление очереди печати;

Пользователи и группы

id # Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);

adduser # Добавление нового пользователя. Пример добавления пользователя it: adduser it ;

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

groupadd # Добавление новой группы. Пример: groupadd ITgr ;

usermod # Изменения настроек пользователя. usermod -a -G ITgr it добавляет пользователя it в группу ITgr;

userdel # Удаление пользователя. Пример: userdel it ;

groupdel # Удаление группы. Пример: groupdel ITgr ;

users # Отображает краткий список пользователей работающих в системе в данный момент;

exit # Завершить сеанс текущего пользователя;

last # Отобразить регистрации пользователей в системе;

Разное

watch # Каждые n-секунд команда watch запускает нужную комаду. Пример: watch -n 5 "cat /proc/loadavg" Каждые пять секунд будет выводится результат команды просмотра средней загруженности компьютера;

screen # Оконный менеджер. Подробнее по ссылке: screen ;
dc # Калькулятор;
cal # Календарь. Примеры:
- cal -3 # Покажет предыдущий, текущий и последующий месяц;
- cal 2015 # Календарь 2015-го года;
sleep # Задержка на указанный промежуток времени, в примере 10 сек: sleep 10 ;
history # Показывает пронумерованный список команд, которые выполняли в этом и предыдущем сеансе;

script # Cоздать журнал своей консольной сессии. Сохраняется все что вводили, и все, что выдавалось на экран. Пример: script history.txt . Чтобы прекратить запись, введите exit ;

which # Отобразить полный путь исполняемого файла, например which ifconfig ;

wall # Вывести сообщение на все терминалы пользователей, пример: wall hello ;

reset # Сбросить настройки терминала и очистить его;

clear # Очищает экран терминала;

beep # Воспроизвести звуковой сигнал;

Справка

man # Справка;
man ls # Справка по команде ls;

* Для некоторых команд нужны полные права;

** Для некоторых команд требуется установка дополнительного программного обеспечения.

  1. && . Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias . Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd . Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear . Очищает окно терминала от всех сообщений.
  5. history . Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man . Отображает руководство по программам и командам . Введите man имя_пакета или man ваша_команда.
  7. whatis . Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.

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

  1. sudo . Эта команда даст вам права суперпользователя. Введите sudo перед нужной командой (например, sudo apt upgrade), чтобы выполнить её от имени администратора. Система спросит у вас пароль.
  2. sudo su . После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.
  3. sudo gksudo . Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введите sudo gksudo nautilus (укажите тот файловый менеджер, которым пользуетесь).
  4. sudo !! . Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo .

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

Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и пакетный менеджер называется apt, в Fedora - dnf, в Arch и Manjaro - pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.

apt (Debian/Ubuntu/Mint)

  1. sudo apt install имя_пакета. Установить нужный пакет.
  2. sudo apt-add-repository адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo apt update . Обновить сведения о пакетах.
  4. sudo apt upgrade . Обновить все пакеты до самых свежих (выполнять после apt update).
  5. sudo apt remove имя_пакета. Удалить ненужный пакет.
  6. sudo apt purge имя_пакета. Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
  7. sudo apt autoremove . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.

dnf (Red Hat/Fedora/CentOS)

  1. sudo dnf install имя_пакета. Установить нужный пакет.
  2. sudo dnf config-manager --add-repo адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo dnf upgrade . Обновить все пакеты до самых свежих.
  4. sudo dnf remove имя_пакета. Удалить ненужный пакет.
  5. sudo dnf autoremove . Удалить все ненужные зависимости.

pacman (Arch/Manjaro)

  1. sudo pacman -S имя_пакета. Установить нужный пакет.
  2. sudo yaourt -S имя_пакета. Установить пакет из AUR, если его нет в основном репозитарии.
  3. sudo pacman -Sy . Обновить сведения о пакетах.
  4. sudo pacman -Syu . Обновить все пакеты до самых свежих.
  5. sudo pacman -R имя_пакета. Удалить ненужный пакет.
  6. sudo pacman -Rs имя_пакета. Удалить ненужный пакет со всеми зависимостями.

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

sudo apt install firefox clementine vlc

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

  1. kill . Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top .
  2. xkill . Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.
  3. killall . Убивает процессы c определённым именем. К примеру, killall firefox .
  4. top . Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».

Просмотр и изменение файлов

  1. cat . Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два и больше файлов, cat путь_к_файлу_1 путь_к_файлу_2 , она склеит их. Если ввести cat путь_к_файлу_1 > новый_файл, она объединит содержимое указанных файлов в новый файл.
  2. chmod . Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
  3. chown . Изменяет владельца файла. Следует выполнять с правами суперпользователя.
  4. file . Выводит информацию об указанном файле.
  5. nano . Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
  6. rename . Переименовывает файл или несколько файлов. Команду можно использовать и для файлов по маске.
  7. touch . Изменяет дату последнего открытия или модификации указанного файла.
  8. wget . Загружает файлы из интернета в терминальную папку.
  9. zip . Распаковывает и сжимает архивы.

Создание и удаление файлов и папок

  1. mkdir . Создаёт новую папку в текущей терминальной папке или в указанной папке: mkdir путь_к_папке.
  2. rmdir . Удаляет указанную папку.
  3. rm . Удаляет файлы. Может удалить как отдельный файл, так и группу, соответствующую определённым признакам.

Копирование и перемещение файлов

  1. cp . Создаёт копию указанного файла в папке терминала: cp путь_к_файлу. Или вы можете указать назначение cp путь_к_файлу путь_для_копии.
  2. mv . Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования файлов. Просто укажите ту же папку, где находится файл, и другое имя.

Поиск файлов

  1. find . Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
  2. grep . Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
  3. locate . Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.

  1. lsblk . Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.
  2. mount . Монтирует накопители, устройства или файловые системы , чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO-образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX .
  3. umount . Демонтирует файловые системы. Команда umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.
  4. dd . Эта команда копирует и преобразовывает файлы и разделы. У неё множество различных применений. Например, dd if=/dev/sda of=/dev/sdb сделает точную копию раздела sda на разделе sdb. dd if=/dev/zero of=/dev/sdX затрёт содержимое указанного носителя нулями, чтобы информацию было невозможно восстановить. А dd if=~/Downloads/ubuntu.iso of=/dev/sdX bs=4M сделает загрузочный носитель из скачанного вами образа с дистрибутивом.

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

  1. useradd . Регистрирует нового пользователя. Введите useradd имя_пользователя, и пользователь будет создан.
  2. userdel . Удаляет учётную запись и файлы пользователя.
  3. usermod . Изменяет учётную запись пользователя. Может переместить домашнюю папку пользователя или назначить дату, когда учётная запись будет заблокирована.
  4. passwd . Изменяет пароли учётных записей. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.

Команды Linux для управления сетью

  1. ip . Многофункциональная команда для работы с сетью. Команда ip address show выводит сведения о сетевых адресах, ip route управляет маршрутизацией и так далее. Давая команды ip link set ethX up , ip link set ethX down , можно включать и выключать соединения. У команды ip много применений, так что перед её использованием лучше ознакомиться с руководством или ввести ip --help
  2. ping . Показывает, подключены ли вы к сети, и помогает определить качество связи.

И ещё кое-что

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

  1. cowsay что_угодно. Корова произнесёт то, что вы ей скажете.
  2. fortune | cowsay . Корова выдаст умную (или не очень) мысль или цитату.
  3. cowsay -l . Выводит список всех животных, которые могут быть отображены в терминале. Если вы вдруг не любите коров.
  4. fortune | cowsay -f животное_из_списка. Животное на ваш выбор начинает сыпать цитатами, иногда уместными.
  5. sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru . Заставит весь зоопарк говорить по-русски. Без этого животные цитируют Твена и Уайльда .

Это далеко не все команды Linux. Если вам нужно узнать в деталях параметры и способы применения команд Linux, вы можете воспользоваться встроенным руководством. Наберите man ваша_команда или ваша_команда --help .

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

В этой статье накануне праздников мы рассмотрим прикольные команды Linux. Но перед тем как перейти к командам, давайте начнем с самого терминала.

Недавно появился на свет проект эмулятора терминала в виде старого экрана. Смотрится очень даже неплохо:

Для установки в Ubuntu можно использовать репозиторий PPA:

sudo add-apt-repository ppa:noobslab/apps
$ sudo apt-get update
$ sudo apt-get install cool-retro-term

В OpenSUSE пакет доступен в software.opensuse.org. После завершения установки запустить программу можно командой:

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

Терминал у нас подходящий, теперь можно и посмотреть существующие шутки в терминале Linux.

1. Cowsay

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

Очень удобно использовать для приветствия терминала. Установить программу можно из официальных репозиториев Ubuntu командой:

sudo apt-get install cowsay

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

Cow files in /usr/share/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu head-in hellokitty kiss kitty koala kosh luke-koala
mech-and-cow meow milk moofasa moose mutilated pony pony-smaller ren sheep
skeleton snowman sodomized-sheep stegosaurus stimpy suse three-eyes turkey
turtle tux unipony unipony-smaller vader vader-koala www

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

cowsay -f dragon "Привет мир!"

Поддерживаются также и другие опции, для изменения поведения программы, смотрите справку man.

2. Cowthink

Программа, очень похожая на первую Оказывается, коровы могут не только разговаривать, но и думать. Она устанавливается вместе с cowsay, поэтому ничего дополнительно ставить не нужно:

cowthink "Я все-таки дочитаю эту статью до конца"

cowthink -f dragon "Сейчас все сожгу"

Поддерживаются те же опции.

3. sl

Если вы неверно введете команду ls, вместо нее напишете sl - то в терминале справа налево проедет паровоз. Для установки в Ubuntu наберите:

sudo apt-get install sl

А теперь:

Опция -F заставит поезд взлетать, а -l уменьшит его до размера баннера.

4. figlet

Утилита позволяет рисовать большие текстовые баннеры в терминале. Такие баннеры используются в приветствиях ssh или telnet серверов:

Если не установлена, используйте в Ubuntu:

sudo apt-get install figlet

Поддерживаются разные шрифты, но нет поддержки юникода:

figlet -f slant Hello

5. toilet

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

Установка такая же:

sudo apt-get install toilet

Команда toilet поддерживает намного больше возможностей, например здесь есть поддержка Unicode, цветные шрифты (-f), фильтры(-F) и т д.

Например:

toilet -f bigmono9 -F gay "Hello"

6. banner

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

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

sudo apt-get install sysvbanner

7. fortune

Команда fortune выводит одну случайную, но возможно полезную цитату:

Опция s указывает утилите генерировать цитаты небольшого размера.

Для вывода цитаты можно использовать cowsay:

fortune | cowsay

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

sudo apt-get install fortune

Для установки русских цитат выполните:

sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru

8. cmatrix

Программа нарисует матрицу, такую же как в одноименном фильме в вашем терминале:

Для установки в Ubuntu выполните:

sudo apt-get install cmatrix

9. Rev

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

10. Пасхалка в apt-get

Пасхалки в Linux довольно редкое явление, но они есть. В команде apt-get есть такое пасхальное яйцо:

11. Пасхалка aptitude

В aptitude тоже есть эта пасхалка, но активируется она не сразу:

Вы можете смотреть звездные войны в терминале подключившись к серверу towel.blinkenlights.nl с помощью telnet:

telnet towel.blinkenlights.nl

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

13. Цикл yes

Команда будет продолжать печатать указанное слово бесконечно, пока вы не нажмете Ctrl + C. В большинстве случаев от нее нет никакой пользы, но она может пригодиться при тестировании программ, когда нужно сгенерировать большое количество текстовой информации:

14. factor

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

15. pi

Команда pi выведет число pi до нужного количества знаков, например, посмотрим первые 500 знаков после запятой:

Команды factor и pi не относятся к категории веселые команды linux, но могут быть очень полезными в некоторых ситуациях.

16. xcowsay

xcowsay - это графический интерфейс для команды cowsay, для ее запуска вам будет нужен запущенный Х сервер. Программа не будет работать только в терминале:

xcowsay "Привет!"

Для установки в Ubuntu используйте:

sudo apt-get install xcowsay

17. xeyes

Программа xeyes рисует пару глаз на рабочем столе. Они следуют за курсором мыши, и таким образом вы точно не потеряете курсор.

Затем выполните:

18. asciiviewer

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

Сначала ее нужно установить:

sudo apt-get install aview

Затем проверяем:

asciiview test.png -driver curses

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

19. aafire

Любите смотреть на огонь? Не проблема, эта команда тоже относится к набору asciiart и с помощью нее можно зажечь огонь в терминале:

Установка:

sudo apt-get install caca-utils

20. bb

Это аудио-визуализация отличного качества, работающая в текстовом терминале. В анимации используется только текст, но кроме рисунка есть и фон. За ней очень интересно наблюдать:

Установка:

sudo apt-get install bb

21. rig

Программа генерирует случайные и скорее всего, фейковые идентификационные данные:

Alberta Ramirez
990 Brandy Run
Chicago, IL 60607
(312) xxx-xxxx

Установить программу можно командой:

sudo apt-get install rig

22. thefuck

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

Для того чтобы установить программу можно загрузить ее из GitHub:

wget -O - https://raw.githubusercontent.com/nvbn/thefuck/master/install.sh | sh - && $0

Выводы

Вот и все. Если вы знаете другие веселые, смешные или прикольные команды linux которые я упустил - напишите в комментариях!