Генерируем случайные файлы в консоли Linux
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh # Generate random name files i=1 max=20 while [ $i -lt $max ] do tmpfile="/backup/`uuidgen`.gz" touch $tmpfile let i=i+1 done |
Жизнь замечательных грибов
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh # Generate random name files i=1 max=20 while [ $i -lt $max ] do tmpfile="/backup/`uuidgen`.gz" touch $tmpfile let i=i+1 done |
Я человек ленивый. А потому часто используя одни и те-же команды в консоли Linux, сделал себе диалоговое окошко с меню, отображаемое при помощи bash, которое помогает мне сократить время на вспоминание что где когда и зачем. А помогла мне в этом утилита dialog.
Простая задача, простое решение. Итак, нужно организовать внесение изменений в код сайта, который регулярно обновляется, и соответственно изменения, стираются. Для решения проблемы в Unix есть команды patch и diff.
Для создания патча, или файла правки, с помощью утилиты diff, выполните в командной строке:
1 2 |
$ diff -u старый_файл новый_файл > разница.diff # ключ -u указывает программе diff выдавать разницу в так называемом "стандартном" ("унифицированном") формате |
Чтобы применить полученный патч, наберите в командной строке:
1 |
$ patch < разница.diff |
(и нажмите «ввод»).
Выполнение последней команды перенесет разницу из нового файла в старый, обновив старый файл. (Если старый файл не будет найден по заданному пути, программа выдаст ошибку.)
Патч можно «откатить», то есть отменить, передав программе patch ключ -R:
1 |
$ patch -R < разница.diff |
Как правило, утилита patch способна правильно обновить файл и в том случае, когда он несколько изменился (например, был отредактирован в области, не перекрывающейся с областью применения текущей «заплатки»).
Для этого утилита patch использует «контекст» — несколько строчек, соседних с областью применения патча, хранящихся в файле правки наряду с другой информацией о замене.
Однако в случае существенного расхождения файла, к которому применяется («накладывается») патч, и исходного файла, использовавшегося при создании патча, корректность применения патча, вообще говоря, не гарантируется.
1 2 3 4 5 6 7 8 9 10 11 12 |
mysql -uusername -ppassword -hhost create database db_name; - создаем новую бд с названием db_name show databases; - просмотр имеющихся бд use db_name; - выбрать бд с именем db_name show tables; - просмотр всех таблиц show columns from table_name; - просмотр колонок и их свойств create table table_name (`id` int(11) AUTO_INCREMENT,`name` varchar(255)); - создание таблицы с колонками id и name alter table table_name add column1 int(11); - добавить колонку в таблицу alter table table_name drop column1; - удалить колонку из таблицы SELECT * FROM table_name; SET NAMES utf8; - чаще для линуксовых консолей SET NAMES cp866; - для cmd windows |
Важно! Обязателен разделитель команд ;