апреля 10 2008 12:20 пп
Полезные команды для работы с файлами и архивами

В этой небольшой статье собраны различные команды для работы с файлами, архивированием, копированием, переименованием и тд которые могут быть полезны в ежедневном использовании новичкам в Linux и не только. Так же представлены небольшие примеры скриптов для работы с лог файлами, редактирования файлов и их поиска.
Переименований группы файлов с перекодированием имени
Для переименования группы директорий первого уровня вложенности с перекодированием из cp1251 в koi8-r:
find . -type d -maxdepth 1 -exec sh -c 'np=`echo {}|iconv -t koi8-r -f cp1251`; mv "{}" "$np"' \;
Для переименования иерархии файлов
find . -type f -exec sh -c 'dn=`dirname "{}"`;bn=`basename "{}"`; np=`echo $bn|iconv -t koi8-r -f cp1251`; mv "{}" "$dn/$np"' \;
Как найти все файлы определенного размера
Найти все файлы размером более 10 Мб.
find / -size +10240k
Более 500 Кб, но менее 600 Кб
find . -size +500k -a -size -600k
Файлы менее 128 байт, модифицированные последние 10 мин.
find . -type f -a -size -128c -a -mmin -10
Скрипт для удаленного редактирования файлов
#!/bin/sh
tmp_file=`mktemp /tmp/scp_vi.XXXXXXXXXX`
cp /dev/null $tmp_file
scp $1 $tmp_file
vi $tmp_file
scp $tmp_file $1
rm -f $tmp_file
запускать так: rvi login@host:/patch/to/file
В vim можно писать «vim scp://user@host.ru:/home/user/file»
Почему на разных машинах скрипт генерирует файлы с разными правами доступа
> На одной машине создается файл с правами -rw-rw-r—, а на другой -rw-r—r—.
man 2 umask
В первом случае используется umask 002, а во втором umask 022.
Как отсортировать строки файла по числовому значению во втором столбце с разделителем «:»
sort -t':' -n -k3 filename
Как вывести сколько раз встречаются 15 самых частовстречающихся IP в логе
Предположим, IP во втором столбце лога.
cat log_file | awk '{print $2}'| sort| uniq -c| sort -r -n| head -n 15
Как определить сумму столбца цифр в файле.
Суммируем 3-й столбец из лог файла.
cat logfile| awk '{s += $3} END {print s}'
Как разбить файл на части.
split -b 5m file - разбить на файлы по 5 Мб, (5k - по 5 Кб, 5 - по 5 байт).
split -l 1000 file - разбить файл на файлы по 1000 строк.
Как автоматически удалять все файлы в каталоге, созданные позднее N дней
удаляем старше 1 часа:
find /var/tmp_log/ -type f -mmin +60 -exec rm -f {} \;
удаляем старше 10 дней:
find /var/tmp_log/ -type f -mtime +10 -exec rm -f {} \;
Как удалить символ возврата каретки ^M из файла
col -bx < dosfile > newfile
Как посмотреть список расшаренных ресурсов на Windows машине
IP машины — 1.2.3.4
smbclient -I 1.2.3.4 -L NAME_SERVER
или: nmblookup -r -A 1.2.3.4
или: smbclient -N -L hostname -I 1.2.3.4
Как найти все SUID программы на машине
Все SUID и SGID программы:
find / \( -perm -04000 -o -perm -02000 \) -exec ls -ald {} \;
Только SUID ROOT:
find /sbin \( -perm -04000 -a -user 0 \) -exec ls -ald {} \;
Замена одного слова на другое во всех файлах
perl -i.bak -p -e 's/Vasya/Petya/gi;' *
Источник:
Popularity: 2%
Комментариев нет »
No Responses to “Полезные команды для работы с файлами и архивами”
Leave a Reply
You must be logged in to post a comment.

on 14 Окт 2008 at 20:46 #
Очень полезная статейка, затолкать ее надо на рабочий стол себе в качестве скринсейвера
on 14 Окт 2008 at 20:50 #
Спасибо!