#------------------------------------------------------ # Vars and configs #------------------------------------------------------ # set display export DISPLAY=:0 # find alternative apps if it is installed on your system find_alt() { for i;do which "$i" >/dev/null && { echo "$i"; return 0;};done;return 1; } # Use the first program that it detects in the array as the default app export OPENER=$(find_alt xdg-open exo-open gnome-open ) export BROWSER=$(find_alt firefox chromium chromium-browser google-chrome $OPENER ) export BROWSERCLI=$(find_alt links2 links lynx w3m elinks $OPENER ) #export EDITOR=$(find_alt editc nano efte $OPENER ) EDITOR="/home/x/scripts/editc" export FILEMANAGER=$(find_alt pcmanfm thunar nautilus dolphin spacefm enlightenment_filemanager $OPENER ) export MUSICER=$(find_alt mocp mplayer mpg123 cvlc $OPENER ) export PAGER=$(find_alt less more most) export PLAYER=$(find_alt mplayer cvlc $OPENER ) export IMAGEVIEWER=$(find_alt feh display eog $OPENER ) #ClamAV Aliases alias clam='clamscan -i -r' alias clamexcl="clamscan -i -r -exclude='\.(zip|ZIP)'$" function clearm { bs=$(bash --version | head -n2) fm=$(awk '/MemFree/ { printf "Free Mem. %.1f MBs", $2/1024 }' /proc/meminfo) echo -e "\033[44m\033[1;33m\033[2J\033[1;1H$bs\033[4;1H$fm" } # main path export path_doc=~/Documents export path_dl=~/Downloads export path_pic=~/Pictures export path_pub=~/Public export path_storage=~/Storage export path_vids=~/Videos export path_scripts=~/scripts # color for common commands # tutorial video: http://www.youtube.com/watch?v=RbVCzxnKJL4 if [ -x /usr/bin/dircolors ]; then eval "`dircolors -b`" alias ls='ls --color=auto' alias dir='dir --color=auto' alias cd..='cd ..' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi #------------------------------------------------------ #------------------------------------------------------ # Config #------------------------------------------------------ cfg-fstab() { sudo $EDITOR /etc/fstab ;} cfg-group() { sudo $EDITOR /etc/group ;} cfg-hosts() { sudo $EDITOR /etc/hosts ;} cfg-lightdm() { sudo $EDITOR /etc/lightdm/lightdm.conf ;} cfg-mplayer() { $EDITOR ~/.mplayer/config ;} cfg-nanorc() { $EDITOR ~/.nanorc;} cfg-sudoers() { sudo $EDITOR /etc/sudoers ;} cfg-sourcelist() { sudo $EDITOR /etc/apt/sources.list ;} cfg-tmuxrc() { $EDITOR ~/.tmux.conf ;} cfg-aliases() { $EDITOR ~/.bash_aliases ;} cfg-openbox() { $EDITOR ~/.config/openbox/lubuntu-rc.xml ;} cfg-autostart() { $EDITOR ~/.config/lxsession/Lubuntu/autostart ;} #------------------------------------------------------ #------------------------------------------------------ # Various Aliases #------------------------------------------------------ alias aliases='cat ~/.bash_aliases | less' distro() { uname -a && lsb_release -a ;} alias wget='wget -c' wget-ext-url() { #wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off [url of website] # download all extension on a webpage # http://stackoverflow.com/a/18709707 wget -r -l1 -H -t1 -nd -N -np -A "$1" -erobots=off "$2" } alias lsd='ls -1d */' alias free='free -h' alias fte='sfte' alias getip='dig +short myip.opendns.com @resolver1.opendns.com' #alias extract='patool extract' #Aliases alias aliaslist='cat ~/.bash_aliases | fzf -e -i' alias aliasedit='nano ~/.bash_aliases' #Apt-Get alias install='sudo apt-get install' alias remove='sudo apt-get remove' alias purge='sudo apt-get remove --purge' alias update='sudo apt-get update' alias upgrade='sudo apt-get upgrade' alias clean='sudo apt-get autoclean && sudo apt-get autoremove' alias search='apt-cache search' alias show='apt-cache show' alias sources='gksudo gedit /etc/apt/sources.list ' alias repos='sudo add-apt-repository' alias mergelist_problem='sudo rm /var/lib/apt/lists/* -vf & sudo apt-get update' #Slow Apt-get alias slowinstall='sudo apt-get -o Acquire::http::Dl-Limit=100 install' alias slowupdate='sudo apt-get update && sudo apt-get -o Acquire::http::Dl-Limit=80 upgrade' #General alias audio_record='arecord -f cd -t raw | oggenc - -r -o' alias dirsize='du -hs' alias start='xdg-open' alias ramdisk_on='sudo mkdir -p /media/ramdisk && sudo mount -t tmpfs -o size=128M tmpfs /media/ramdisk' alias ramdisk_off='sudo umount /media/ramdisk' alias clean_thumb='find ~/.thumbnails -type f -atime +7 -exec rm {} \;' alias fixkeys='sudo apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver pool.sks-keyservers.net --recv $key && gpg --export --armor $key | sudo apt-key add -; done' alias resizeall='mogrify -format png -resize 800' alias imfonts='identify -list font' alias finddevices='nmap -sP 192.168.1.1/24' #youtube utmp3stream() { youtube-dl --audio-format best "$1" -o - | ffplay -nodisp -autoexit -i - } alias utmp3='/usr/local/bin/youtube-dl -R5 -t -c --extract-audio --audio-format=mp3 ' alias hate-mp3='utmp3 https://www.youtube.com/channel/UC6qQOTx9LuKMC5p2dbjmSRg --playlist-start 1 --playlist-end 20' alias utmp4='youtube-dl -R5 -t -c ' alias archive='engrampa' alias sysinfo='inxi -b' alias xampp='sudo /opt/lampp/xampp start' alias fastvideo='ffmpeg -i $1 -r 16 -vf "setpts=(1/4)*PTS" -an ff_$1' alias fastview2='mencoder -ovc copy -oac copy -speed $2 $1 -o fast_$1' alias flv2mp3='echo "ffmpeg -i “mysource.flv” -acodec libmp3lame -ac 2 -ab 128 -vn -y output.mp3"' alias lso="ls -alG | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf(\" %0o \",k);print}'" alias wwwphoto="gnome-web-photo --mode=photo" alias netscan="sudo arp-scan -l" function git-dir-download () { svn checkout $(echo "$1" | sed "s/tree\/master/trunk/g") } # get the chmod stats of the files # https://bbs.archlinux.org/viewtopic.php?pid=1280296#p1280296 getmod () { stat --format "%n %a" $* | column -t; } git-update() { git add * ; git commit -m "$1" ; git push ;} # search commandlinefu.com cmdfu() { curl "http://www.commandlinefu.com/commands/matching/$(echo "$@" \ | sed 's/ /-/g')/$(echo -n $@ | base64)/plaintext" ;} # check if a website is down # usage: down4me google.com down4me() { curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g';} #------------------------------------------------------ #------------------------------------------------------ #-------- Configurations Reload {{{ #------------------------------------------------------ rld-bashrc() { source ~/.bashrc ;} rld-aliases() { source ~/.bash_aliases ;} rld-openbox() { openbox --reconfigure ;} # }}} #------------------------------------------------------ #------------------------------------------------------ # Dpkg #------------------------------------------------------ alias dpkg-installed='dpkg --get-selections | grep $1' alias dpkg-deb-show='dpkg --info' #to examine archive files alias dpkg-deb-content='dpkg --contents' #to list their contents. dpkg-whichpkg() { dpkg -S $( which $1 ); } #lookup for what package uses this command dpkg-cmdpkg() { PACKAGE=$(dpkg -S $(which $1) | cut -d':' -f1); echo "[${PACKAGE}]"; dpkg -s "${PACKAGE}" ;} alias dpkg-history-install='cat /var/log/dpkg.log | grep "install "' alias dpkg-history-upgrade='cat /var/log/dpkg.log | grep upgrade' alias dpkg-history-remove='cat /var/log/dpkg.log | grep remove' dpkg-history-rollback() { cat /var/log/dpkg.log | grep upgrade | grep "$2" -A10000000 | grep "$3" -B10000000 |awk '{print $4"="$5}';} dpkg-hold() { echo -n "Please enter the package you wish to put a hold on:" read progID echo "$progID hold" |sudo dpkg --set-selections } dpkg-unhold() { echo -n "Please enter the package you wish to remove the hold on:" read progID echo "$progID install" |sudo dpkg --set-selections } #------------------------------------------------------ #------------------------------------------------------ #ffmpeg #------------------------------------------------------ #Flip Vertical alias fflipv='ffmpeg -vf "vflip" -i' #Flip Horizontal alias ffliph='ffmpeg -vf "hflip" -i' # convert video to avi container # usage: vid2avi file.mpg ffvid2avi() { ffmpeg -i "$1" -vcodec mpeg4 -sameq "${1%.*}.vid2avi.avi" ;} # combine multiple avi files into a single avi file # tutorial video: https://www.youtube.com/watch?v=EAWGFJoZXAU combine-avi() { avimerge -o combineavi_`date +'%F_%Hh%M'`.avi -i "$@" ;} webcam-mplayer() { mplayer tv:// -tv driver=v4l2:width=1280:height=720:device=/dev/video0 -fps 30 -vf screenshot ;} #------------------------------------------------------ #------------------------------------------------------ #rtmp sniff #------------------------------------------------------ sniff-begin() { sudo iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner root -j REDIRECT ;} sniff-capture-rtmpsrv() { rtmpsrv ;} sniff-end() { sudo iptables -t nat -D OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner root -j REDIRECT ;} #------------------------------------------------------ #------------------------------------------------------ # Help files and Hints #------------------------------------------------------ hint-bash-hotkey() { # {{{ cat <