Linux для чайника – Telegram
Linux для чайника
20K subscribers
86 photos
4 files
77 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
10 простых трюков, которые легко запомнить и можно тут же начать использовать.

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

Создать пустой файл или уничтожить все данные в файле поможет команда > file_name.txt.

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

В качестве альтернативы сетевым командам ping и traceroute можно воспользоваться mtr.

Команда ps aux покажет много диагностических данных в удобном виде.

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

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

Если ты ввел длинную команду, но допустил опечатку, ее можно исправить при помощи замены подстроки. Например, мы хотим заменить foo на bar. Если ввести просто ^foo, то в предыдущей команде первое вхождение foo будет удалено. Если ввести ^foo^bar, то произойдет замена.

Для очистки терминала достаточно комбинации клавиш Ctrl + l. Или можешь нажать Ctrl + Shift + x. Ну а с командой clear ты уже наверняка знаком.

Понадобилось зайти в директорию, вывести список файлов и вернуться обратно? Для этой распространенной задачи можешь набрать (cd /tmp && ls). Удобно «подсматривать» и в родительский каталог — для этого в качестве пути просто укажи /...
Нужно с кем-то поговорить? Есть корова.

установить:
sudo apt-get install cowsay

cowsay что_угодно Корова произнесёт то, что вы ей скажете.

fortune | cowsay Корова выдаст умную (сомнительно) мысль или цитату. (перед этим установить sudo apt-get install fortune)

cowsay -l Выводит список всех из этого зоопарка, которые могут быть отображены в терминале. Если вы вдруг не любите коров. (есть лиса, пони, коала, ... и даже .. пакет молока)

fortune | cowsay -f животное_из_списка Животное на ваш выбор начинает сыпать цитатами.

sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru Заставит весь зоопарк говорить по-русски. Без этого животные цитируют Твена и Уайльда
‼️ rm -rf / ‼️

Опасность в работе с командой кроется лишь в неопытности пользователей, которые, выполняя команду, не знают, что именно она делает.
Так, нередки случаи, когда пользователи запускали опасную команду rm -rf / и им оставалось лишь наблюдать, как медленно, но верно операционная система самоуничтожается. Да, именно самоуничтожается, потому что команда запускает процесс удаления содержимого корневой файловой системы. При выполнении этой команды не запрашиваются никакие подтверждения на удаление благодаря ключу -f

Позже разработчики UNIХ-подобных операционных систем сделали так, что команда перестала выполняться без указания специального ключа. Таким образом, только при наличии ключа --no-preserve-root применительно к команде система сможет выполнить самоуничтожение.
Перезагрузить твою Ubuntu прямо сейчас:
shutdown -r now

Аналогично выключить прямо сейчас:
shutdown -Р now

Запланировать выключение компьютера в 04:20
shutdown -P 04:20
(В ответ получим сообщение со статусом запланированной операции)

Сообщение к запланированной операции перезагрузки компьютера:
shutdown -r 20:30 "Перезагружаемся в 20:30"
(Таким образом оповестим, что работа будет прервана)

Отменить запланированное выключение или перезагрузку:
shutdown -c


Для перезагрузки есть еще reboot, аналогичная shutdown -r now. Но на деле shutdown действует мягко, вызывая системные и локальные rc.d с параметром stop. А reboot вырубает все сразу, не давая процессам сохранить свои данные.
Продаете рыбов?

Это просто аквариум в терминале.

Установить аквариум через snap:
sudo snap install asciiquarium

(Если нет снапа - просто установи его уже)

Для запуска аквариума:
asciiquarium

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

which cat

(После выполнения отобразится каталог в котором находится cat)

Можно и несколько:
which ls which ping who
(Все отобразится в порядке очереди)

Параметр -a сразу после which покажет все совпадения, если они есть.
Идентификатор администратора системы (пользователя root) равен:
Anonymous Quiz
16%
448
26%
1
43%
0
15%
любой
Запускаем утилиту без опций, указав только название файла(который существует, естественно):

wc some_file

(Команда выдала сколько строк, слов, байтов и название файла.)

Основных опций тут не много. но этого достаточно:
показывает размер в байтах;
-m считает количество символом в документе;
-l считает количество строк в документе;
-L показывает длину наибольшей строки в документе;
-w количество слов в документе;

Несколько составных примеров:

ls | wc -l
Подсчитает количество файлов + папок в текущем каталоге без вложенных.

find . -type f | wc -l
В текущем каталоге рекурсивно посчитает количество файлов.

sudo ls -R / | wc -l
Подсчитает общее число файлов в системе (займет некоторое время).
(В приведенных примерах находимся в месте расположения файла)

Для удаления файла some_file используем rm с именем файла в качестве аргумента:
rm some_file

Можно сразу несколько:
rm some_file1 some_file2 some_file3

Удалить все файлы в текущей директории:
rm *

Выдавать запрос перед удалением каждого файла:
rm -i *

Удаляем директорию и ее содержимое:
rm -r mydir

Удаляем все файлы в каталоге, которые не соответствуют определенному расширению:
rm !(*.html | *.css | *.php | *.png)
Одна интересная особенность, которая кроется при работе с текстовыми файлами, созданными в ОС Windows, - это наличие так называемых кракозябр вместо текста.

Случается это по той причине, что документы, созданные в ОС Windows, по умолчанию сохраняются в кодировке Windows-1251 вместо более распространенной UTF-8. 

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

(в Gedit пункт Открыть и в окне выбора файла указываем кодировку Кириллица (WINDOWS-1251), а затем нажимаем кнопку Открыть. Если не сработало, то закрываем док в текстовом редакторе и открываем снова. т. к. редактор Gedit не открывает еще одну копию уже открытого документа).
Tilix — очередной эмулятор терминала в котором можно разделить окна на несколько терминалов по горизонтали или вертикали.

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

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

Установить это изобретение:
sudo apt install tilix
Можно создать сразу несколько:
touch some_file1 some_file2 some_file3

Либо вообще так, для такого формата:
touch some_file{1,2,3}

Через команду: ls -l можно посмотреть дату последнего использования файла (напр. после записи туда чего-либо). Присвоить эту дату от some_file1 к some_file2 можно так:
touch -r some_file1 some_file2

Изменить метку времени последнего доступа к файлу:
touch -a some_file1
посмотреть эти изменения:
ls -l some_file1 --time=atime

Изменить метку времени последнего изменения файла:
touch -m some_file1
посмотреть эти изменения:
ls -l some_file

Изменить дату файла:
touch -d '18 Apr 2007' some_file
посмотреть эти изменения:
ls -l some_file

нормально так, да ..
Stellarium - бесплатный виртуальный планетарий

Более 600000 объектов на трехмерной реалистичной карте звездного неба в режиме реального времени.

Программа написана на C++, использует графическую библиотеку Qt. Для создания изображения использует OpenGL.

Кое-какие настройки и расширенное описание: [..тут..]

Ковидные ограничения снимаются, а в планетарий идти все равно не хочется? .. пожалуйста:

sudo apt install stellarium
В повседневной жизни для пакетных дел достаточно четырёх вещей:

Обновляем локальный список индексов:
sudo apt update

Устанавливаем все существующие обновления:
sudo apt upgrade

Устанавливаем какой-либо пакет:
sudo apt install package_name

Удаляем установленный пакет:
sudo apt remove package_name

Остальные вспомогательные:
apt purge Удалить пакет и конфиг. файлы

apt autoremove Удалить неиспользуемые пакеты

apt list Список пакетов

apt search Поиск пакета

apt show Информация о пакете

apt full-upgrade   Полное обновление. Предусматривает предварительное удаление старых версий пакетов из системы. (аккуратнее с ней.)
Какая из перечисленных команд НЕ имеет отношения к справочной подсистеме Linux?
Anonymous Quiz
13%
man
39%
showhelp
14%
info
33%
whatis
Каталог /tmp/

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

Обычно по завершении работы приложения все временные данные удаляются, а сам каталог /tmp/ очищается при загрузке ОС.

Переполнить tmp сложно, но возможно. (вдруг ты сис. админ у которого сервер редко перезагружается и обслуживает тысячи всего на свете. Заполнение каталога /tmp может быть проблемой.)

Очищать данный каталог можно и вручную, но стоит иметь в виду, что некоторые файлы могут использоваться в тот или иной момент, а их несвоевременное удаление может привести к ошибке в работе программы.
Если при удалении случайно зацепил сам /tmp/ , то немедленно сделай:
sudo mkdir /tmp
sudo chmod 1777 /tmp

Разумеется, хранить свои личные данные в этом каталоге - весьма глупое занятие - да?
Один из способов издевательства над системой - Форк бомба

:(){
:|:&
};:

Это скрипт, который создает множество процессов, пока компьютер не зависнет.
Единственным решением остается отключение питания.

Что к чему:
:() Определение функции.
Открытие функции.
:|: Далее, загружает копию функции «:» в память тем самым, будет вызывать само себя рекурсивно. Передает результат на другой вызов функции.
‘:’ Худшая часть — функция, вызываемая два раза, чтобы «бомбить» вашу систему.
& Помещает вызов функции в фоновом режиме, чтобы fork (дочерний процесс) не мог «умереть» вообще, тем самым это начнет есть системные ресурсы.
} Закрытие функции.
;  Завершает определение функции. Разделяет команды.
:  Запускает функцию которая порождает fork bomb().

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

Linux Mint: продвинутый опыт не требуется. Прост в установке, прост в использовании.

Debian: действительно бесплатный дистрибутив без проприетарных драйверов, прошивки или ПО.

Ubuntu: современный дистрибутив Linux, который прост в установке и использовании.

openSUSE: стабильный, мощный. Не так просто установить, как Mint и Ubuntu, но тем не менее является очень хорошей альтернативой.

Fedora: самый современный дистрибутив Linux со всеми новыми концепциями.

Mageia: восстал из пепла некогда великой Mandriva Linux. Прост в установке и использовании.

CentOS: как и в Fedora, CentOS основан на коммерческом дистрибутиве Red Hat. В отличие от Fedora, он создан для стабильности.

Manjaro: основанный на Arch Linux. Отличный баланс между простотой использования и современным ПО.

LXLE: на основе легкого дистрибутива Lubuntu. Полнофункциональный дистрибутив для старого оборудования

Arch: rolling release дистрибутив означает, что вы не должны устанавливать новые версии ОС, потому что оно самостоятельно обновляется. Сложнее для нового пользователя в освоении, но очень мощный.

Elementary: Linux с интерфейсом в стиле Mac.