Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

faq

FAQ

FAQ (Frequently Asked Questions) произносится "эф-эй-кью" – часто задаваемые вопросы, синоним - ЧаВО.

Содержание:

Web

Shell: Bash

  • Поиск в текстовых файлах. Найти во всех файлах, расположенных в каталоге /etc/samba вхождение словосочетания logon home. Используются утилиты find, xargs, GNU grep:
    find /etc/samba | xargs grep -ni 'logon home'
    find . -type f  | xargs grep -ni 'logon home'
    #!/bin/bash
     
    # Скрипт рекурсивно перебирает все файлы начиная с директории запуска.
    # И ищет в них вхождение переданной строки и выводит на консоль
    # в запускаемый скрипт нужно передать парметр - строку поиска, например
    # ./find_xargs.sh ivsenaidu.ru
     
     
    FIND="/usr/bin/find"
    XARGS="/usr/bin/xargs"
    GREP="/bin/grep"
     
    # Directory search
    SDIR=`pwd`
    #SDIR=$0
    # The search string
    SSTR=$1
     
    echo Find \'$SSTR\' into \'$SDIR\':;
     
    $FIND $SDIR | $XARGS $GREP -ni "$SSTR"
  • Поиск самых больших файлов, директорий. Используйте утилиты du и ls, например:
    $ ls -lSrh # отсортирует файлы по размеру, ключ r - большие файлы выводить в конце
    $ ls -lSrh *.ods # только для файлов LibreOffice
    $ du -sk * | sort -rn # выведет размеры для каталогов и файлов первого уровня
    # du -hsx /var/lib/pgsql # вывести размер директории pgsql
    153G	/var/lib/pgsql
  • Поиск и замена текста в нескольких файлах:
    1. Чтобы заменить foo на bar в нескольких файлах, выполните следующую команду Perl:
      > perl -pi~ -e 's/foo/bar/' [files] 

      Оригинальные файлы при этом будут сохраны с именами filename~.

      # perl -pi~ -e 's/ua.archive.ubuntu.com/mirror.yandex.ru/' /etc/apt/sources.list
    2. replace, входит в состав MySQL (т.е. должен быть установлен MySQL Server). В приведенном примере, в файле config.inc.php заменяются ВСЕ вхождения слова change-this-to-your.domain.tld на yourdomain.com
      > replace "change-this-to-your.domain.tld" "yourdomain.com" -- config.inc.php
    3. В файле collabnet_subversion_httpd.conf заменить на строку collabnet_subversion_httpd.conf. Используются утилиты sed:
      > sed -i -e 's/ServerName 10.1.7.1:9876/ServerName 10.1.7.2:9876/' ./collabnet_subversion_httpd.conf
  • Python: Как явно указать путь к загружаемому модулю 'ydmodall' (если он находится в не системной директории)?
    import sys
    #sys.path.append( '/home/your/workspace/import_yd_mod/' )
    #OR
    sys.path.append( '../import_yd_mod/' )
    import ydmodall
  • Изменить рекурсивно права доступа для вложенных файлов и каталогов:
    1. doperm.sh Автор F.Nik- скрипт не понимает файлы и директории с пробелами. Для устранения ошибки, названия файлов и директории в строке запуска chmod нужно заключить в одинарные скобки.
  • Тихий звук в Ubuntu: запустить в консоли команду alsamixer и там попробовать поднять параметры. Совет проверен на Card: HDA Intel Chip: VIA VT1708S
  • Объем используемого дискового пространства. Показать размер директории mysql, домашней директории пользователя, команда du:
    > du -hsx /usr/local/mysql
    102G	/usr/local/mysql
    $ du -hs $HOME
  • Создать файл произвольного размера, команда dd:
    $ dd if=/dev/zero of=mytestfile.bin bs=100M count=10

    , где of - задает имя нашего файла, bs=BYTES - размер блока, count - количество блоков. В нашем случае размер файла будет равен bs*count= 1048576000 байт (1,0 GB)

  • MySQL: Как узнать для какой таблицы ошибка? Восстановление(repair) таблицы
    # mysqlcheck -A
    Usage: mysqlcheck [OPTIONS] database [tables]
    # mysqlcheck --auto-repair zentyal samba_access
  • Как настроить автопределение кодировки в GNOME 3 Shell, если возникли проблемы например для Pidgin?
    gconf-editor /apps/gedit-2/preferences/encodings/auto_detected
  • Настройка использования swap в Ubuntu.
    # sysctl vm.swappiness
    vm.swappiness = 60

    Значение 60 параметра vm.swappiness говорит о том, что при 100-60=40% занятой ОЗУ Ubuntu начнет использовать swap. Если ОЗУ много, можно изменить параметр, например до 10, 20 и тем самым указать Ubuntu не использовать swap.

    # nano /etc/sysctl.conf
    vm.swappiness = 20
  • Файл winmail.dat в письмах
  • Убрать повторы строк из файла. Используются утилиты cat, sort и uniq :
    $ cat old.txt | sort | uniq > new.txt
  • Поиск дубликатов файлов:
    find ./ -type f | xargs -d\\n md5sum | sort | uniq -D -w 32 >duplicates.txt

    Альтернатива fdupes.

  • Как отключить работающего пользователя в Linux (Unix)?:
    ps -auxw | grep <username> kill -9 <PID>
  • Очистить (обнулить) файл, не удаляя его. При помощи утилиты echo или /dev/null::
    # echo -n > <ваш файл>
    # cat /dev/null > <ваш файл>
  • Linux вывести версию ядра (подробнее чем uname -a)
    # cat /proc/version
  • Распаковать RPM пакет
    # rpm2cpio compat-libstdc++-296-2.96-143.i686.rpm | cpio -idmuv --no-absolute-filenames

Массовое переименование файлов в Unix

  • Массовое переименование файлов в Unix:
    1. Вариант утилита rename и find. Она не умеет обрабатывать вложенные директории. Переименование файлов с использованием перловых выражений s, tr
      rename 'tr/ /_/;$_=lc;' *

      команда переводит все файлы в директории в нижний регистр и заменяет " " на _ . Для обработки вложенных директорий используем find. Идет поиск всех файлов в названии которых существует 3 точки и они заменяются на одно нижнее подчеркивание.

      find . -name "*\.\.\.*" -exec rename 's/\.\.\./_/' {} \;
    2. Вариант
      ls шаблоны ваших файлов | while read oldname; do
        newname="$(dirname "$oldname")/$(basename "$oldname" | tr 'QWERTYUIOPASDFGHJKLZXCVBNM' 'qwertyuiopasdfghjklzxcvbnm')"
        mv "$oldname" "$newname"
      done
    3. Вариант использование Midnight Commander, который умеет массово переименовывать директории и файлы.
    4. Вариант использование GUI gprename
      apt-get install gprename

Linux

SQL

Mail, DNS

Postfix:

CMS

Joomla! 3.x

  • Создание компонента com_test на основе Testing Code Snippets для Joomla 3.x.
  • Создание подключаемого модуля(директория plugins) MyMeta Generator для Joomla 3.x.

OpenVZ

Безопасность

faq.txt · Последние изменения: 2017/01/25 16:22 (внешнее изменение)