summaryrefslogtreecommitdiff
path: root/fedora/.config/bash/scripts.bash
diff options
context:
space:
mode:
Diffstat (limited to 'fedora/.config/bash/scripts.bash')
-rw-r--r--fedora/.config/bash/scripts.bash436
1 files changed, 0 insertions, 436 deletions
diff --git a/fedora/.config/bash/scripts.bash b/fedora/.config/bash/scripts.bash
deleted file mode 100644
index 400265d..0000000
--- a/fedora/.config/bash/scripts.bash
+++ /dev/null
@@ -1,436 +0,0 @@
-#!/bin/bash
-
-###########################################################################################
-###########################################################################################
-### --- APACHE --- ###
-# View Apache logs
-apachelog() {
- if [ -f /etc/httpd/conf/httpd.conf ]; then
- cd /var/log/httpd && ls -xAh && multitail --no-repeat -c -s 2 /var/log/httpd/*_log
- else
- cd /var/log/apache2 && ls -xAh && multitail --no-repeat -c -s 2 /var/log/apache2/*.log
- fi
-}
-
-# Edit the Apache configuration
-apacheconfig() {
- if [ -f /etc/httpd/conf/httpd.conf ]; then
- sedit /etc/httpd/conf/httpd.conf
- elif [ -f /etc/apache2/apache2.conf ]; then
- sedit /etc/apache2/apache2.conf
- else
- echo "Error: Apache config file could not be found."
- echo "Searching for possible locations:"
- sudo updatedb && locate httpd.conf && locate apache2.conf
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- BASH --- ###
-# Automatically install the needed support files for this .bashrc file
-install_bashrc_support() {
- local dtype
- dtype=$(distribution)
-
- if [ $dtype == "redhat" ]; then
- sudo yum install multitail tree joe
- elif [ $dtype == "suse" ]; then
- sudo zypper install multitail
- sudo zypper install tree
- sudo zypper install joe
- elif [ $dtype == "debian" ]; then
- sudo apt-get install multitail tree joe
- elif [ $dtype == "gentoo" ]; then
- sudo emerge multitail
- sudo emerge tree
- sudo emerge joe
- elif [ $dtype == "mandriva" ]; then
- sudo urpmi multitail
- sudo urpmi tree
- sudo urpmi joe
- elif [ $dtype == "slackware" ]; then
- echo "No install support for Slackware"
- else
- echo "Unknown distribution"
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- CD --- ###
-# Move and go to the directory
-mvg() {
- if [ -d "$2" ]; then
- mv $1 $2 && cd $2
- else
- mv $1 $2
- fi
-}
-
-# Create and go to the directory
-mc() {
- mkdir -p $1 && cd $1
-}
-
-# Go up a specified number of directories (i.e. up 4)
-up() {
- local d=""
- limit=$1
- for ((i = 1; i <= limit; i++)); do
- d=$d/..
- done
- d=$(echo $d | sed 's/^\///')
- if [ -z "$d" ]; then
- d=..
- fi
- cd $d
-}
-
-#Automatically do an ls after each cd
-# cd () {
-# if [ -n "$1" ]; then
-# builtin cd "$@" && ls
-# else
-# builtin cd ~ && ls
-# fi
-# }
-
-# Returns the last 2 fields of the working directory
-pwdtail() {
- pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}'
-}
-
-###########################################################################################
-###########################################################################################
-### --- COMMAND OUTPUT --- ###
-alias ilco=insert_last_command_output
-insert_last_command_output() {
- local last_cmd
- last_cmd=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
- eval "$last_cmd"
-}
-
-###########################################################################################
-###########################################################################################
-### --- COPY --- ###
-# Copy file with a progress bar
-cpf() {
- set -e
- strace -q -ewrite cp -- "${1}" "${2}" 2>&1 |
- awk '{
- count += $NF
- if (count % 10 == 0) {
- percent = count / total_size * 100
- printf "%3d%% [", percent
- for (i=0;i<=percent;i++)
- printf "="
- printf ">"
- for (i=percent;i<100;i++)
- printf " "
- printf "]\r"
- }
- }
- END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
-}
-
-# Copy and go to the directory
-cpg() {
- if [ -d "$2" ]; then
- cp $1 $2 && cd $2
- else
- cp $1 $2
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- CREATE --- ###
-alias mc=mkcd
-mkcd() { mkdir -p "$1" && cd "$1" || return; }
-
-mkdt() {
- mkdir -p "${1:+$1/}$(date +%F)"
-}
-
-###########################################################################################
-###########################################################################################
-### --- CURSOR --- ###
-# vi-mode cursor change
-function update_cursor {
- if [[ $READLINE_LINE == * ]]; then
- if [[ $READLINE_POINT -eq 0 ]]; then
- echo -ne '\e[6 q' # insert mode
- else
- echo -ne '\e[2 q' # command mode
- fi
- fi
-}
-
-# vi-command, vi-insert 모드 hook 등록
-bind -m vi-insert '":": "\C-o update_cursor"'
-bind -m vi-command '":": "\C-o update_cursor"'
-
-###########################################################################################
-###########################################################################################
-### --- DISTRIBUTION --- ###
-# Show the current distribution
-distribution() {
- local dtype
- # Assume unknown
- dtype="unknown"
-
- # First test against Fedora / RHEL / CentOS / generic Redhat derivative
- if [ -r /etc/rc.d/init.d/functions ]; then
- source /etc/rc.d/init.d/functions
- [ zz$(type -t passed 2>/dev/null) == "zzfunction" ] && dtype="redhat"
-
- # Then test against SUSE (must be after Redhat,
- # I've seen rc.status on Ubuntu I think? TODO: Recheck that)
- elif [ -r /etc/rc.status ]; then
- source /etc/rc.status
- [ zz$(type -t rc_reset 2>/dev/null) == "zzfunction" ] && dtype="suse"
-
- # Then test against Debian, Ubuntu and friends
- elif [ -r /lib/lsb/init-functions ]; then
- source /lib/lsb/init-functions
- [ zz$(type -t log_begin_msg 2>/dev/null) == "zzfunction" ] && dtype="debian"
-
- # Then test against Gentoo
- elif [ -r /etc/init.d/functions.sh ]; then
- source /etc/init.d/functions.sh
- [ zz$(type -t ebegin 2>/dev/null) == "zzfunction" ] && dtype="gentoo"
-
- # For Mandriva we currently just test if /etc/mandriva-release exists
- # and isn't empty (TODO: Find a better way :)
- elif [ -s /etc/mandriva-release ]; then
- dtype="mandriva"
-
- # For Slackware we currently just test if /etc/slackware-version exists
- elif [ -s /etc/slackware-version ]; then
- dtype="slackware"
-
- fi
- echo $dtype
-}
-
-# Show the current version of the operating system
-ver() {
- local dtype
- dtype=$(distribution)
-
- if [ $dtype == "redhat" ]; then
- if [ -s /etc/redhat-release ]; then
- cat /etc/redhat-release && uname -a
- else
- cat /etc/issue && uname -a
- fi
- elif [ $dtype == "suse" ]; then
- cat /etc/SuSE-release
- elif [ $dtype == "debian" ]; then
- lsb_release -a
- # sudo cat /etc/issue && sudo cat /etc/issue.net && sudo cat /etc/lsb_release && sudo cat /etc/os-release # Linux Mint option 2
- elif [ $dtype == "gentoo" ]; then
- cat /etc/gentoo-release
- elif [ $dtype == "mandriva" ]; then
- cat /etc/mandriva-release
- elif [ $dtype == "slackware" ]; then
- cat /etc/slackware-version
- else
- if [ -s /etc/issue ]; then
- cat /etc/issue
- else
- echo "Error: Unknown distribution"
- exit 1
- fi
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- EDIT --- ###
-edit() {
- if [ "$(type -t jpico)" = "file" ]; then
- # Use JOE text editor http://joe-editor.sourceforge.net/
- jpico -nonotice -linums -nobackups "$@"
- elif [ "$(type -t nano)" = "file" ]; then
- nano -c "$@"
- elif [ "$(type -t pico)" = "file" ]; then
- pico "$@"
- else
- vim "$@"
- fi
-}
-
-sedit() {
- if [ "$(type -t jpico)" = "file" ]; then
- # Use JOE text editor http://joe-editor.sourceforge.net/
- sudo jpico -nonotice -linums -nobackups "$@"
- elif [ "$(type -t nano)" = "file" ]; then
- sudo nano -c "$@"
- elif [ "$(type -t pico)" = "file" ]; then
- sudo pico "$@"
- else
- sudo vim "$@"
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- EXTRACT --- ###
-extract() {
- for archive in $*; do
- if [ -f $archive ]; then
- case $archive in
- *.tar.bz2) tar xvjf $archive ;;
- *.tar.gz) tar xvzf $archive ;;
- *.bz2) bunzip2 $archive ;;
- *.rar) rar x $archive ;;
- *.gz) gunzip $archive ;;
- *.tar) tar xvf $archive ;;
- *.tbz2) tar xvjf $archive ;;
- *.tgz) tar xvzf $archive ;;
- *.zip) unzip $archive ;;
- *.Z) uncompress $archive ;;
- *.7z) 7z x $archive ;;
- *) echo "don't know how to extract '$archive'..." ;;
- esac
- else
- echo "'$archive' is not a valid file!"
- fi
- done
-}
-
-###########################################################################################
-###########################################################################################
-### --- NETWORK --- ###
-# Show current network information
-netinfo() {
- echo "--------------- Network Information ---------------"
- /sbin/ifconfig | awk /'inet addr/ {print $2}'
- echo ""
- /sbin/ifconfig | awk /'Bcast/ {print $3}'
- echo ""
- /sbin/ifconfig | awk /'inet addr/ {print $4}'
-
- /sbin/ifconfig | awk /'HWaddr/ {print $4,$5}'
- echo "---------------------------------------------------"
-}
-
-# IP address lookup
-alias whatismyip="whatsmyip"
-function whatsmyip() {
- # Dumps a list of all IP addresses for every device
- # /sbin/ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }';
-
- # Internal IP Lookup
- echo -n "Internal IP: "
- /sbin/ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
-
- # External IP Lookup
- echo -n "External IP: "
- wget http://smart-ip.net/myip -O - -q
-}
-
-###########################################################################################
-###########################################################################################
-### --- PASS --- ###
-pass_otp() { pass otp uri -q "$1"; }
-pass_otp_insert() { pass otp insert "$1"; }
-
-alias cpqr=pass_qr
-pass_qr() { qrencode -o "$1.png" -t png -Sv 40 <"$1.pgp"; }
-
-###########################################################################################
-###########################################################################################
-### --- PHP --- ###
-# Edit the PHP configuration file
-phpconfig() {
- if [ -f /etc/php.ini ]; then
- sedit /etc/php.ini
- elif [ -f /etc/php/php.ini ]; then
- sedit /etc/php/php.ini
- elif [ -f /etc/php5/php.ini ]; then
- sedit /etc/php5/php.ini
- elif [ -f /usr/bin/php5/bin/php.ini ]; then
- sedit /usr/bin/php5/bin/php.ini
- elif [ -f /etc/php5/apache2/php.ini ]; then
- sedit /etc/php5/apache2/php.ini
- else
- echo "Error: php.ini file could not be found."
- echo "Searching for possible locations:"
- sudo updatedb && locate php.ini
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- SEARCH --- ###
-ftext() {
- # -i case-insensitive
- # -I ignore binary files
- # -H causes filename to be printed
- # -r recursive search
- # -n causes line number to be printed
- # optional: -F treat search term as a literal, not a regular expression
- # optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
- grep -iIHrn --color=always "$1" . | less -r
-}
-
-###########################################################################################
-###########################################################################################
-### --- SQL --- ###
-# Edit the MySQL configuration file
-mysqlconfig() {
- if [ -f /etc/my.cnf ]; then
- sedit /etc/my.cnf
- elif [ -f /etc/mysql/my.cnf ]; then
- sedit /etc/mysql/my.cnf
- elif [ -f /usr/local/etc/my.cnf ]; then
- sedit /usr/local/etc/my.cnf
- elif [ -f /usr/bin/mysql/my.cnf ]; then
- sedit /usr/bin/mysql/my.cnf
- elif [ -f ~/my.cnf ]; then
- sedit ~/my.cnf
- elif [ -f ~/.my.cnf ]; then
- sedit ~/.my.cnf
- else
- echo "Error: my.cnf file could not be found."
- echo "Searching for possible locations:"
- sudo updatedb && locate my.cnf
- fi
-}
-
-###########################################################################################
-###########################################################################################
-### --- STOW --- ###
-alias dstw=dotfiles_stw
-dotfiles_stw() {
- "${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.local/bin/stw"
-}
-
-###########################################################################################
-###########################################################################################
-### --- SUDO --- ###
-pre_cmd() {
- local prepend_command="$1"
- local buffer="${READLINE_LINE:-}"
-
- if [ -z "$buffer" ]; then
- buffer=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
- fi
-
- READLINE_LINE="$prepend_command $buffer"
- READLINE_POINT=${#READLINE_LINE}
-}
-bind -x '"\es":pre_cmd sudo'
-
-###########################################################################################
-###########################################################################################
-### --- TRIM --- ###
-trim() {
- local var=$@
- var='${var#"${var%%[![:space:]]*}"}' # remove leading whitespace characters
- var='${var%"${var##*[![:space:]]}"}' # remove trailing whitespace characters
- echo -n "$var"
-}