Информация о свободном месте на жестком диске. Параметр -h нужен чтобы выводить форматирование.
df -h
Информация о размере папки.
du /var/www
Информация об установленном диске.
hdparm -Ii /dev/sda1
Информация о свободном месте на жестком диске. Параметр -h нужен чтобы выводить форматирование.
df -h
Информация о размере папки.
du /var/www
Информация об установленном диске.
hdparm -Ii /dev/sda1
Зачастую, у вас имеется группа файлов, которые вы не только не хотите автоматически добавлять в репозиторий, но и видеть в списках неотслеживаемых. К таким файлам обычно относятся автоматически генерируемые файлы (различные логи, результаты сборки программ и т.п.). В таком случае, вы можете создать файл .gitignore с перечислением шаблонов соответствующих таким файлам. Вот пример файла .gitignore:
$ cat .gitignore
*.[oa]
*~
Первая строка предписывает Git’у игнорировать любые файлы заканчивающиеся на .o или .a — объектные и архивные файлы, которые могут появиться во время сборки кода. Вторая строка предписывает игнорировать все файлы заканчивающиеся на тильду (~
), которая используется во многих текстовых редакторах, например Emacs, для обозначения временных файлов. Вы можете также включить каталоги log, tmp или pid; автоматически создаваемую документацию; и т.д. и т.п. Хорошая практика заключается в настройке файла .gitignore до того, как начать серьёзно работать, это защитит вас от случайного добавления в репозиторий файлов, которых вы там видеть не хотите.
К шаблонам в файле .gitignore применяются следующие правила:
/
) для указания каталога.!
) в качестве первого символа.Glob-шаблоны представляют собой упрощённые регулярные выражения используемые командными интерпретаторами. Символ *
соответствует 0 или более символам; последовательность [abc]
— любому символу из указанных в скобках (в данном примере a, b или c); знак вопроса (?
) соответствует одному символу; [0-9]
соответствует любому символу из интервала (в данном случае от 0 до 9).
Вот ещё один пример файла .gitignore:
# комментарий — эта строка игнорируется
# не обрабатывать файлы, имя которых заканчивается на .a
*.a
# НО отслеживать файл lib.a, несмотря на то, что мы игнорируем все .a файлы с помощью предыдущего правила
!lib.a
# игнорировать только файл TODO находящийся в корневом каталоге, не относится к файлам вида subdir/TODO
/TODO
# игнорировать все файлы в каталоге build/
build/
# игнорировать doc/notes.txt, но не doc/server/arch.txt
doc/*.txt
# игнорировать все .txt файлы в каталоге doc/
doc/**/*.txt
Шаблон **/
доступен в Git, начиная с версии 1.8.2.
Скачиваем утилитку https://git-for-windows.github.io/ для работы из под Windows.
Добавление удаленного репозитория
git remote add origin https://github.com/tutorialzine/awesome-project.git # пример использования # git push origin master
Добавление файла
git add feature.txt git commit -m "New feature complete." # -m это параметр для указания сообщения
Создание новой ветки
git branch amazing_new_feature
Просмотр веток
git branch
Переключение на ветку
git checkout amazing_new_feature
Авторизация от имени администратора:
sudo -s
Информация о дисках
fdisk -l
Проверка диска
sudo shutdown now - переход в single режим umount / - размонтирование диска (fdisk -l) fsck -y -f -c /dev/sda1
Проверка на битые секторы
badblocks -v /dev/XYZ > file.list - проверка e2fsck -l file.list /dev/XYZ - лечим если наши ошибки
sudo touch /forcefsck - для проверки при загруке
Запуск выполнения команд через terminal:
mysql -u root -p
Создание индекса:
alter table [table_name] add index ([column_name]) constraint ([fk_id]) foreign key ([key_name]) references [ref_table](ref_table_key_id)
Добавление колонки:
alter table [table_name] add [column_name] bit default 0 after [column_name]
Вызов процедуры:
CALL [proc_name] ();
Просмотр колонок у таблицы:
describe table_name;
Просмотреть код у таблицы:
show create table table_name;
sudo apt-get install postgresql
Дальше настраиваем безопасность:
1. переходим в папку /etc/postgresql/{version}/main
2. открываем папку postgresql.conf
listen_addresses = ‘*’
3. открываем файл pg_hba.conf
Находим строку
host all all 127.0.0.1/32 md5
и меняем её на
host all all 0.0.0.0/0 md5
Дополнение для windows
Скачиваем приложение managment tools и создаем подключение к БД
Статьи:
Руководство по postgresql — http://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/postgresql
Права доступа — http://dba.stackexchange.com/questions/83984/connect-to-postgresql-server-fatal-no-pg-hba-conf-entry-for-host
Managment Tools — https://www.postgresql.org/ftp/pgadmin3/pgadmin4/v1.2/windows/
Скачиваем CMS
wget https://ru.wordpress.org/wordpress-4.7.2-ru_RU.tar.gz
tar -xvzf wordpress-4.7.2-ru_RU.tar.gz
sudo mkdir -p /var/www/wordpress
sudo cp -r ~/wordpress/* /var/www/wordpress/
Настраиваем SQL
mysql -u root -p
create database wordpress;
CREATE USER ‘wordpress’@’localhost’ IDENTIFIED BY ‘12345’;
GRANT ALL PRIVILEGES ON wordpress.* TO ‘wordpress’@’localhost’ IDENTIFIED BY ‘12345’;
exit
Настраиваем CMS
sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
Устанавливаем права
Дать права доступа к chown -R www-data:www-data /var/www/wordpress
В файле wp-config.php добавить в конце
if ( is_admin() ) {
add_filter ( ‘filesystem_method’, create_function(‘$a’, ‘return «direct»;’ ) );
define ( ‘FS_CHMOD_DIR’, 0751 );
}
Для ubuntu 14.04 и php 5 последняя поддерживаемая версия
https://ru.wordpress.org/wordpress-5.1.1-ru_RU.tar.gz
Установка не сложная все делаем по инструкции которая указана в стать выше. Просто для установки русской версии переходим на сайт http://joomla.ru/downloads и скачиваем там файл при помощи команды
wget https://downloads.joomla.org/cms/joomla3/3-6-5/Joomla_3.6.5-Stable-Full_Package.zip
затем распаковываем при помощи unzip
если приложение не установлено, то выполняем вначале sudo apt-get install unzip
unzip file.zip -d destination_folder
Платформа Node подходит для программирования потоков данных и организации
их передачи. Потоки данных можно представлять как массивы, но вместо
распределения данных в области (в массиве) выполняется распределение данных во
времени. Благодаря передаче данных фрагмент за фрагментом разработчик
получает возможность обрабатывать данные по мере их накопления, а не ждать,
пока будут переданы все данные, а потом выполнять какие-либо действия.
Обратите внимание на организацию передачи потоков данных для файла ресурсов
resource.json:
var stream = fs.createReadStream(‘./resource.json’)
// Событие Data вызывается после появления нового фрагмента данных
stream.on(‘data’, function (chunk) {
console.log(chunk)
})
stream.on(‘end’, function () {
console.log(‘finished’)
})
Событие data вызывается после появления нового фрагмента данных, а событие
end — после загрузки всех фрагментов кода. Фрагменты данных могут иметь
разные размеры (в зависимости от типа данных). Благодаря чтению потока данных
на низком уровне обеспечивается более эффективная обработка данных, чем
ожидание передачи всех данных в буфер памяти.
В Node также поддерживаются записываемые потоки данных, позволяющие
записывать фрагменты данных. Один из подобных потоков — объект ответа (res),
генерируемый в ответ на запрос к HTTP-серверу.
Считываемые и записываемые потоки могут соединяться, образуя каналы, как в
случае использования оператора | в языке написания сценариев оболочки. При этом
обеспечивается эффективный способ записи только что считанных данных без
ожидания считывания и сохранения всего ресурса.
Рассмотрим пример H TTP-сервера, взятый из предыдущего раздела. В данном
случае он будет передавать клиенту поток данных изображения:
var http = require(‘http’);
var fs = require(‘fs’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘image/png’});
// Передача по каналам из считываемого потока в записываемый
fs.createReadStream(‘./image.png’).pipe(res);
}).listen(3000);
console.log(‘Server running at http://localhost:3000/’);
При выполнении этого примера кода данные считываются из файла
(fs.createReadStream) и отсылаются (.pipe) клиенту (res) по мере считывания. Цикл
событий может обрабатывать другие события, пока данные передаются в потоке.
Node поддерживает описанный подход (когда механизм DIRTy предлагается по
умолчанию) на различных платформах, включая разные версии UN IX и Windows.
Базовая библиотека асинхронного ввода-вывода (libuv) была создана для того,
чтобы поддерживать универсальную методику обработки независимо от
родительской операционной системы. В результате обеспечивается упрощенный
перенос программ на другие устройства, на которых они могут выполняться.