fa
Feedback
🐧 Linux Junior. Программирование под Linux.

🐧 Linux Junior. Программирование под Linux.

رفتن به کانال در Telegram

Канал для программистов работающих с Linux. Почти все Python девелоперы с нами ну и другие тоже подтянутся. По рекламе: @jannytg @anothertechrock

نمایش بیشتر
3 114
مشترکین
+124 ساعت
-17 روز
-730 روز

در حال بارگیری داده...

جذب مشترکین
ژوئن '26
ژوئن '26
+11
در 0 کانال‌ها
مه '26
+6
در 0 کانال‌ها
Get PRO
آوریل '26
+13
در 0 کانال‌ها
Get PRO
مارس '26
+6
در 0 کانال‌ها
Get PRO
فوریه '26
+4
در 0 کانال‌ها
Get PRO
ژانویه '26
+6
در 0 کانال‌ها
Get PRO
دسامبر '25
+7
در 0 کانال‌ها
Get PRO
نوامبر '25
+11
در 0 کانال‌ها
Get PRO
اکتبر '25
+11
در 0 کانال‌ها
Get PRO
سپتامبر '25
+29
در 1 کانال‌ها
Get PRO
اوت '25
+7
در 0 کانال‌ها
Get PRO
ژوئیه '25
+11
در 0 کانال‌ها
Get PRO
ژوئن '25
+6
در 0 کانال‌ها
Get PRO
مه '25
+9
در 0 کانال‌ها
Get PRO
آوریل '25
+28
در 1 کانال‌ها
Get PRO
مارس '25
+74
در 1 کانال‌ها
Get PRO
فوریه '25
+18
در 0 کانال‌ها
Get PRO
ژانویه '25
+13
در 0 کانال‌ها
Get PRO
دسامبر '24
+12
در 0 کانال‌ها
Get PRO
نوامبر '24
+3
در 0 کانال‌ها
Get PRO
اکتبر '24
+7
در 0 کانال‌ها
Get PRO
سپتامبر '24
+22
در 0 کانال‌ها
Get PRO
اوت '24
+11
در 0 کانال‌ها
Get PRO
ژوئیه '24
+9
در 0 کانال‌ها
Get PRO
ژوئن '24
+4
در 0 کانال‌ها
Get PRO
مه '24
+9
در 0 کانال‌ها
Get PRO
آوریل '24
+15
در 0 کانال‌ها
Get PRO
مارس '24
+7
در 0 کانال‌ها
Get PRO
فوریه '24
+19
در 0 کانال‌ها
Get PRO
ژانویه '24
+23
در 0 کانال‌ها
Get PRO
دسامبر '23
+24
در 0 کانال‌ها
Get PRO
نوامبر '23
+15
در 0 کانال‌ها
Get PRO
اکتبر '23
+14
در 0 کانال‌ها
Get PRO
سپتامبر '23
+26
در 0 کانال‌ها
Get PRO
اوت '23
+30
در 0 کانال‌ها
Get PRO
ژوئیه '23
+29
در 0 کانال‌ها
Get PRO
ژوئن '23
+42
در 0 کانال‌ها
Get PRO
مه '23
+835
در 0 کانال‌ها
Get PRO
آوریل '23
+39
در 0 کانال‌ها
Get PRO
مارس '23
+18
در 0 کانال‌ها
Get PRO
فوریه '23
+17
در 0 کانال‌ها
Get PRO
ژانویه '23
+11
در 0 کانال‌ها
Get PRO
دسامبر '22
+3
در 0 کانال‌ها
Get PRO
نوامبر '22
+8
در 0 کانال‌ها
Get PRO
اکتبر '22
+105
در 0 کانال‌ها
Get PRO
سپتامبر '22
+20
در 0 کانال‌ها
Get PRO
اوت '22
+21
در 0 کانال‌ها
Get PRO
ژوئیه '22
+50
در 0 کانال‌ها
Get PRO
ژوئن '22
+638
در 0 کانال‌ها
Get PRO
مه '22
+946
در 0 کانال‌ها
Get PRO
آوریل '22
+6 365
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
27 ژوئن0
26 ژوئن+1
25 ژوئن0
24 ژوئن0
23 ژوئن+1
22 ژوئن0
21 ژوئن+1
20 ژوئن+1
19 ژوئن0
18 ژوئن+1
17 ژوئن+1
16 ژوئن0
15 ژوئن0
14 ژوئن+1
13 ژوئن0
12 ژوئن+1
11 ژوئن+1
10 ژوئن0
09 ژوئن0
08 ژوئن0
07 ژوئن+1
06 ژوئن+1
05 ژوئن0
04 ژوئن0
03 ژوئن0
02 ژوئن0
01 ژوئن0
پست‌های کانال
Какая команда собирает переданные ей аргументы в строку и выполняет эту строку, как если бы это была команда, введённая прямо в оболочке?
Anonymous voting

2
👩‍💻 Утилита tldr Проект tldr-pages — это сборник поддерживаемых сообществом справочных страниц для инструментов командной строки, который призван стать более простым и доступным дополнением к традиционным справочным страницам man. TL; DR - это аббревиатура, используемая в Интернете, чтобы сказать, что публикация, статья, комментарий или страница руководства слишком длинные, и поэтому написавший "TL; DR" их не читал. Команда tldr позволяет выводить максимально сжатую сводку информации по консольным утилитам (назначение и список самых популярных опций). ⚙️ Установка sudo apt install tldr # Для Ubuntu/Debian sudo pacman -S tldr # Для Arch ⚙️ Пример использования tldr tar В результате получите наглядные примеры: как распаковать архив, добавить файлы и так далее. 📱 Ссылка на GitHub Tldr
682
3
👩‍💻 Команда fd — быстрая и удобная альтернатива find fd — это современная, быстрая и удобная альтернатива стандартной команде find. Она делает то же самое — ищет файлы и каталоги, — но проще в использовании, работает быстрее и выдает чистый, цветной, читаемый вывод. ⚙️ Установка В большинстве дистрибутивов Linux fd доступна в официальных репозиториях: sudo apt install fd-find # Для Debian/Ubuntu sudo dnf install fd-find # Для Fedora sudo pacman -S fd # Для Arch Linux ⚙️ Синтаксис: fd [паттерн] [директория] ⚙️ Базовое использование 1️⃣ Поиск по имени файла: fd filename Найдёт все файлы, имя которых содержит “filename”. 2️⃣ Поиск по шаблону: fd 'pattern' Поддерживаются регулярные выражения для шаблонов. 3️⃣ Поиск в определённой директории: fd filename /path/to/dir 4️⃣ Исключение бинарных файлов (по умолчанию): fd 'filename' fd ищет только в текстовых файлах, игнорируя двоичные. 5️⃣ Поиск по типу файлов: • Только файлы: fd -t f • Только директории: fd -t d 6️⃣ Вывод полной информации: fd -l Показывает подробные пути к найденным объектам. 7️⃣ Поиск с учётом регистра: fd -s filename 8️⃣ Пример поиска в проекте: Найти все файлы с расширением .rs в текущем каталоге и его подкаталогах: fd '\.rs$'
681
4
👩‍💻 Команда lsof В Linux всё — это файл: обычные файлы, сокеты, устройства, каталоги, процессы. "lsof" расшифровывается как List Open Files — "список открытых файлов". Соответвенно, команда lsof позволяет просматривать информацию об открытых файлах и связанных с ними процессах: ✔️ какие файлы, сокеты и порты открыты ✔️ каким процессом они используются ✔️ кто блокирует нужный файл ✔️ что "занимает" устройство, диск или порт Эта утилита вам пригодится, если вы сталкиваетесь с ошибками доступа к файлам, например, при монтировании, удалении или использовании разделов. ⚙️ Синтаксис: lsof [опции] ⚙️ Примеры использования 1️⃣ Проверить, кто занимает порт. lsof -i :80 Покажет процесс (PID), который слушает порт 80. 2️⃣ Найти процесс, держащий файл "занятым". lsof /path/to/file Если файл нельзя удалить или смонтировать диск — это поможет выяснить, кто его использует. 3️⃣ Проверить активные сетевые соединения. lsof -i Выведет список всех TCP/UDP подключений (локальные и удалённые адреса, PID, программа). 4️⃣ Найти удалённые, но не освобождённые файлы. lsof +L1 Полезно, если диск "заполнен", но место не освобождается — это покажет процессы, держащие "удалённые" файлы открытыми. 5️⃣ Вывести все файлы, открытые процессом. lsof -p 1234 Покажет, какие файлы, сокеты и устройства открыты у процесса с PID 1234. 6️⃣ Посмотреть, кто использует каталог. lsof +D /var/log/ Полезно при попытке размонтировать диск или директорию — можно увидеть, кто удерживает файлы внутри.
750
5
👩‍💻 Утилита symlinks symlinks — это консольный инструмент в Linux, который помогает управлять символьными ссылками (symbolic links, или "ярлыками" в файловой системе). Она позволяет искать, проверять и исправлять ссылки в заданном каталоге. На большинстве систем утилита ставится пакетом symlinks: sudo apt install symlinks # Ubuntu, Debian sudo dnf install symlinks # Fedora sudo pacman -S symlinks # Arch ⚙ Синтаксис: symlinks [опции] [каталог] ⚙ Опции: -c — заменить абсолютные / беспорядочные ссылки на относительные -d — удалить битые ссылки -o — предупреждать о ссылках между файловыми системами -r — проверять рекурсивно подкаталоги -s — сокращать длинные ссылки (отображаются в выводе только если не указан параметр -c) -t — показывать, что будет сделано с помощью -c -v — показывать подробный отчет (выводит все ссылки) ⚙ Примеры использования: 1⃣ Найти все симлинки в каталоге /usr/local/bin: symlinks -v /usr/local/bin Команда выведет список ссылок и покажет, какие из них "good" — рабочие, а какие "dangling" — битые (ведут в несуществующий файл). 2⃣ Проверить рекурсивно и удалить битые ссылки: sudo symlinks -rd /opt/ 3⃣ Только проверить, не изменяя ничего: symlinks -rv /home/user/projects ⚙ Практический смысл: 🔎 Проверка целостности системы или проекта. После обновлений или чисток пакетов остаются "битые" ссылки — ведущие в никуда. 🔎 Подготовка окружения для деплоя или контейнера. При переносе проекта, создании Docker-образа или сборке пакета абсолютные пути могут сломаться (например, /home/user/... внутри контейнера не существует). 🔎 Чистка симлинков после ручной установки софта. Когда программы ставятся вручную, часто создаются симлинки в /usr/local/bin → /opt/.... После удаления директории /opt/app ссылки остаются. 🔎 Работа с большими файловыми архивами или бэкапами. При создании резервных копий с помощью rsync или копировании проекта на другой диск относительные ссылки часто "ломаются", потому что пути изменились. 🔎 Упрощение диагностики. Можно быстро увидеть, какие файлы — ссылки и куда они ведут. Это удобно, например, при разборе чужой системы или CI/CD окружения.
765
6
👩‍💻 Утилита форматирования column column — это небольшая, но очень удобная консольная команда Linux, предназначенная для форматирования текста в столбцы. column берет текстовый ввод (обычно строки, разделённые пробелами, табами или другим символом) и выравнивает его в табличный формат. Это особенно удобно при работе с командами вроде cat, awk, grep, ls, mount, ps и др. ⚙️ Синтаксис: column [опции] [файл] ⚙️ Основные флаги: -t — создаёт таблицу, выравнивая столбцы по ширине (самый частый вариант) -s <символ> — указывает разделитель полей (по умолчанию — пробел или таб) -n — не объединяет несколько разделителей, идущих подряд (считает их отдельными) -c <число> — устанавливает максимальную ширину вывода -x — заполняет таблицу построчно, а не по столбцам -o <строка> — задаёт строку-разделитель между столбцами ⚙️ Примеры использования: 1️⃣ Форматирование вывода в таблицу cat /etc/passwd | column -t -s : Разделитель в файле /etc/passwd — двоеточие, поэтому с -s : получаем аккуратную таблицу пользователей. 2️⃣ Использование с выводом других команд ls -l | column -t Выравнивает стандартный "грязный" вывод ls -l в читаемые столбцы. 3️⃣ Выравнивание CSV-файла cat data.csv | column -t -s , Преобразует CSV-файл в выровненную таблицу прямо в терминале. 4️⃣ Форматирование вывода mount mount | column -t Вывод монтированных файловых систем становится удобнее для восприятия. 5️⃣ Таблица из произвольного списка echo -e "Name Score\nAlice 90\nBob 85\nCarol 95" | column -t Создаёт простую таблицу с двумя выровненными столбцами: Name Score Alice 90 Bob 85 Carol 95
699
7
👩‍💻 Утилита ncdu ncdu (NCurses Disk Usage) — это консольная утилита Linux для анализа использования дискового пространства. Она похожа на du, но имеет интерактивный, удобный интерфейс прямо в терминале. ⚙️ Установка: sudo apt install ncdu # Debian/Ubuntu sudo dnf install ncdu # Fedora sudo pacman -S ncdu # Arch ncdu показывает, какие каталоги и файлы занимают больше всего места на диске, и позволяет: ✔️ быстро перемещаться по дереву каталогов, ✔️ сортировать по размеру, ✔️ удалять файлы прямо из интерфейса, ✔️ искать, что «съедает» место. Результаты сканирования можно сохранить в файл (ncdu -o out.json) и потом просмотреть (ncdu -f out.json). ⚙️ Примеры использования 1️⃣ Анализ текущего каталога. Просто запустите ncdu без параметров, чтобы проанализировать текущий каталог: ncdu 2️⃣ Анализ конкретного каталога. Укажите путь к каталогу, который хотите проанализировать: ncdu /var/log 3️⃣ Исключение определённых файлов или каталогов. Если вы хотите исключить определённые файлы или каталоги из анализа, используйте опцию --exclude: ncdu --exclude '*.log' /var/log 4️⃣ Сканирование удалённого сервера через SSH. Вы можете использовать ncdu для сканирования дискового пространства на удалённом сервере через SSH: ssh user@remote-server "ncdu /"
855
8
170+ вакансий, где упоминается «Linux” : https://talanto.work/jobs/25417942-422f-482e-a0a8-b926e4645104
873
9
Что произойдет, если пользователь попытается удалить командой rm файл, доступный только для чтения (права доступа 444)?
785
10
🚀 Перемещайся по файловой системе молниеносно: CDPATH Многие знают про: 🔴 автодополнение по TAB, 🔴 ~ для домашнего каталога, 🔴 cd - — переключение между текущей и предыдущей папками: $ cd - /home/xoadmin/Documents $ cd - /home/xoadmin/Music Но если вы часто работаете с одними и теми же каталогами, вводить длинные пути быстро надоедает. 💭 Проблема Допустим, вы часто заходите в каталог /home/smith/Family/Memories/Photos Чтобы попасть туда, каждый раз приходится писать: cd ~/Family/Memories/Photos А хотелось бы просто: cd Photos Однако, если в текущей папке нет подкаталога Photos, Bash выдаст: bash: cd: Photos: No such file or directory 📎 Решение: CDPATH Переменная CDPATH говорит Bash, где ещё искать каталоги при выполнении cd. CDPATH=$HOME/Family/Memories Теперь, где бы вы ни находились: $ pwd /etc $ cd Photos /home/smith/Family/Memories/Photos Работает! 🙂 Несколько путей Можно указать сразу несколько мест (через двоеточие): CDPATH=$HOME:$HOME/Projects:$HOME/Family/Memories:/usr/local Bash будет проверять их по порядку. Первое совпадение — и переход произойдёт именно туда. ⚙️ Постоянная настройка Чтобы не прописывать CDPATH вручную при каждом запуске терминала, добавьте строку в ~/.bashrc (для конкретного пользователя) или /etc/profile (для всех пользователей системы). export CDPATH=$HOME:$HOME/Sources:/usr/local 🔍 Пример из практики Пусть у вас есть каталог ~/Sources, где хранятся проекты: echo $CDPATH /home/xoadmin/Sources Теперь: $ pwd /home/xoadmin/Music $ cd picom /home/xoadmin/Sources/picom Без лишнего ввода — просто cd picom. ⚠️ Пара моментов Если каталог найден через CDPATH, cd выведет полный путь: $ cd Photos /home/smith/Family/Memories/Photos Это нормально — просто признак, что каталог был найден не в текущей директории. Текущее место (.) можно тоже включить в CDPATH, чтобы cd вела себя стандартно: export CDPATH=.:$HOME/Projects 🟢 В сухом остатке CDPATH — это как "умный поиск" для cd. Если вы часто прыгаете между проектами, архивами или каталогами с данными, он экономит десятки нажатий и делает навигацию в консоли почти мгновенной.
794
11
🔥 Уменьшение размера лог-файлов В обычном состоянии, если приложение запущено и пишет в лог файл, его не рекомендуется удалять, поскольку в *nix, открытый файловый дескриптор связан не с именем файла, а с iNode. И если мы удалим лог-файл, приложение может не начать писать в новый файл с нуля, а продолжать писать в старый, который для нас уже будет недоступен по имени (мы же его удалили). Затем, когда приложение остановится и закроет дескриптор, данные удалятся с файловой системы. (Большинство программ при записи в лог каждый раз открывают и закрывают файл, и тогда этой проблеме они не подвержены). Поэтому очистку файла следует делать либо так (очистим файл, не удаляя его): > application.log Либо так (файл будет урезан до указанного размера): truncate --size=1M application.log Но эта команда именно урежет, т.е. в файле останутся старые данные, а свежие как раз и будут урезаны. Поэтому можно делать вот так, сохраняя последние 1000 строк: echo "$(tail -n 1000 application.log)" > application.log
0
12
بدون متن...
0
13
👩‍💻 Передача файлов с помощью scp Команда scp используется для безопасного копирования файлов между локальным компьютером и удаленным сервером, а также между двумя удаленными серверами, используя протокол SSH. Она позволяет передавать файлы и каталоги по зашифрованному каналу, что гарантирует конфиденциальность данных. ⚙️ Синтаксис: scp [опции] <источник> <назначение> ⚙️ Примеры использования ⏺ Копирование файла на удалённый сервер: scp file.txt user@remote_host:/path/to/destination ⏺ Скачивание файла с сервера: scp user@remote_host:/path/to/file.txt ./ ⏺ Передача директории: scp -r папка user@remote_host:/path/to/destination -r — ключ для копирования директории ⏺ Указание порта SSH: Если вдруг используется нестандартный порт, мы можем его передать установив флаг -P: scp -P 2222 file.txt user@remote_host:/path/to/destination 📥 Для оптимизации передачи больших файлов можно их сжать с помощью флага -C.
0
14
Команда enable -n
0
15
Инженеры перебрали... Linux-кейсов 🤩 23 апреля K2 Cloud и K2Тех проведут онлайн - митап — pебята будут разбирать реальные ин
Инженеры перебрали... Linux-кейсов 🤩 23 апреля K2 Cloud и K2Тех проведут онлайн - митап — pебята будут разбирать реальные инженерные кейсы из практики про поломанный SSH, обновление ядер, поломку сети в ВМ и балансировщики с одинаковыми конфигами, но разными результатами. А ещё можно принести свой кейс на разбор и получить приз. Подробности и регистрация по ссылке.
0
16
Для вывода определенных столбцов текстовых файлов удобно пользоваться командой awk: awk '{print $2, $5}' data.txt Эта команда покажет второй и пятый столбцы. Отлично подходит для логов и CSV без кавычек. #вопросы
0
17
❓ Как вывести только определённые столбцы из текстового файла? Ответ через час. #вопросы
0