Посты с тегом bash
blackraven 16.12.2010 11:32

Переводы30 полезных команд в Linux

Оригинал
Эта коллекция содержит те команды, которые я выучил за годы работы в Linux. Разумеется, автор не я. Просто я находил их на различных ресурсах, изменял их, часть составлял сам, читая книги и страницы man.

Отмазка: пробуйте все эти команды на не-production серверах, некоторые из них могут что-то сломать.
Полностью.
+ 17 -
43
alxrt 15.12.2010 17:41

СкриптыЗагрузка с rghost

Наверное, подобный скрипт не писал только ленивый, но зачем другим напрягать мозг, если можно поделиться тем, что уже есть?

rgg.sh:
1
2
#!/bin/bash
wget -c `wget -O - $1|egrep -o "http://rghost.ru/download/.*\" "|cut -f1 -d '"'`


Использование:
./rgg.sh "http://rghost.ru/1234567"
Полностью.
+ 5 -
0
other.bigmouse 03.12.2010 10:08

Tips & tricksСписок полезныx и не очень команд

Список некоторых команд Linux. С пояснениями. Распечатать и повесить на стену))
Полностью.
+ 22 -
30
ivan 26.11.2010 10:36

Жизнь в консолиОффлайн-словарь dict (en-ru, ru-en, толковый)

Понадобился мне англо-русский словарь. Доступ в Интернет есть не всегда, а дома он появится только недели через 1-2 (да, и стоит ли лазить во всемирную паутину каждый раз, встретив незнакомое слово). Хотелось что-то простое, “без наворотов”. Выбирал сердцем (с). Сердце молча ритмично сокращалось&расширялось, поэтому пришлось брать первую попавшуюся программу. Ею оказалась связка dictd+dict.

Полностью.
+ 4 -
15
dr_lo 23.11.2010 04:09

Tips & tricksbasename & dirname, вычленяем имя файла и путь до файла

Для многих, наверное это не новость, а для меня стало ценным откровением. Ах если бы я не поленился в свое время почитать ман по gnu-utils, не было бы бессонных ночей проведенных за маном по sed.

Пример (лучше один раз увидеть):
1
2
3
4
5
$ basename ~/fun/music/osi/2009-Blood/203\ -\ Terminal\ \(Endless\).flac
203 - Terminal (Endless).flac

$ dirname ~/fun/music/osi/2009-Blood/203\ -\ Terminal\ (Endless).flac                   
/home/noid/fun/music/osi/2009-Blood

собственно вольный перевод из мана:
basename - показать только имя файла, без пути
dirname - показать путь к файлу
Полностью.
+ 7 -
14
melksoft 21.11.2010 11:17

Скрипты на bashГрузим подкасты из консоли с удобством

Прочитав на welinux пост о hpodder я решил использовать его вместо gpodder. Не хватало только синхронизации с плеером и конвертации в ogg. Тогда я написал эти два скрипта.

Загрузка:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
podcastsf="$HOME/podcasts"
echo "Начата загрузка подкастов"
notify-send "Начата загрузка подкастов" -i music
play -q "$HOME/.say/Начата загрузка подкастов.wav"
hpodder catchup
hpodder fetch
if < "$?" == "0" >; then
	echo "Подкасты загружены"
	notify-send "Подкасты загружены" -i download
	play -q "$HOME/.say/Подкасты загружены.wav"
else
	echo "Ошибка загрузки"
	notify-send "Ошибка загрузки" -i error
	play -q "$HOME/.say/Ошибка загрузки.wav"
exit
fi
echo "Начато конвертирование подкастов"
notify-send "Начато конвертирование подкастов" -i music
play -q "$HOME/.say/Начато конвертирование подкастов.wav"
mp32ogg --delete "$podcastf"
if < "$?" == "0" >; then
	echo "Подкасты сконвертированы"
	notify-send "Подкасты сконвертированы" -i folder-move
else
	echo "Ошибка конвертирования"
	notify-send "Ошибка конвертирования" -i error
	play -q "$HOME/.say/Ошибка конвертирования.wav"
exit
fi
echo "Подкасты загружены и сконвертированы"
notify-send "Подкасты загружены и сконвертированы" -i multimedia-player
play -q "$HOME/.say/Подкасты загружены и сконвертированы.wav"


Синхронизация:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
mv_to="/media/E200/Music/Podcasts"
podcastf="$HOME/podcasts"
echo "Начато перемещение подкастов"
notify-send "Начато перемещение подкастов" -i folder-move
play -q "$HOME/.say/Начато перемещение подкастов.wav"
cd "$podcastf"
find -iname "*.ogg"|while read input_file; do
base_file="$(basename "$input_file")"
echo "Перемещается: $base_file"
mv "$input_file" "$mv_to"
if < "$?" == "0" >; then
	echo "Перемещено: $base_file"
	notify-send "Подкаст перемещен" "$base_file" -i folder-move
else
	echo "Ошибка: $base_file"
	notify-send "Ошибка" "$base_file" -i error
	play -q "$HOME/.say/Ошибка перемещения подкастов.wav"
exit
fi
done
echo "Перемещение подкастов завершено"
notify-send "Перемещение подкастов завершено" -i finish
play -q "$HOME/.say/Перемещение подкастов завершено.wav"

Для начала нужно установить место загрузки в настройках hpodder и оно должно совпадать со значением переменной podcastf.
Wav-файлы сгенерены фестивалем, подумал лучше хранить их на диске, чем каждый раз дергать фестиваль.
Скачать podcast.sh move-podcasts.sh аудиофайлы
Требования: hpodder (для загрузки подкастов), libnotify-bin (для нотификаций), mp32ogg (для конвертации в ogg), sox (для воспроизведения wav)
Полностью.
+ 3 -
0
melksoft 20.11.2010 22:40

Скрипты на bashМой вариант скрипта конвертирования видео для плеера

Тут уже был скрипт конвертирования видео на Perl, я пользуюсь своим вариантом на Bash. Немного быдлокода included.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
mencoder="-ovc xvid -xvidencopts bitrate=384 -vf scale=320:240 -oac mp3lame -subcp enca:ru:cp1251"
if < "$#" \&gt; "1" >; then
	cd "$1"
	convertf="$2"
else
	cd ~/"Видео"
	convertf="$HOME/converted"
fi
find -iname "*.avi" -o -iname "*.mkv" -o -iname "*.mp4" -o -iname "*.ogv" -o -iname "*.ogm" -o -iname "*.flv" -o -iname "*.wmv" -o -iname "*.mov" -o -iname "*.m4v"| while read input_file; do
	base_file="$(basename "$input_file")"
	echo "$base_file"
	notify-send "Начато конвертирование" "$base_file" -i video
	play -q "$HOME/.say/Начато конвертирование.wav"
	mencoder "$input_file" $mencoder -o "$convertf/${base_file%.*}.avi" -sub "${input_file%.*}.srt"
	if < "$?" == "0" >; then
		rm "$input_file"
		rm "${input_file%.*}.srt"
		notify-send "Видео сконвертировано" "$base_file" -i video
	else
		notify-send "Ошибка конвертирования" "$base_file" -i error
		play -q "$HOME/.say/Ошибка конвертирования.wav"
	fi
	done
find -depth -type d -empty -exec rmdir {} \;
notify-send "Конвертирование завершено" -i video
play -q "$HOME/.say/Конвертирование завершено.wav"


Принимает параметры ./convert.sh где_искать куда_кидать.

Скрипт ищет все видеофайлы в заданной директории, отдает их mencoder'у, пробуя подсунуть ему str-сабы с таким же именем.

Затем удаляет исходное видео, сабы и пустые директории.

Wav-файлы сгенерены фестивалем, подумал лучше хранить их на диске, чем каждый раз дергать фестиваль.

Требует: mencoder (то, чем собственно все конвертится), libnotify-bin (для нотификаций, sox (для воспроизведения wav).
Скачать скрипт аудиофайлы.
Полностью.
+ 4 -
7
zz 30.10.2010 15:21

Tips & tricksИспользование функций() bash

Для упрощения работы, bash позволяет добавлять функции в .bash_profile (или .bashrc), которые будут доступны для использования наравне с прочими командами.
На примере я покажу, как это работает.

Полностью.
+ 11 -
8
DobrijZmej 30.10.2010 11:05

Tips & tricksСправочник команд Unix ToolBox

Рекомендую справочник Unix ToolBox.
Полностью.
+ 9 -
0
antigluk 28.10.2010 00:48

Talks!Самая бесполезная команда

Самая бесполезная команда:
1
dd if=/dev/zero of=/dev/null


Ваши варианты? =)
Полностью.
+ 2 -
36
1 2 3 4 5 6 7 8 16 17