апреля 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;' *

Источник: http://www.opennet.ru





Комментариев нет »


No Responses to “Полезные команды для работы с файлами и архивами”

  1. VecH on 14 Окт 2008 at 20:46 #

    Очень полезная статейка, затолкать ее надо на рабочий стол себе в качестве скринсейвера

  2. Stepanoff on 14 Окт 2008 at 20:50 #

    Спасибо!

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »

  • Реклама

  • Ссылки



  • Теги



Server load average: 0.00, 0.00, 0.00
Server uptime: 20 days, 5:43
Your IP is: 54.225.57.89.