Скрипты


Посчитать суммарый объём файлов с расширением dbf:
Скрипт du_dbf:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'{ sum += $1 }; END { print sum " Mb - summary size of dbf-files" }'


Найти самый большой по объёму файл с расширением dbf и указать его имя:
Скрипт du_dbf_max:
#!/bin/sh
find /eis -type f -name *.dbf -exec du -km {} \;| gawk \
'BEGIN { size = 0}; { if ($1 > size) {size = $1; name = $2} }; \
END { print size " Mb - max size: " name }'


Найти и выдать файлы с объёмом больше 700Mb:
Скрипт du_f_700:
#!/bin/sh
find /eis -type f -exec du -km {} \;| gawk 'BEGIN { size = 700}; \
{ if ($1 > size) { print $2 " = " $1 " Mb"} }; END {}'


Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_currentCP:
#!/bin/bash
#Конвертация имён файлов и каталогов из заданной кодировки в текущую
if [ "$1" = ""]
then echo "Исходная кодировка не указана! Пожалуйста укажите кодировку, например cp1251 или koi8-r"; exit 1
fi
PWD=$(pwd) #Запоминаем текущий каталог
#Ищем все вложенные каталоги в текущем и отдаём их переменной цикла и
временно заменяем пробелы в названиях на \ для исключения проблем с
восприятием одного имени файла как нескольких.
for i in $(find $PWD -type d -depth | sed 's/ /\\/g')
do
#Возвращяем пробелы в имена файлов и каталогов и запоминаем в переменной dest
dest=$(echo "$i" | sed 's/\\/ /g')
cd "$dest" #Переходим в каталог
#Конвертируем имена содержимого катаога  из заданной кодировки в текущую
for n in *
do
        conv=$(echo "$n" | iconv -c -f "$1")
        mv "$n" "$conv"
done
cd $PWD
done


Перекодировать имена файлов из одной кодировки в другую:
Скрипт iconv_UTF2koi8-r:
#!/bin/sh
find /space/place * -exec iconv -f UTF-8 -t KOI8-R {} \;


Монтирование через sshfs с перекодировкой с командной строки:
sshfs 10.0.3.200:/space /mnt/space -o allow_other,modules=iconv,from_code=KOI8-R,to_code=UTF8

Монтирование через sshfs с перекодировкой строчкой в /etc/fstab:
sshfs#fuse@10.0.3.200:/space /mnt/space	fuse	user,allow_other,modules=iconv,from_code=KOI8-R,to_code=UTF8	0 0

fuse в строчке 'sshfs#fuse@10.0.1.200' - пользователь на другой стороне, но при таком раскладе спрашивает пароль на пользователя. Если необходимо настраивать беспарольный автомат - надо генерить rsa или dsa ключи.

Сделать скриншот графического экрана из консоли (используется команда import из пакета ImageMagick):
Скрипт screenshot.sh:
#!/bin/bash
import -display :0.0 -window root screenshot.jpg


Сделать скриншот графического экрана удалённой машины (используется команда import из пакета ImageMagick):
Скрипт screenshot.sh:
#!/bin/bash
/usr/bin/ssh student@10.0.4.101 /usr/bin/import -display :0.0 -window root /home/student/screenshot.jpg
/usr/bin/scp student@10.0.4.101:/home/student/screenshot.jpg pk01.jpg

Рейтинг@Mail.ru Rambler's Top100 Каталог Ресурсов Интернет Каталог ИТ Linux coutner Яндекс цитирования
Mail To SunTechnic
Last UpDate:
Hosted by uCoz