TG Telegram Group & Channel
ServerAdmin.ru | United States America (US)
Create: Update:

​​Возвращаемся к вашей самой любимой рубрике с консольными костылями на bash. Судя по количеству репостов и просмотров, это самая популярная тематика. Начнём с самого интересного и полезного.

Просмотр в режиме реального времени за изменением файлов в каталоге. Частая потребность, но когда мне понадобилось это сделать, сразу не догадался каким образом через watch все это организовать.
# watch -d -n 2 'ls -rtlh | tail'
Не забывайте, что по умолчанию tail без параметров выводит только 10 строк. Их число задаётся через ключ -n.

Рекурсивный листинг файлов. Очевидный способ вывести список файлов, в том числе с вложенными директориями следующий: ls -lR. Он не очень удобен, если список потом надо как-то обработать и использовать. Удобнее вывести через find:
# find . -type f -ls

Поиск дубликатов файлов. На первый взгляд монструозная и страшная конструкция, но если разбить её на этапы, то все достаточно просто получается. Сначала идёт поиск файлов с одинаковым размером, потом у этих файлов проверяется md5sum. Если она одинаковая, то выводится список файлов.
find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d \
| xargs -I{} -n1 find -type f -size {}c -print0 \
| xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

Быстрое переименование файла. Простой и удобный трюк, хотя я сам по привычке пишу полные имена.
# mv filename.{old,new}

Список наиболее часто используемых команд. Парсится стандартный вывод history.
# history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' \
| sort -rn | head

Запуск матрицы. Включаем и уходим на обед.
# tr -c "[:print:]" " " < /dev/urandom \
| dd cbs=$COLUMNS conv=unblock \
2>/dev/null | GREP_COLOR="1;32" \
grep --color "[^ ]"

#bash #terminal

​​Возвращаемся к вашей самой любимой рубрике с консольными костылями на bash. Судя по количеству репостов и просмотров, это самая популярная тематика. Начнём с самого интересного и полезного.

Просмотр в режиме реального времени за изменением файлов в каталоге. Частая потребность, но когда мне понадобилось это сделать, сразу не догадался каким образом через watch все это организовать.
# watch -d -n 2 'ls -rtlh | tail'
Не забывайте, что по умолчанию tail без параметров выводит только 10 строк. Их число задаётся через ключ -n.

Рекурсивный листинг файлов. Очевидный способ вывести список файлов, в том числе с вложенными директориями следующий: ls -lR. Он не очень удобен, если список потом надо как-то обработать и использовать. Удобнее вывести через find:
# find . -type f -ls

Поиск дубликатов файлов. На первый взгляд монструозная и страшная конструкция, но если разбить её на этапы, то все достаточно просто получается. Сначала идёт поиск файлов с одинаковым размером, потом у этих файлов проверяется md5sum. Если она одинаковая, то выводится список файлов.
find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d \
| xargs -I{} -n1 find -type f -size {}c -print0 \
| xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

Быстрое переименование файла. Простой и удобный трюк, хотя я сам по привычке пишу полные имена.
# mv filename.{old,new}

Список наиболее часто используемых команд. Парсится стандартный вывод history.
# history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' \
| sort -rn | head

Запуск матрицы. Включаем и уходим на обед.
# tr -c "[:print:]" " " < /dev/urandom \
| dd cbs=$COLUMNS conv=unblock \
2>/dev/null | GREP_COLOR="1;32" \
grep --color "[^ ]"

#bash #terminal
👍3


>>Click here to continue<<

ServerAdmin.ru






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)