shell tricks

Добавить DNS:

vim /etc/resolv.conf

Посмотреть открытые порты:

netstat -tnlp

Узнать версию Ubuntu:

cat /etc/issue

Поиск файла по тексту:

grep -rl ‘sometext’ /path

Генерация произвольного файла нужного размера:

dd if=/dev/urandom bs=1M count=300 of=./testfile

Нарезка видео файла:

mencoder -ovc copy -oac copy -ss 0:09:00 -endpos 0:23:00 -o input_part1.avi input.avi

Добавление алиасов командам:

alias install='sudo apt-get install'

Чтобы алиасы работали после перезагрузки:

добавляем алиасы в ~/.bashrc, дальше source ~/.bashrc.

Посчитать количество строк в git-проекте

git ls-files | xargs wc -l

либо посчитать количество строк проекта по конкретному расширению:

find . -name '*.js' | xargs wc -l

Поиск по истории:
[Ctrl] + [R]

быстрый timelapse из картинок:

[shell]
mkdir source_folder_of_pictures
cp /media/cf/* source_folder_of_pictures/
cd source_folder_of_pictures
mkdir renamed
counter=1
ls -1tr *.JPG | while read filename; do cp $filename renamed/$(printf %05d $counter)_$filename; ((counter++)); done
cd renamed
mkdir resized
mogrify -path resized -resize 1920×1080! *.JPG
ffmpeg -r 25 -pattern_type glob -i ‘*.jpg’ -c:v copy output.avi
[/shell]

обрезать видео файл с помощью ffmpeg:

[shell]
ffmpeg -i ./file.avi -acodec copy -vcodec copy -ss 00:00:00 -t 00:02:13 ./new_file.avi
[/shell]

скопировать файл по ssh(ssh copy):

# download: remote -> local
scp user@remote_host:remote_file local_file
# upload: local -> remote
scp local_file user@remote_host:remote_file

сбросить рутовый пароль MySQL:

sudo /etc/init.d/mysql stop
sudo mysqld --skip-grant-tables
mysql -u root mysql
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;