tips'n'tricks
Постим тут всякие полезности маленькие.
Вот например - изменяем права доступа на все файлы и папки. Файл - чтение запись. Каталог - выполнение. find ./ -type f -exec chmod 644 {} \; find ./ -type d -exec chmod 755 {} \; |
перевод имен файлов в директории в нижний регистр
for x in*; do mv $x 'echo $x|tr[A-Z][a-z]';done создание сразу нескольких директорий mkdir -p dir1/dir2/dir3 случайные пароли head -c8 /dev/random|uuencode -m-|sed -n '2s/=*$//;2p' |
Сколько времени вам потребуется, чтобы набрать имя уже существующего файла?
This_Is_VeRy_long_file_name_7523854_q.txt Подождите! В оболочке bash все это название можно набрать за доли секунды (скажем, для использования в программе cat): $ cat This А потом нажмите клавишу табуляции: $ cat This_Is_VeRy_long_file_name_7523854_q.txt Вот так! -------------------------------- На экран что-то вывелось и вы не успели прочитать? Для MS DOS это фатально. В Linux можно увидеть пару-тройку уплывших экранов: клавиши SHIFT-PageUp/PageDown вам помогут! -------------------------------- Сильно сокращает работу на клавиатуре и следующий прием. Предположим, вы часто выполняете некоторую длинную команду, предположим: # uucico -r1 -d9 -Sremotesys Если вы уверены, что совсем недавно вызывали эту команду и вам он опять нужна, можно просто набрать: # !uuc Все остальное машина домыслит. Вообще же говоря, стоит внимательно работать с этой возможностью. |
как записать фаил на ftp server не вводя каждый раз user pass
#!/bin/sh ftp -n <<EOF open 192.168.1.1 user sasha pq put nmap.tar.bz2 quit EOF ; man ftp а с этим надо быть осторожным. find [dir] -type f -atime +n -exec rm {} \ ; -atime n File was last accessed n*24 hours ago. +n for greater than n, man find. как перевести man в удобочитаеиый вид: man "manpage" | col -b > "file" man tar |col -b > man_tar Удаление лишних символов фаилов dos windows $ tr -d "\015" < /tmp/file.dos > /tmp/file.unix Экранирование " ' " кавычки в шелле : $ echo -e '\047' 2 Bek IMHO Действительно важная тема. понадобился мне генератор паролей , и вот что вышло head -c 6 </dev/random|md5sum|echo `head -c 8` |
Re: tips'n'tricks
Цитата:
Все крупные дистрибутивы линукса и BSD уже включают в себя алисасы с большими буквами: chmod +x * - всем chmod +X * -только для директорий Другая версия того что ты описал: # find . -type f -print0 | xargs -0 chmod 644 # find . -type d -print0 | xargs -0 chmod 755 |
Цитата:
|
Как можно сделать копию всех файлов и каталогов?
Кроме использования файлового менеджера (например mc) - используйте следующие команды. Все они делают копию текущего каталога (".") и все подкаталоги туда куда вы скажете: * cp -Rpv . /some/destdir Недостаток: возникают ошибки при работе со специальными файлами, такими например как /dev * find . -print | cpio -dump -V /some/destdir Недостаток: нет. Также вы можете копировать ссылки на каталоги включая их содержимое: find . -follow -print | cpio -dump -V /some/destdir Чтобы исключить копирование файлов, оканчивающихся на ".bak" используйте egrep в качестве фильтра: find . -follow -print | egrep -v "\.bak$" | cpio -dump -V /some/destdir * tar -cvf /tmp/t.tar . cd /some/destdir tar -xvf /tmp/t.tar rm /tmp/t.tar Недостаток: создается временный файл. Все перечисленные команды пытаются сохранить права доступа и владельцев где это возможно. И только пользователь root способен создавать копии каталогов, где находятся файлы, принадлежащие разным пользователям. |
|
Цитата:
tar -cf - . | (cd /dom/destdir ; tar -xvf -) |
Места у меня мало и я Линукс обычно в 2,5Гб ставлю,конечно приходится кучу библиотек потом ставить.И вот,чтобы не рыскать каждый раз по дискам,в поисках пакета,я делаю 3 листа,а потом скрипт findrpm,который мне говорит,какой пакет на каком диске лежит..
--- //Список пакетов с диска:// ls > asp1.lst //для остальных дисков так-же// //скрипт поиска// #!/bin/bash LISTPATH=/home/pinkpunk/bin echo "********** Disk ASP1 **********" cat $LISTPATH/asp1.lst | grep $1 echo "********** Disk ASP2 **********" cat $LISTPATH/asp2.lst | grep $1 echo "********** Disk ASP3 **********" cat $LISTPATH/asp3.lst | grep $1 echo "****************************" //пути и листы свои подствите/// |
Цитата:
echo 256 > /proc/sys/net/ipv4/ip_default_ttl |
Маленькая полезность, да простят меня модераторы.
При работе с ХFree (и всеми надстройками а-ля KDE, GNOME...), Вы, наверняка, сталкивались с ситуацией, когда из консоли необходимо вызвать программу, работающую с итерфейсом XFree. Но при ее запуске консоль "блокируется" (а при нажатии Ctrl+C приложение, вызванное с консоли, закрывается). Так вот, чтобы спокойно продолжить работу в консоли после запуска программы, можно в конце командной строки поставить знак "&". Например: # konqueror & Эта команда вызовет браузер konqueror в фоновом режиме и работа в текущей консоли будет продолжена. |
Добавлю от себя: ещё можно использовать nohup konqueror 2>&1 > /dev/null&
|
Цитата:
Для определения маршрутизации почты поможет команда "sendmail -bv -d0.1 <email>" |
тут много интересного: rusmafia.org/linux
|
Tovarishi !!! Pomogite!!!! KATASTROFA!!!!
xotelos izmenit fotografiyu virezal 4ast i ne4ayanno najalos "save'' rezultat ostalsya kusok ot fotki pod starim imenem 4to mne delat?!?! V korzinke fotki net smotrel poka komp ne zakrit ee mojno vosstonovit o4en proshu podskajite!!!! Tovarishi !!! Pomogite!!!! KATASTROFA!!!! xotelos izmenit fotografiyu virezal 4ast i ne4ayanno najalos "save'' rezultat ostalsya kusok ot fotki pod starim imenem 4to mne delat?!?! V korzinke fotki net smotrel poka komp ne zakrit ee mojno vosstonovit o4en proshu podskajite!!!! |
попробуй ctrl+z
отмени действие |
Поставил Mandriva 2007.
Используется три раскладки клавиатуры : русская, белорусская и английская. Переключение клавишами не работает, несмотря на попытки настроить через графический интерфес. Попробовал добавить строки: Option "XkbLayout" "us,ru,by" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" в Section "InputDevice" xorg.conf . Может кто подскажет как и где это можно настроить, а то мышкой не всегда удобно. |
wget
Полезная фишка, если требуется поставить на сервере закачку.
nohup wget --load-cookies <file with cookies> -i <fail with links> -c & Либо воспользоваться командой at: at 22:00 Последует ввод: wget <link> Ctrl+z |
подскажите, а сущ-ет ли команда , которая выводит свойства ПС на экран(размер ж.диска, состояние ОЗУ и т.п.? В виндоусе равноценна my_comp > properties например?
спасибо |
размер дисков:
df -h память + cpu: top cat /proc/cpuinfo |
lshw
|
Наткнулся сегодня на статью про блокировоки попыток подбора паролей на unix машине.
Fail2ban блокирует злоумышленников через iptables http://beshenov.ru/debaday/200704.html |
как последовательно установить один и тот-же софт на N одинакрвых машин
for x in 1 2 3 4 5 ; do echo "hostname-$x:" ; ssh -o ConnectTimeout=1 root@hostname-$x aptitude install -y apbs ; done |
подсчитать кол-во имзмененых файлоы в базе за последние 24 часа , result в G.
find /var/lib/mysql/ -type f -mtime 0 -print | xargs ls -l | awk '{sum=sum+$5}END{print sum/(1024*1024*1024)}' |
Добавление календаря на обои:
Цитата:
|
если используете плеер Quod Libet, то вот скрипт для генерации строки now playing (например, для жж-клиента logjam хорошо работает)
#!/bin/bash CURRENT=${HOME}/.quodlibet/current if test -e ${CURRENT}; then TITLE= cat ${CURRENT} | grep title | \ sed s/"title="/"NP: "/ echo "${TITLE}"; else echo "NP: silence "; fi |
Перекодировка текста
iconv -f <from_encoding> -t <to_encoding> Также можно посмотреть список поддерживаемых кодировок: iconv -l |
Есть такая утилитка rsync. Те, кто занимается резервным копированием знают. Можно работать как локально так и по сети. Масса возможностей и настроек.
Но как избавиться от полного дерева папок каждый раз при копировании какого-нибудь глубоко зарытого файла? Есть решение: rsync -vru --include='*/' --include='*.mask' --exclude='*' /path/to/your/folder/ /path/to/backup/ В данном случае, в папку backup будут помещаться только файлы с расширением mask из папки folder. В свое время, для меня было довольно нетривиально подобрать комбинацию include/exclude масок. |
Часовой пояс GMT +4, время: 02:39. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.