edps

bash_functions-debian

Nov 21st, 2015
93
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  2. # Gerenciar Serviços no Debian GNU/Linux e derivados.
  3. # USO: start|stop|restart|reload|status serviço
  4. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  5.  
  6. start()
  7. {
  8.   for arg in $*; do
  9.     sudo /etc/init.d/$arg start
  10.   done
  11. }
  12. stop()
  13. {
  14.   for arg in $*; do
  15.     sudo /etc/init.d/$arg stop
  16.   done
  17. }
  18. restart()
  19. {
  20.   for arg in $*; do
  21.     sudo /etc/init.d/$arg restart
  22.   done
  23. }
  24. reload()
  25. {
  26.   for arg in $*; do
  27.     sudo /etc/init.d/$arg reload
  28.   done
  29. }
  30. status()
  31. {
  32.   for arg in $*; do
  33.     sudo /etc/init.d/$arg status
  34.   done
  35. }
  36.  
  37. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  38. # Editar arquivos importantes em Sistema Debian GNU/Linux.
  39. # USO: edit argumento
  40. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  41.  
  42. edit () {
  43.     if [[ -z "$1" ]]; then
  44.         echo "Sintaxe: edit alias"
  45.         return 1
  46.     fi
  47.     case "$1" in
  48.         'aliases')
  49.             $EDITOR "${HOME}/.bash_aliases"
  50.             ;;
  51.         'functions')
  52.             $EDITOR "${HOME}/.bash_functions"
  53.             ;;
  54.         'bashrc')
  55.             $EDITOR "${HOME}/.bashrc"
  56.             ;;
  57.         'bash_profile')
  58.             $EDITOR "${HOME}/.bash_profile"
  59.             ;;
  60.         'bash_logout')
  61.             $EDITOR "${HOME}/.bash_logout"
  62.             ;;
  63.         'xinitrc')
  64.             $EDITOR "${HOME}/.xinitrc"
  65.             ;;
  66.         'conky')
  67.             $EDITOR "${HOME}/.conkyrc"
  68.             ;;
  69.         'sources')
  70.             sudo $EDITOR "/etc/apt/sources.list"
  71.             ;;
  72.         'extras')
  73.             sudo $EDITOR "/etc/apt/sources.list.d/extras.list"
  74.             ;;
  75.         'ppas')
  76.             sudo $EDITOR "/etc/apt/sources.list.d/ppas.list"
  77.             ;;
  78.         'apt.conf')
  79.             sudo $EDITOR "/etc/apt/apt.conf"
  80.             ;;
  81.         'preferences')
  82.             sudo $EDITOR "/etc/apt/preferences"
  83.             ;;
  84.         'firewall')
  85.             sudo $EDITOR "/etc/arno-iptables-firewall/firewall.conf"
  86.             ;;
  87.         'grub')
  88.             sudo $EDITOR "/etc/default/grub"
  89.             ;;
  90.         'grubcfg')
  91.             sudo $EDITOR "/boot/grub/grub.cfg"
  92.             ;;
  93.         'lightdm')
  94.             sudo $EDITOR "/etc/lightdm/lightdm.conf"
  95.             ;;
  96.         'squid')
  97.             sudo $EDITOR "/etc/squid/squid.conf"
  98.             ;;
  99.         'xorg')
  100.             sudo $EDITOR "/etc/X11/xorg.conf"
  101.             ;;
  102.         'fstab')
  103.             sudo $EDITOR "/etc/fstab"
  104.             ;;
  105.         'hosts')
  106.             sudo $EDITOR "/etc/hosts"
  107.             ;;
  108.         'hostname')
  109.             sudo $EDITOR "/etc/hostname"
  110.             ;;
  111.         'inittab')
  112.             sudo $EDITOR "/etc/inittab"
  113.             ;;
  114.         'kernel-pkg')
  115.             sudo $EDITOR "/etc/kernel-pkg.conf"
  116.             ;;
  117.         'nano')
  118.             sudo $EDITOR "/etc/nanorc"
  119.             ;;
  120.         'prelink')
  121.             sudo $EDITOR "/etc/prelink.conf"
  122.             ;;
  123.         'profile')
  124.             sudo $EDITOR "/etc/profile"
  125.             ;;
  126.         'resolv.conf')
  127.             sudo $EDITOR "/etc/resolv.conf"
  128.             ;;
  129.         'sysctl')
  130.             sudo $EDITOR "/etc/sysctl.conf"
  131.             ;;
  132.         'sudoers')
  133.             sudo $EDITOR "/etc/sudoers"
  134.             ;;
  135.         'timezone')
  136.             sudo $EDITOR "/etc/timezone"
  137.             ;;
  138.         'updatedb')
  139.             sudo $EDITOR "/etc/updatedb.conf"
  140.             ;;
  141.         'wget')
  142.             sudo $EDITOR "/etc/wgetrc"
  143.             ;;
  144.         *)
  145.             if [[ "$(readlink -f "$1")" != ${HOME}/* ]]; then
  146.                 sudo $EDITOR "$1"
  147.             else
  148.                 $EDITOR "$1"
  149.             fi
  150.             ;;
  151.     esac
  152. }
  153.  
  154. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  155. # APT History.
  156. # USO: apt-history install|upgrade|remove|rollback
  157. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  158.  
  159. function apt-history(){
  160.  case "$1" in
  161.  install)
  162.  cat /var/log/dpkg.log | grep 'install '
  163. ;;
  164.  upgrade|remove)
  165.  cat /var/log/dpkg.log | grep $1
  166. ;;
  167.  rollback)
  168.  cat /var/log/dpkg.log | grep upgrade | \
  169.  grep "$2" -A10000000 | \
  170.  grep "$3" -B10000000 | \
  171.  awk '{print $4"="$5}'
  172. ;;
  173.  *)
  174.  cat /var/log/dpkg.log
  175. ;;
  176.  esac
  177.  }
  178.  
  179. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  180. # Espaço em disco.
  181. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  182.  
  183. hdd() {
  184.   hdd=( sda1 sdb1 sdb2 sdb3 sdb5)
  185.   echo -e "\n device | size  | used  | used% | avail | mount"
  186.   echo "-----------------------------------------------"
  187.   for hd in ${hdd[@]}; do
  188.     fs=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $1}')
  189.     sz=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $2}')
  190.     us=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $3}')
  191.     av=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $4}')
  192.     pr=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $5}')
  193.     mt=$(df -h /dev/$hd | tail -1 | awk -F' ' '{print $6}')
  194.     echo -e " ${fs/\/dev\//}\t| $sz \t| $us \t| $pr \t| $av \t| ${mt/\/hdd\//}"
  195.   done; echo
  196. }
  197.  
  198. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  199. # Listar os 10 comandos mais utilizados.
  200. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  201.  
  202. function top10() {
  203.  history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head
  204. }
  205.  
  206. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  207. # Criar PDFs de ManPages (requer: ghostscript e mimeinfo).
  208. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  209.  
  210. manpdf() { man -t "$@" | ps2pdf - /tmp/manpdf_$1.pdf && xdg-open /tmp/manpdf_$1.pdf ;}
  211.  
  212. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  213. # Converter vídeo para AVI.
  214. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  215.  
  216. function conv2avi() {
  217.     if [[ $(which mencoder-mt) != "" ]]; then
  218.     mencoder-mt "$1" -lavdopts threads=8 \
  219.       -ovc xvid -xvidencopts fixed_quant=4 -of avi \
  220.       -oac mp3lame -lameopts vbr=3 \
  221.       -o "$1".avi
  222.     else
  223.     mencoder "$1" -lavdopts \
  224.       -ovc xvid -xvidencopts fixed_quant=4 -of avi \
  225.       -oac mp3lame -lameopts vbr=3 \
  226.       -o "$1".avi
  227.     fi
  228. }
  229.  
  230. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  231. # Converter vídeo para AVI (mesma qualidade).
  232. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  233.  
  234. function samevideoquality() {
  235.     if [[ $(which ffmpeg) != "" ]]; then
  236.     ffmpeg -i "$1" -sameq "$1".avi
  237.     else
  238.     mencoder "$1" -lavdopts \
  239.       -ovc xvid -xvidencopts fixed_quant=4 -of avi \
  240.       -oac mp3lame -lameopts vbr=3 \
  241.       -o "$1".avi
  242.     fi
  243. }
  244.  
  245. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  246. # Extract.
  247. # USO: extract arquivo
  248. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  249.  
  250. extract() {
  251.  if [ -f $1 ] ; then
  252.  case $1 in
  253.     *.tar.bz2)  tar xvjf $1 ;;
  254.     *.tar.gz)   tar xvzf $1 ;;
  255.     *.tar.xz)   tar xvJf $1 ;;
  256.     *.bz2)      bunzip2 $1  ;;
  257.     *.rar)      unrar x $1  ;;
  258.     *.gz)       gunzip $1   ;;
  259.     *.tar)      tar xvf $1  ;;
  260.     *.tbz2)     tar xvjf $1 ;;
  261.     *.tgz)      tar xvzf $1 ;;
  262.     *.zip)      unzip $1    ;;
  263.     *.Z)        uncompress $1   ;;
  264.     *.7z)       7z x $1     ;;
  265.     *.xz)       unxz $1     ;;
  266.     *.exe)      cabextract $1   ;;
  267.         *.deb)      dpkg -x "${1}" `echo "${1}" | sed "s/.deb//"`   ;;
  268.     *) echo "\`$1': tipo de arquivo desconhecido"           ;;
  269. esac
  270. else
  271. echo "\`$1' não é um arquivo válido!"
  272.  fi
  273. }
  274.  
  275. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  276. # Compactar Diretórios.
  277. # USO: pk dir
  278. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  279.  
  280. pk () {
  281.     if [ $1 ] ; then
  282.         case $1 in
  283.             tbz)       tar cjvf $2.tar.bz2 $2      ;;
  284.             tgz)       tar czvf $2.tar.gz  $2       ;;
  285.             tar)      tar cpvf $2.tar  $2       ;;
  286.             bz2)    bzip $2 ;;
  287.             gz)        gzip -c -9 -n $2 > $2.gz ;;
  288.             zip)       zip -r $2.zip $2   ;;
  289.             7z)        7z a $2.7z $2    ;;
  290.             *)         echo "'$1' não pode ser compactado via pk()" ;;
  291.         esac
  292.     else
  293.         echo "'$1' não é um arquivo válido!"
  294.     fi
  295. }
  296.  
  297. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  298. # Gravar ISO para CD/DVD (requer: growisofs, wodim).
  299. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  300. iso2cd () {
  301.     wodim -v -eject speed=16 driveropts=burnfree dev=/dev/cdrom $1
  302. }
  303. iso2dvd () {
  304.     growisofs -dvd-compat -speed=4 -Z /dev/dvd=$1
  305. }
  306.  
  307. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  308. # Screenshot da tela (requer: scrot).
  309. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  310.  
  311. shot() {
  312.                 name=`date +%Y%m%I%M%S%N`
  313.                 file=$name.png
  314.                 scrot $file -e 'mv $f /home/h4rd3r/Screenshots/'
  315. }
  316.  
  317. shot5() {
  318.                 name=`date +%Y%m%I%M%S%N`
  319.                 file=$name.png
  320.                 scrot $file -e 'mv $f /home/h4rd3r/Screenshots/' -d 5
  321. }
  322.  
  323. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  324. # Extrair Áudio de Arquivo.
  325. # INFO: http://gnome-look.org/content/show.php/Ultimate+Bashrc+File?content=129746
  326. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  327.  
  328. function audioextract()
  329.  {
  330. mplayer -ao pcm -vo null -vc dummy -dumpaudio -dumpfile "$1" "$2"
  331.  }
  332.  
  333. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  334. # Extrair Áudio de DVD.
  335. # INFO: http://gnome-look.org/content/show.php/Ultimate+Bashrc+File?content=129746
  336. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  337.  
  338. function audioextract_dvd()
  339.  {
  340. mplayer "$1" -aid 128 -dumpaudio -dumpfile "$2"
  341.  }
  342.  
  343. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  344. # Extrair DVD para .mp4 (requer: handbrake).
  345. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  346.  
  347. rip() {
  348.   handbrake -i /dev/dvd -o $HOME/Vídeos/$1.mp4 -L -U -F -f mp4 -e x264 -b 4000 -B 192
  349. }
  350.  
  351. ripiso() {
  352.   handbrake -i /mnt/iso -o $HOME/Vídeos/$1.mp4 -L -U -F -f mp4 -e x264 -b 4000 -B 192
  353. }
  354.  
  355. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  356. # Download MP3 no Youtube
  357. # http://vivaotux.blogspot.com.br/2013/07/bash-function-to-get-mp3-from-youtube.html
  358. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  359.  
  360. youtube-mp3 () {
  361.         if [ $# -eq 0 ] ; then
  362.                 echo -e '\n\tUSAGE: youtube-mp3 youtube-link\n'
  363.                 return 0
  364.         fi
  365.  
  366.         NEEDED_COMMANDS="youtube-dl ffmpeg"
  367.         missing_counter=0
  368.         for needed_command in $NEEDED_COMMANDS; do
  369.                 if ! hash "$needed_command" >/dev/null 2>&1; then
  370.                         printf "Command not found in PATH: %s\n" "$needed_command" >&2
  371.                         ((missing_counter++))
  372.                 fi
  373.         done
  374.  
  375.         if ((missing_counter > 0)); then
  376.                 sudo apt-get install -y $NEEDED_COMMANDS
  377.         fi
  378.  
  379.         youtube-dl --restrict-filenames -x --audio-format=mp3 --audio-quality 320k  "${1}"
  380.  
  381. }
  382.  
  383.  
  384. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  385. # Send text to hastbin.
  386. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  387.  
  388. haste() { a=$(cat); curl -X POST -s -d "$a" http://hastebin.com/documents | awk -F '"' '{print "http://hastebin.com/"$4}'; }
  389.  
  390. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  391. # Transfer (upload) files with cURL.
  392. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
  393.  
  394. # Transfer files with cURL.
  395. transfer() { if [ $# -eq 0 ]; then echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
  396. tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }; alias transfer=transfer
  397.  
  398. #--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--#
RAW Paste Data