I have been doing alot of tinkering with bashrc so I thought we should share what we have! Code: # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # Pager export PAGER=most # If not running interactively, don't do anything [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # don't overwrite GNU Midnight Commander's setting of `ignorespace'. HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups # ... or force ignoredups and ignorespace HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='\[\033[1;34m\]┌────[\u@\h]──────────────────────────────────────────────────────[\t]────┐ \n└───>[${PWD}] \$ \[\033[0;34m\]' else PS1='┌────[\u@\h]──────────────────────────────────────────────────────[\t]────┐ \n└───>[${PWD}] \$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac # Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. #if [ -f ~/.bash_aliases ]; then # . ~/.bash_aliases #fi # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' #alias grep='grep --color=auto' #alias fgrep='fgrep --color=auto' #alias egrep='egrep --color=auto' fi # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi #------------------------------------------//// # Colors: #------------------------------------------//// black='\e[0;30m' blue='\e[0;34m' green='\e[0;32m' cyan='\e[0;36m' red='\e[0;31m' purple='\e[0;35m' brown='\e[0;33m' lightgray='\e[0;37m' darkgray='\e[1;30m' lightblue='\e[1;34m' lightgreen='\e[1;32m' lightcyan='\e[1;36m' lightred='\e[1;31m' lightpurple='\e[1;35m' yellow='\e[1;33m' white='\e[1;37m' nc='\e[0m' #------------------------------------------//// # Colors: #------------------------------------------//// black='\e[0;30m' blue='\e[0;34m' green='\e[0;32m' cyan='\e[0;36m' red='\e[0;31m' purple='\e[0;35m' brown='\e[0;33m' lightgray='\e[0;37m' darkgray='\e[1;30m' lightblue='\e[1;34m' lightgreen='\e[1;32m' lightcyan='\e[1;36m' lightred='\e[1;31m' lightpurple='\e[1;35m' yellow='\e[1;33m' white='\e[1;37m' nc='\e[0m' #------------------------------------------//// # Aliases: #------------------------------------------//// ## make ls list by size ##alias ls='du -s */* | sort -n' alias findbig='find . -type f -exec ls -s {} \; | sort -n -r | head -5' alias music='vlc' alias ports='netstat -nape --inet' alias ping='ping -c 4' #alias ns='netstat -alnp --protocol=inet' #alias update='sudo' #alias refresh='sudo pacman -Syy' alias ls='ls --color=always' alias la='ls -Al' alias lx='ls -lXB' alias lk='ls -lSr' alias lc='ls -lcr' alias lu='ls -lur' alias lr='ls -lR' alias lt='ls -ltr' alias lm='ls -al |more' alias lr='ls -R' # using ls recursively - Handy with grep alias reload='source ~/.bashrc' alias bashmod='nano ~/.bashrc' alias secscan='sudo rkhunter -c' alias update='sudo yum update' alias byebye='sudo poweroff' alias chrome='/opt/google/chrome/chrome' alias download='sudo yum install' #------------------------------------------//// # Functions and Scripts: #------------------------------------------//// localnet () { /sbin/ifconfig | awk /'inet addr/ {print $2}' echo "" /sbin/ifconfig | awk /'Bcast/ {print $3}' echo "" } upinfo () { echo -ne "${green}$HOSTNAME ${red}uptime is ${cyan} \t ";uptime | awk /'up/ {print $3,$4,$5,$6,$7,$8,$9,$10}' } cd() { if [ -n "$1" ]; then builtin cd "$@" && ls else builtin cd ~ && ls fi } encrypt () { gpg -ac --no-options "$1" } decrypt () { gpg --no-options "$1" } extract() { if [ -f "$1" ] ; then case "$1" in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.tar.Z) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.jar) unzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *) echo "'$1' cannot be extracted." ;; esac else echo "'$1' is not a file." fi } #------------------------------------------//// # Prompt: #------------------------------------------//// PS1='\[\033[01;32m\]\u\[\033[01;34m\]@\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]' #------------------------------------------//// # System Information: #------------------------------------------//// clear echo -e "${purple}Welcome To X942's System" echo -e "${purple}Authorized Users Only" echo -e "${purple}Unauthorized is strictly prohibited and will be prosecuted to the fullest" echo -e "${purple}Extent of the law." echo -e "${red}Fedora 15"; echo "" echo -ne "${red}Today is:\t\t${cyan}" `date`; echo "" echo -e "${red}Kernel Information: \t${cyan}" `uname -smr` echo -ne "${cyan}";upinfo;echo "" echo -e "${lightgray}"; cal -1 Parts were taken from another poster elsewhere. I love aliases so much easier!
I haven't modified the standard Ubuntu .bashrc but I'm using the following .bash_aliases file: Code: alias u="sudo apt-get update ; sudo apt-get upgrade" alias U="sudo apt-get update ; sudo apt-get dist-upgrade" alias i="sudo apt-get install" alias r="sudo apt-get remove" alias s="wajig search" alias S="wajig show" alias up="sudo apt-get dist-upgrade" alias ar="sudo apt-get autoremove" alias cleanup="wajig autoremove ; wajig auto-clean ; wajig purge-orphans"
Aliases make life so much easier. I have one (bashmod) that lets me modify .bashrc quickly Also what is "wajig"? Never heard of it before.
Another idea is adding to .bashrc - see this site. The command offers the following options (you have to loggoff and logon again first): apt-history install | remove | upgrade | rollback Example output:
Nice ! (mack_guy will be pleased with the rollback feature). Oops, I misunderstood the rollback function - not like that in yum history at all. Did you compile from the tar.bz2 or did you install the 32 bit deb on your 64 bit system ? I suppose you may have had 32 bit libraries installed like I have, and simply installed the deb ? > Wieder mal ein Knüller von tlu ! <
Neither Adding that function to .bashrc is sufficient. Thanks - but I didn't invent it, just found it somewhere
There may be something to be concerned about. The dpkg.log files - the older ones - are gzipped. So I don't think rollback/install/upgrade/remove will work when a gzip needs to be accessed. In this regard I have found a script which purports to fix this. Code: #!/bin/bash ### Author: Benjamin York ### Date: 2011-01-08 ### ### Based On: ### http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html ### ### Hosted At: ### https://github.com/blyork/apt-history ### ### Git Repository: ### git://github.com/blyork/apt-history.git ### ### Description: ### Parses dpkg log files to get package installation, removal, and rollback ### information. ### ### Ubuntu Server likes to split up the dpkg.log file and then compress the ### various pieces. After seeing LinuxCommando's function, I added functionality ### to pull the pieces back together. I also slightly adjusted the output to ### avoid false positives. function echoHistory(){ if [[ $1 == *.gz ]] ; then gzip -cd $1 else if [[ $1 == *.log || $1 == *.log.1 ]] ; then cat $1 else echo "\*\*\* Invalid File: ${1} \*\*\*" 1>&2 fi fi } FILES=( `ls -rt /var/log/dpkg.log*` ) || exit 1 for file in "${FILES[@]}" do case "$1" in install) echoHistory $file | grep " install " ;; upgrade|remove) echoHistory $file | grep " ${1} " ;; rollback) echoHistory $file | grep upgrade | \ grep "$2" -A10000000 | \ grep "$3" -B10000000 | \ awk '{print $4"="$5}' ;; list) echoHistory $file ;; *) echo "Parameters:" echo " install - Lists all packages that have been installed." echo " upgrade - Lists all packages that have been upgraded." echo " remove - Lists all packages that have been removed." echo " rollback - Lists rollback information." echo " list - Lists all contents of dpkg logs." break ;; esac done exit 0 BTW, tlu, you did use sudo didn't you ?
Here is another to extract archives. (I see x942 has similar function script) Code: ################################################## # Extract - extract most common compression # # types # ################################################## function extract() { local e=0 i c for i; do if [[ -f $i && -r $i ]]; then c='' case $i in *.t@(gz|lz|xz|b@(2|z?(2))|a@(z|r?(.@(Z|bz?(2)|gz|lzma|xz))))) c='bsdtar xvf' ;; *.7z) c='7z x' ;; *.Z) c='uncompress' ;; *.bz2) c='bunzip2' ;; *.exe) c='cabextract' ;; *.gz) c='gunzip' ;; *.rar) c='unrar x' ;; *.xz) c='unxz' ;; *.zip) c='unzip' ;; *) echo "$0: cannot extract \`$i': Unrecognized file extension" >&2; e=1 ;; esac [[ $c ]] && command $c "$i" else echo "$0: cannot extract \`$i': File is unreadable" >&2; e=2 fi done return $e } Example on a 7zip.. severin@severin-desktop:~/Desktop$ extract new.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_ZA.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Processing archive: new.7z Extracting BitDefender Command Line Options Extracting BitDefender Install Instructions Extracting Bitdefender email script.mht Everything is Ok Files: 3 Size: 145747 Compressed: 70131 And renaming the previously extracted files. severin@severin-desktop:~/Desktop$ extract new.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_ZA.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Processing archive: new.7z file BitDefender Command Line Options already exists. Overwrite with BitDefender Command Line Options? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? u Extracting BitDefender Command Line Options Extracting BitDefender Install Instructions Extracting Bitdefender email script.mht Everything is Ok Files: 3 Size: 145747 Compressed: 70131 severin@severin-desktop:~/Desktop$
there are some nice things in this bashrc if you care to go through it http://gnome-look.org/content/show.php/Ultimate%20Bashrc%20File?content=129746 right now there seems to be a database error, but i'm sure it will get worked out soon. here's the cached paged http://webcache.googleusercontent.com/search?q=cache:wrhaTd-JUuEJ:gnome-look.org/content/show.php%3Fcontent%3D129746+&cd=1&hl=en&ct=clnk&gl=uk&client=ubuntu i looked through it and found it has some stuff i made in the Network/Internet -oriented stuff section (not sure if that's a good thing, or not lol) i had the file already downloaded and uploaded it to one of those multiupload sites until it can be downloaded from gnome-look again $ md5sum bashrc.tar.gz e50af765bb3e41470de6c15559c4fab5 bashrc.tar.gz http://www.zshare.net/download/97063735619438f5/ https://rapidshare.com/#!download|52l34|1462077921|bashrc.tar.gz|148|R~B46FEB2669BC115D074416697B3D7A6D|0|0 http://hotfile.com/dl/136911702/b010e30/bashrc.tar.gz.html http://www.mediafire.com/?8ff66pi82dp7mub#1 http://turbobit.net/download/free/kx73o85jh0xm
Code: # Check for an interactive session [ -z "$PS1" ] && return # Start tmux if it is not running already [[ $TERM != "screen-256color" ]] && tmux attach #&& exit # FRIGGIN' COLOURS! if [[ ${EUID} == 0 ]] ; # We are root then PS1='\[\e[1;31m\]\u\[\e[m\]:\[\e[0;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\]' else PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[0;34m\]\w\[\e[m\] \[\e[0;32m\]\$\[\e[m\] \[\e[0;37m\]' fi # Autocomplete sudo complete -sf sudo # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # Include the following files: # Exports if [ -f /home/raspb3rry/.bash_exports ]; then source /home/raspb3rry/.bash_exports fi # Aliases if [ -f /home/raspb3rry/.bash_aliases ]; then source /home/raspb3rry/.bash_aliases fi # Functions if [ -f /home/raspb3rry/.bash_functions ]; then source /home/raspb3rry/.bash_functions fi # Advanced bash-completion (requires the package "bash-completion") if [ -f /etc/bash_completion ]; then source /etc/bash_completion fi if [ -f /home/raspb3rry/.bash_colours ]; then source /home/raspb3rry/.bash_colours fi Got tired of having an insanely huge .bashrc, so I decided to split it up. I'm running tmux inside all my terminals. Another great thing to try is to set PS1 to Code: PS1="C:\$( pwd | sed -e 's:/:\\\\\:g' -e 's:\\\\\*\$:\\\\\:g' )> "