Полезные команды для вебразработчика

Нет картинки Шпаргалка важных команд, которые мы применяем, чтобы работать эффективнее и быстрее.

MySQL:

1. Массовая замена/добавление текста в столбце в MySQL (Замена слова 'sex' на 'love' в поле data таблицы mylife:)
     Если встала необходимость заменить какой-либо текст в таблице MySQL, это можно сделать очень просто

UPDATE mylife SET Field_name = REPLACE(Field_name, 'sex', 'love');
UPDATE lessons SET place='office'; //заполнение столбца значением

2. Дать права другому пользователю в базе MySQL
     например вам нужна возможность скриптом на другом сервере подключиться к базе данных, находящейся на этом сервере

GRANT ALL PRIVILEGES ON ee.* TO eeuser@hostname IDENTIFIED BY `password` WITH GRANT OPTION;

3. Перенос строки из одной таблицы БД в другую таблицу
     например при модерации записей, одобренные переносим в основную таблицу, удаляя из временной

INSERT INTO table_to (table1.title, table1.date, table1.text)
SELECT table_from.title, table_from.date, table_from.text
FROM table_from
WHERE id = $id;

DELETE FROM table_from WHERE id = $id;

4. Импорт в MySQL из файла переведенного в .txt

LOAD DATA INFILE 'path/file.txt' INTO TABLE your_table;

5. Узнать максимальный занятый id

SELECT MAX(id) FROM users

6. Обнуление автоинкремента (ну или установка счёта с какого-то конкретного элемента)

ALTER TABLE users AUTO_INCREMENT = 25

7. Заполнение одного столбца значениями другого (копирование значений из столбца в столбец)
     Например когда добавляете новый столбец, и надо в него перенести все значения из соседноего столбца таблицы

UPDATE table_name SET column_new=column_old;
8. Перенос значений из столбца одной (старой) таблицы в столбец новой таблицы.
UPDATE t1,t2 SET t1.a=t2.a WHERE t1.id=t2.id;

9. Заменить кусок текста в поле записи в нескольких записях

UPDATE infoforum_mailer_mails SET body = REPLACE(body, '<a href="http://loveyouloveyou/conference/2">http://loveyouloveyou/conference/2</a>', '<a href="http://city.infoforum.ru/organy-gosudarstvennoj-vlasti-regionov-rossii-na-infoforume-evraziyasiti/">http://city.infoforum.ru/organy-gosudarstvennoj-vlasti-regionov-rossii-na-infoforume-evraziyasiti/</a>') WHERE id >= 20381 AND id <= 20400;

10. Обновить несколько строчек в MySQL, добавляя к тексту фрагмент ещё текста. Приписать в хвост существующего начиная с id N и заканчивая id M:

UPDATE table t SET t.body=CONCAT(t.body,'<br /><br /><i><small> Если Вы не заинтересованы получать приглашения от Оргкомитета Инфофорума, просим сообщить нам об этом по электронному адресу <a href="mailto:info@domain.ru?subject=Отписаться%20от%20рассылки%20Инфофорума&body=отписаться">info@domain.ru</a> или по тел. (495)111-11-11</small></i>') WHERE t.id>=20391 AND t.id<=20400;

11. Добавить в таблицу записи из другой таблицы (может неидентичная, но содержит одинаковые столбцы):

INSERT INTO table_site (column1, column2, column3) SELECT column1, column2, column3 FROM table_site2

INSERT INTO table_site1 (category_id, email, name,surname,middle_name,sex,company) SELECT category_id, email, name,surname,middle_name,sex,company FROM table_site2

12. Поменять в таблице два поля местами:

ALTER TABLE `carstock`.`changes` CHANGE COLUMN `name` `name` VARCHAR(45) NOT NULL AFTER `date`;

13. Удалить записи, у которых в столбце NULL

DELETE FROM tbl_album WHERE album IS NULL

14. Удалить дубликаты строк

1) Наиболее действенный (a,b,c - столбцы, которые не должны быть одинаковыми, id - уникальный идентификатор)

DELETE t1 FROM vasya AS t1, vasya AS t2 
WHERE t1.a = t2.a 
    AND t1.b = t2.b
    AND t1.c = t2.c
           ... 
    AND t1.id > t2.id

2) с созданием ключа из столбцов, которые попарно не должны дублироваться

ALTER IGNORE TABLE tbl_album ADD UNIQUE KEY(artist_id, album(50))

15. Дополнить таблицу значениями другой таблицы, причём, чтобы уже имеющиеся значения не добавлялись (проверка на дублирование)

INSERT INTO ASS ( Nomer_testa, Whole_ass, Gr20, Gr21, Gr22, Kod_tov, Tovar )
SELECT ASS2.Nomer_testa, ASS2.Whole_ass, ASS2.Gr20, ASS2.Gr21, ASS2.Gr22, ASS2.Kod_tov, ASS2.Tovar
FROM ASS2
WHERE ass2.Nomer_testa&ass2.Whole_ass&ass2.Gr20&ass2.Gr21&ass2.Gr22&ass2.Kod_tov&ass2.Tovar 
not in (select ass.Nomer_testa&ass.Whole_ass&ass.Gr20&ass.Gr21&ass.Gr22&ass.Kod_tov&ass.Tovar from ass);

// мой вариант
INSERT INTO tbl_artist ( name, image, lang )
SELECT artist.name, artist.image, artist.lang
FROM artist
WHERE artist.name not in (select tbl_artist.name from tbl_artist);

PHP:

1. Обрезать строку до определенного символа

$string = 12345\45;
Нужно отрезать 12345\ что бы осталось 45

end(explode('\\', $string));
или
$a = substr($string, strrpos($string, '\\')+1);

 

SSH:

Создание архива

tar czf loco.tar.gz loco

(tar -czvf loco.tar.gz loco)

Рекурсивная установка прав на файлы в каталоге, пример: chmod -R <права> <каталог>

chmod -R 777 /home/iuser/files 

Установка прав на перечисленные файлы, пример: chmod права файл1 файл2 ... файлN

chmod 777 file1.txt file2.txt ffile3.txt  

Для всех битов (a = all) убрать флаги r и w (т.е. запретить чтение и запись)

chmod a-rw /home/user2/folder1/file2.txt 

Для группы (g = group) и для других (o = others) добавить флаг чтения (r)

chmod go+r /home/user2/folder1/file9.txt  

Информацию о команде chmod можно прочесть в мануале:

man chmod

•• разархивировать .zip на сервере

unzip mantis.zip либо запустить mc и там тоже набрать unzip mantis.zip

•• Водяной знак на одно фото

composite -gravity southeast watermark.png 001.jpg dst.jpg

•• водяной знак на все фотки

For f in *.jpg ; do composite -gravity southeast watermark.png "$f" "${f%.jpg}-w.jpg"; done

•• сжатие png

pngcrush -rem alla -brute -reduce arc.png dest.png

•• сжатие jpg

jpegtran -copy none -optimize sec.jpg (>) dest.jpg

** очистка кэша роутов и маршрутов

Windows - ipconfig /flushdns route -f

Mac - dscacheutil -flushcache

** трассировка маршрутов

traceroute loco.ru

запуск sh скрипта

sh github.sh

чтобы редактировать открытый в vi файл

s

сохранить

esc +:w + return

выйти без сохранения правок

esc + :q! + return

Просмотр процессов

top - просмотр собственных процессов в реальном времени.

ps auxwj - показывает много полезной информации по текущим процессам, их id, приложения, их вызывающие и тд.

ps aux | grep -i ssh-a

Убить процесс

kill 32301

 

Команды файловой системы(df и du)

** Информация о использовании жесткого диска

df - (покажет столько места у нас свободно в процентах и килобайтах) 


** Список файлов и директорий с указанием размеров (du) 

du - (список файлов с размерами в текущей директории. Если вы находитесь в большой директории, то это займет побольше времени. Да и смысл в этом?) 
du -sh - (размер текущей папки)
rm -rf folder/ - удалить папку и все файлы в ней

Photoshop:

•• вырезание объекта из фона  в Photoshop

1. Открываем картинку и кнопка Q
2. Мягкая кисть 3-10 px
3. Обводим объект 
4. Заливаем этот контур
5. Выходим из режима Q
6. Новый слой через вырезание ctrl+J

 

Источник: loco.ru

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.



Другие статьи по этой теме:

Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.