FAQ
FAQ (Frequently Asked Questions) произносится "эф-эй-кью" – часто задаваемые вопросы, синоним - ЧаВО.
Содержание:
- Как проверить пропускную способность канала между двумя серверами расположенных на разных колокейшенах? Ответ >>
- Монтирование удалённой папки sftp, sshfs, FTP, WebDav, GMail, Flickr. autofs, mount, FUSE.
- GIT и только SSH - простейшая конфигурация
- Разница между режимами WPA-Personal и WPA-Enterprise. FreeRADIUS (Ubuntu) + D-Link DAP-1360
Web
- PHP. PHP Redirect file
- PHP. Как создать в PHP переменную налету
$y = date('Y'); ${"year".$y} = 'blablabla'; echo $number5;
- PHP. Протоколирование ошибок PHP. Как перенаправить вывод ошибок PHP в браузер непосредственно из скрипта?
- JavaScript.Object Navigator. Выведем всю информацию о браузере
- JavaScript. jQuery. Обновить часть страницы без перезагрузки
- PHP.JavaScript. Перенаправление после POST запроса(защита от повторной передачи данных методом POST)
function go_url_js($url) { echo '<script type="text/javascript"> window.location.href="' . $url . '"; </script>'; exit; }
Второй вариант.
if ($_SERVER["REQUEST_METHOD"] == 'POST') { header("Location: file.php"); // Перезапрос формы методом GET exit; }
- PHP. Получить количество дней в определенном месяце
echo date("t", strtotime("2013-06"));
- HTML. DOM. Справочник JavaScript: Object Document. Как обратиться к элементу формы?
document.forms[].property
Если тегу form задан атрибут name, в этом случае вместо обращения к коллекции форм можно использовать имя формы. Например, элементу input присвоим значение:
<form name="form_is_name"> <input type="text" name="note" /> </form> <script type="text/javascript"> document.forms.form_is_name.note.value='Hello!'; </script>
Shell: Bash
- Поиск в текстовых файлах. Найти во всех файлах, расположенных в каталоге /etc/samba вхождение словосочетания logon home. Используются утилиты Поиск файлов в Linux изучаем команду 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, ncdu и ls, например:
$ ls -lSrh # отсортирует файлы по размеру, ключ r - большие файлы выводить в конце $ ls -lSrh *.ods # только для файлов LibreOffice $ du -sk * | sort -rn # выведет размеры для каталогов и файлов первого уровня # du -hsx /var/lib/pgsql # вывести размер директории pgsql 153G /var/lib/pgsql
- Поиск и замена текста в нескольких файлах:
- Чтобы заменить 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
- 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
- В файле 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
- Вырезать кусок текста из лог- файла при помощи grep, sed
- Python: Как явно указать путь к загружаемому модулю 'ydmodall' (если он находится в не системной директории)?
import sys #sys.path.append( '/home/your/workspace/import_yd_mod/' ) #OR sys.path.append( '../import_yd_mod/' ) import ydmodall
- Изменить рекурсивно права доступа для вложенных файлов и каталогов:
- Cкрипт не понимает файлы и директории с пробелами. Для устранения ошибки, названия файлов и директории в строке запуска chmod нужно заключить в одинарные скобки.
#!/bin/sh ROOT_DIR=$1 DIR_PERM=$2 FILE_PERM=$3 for name in $(find ${ROOT_DIR}) do if [ -d $name ] then chmod ${DIR_PERM} ${name} echo "DIRECTORY: '${name}' PERMS CHANGED TO 0x${DIR_PERM}" else chmod ${FILE_PERM} ${name} echo "FILE: '${name}' PERMS CHANGED TO 0x${FILE_PERM}" fi done #Пример запуска: #/понятный путь для FreeBSD/*doperm.sh(пробел) #/полный путь к нужному каталогу/(пробел)аттрибуты каталога в цифрах, #например: 00770(пробел) аттрибуты файла в цифрах, например: 00600 #./doperm.sh /mnt/archive/oldmail 00770 00600
- Тихий звук в Ubuntu: запустить в консоли команду alsamixer и там попробовать поднять параметры. Совет проверен на Card: HDA Intel Chip: VIA VT1708S
- Объем используемого дискового пространства. Показать размер директории mysql, домашней директории пользователя, команда Анализ дискового пространства du, ncdu:
> 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
- Как настроить автопределение кодировки в Ubuntu GNOME настройка для повседневной работы, если возникли проблемы например для 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 в Linux и Утилита 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:
- Вариант утилита rename и Поиск файлов в Linux изучаем команду find на примерах. Она не умеет обрабатывать вложенные директории. Переименование файлов с использованием перловых выражений s, tr
rename 'tr/ /_/;$_=lc;' *
команда переводит все файлы в директории в нижний регистр и заменяет " " на _ . Для обработки вложенных директорий используем find. Идет поиск всех файлов в названии которых существует 3 точки и они заменяются на одно нижнее подчеркивание.
find . -name "*\.\.\.*" -exec rename 's/\.\.\./_/' {} \;
- Вариант
ls шаблоны ваших файлов | while read oldname; do newname="$(dirname "$oldname")/$(basename "$oldname" | tr 'QWERTYUIOPASDFGHJKLZXCVBNM' 'qwertyuiopasdfghjklzxcvbnm')" mv "$oldname" "$newname" done
- Вариант использование Midnight Commander, который умеет массово переименовывать директории и файлы.
- Вариант использование GUI gprename
apt-get install gprename
Linux
- Получение core dump в Linux: CentOS(+OpenVZ)
SQL
- Индекс в базах данных: INDEX, REINDEX. HOT.
- Как создать(скопировать) таблицу полностью с данными из другой таблицы?
CREATE TABLE new_table AS SELECT * FROM old_table;
Mail, DNS
Настройка почтового сервера Postfix:
- Postfix в роли cистема-спутник. Пересылка системных сообщений на smart-host (релей для исходящей почты).
- Postfix backup MX - настройка резервного почтового сервера.
CMS
- Создание компонента com_test на основе Testing Code Snippets для Joomla 3.x.
- Создание подключаемого модуля(директория plugins) MyMeta Generator для Joomla 3.x.
OpenVZ
- Доступ к устройствам из VE: USB, tun/tap интерфейс
Безопасность
