[ОТВЕТИТЬ]
11.01.2013 11:08
Troll
 
порезать большой файл на кусочки с максимальным сжатием и при помощи только штатных средств
Код:
bzip2 -c -9 dmp.dmp | split --verbose -a 3 -d -b 1000000000 - ПРЕФИКС
это создаст кучку файликов по почти гигабайту вида
ПРЕФИКС000
ПРЕФИКС001
ПРЕФИКС002
...
19.01.2013 12:47
Troll
 
Как собрать после этого? Спрашивали - отвечаем
Код:
printf 'ПРЕФИКС%03i\n' {0..44} | xargs bash -c 'cat "$@">>dmp.dmp.bz'
bzip -d dmp.dmp.bz
%03 в данном случае - длина суффикса, 0..44 - количество частей для склейки.
13.09.2013 12:12
Occul
 
Как скопировать файл с отображением прогресса копирования
Код:
rsync --progress file1 file2
13.09.2013 15:59
Occul
 
Код:
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
обработка файлов в одну строку
13.09.2013 16:19
Occul
 
Код:
find ./ -type f -print0 | xargs -0 -n1 md5sum | sort -k 1,32 | uniq -w 32 -d --all-repeated=separate | sed -e 's/^[0-9a-f]*\ *//;'
поиск дубликатов
13.09.2013 16:24
Occul
 
Вывод всей палитры ANSI:

Код:
e="\033["
for f in 0 7 `seq 6`; do
  no="" bo=""
  for b in n 7 0 `seq 6`; do
    co="3$f"; p="  "
    [ $b = n ] || { co="$co;4$b";p=""; }
    no="${no}${e}${co}m   ${p}${co} ${e}0m"
    bo="${bo}${e}1;${co}m ${p}1;${co} ${e}0m"
  done
  echo -e "$no\n$bo"
done
256 цветов:

Код:
yes "$(seq 232 255;seq 254 -1 233)" |
while read i; do printf "\x1b[48;5;${i}m\n"; sleep .01; done
17.09.2013 15:37
OlegON
 
Код:
cat /proc/PID/stat
выводит очень даже интересную статистику по процессу, в том числе и используемый своп
08.07.2014 16:48
KirillHome
 
сегодня на хабре

В частности:
factor - раскладывает число на множители:

Код:
factor [number]
ddate - Дискордианский календарь

разное применение man, в частности
man ascii - таблица ASCII
man units - десятичные и двоичные префиксы.

Так же многое есть в комментариях.
08.07.2014 17:43
OlegON
 
ddate не везде есть, а вот в комментариях очень понравилось про фиксы
Код:
arth@arth:~$ lq /
lq: команда не найдена
arth@arth:~$ ^lq^ls
ls /
bin   dev  home ...
вывод с форматированием по колонкам
Код:
mount | column -t
сортировка вывода du
Код:
du -sh * | sort -h
секундомер
Код:
time read -sn1
имитируем работу хакеров
Код:
cat /dev/urandom | od -h
05.01.2017 08:46
OlegON
 
Код:
man -k слово
будет искать это слово по всем манам в системе
24.04.2017 12:26
OlegON
 
1. Чтобы быстро скопировать/переименовать файл с длинным именем, можно набрать:
Код:
cp /home/user1/myfile123456789.txt{,-new}
и обратно:
Код:
cp /home/user1/myfile123456789.txt{-new,}
2. Бесполезная, но прикольная форк-бомба (правда, не сработает, если у Вас задан ulimit для количества процессов):
Код:
:(){ :|:& };:
3. Эмулятор сетевого принтера на локальном компьютере:
Код:
nc -l -p 9100 > job.prn
4. Простейшее нагрузочное тестирование веб-сайта:
Код:
for i in {1..1000}; do echo olegon.ru; done | xargs -P 20 wget &>/dev/null
5. Удобочитаемый вывод команды mount:
Код:
mount | column -t
6. SSH туннель с локального порта 7777 на удаленный порт 8888 на сервере myserver.com:
Код:
ssh -fN user@myserver.com -L 7777:myserver.com:8888
7. Вывести случайное число от 0 до 32767:
Код:
echo $RANDOM
8. Выполнить в консоли команды из текстового файла:
Код:
source ./commands.txt
9. Создать случайный пароль:
Код:
openssl rand -base64 8
10. Защита от одновременного запуска нескольких копий скрипта:
Код:
flock -n /tmp/lock.txt -c "/home/user1/test.sh > test.log"
13.09.2017 11:10
OlegON
 
Переименование с regexp

ls
text_comes_here_1.txt
text_comes_here_2.txt
text_comes_here_3.txt
text_comes_here_4.txt

Код:
rename 's/comes_here/goes_there/' *.txt
ls
text_goes_there_1.txt
text_goes_there_2.txt
text_goes_there_3.txt
13.09.2017 11:18
OlegON
 
Код:
column -t < /etc/passwd
Stop piping cats! Не труби кота! Запуск процесса — относительно дорогая операция. Так что не надо дёргать утилиту cat когда это не надо.
13.09.2017 12:17
OlegON
 
Код:
parallel 'cat /dev/urandom > /dev/null #{}' ::: `seq $(nproc --all)`
максимальная загрузка CPU (всех ядер) из ничего...
23.10.2017 11:50
Occul
 
Вместо
Код:
echo "$STRING"|cut -d ":" -f 3
можно использовать ##
Код:
echo "${STRING##*:}"
нет вызова внешней программы и пайпов, работать будет быстрее
23.10.2017 11:59
Occul
 
Запуск xargs по два аргумента, с количеством потоков на все процессоры
Код:
cat file | xargs -n 2 -P `nproc`
23.10.2017 12:18
Occul
 
можно разбить строку в массив средствами Bash:
Код:
userInfoString="username:homedir:shell"

IFS=':'
userInfo=($userInfoString)
echo "${userInfo[0]}"
echo "${userInfo[1]}"
echo "${userInfo[2]}"

# Восстановим дефолтное значение разделителя. По-хорошему,
# следовало бы сохранить старое значение IFS, а затем восстановить.
unset IFS
23.10.2017 12:19
Occul
 
вместо seq можно использовать ведущие нули в for
Код:
for srv in {01..10}; do echo "server${srv}"; done


Опции темы


Часовой пояс GMT +3, время: 05:11.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.