Commands tagged bashrc (15)

  • You need to have fortune and cowsay installed. It uses a subshell to list cow files in you cow directory (this folder is default for debian based systems, others might use another folder). you can add it to your .bashrc file to have it great you with something interesting every time you start a new session. Show Sample Output


    10
    fortune | cowsay -f $(ls /usr/share/cowsay/cows/ | shuf -n1)
    zed · 2010-07-08 02:57:52 2
  • * Add comment with # in your command * Later you can search that command on that comment with CTRL+R In the title command, you could search it later by invoking the command search tool by first typing CTRL+R and then typing "revert" Show Sample Output


    1
    svn up -r PREV # revert
    unixmonkey10719 · 2010-07-07 23:09:00 1
  • Makes bash-4.x like zsh. Automatic cd into a directory if a command with that name doesnt exists. Ready for your ~/.bashrc file Show Sample Output


    1
    shopt -s autocd
    xeor · 2010-12-12 20:53:33 0
  • This is useful if you use a shell with a lot of other users. You will be able to run "topu" to see your running processes instead of the complete 'top -u username'. Read more on alias: http://man.cx/alias


    1
    echo "alias topu='top -u USERNAME'" >> ~/.bash_aliases && source .bashrc
    TheLugal · 2011-07-07 08:24:06 0

  • 1
    echo 'export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"' >> .bashrc
    qdrizh · 2015-03-09 19:57:56 0
  • If you have a lot of hosts in /etc/hosts this would be very useful. Anyone have any more concise examples?


    0
    complete -W "$(sed 's/;.*//;' /etc/hosts | awk ' /^[[:digit:]]/ {$1 = "";print tolower($0)}')" ssh
    daodennis · 2011-06-20 03:54:45 0
  • Typographically speaking, it's generally the [accepted wisdom][1] that about 60 characters per line makes for optimal reading (would that more Web pages followed this convention!). I know I got tired of reading manpages with text as wide as my screen! However, the command above sets manwidth to 70 rather than 60 because paragraphs in manpages are generally indented. I recommend the following snippet for your .${SHELL}rc, which sets manwidth to 70 unless your terminal is smaller than 70 characters: function man () { if [[ $COLUMNS -gt 70 ]]; then MANWIDTH=70 command man $* else command man $* fi } [1]: https://en.wikipedia.org/wiki/Column_(typography)


    0
    MANWIDTH=70 man 7 man
    escondida · 2012-01-13 19:42:30 0
  • # AllInOne: Update what packages are available, upgrade to new versions, remove unneeded packages # (some are no longer needed, replaced by the ones from ap upgrade), check for dependencies # and clean local cached packages (saved on disk but not installed?,some are needed? [this only cleans unneeded unlike ap clean]). # aliases (copy into ~/.bashrc file): alias a='alias' a ap='apt-get' a r='ap autoremove -y' a up='ap update' a u='up && ap upgrade -y --show-progress && r && ap check && ap autoclean' # && means "and run if the previous succeeded", you can change it to ; to "run even if previous failed". I'm not sure if ap check should be before or after ap upgrade -y, you can also change the alias names. # To expand aliases in bash use ctrl alt e or see this ow.ly/zBKHs # For more useful aliases go to ow.ly/zBMOx


    0
    apt-get update && apt-get dist-upgrade -y --show-progress && apt-get autoremove -y && apt-get check && apt-get autoclean -y
    unixmonkey78577 · 2014-07-26 12:18:57 0
  • extract () { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xvjf $1 ;; *.tar.gz) tar xvzf $1 ;; *.tar.xz) tar Jxvf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xvf $1 ;; *.tbz2) tar xvjf $1 ;; *.tgz) tar xvzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "don't know how to extract '$1'..." ;; esac read -r -p "Delete the compressed file? [Y/N] " response response=${response,,} # tolower if [[ $response =~ ^([Yy]es|YES|[Yy])$ ]]; then echo "rm '$1'" rm $1 fi else echo "'$1' is not a valid file!" fi }


    0
    extract file.tar.gz
    asdzxc · 2015-02-08 11:17:12 0
  • compress(){ # compress [FIle/Folder] [NewFileName].[Suffix] # compress image.jpg pictures.tar.bz2 # compress Document/ folder.rar if [ -f $1 ] || [ -d $1 ]; then case $2 in *.tar.bz2) tar -jcvf $2 $1 ;; *.tar.gz) tar -zcvpf $2 $1 ;; *.tar) tar -cvpf $2 $1 ;; *.zip) zip -r $2 $1 ;; *.rar) rar a -r -rr10 $2 $1 ;; *) echo "don't know how to compres '$1'..." ;; esac else echo "'$1' is not a valid file or folder2" fi }


    0
    compress pictures/ pictures.tar.gz
    asdzxc · 2015-02-08 11:28:30 0
  • to run write: Sound-volume 30% or Sound-volume 1% Sound-volume 100% Show Sample Output


    0
    alias Sound-volume='amixer -D pulse sset Master '
    asdzxc · 2015-02-08 11:36:44 0
  • alias screen-brightness='xbacklight -set' alias screen-off='xset dpms force standby' alias screen-min='xbacklight -set 1' alias screen-max='xbacklight -set 100' alias screen-inc='xbacklight -inc 10' alias screen-dec='xbacklight -dec 10'


    0
    xbacklight -set 100
    asdzxc · 2015-02-08 12:12:16 0
  • Adds a shortcut (bash alias) for a lightweight detachable 'multi-windowed' cli terminal session to bashrc. Uses 'abduco' (supersedes 'dtach') to implement a personal default detachable terminal session with a 'windowed' terminal UI provided by 'dvtm'. "-A" option allows the shortcut "wm" to be used to both instigate and re-attach to session "your_title_here". "-M" options stops 'dvtm' from changing your default mouse behavior.


    0
    echo 'alias wm="abduco -A your_title_here dvtm -M"' >> ~/.bashrc
    kevjonesin · 2016-03-06 07:42:38 1

  • -2
    complete -W "$(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh
    sammcj · 2011-06-01 23:21:06 2
  • To install on centos 6.2 for Centos auto accept: yum install fortune* -y yum install cowsay* -y Removed the -f command as I dont know how, but it works without it. Almost the same but one folder higher =).


    -2
    fortune | cowsay $(ls/usr/share/cowsay | shuf -n1)
    cablegunmaster · 2014-10-23 10:09:44 1

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands


Check These Out

Copy the text from the 3rd line to the 9th line into a new file with VI

Benchmark SQL Query
Benchmark a SQL query against MySQL Server. The example runs the query 10 times, and you get the average runtime in the output. To ensure that the query does not get cached, use `RESET QUERY CACHE;` on top in the query file.

Switch to the previous branch used in git(1)
Very useful if you keep switching between the same two branches all the time.

check open ports without netstat or lsof

Force wrap all text to 80 columns in Vim
This is assuming that you're editing some file that has not been wrapped at 80 columns, and you want it to be wrapped. While in Vim, enter ex mode, and set the textwidth to 80 columns: $ :set textwidth=80 Then, press: $ gg to get to the top of the file, and: $ gqG to wrap every line from the top to the bottom of the file at 80 characters. Of course, this will lose any indentation blocks you've setup if typing up some source code, or doing type setting. You can make modifications to this command as needed, as 'gq' is the formatting command you want, then you could send the formatting to a specific line in the file, rather than to the end of the file. $ gq49G Will apply the format from your current cursor location to the 49th row. And so on.

Convert PDF to JPG
Without the bashisms and unnecessary sed dependency. Substitutions quoted so that filenames with whitespace will be handled correctly.

Which processes are listening on a specific port (e.g. port 80)
swap out "80" for your port of interest. Can use port number or named ports e.g. "http"

Print all the lines between 10 and 20 of a file
Similarly, if you want to print from 10 to the end of line you can use: sed -n '10,$p' filename This is especially useful if you are dealing with a large file. Sometimes you just want to extract a sample without opening the entire file. Credit goes to wbx & robert at the comments section of http://www.commandlinefu.com/commands/view/348/get-line1000-from-text.#comment

find builtin in bash v4+
This command will give you the same list of files as "find /etc/ -name '*killall' | xargs ls -l". In a simpler format just do 'ls /etc/**/file'. It uses shell globbing, so it will also work with other commands, like "cp /etc/**/sshd sshd_backup".

Move cursor to end of line


Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: