Команда
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 — ключ для копирования директорииЕсли вдруг используется нестандартный порт, мы можем его передать установив флаг
-P:scp -P 2222 file.txt user@remote_host:/path/to/destination
-C.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
В обычном состоянии, если приложение запущено и пишет в лог файл, его не рекомендуется удалять, поскольку в *nix, открытый файловый дескриптор связан не с именем файла, а с iNode.
И если мы удалим лог-файл, приложение может не начать писать в новый файл с нуля, а продолжать писать в старый, который для нас уже будет недоступен по имени (мы же его удалили). Затем, когда приложение остановится и закроет дескриптор, данные удалятся с файловой системы.
(Большинство программ при записи в лог каждый раз открывают и закрывают файл, и тогда этой проблеме они не подвержены).
Поэтому очистку файла следует делать либо так (очистим файл, не удаляя его):
> application.log
Либо так (файл будет урезан до указанного размера):
truncate --size=1M application.log
Но эта команда именно урежет, т.е. в файле останутся старые данные, а свежие как раз и будут урезаны.
Поэтому можно делать вот так, сохраняя последние 1000 строк:
echo "$(tail -n 1000 application.log)" > application.log
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Многие знают про:
~ для домашнего каталога,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 говорит 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. Если вы часто прыгаете между проектами, архивами или каталогами с данными, он экономит десятки нажатий и делает навигацию в консоли почти мгновенной.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤2
Что произойдет, если пользователь попытается удалить командой rm файл, доступный только для чтения (права доступа 444)?
Anonymous Quiz
16%
Файл будет успешно (и молча) удален
10%
Команда rm запросит подтверждение и после его получения успешно удалит файл
21%
Команда rm запросит подтверждение, но операция удаления провалится из-за недостатка прав доступа
46%
Команда rm не сработает из-за недостатка прав доступа
7%
Посмотреть ответ
😁1🤯1😱1🌭1
170+ вакансий, где упоминается «Linux” : https://talanto.work/jobs/25417942-422f-482e-a0a8-b926e4645104
Посмотреть все вакансии: https://talanto.work/?sort=newest&period=month&offset=0&search_in=title&q=Linux
Посмотреть все вакансии: https://talanto.work/?sort=newest&period=month&offset=0&search_in=title&q=Linux
Talanto
Junior Linux Systems Administrator (Internal Only)
OSC EdgeTech is seeking a Junior Linux Systems Administrator to join the team. The role involves assisting in the administration, maintenance, and support of Linux server environments. The position is open to internal OS...
❤3🔥2
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).ncdu без параметров, чтобы проанализировать текущий каталог:ncdu
ncdu /var/log
--exclude:ncdu --exclude '*.log' /var/log
ncdu для сканирования дискового пространства на удалённом сервере через SSH:ssh user@remote-server "ncdu /"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1👏1
column — это небольшая, но очень удобная консольная команда Linux, предназначенная для форматирования текста в столбцы. column берет текстовый ввод (обычно строки, разделённые пробелами, табами или другим символом) и выравнивает его в табличный формат.Это особенно удобно при работе с командами вроде
cat, awk, grep, ls, mount, ps и др.column [опции] [файл]
-t — создаёт таблицу, выравнивая столбцы по ширине (самый частый вариант)-s <символ> — указывает разделитель полей (по умолчанию — пробел или таб)-n — не объединяет несколько разделителей, идущих подряд (считает их отдельными)-c <число> — устанавливает максимальную ширину вывода-x — заполняет таблицу построчно, а не по столбцам-o <строка> — задаёт строку-разделитель между столбцамиcat /etc/passwd | column -t -s :
Разделитель в файле /etc/passwd — двоеточие, поэтому с
-s : получаем аккуратную таблицу пользователей.ls -l | column -t
Выравнивает стандартный "грязный" вывод
ls -l в читаемые столбцы.cat data.csv | column -t -s ,
Преобразует CSV-файл в выровненную таблицу прямо в терминале.
mount | column -t
Вывод монтированных файловых систем становится удобнее для восприятия.
echo -e "Name Score\nAlice 90\nBob 85\nCarol 95" | column -t
Создаёт простую таблицу с двумя выровненными столбцами:
Name Score
Alice 90
Bob 85
Carol 95
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1🥰1
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 — показывать подробный отчет (выводит все ссылки)symlinks -v /usr/local/bin
Команда выведет список ссылок и покажет, какие из них "good" — рабочие, а какие "dangling" — битые (ведут в несуществующий файл).
sudo symlinks -rd /opt/
symlinks -rv /home/user/projects
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
В Linux всё — это файл: обычные файлы, сокеты, устройства, каталоги, процессы. "lsof" расшифровывается как List Open Files — "список открытых файлов".
Соответвенно, команда
lsof позволяет просматривать информацию об открытых файлах и связанных с ними процессах:Эта утилита вам пригодится, если вы сталкиваетесь с ошибками доступа к файлам, например, при монтировании, удалении или использовании разделов.
lsof [опции]
lsof -i :80
Покажет процесс (PID), который слушает порт 80.
lsof /path/to/file
Если файл нельзя удалить или смонтировать диск — это поможет выяснить, кто его использует.
lsof -i
Выведет список всех TCP/UDP подключений (локальные и удалённые адреса, PID, программа).
lsof +L1
Полезно, если диск "заполнен", но место не освобождается — это покажет процессы, держащие "удалённые" файлы открытыми.
lsof -p 1234
Покажет, какие файлы, сокеты и устройства открыты у процесса с PID 1234.
lsof +D /var/log/
Полезно при попытке размонтировать диск или директорию — можно увидеть, кто удерживает файлы внутри.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5
fd — это современная, быстрая и удобная альтернатива стандартной команде find. Она делает то же самое — ищет файлы и каталоги, — но проще в использовании, работает быстрее и выдает чистый, цветной, читаемый вывод.В большинстве дистрибутивов Linux
fd доступна в официальных репозиториях:sudo apt install fd-find # Для Debian/Ubuntu
sudo dnf install fd-find # Для Fedora
sudo pacman -S fd # Для Arch Linux
fd [паттерн] [директория]
fd filename
Найдёт все файлы, имя которых содержит “filename”.
fd 'pattern'
Поддерживаются регулярные выражения для шаблонов.
fd filename /path/to/dir
fd 'filename'
fd ищет только в текстовых файлах, игнорируя двоичные.
• Только файлы:
fd -t f• Только директории:
fd -t dfd -l
Показывает подробные пути к найденным объектам.
fd -s filename
Найти все файлы с расширением .rs в текущем каталоге и его подкаталогах:
fd '\.rs$'
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🆒1