• Home
  • Shell
    • Emacs
    • Perl
    • screen
    • sed
  • Ubuntu
    • VNC
  • Web Development
    • Javascript
    • Joomla
    • MySQL
    • osTicket
  • Windows
    • Gimp
KEEP IN TOUCH

Posts tagged monitor

BASH > Functions

Mar22
2013
Leave a Comment Written by Scott Rowley

The beginning of a list of any functions I have created or found and deem useful:

This function will allow you to type “up ANY_NUMBER” and move that many directories up in the current directory tree you are in. If you you do not specify a number and instead just type ‘up’ by itself you will automatically go up just one directory.

function up ()
{
    if (( $# > 0 )); then
        COUNTER=$1;
    else
        COUNTER=1;
    fi;
    while (( ${COUNTER} > 0 )); do
        UP="${UP}../";
        (( COUNTER=${COUNTER}-1 ));
    done;
    echo "cd $UP";
    cd $UP;
    UP=''
}

Some servers don’t have ‘watch’ installed so I’ve made my own function to replicate it’s basic functionality (updated to work with pipes!)

function mywatch () {

while true
 do
  clear
  date +'%D %r'
  echo ''
  cmd=`echo $@`
  #echo "Command is '$cmd'"
  last=`echo $@ | awk {'print $NF'}`
  num='^[0-9]+$'
  if [[ $last =~ $num ]]; then
   cmd=`echo $cmd | sed "s^$last^^g"`
   eval "$cmd"
   sleep $last
  else
   eval "$cmd"
   sleep 2
  fi
  clear
 done

}

Useage:

mywatch "ls -al" 5

If a second parameter ($2) is not supplied (in this case 5) then 2 will be used and your watch will refresh every 2 seconds.

Easily locate problem directories when space is low on a server. Add the following function to your profile (.profile / .bashrc / etc)

function spaceHog () 
{ 
    du -k | sort -n | awk '
BEGIN {
    split("KB,MB,GB,TB", Units, ",");
}
{
    u = 1;
    while ($1 >= 1024) {
        $1 = $1 / 1024; 
        u += 1;
    }
    $1 = sprintf("%.1f %s", $1, Units[u]);
    print $0;
}'
}

Useage:

[17:25:51][user@server][ ~ ]
[$]> spaceHog | tail -10 # To show the 10 largest, change this number as desired.
247.5 MB ./bin
247.8 MB ./.cache/google-chrome/Default
247.8 MB ./.cache/google-chrome
283.4 MB ./.cache
293.2 MB ./.wine/drive_c/Program Files (x86)
423.5 MB ./Downloads
653.6 MB ./IOS_APPS
655.1 MB ./.wine/drive_c
658.2 MB ./.wine
2.7 GB .

Delete (rm) a file by it’s inode number

Occassionally I will (or others will) run a command that ends up accidentally creating some goofy named files such as ‘?[01’. This is actually a character so you can’t just type it in to delete it. For this you can lookup the file name by it’s inode and then delete it.

You can do an ls with an -i option to get the inodes, for example:

[$]> ls -ali
total 8
295188 drwxr-xr-x  2 sasowner sas 4096 Dec 30 11:26 .
295064 drwx------ 23 sasowner sas 4096 Dec 30 11:26 ..
295406 -rw-r--r--  1 sasowner sas    0 Dec 30 11:26 file1
295407 -rw-r--r--  1 sasowner sas    0 Dec 30 11:26 file2
295408 -rw-r--r--  1 sasowner sas    0 Dec 30 11:26 file3
295409 -rw-r--r--  1 sasowner sas    0 Dec 30 11:26 file4

You could then follow this up with a command such as:

[$]> find . -inum 295409 -exec rm {} \;

However, you probably won’t use this command often enough to remember it unless you are regularly familiar with the find command. Instead, I’ve create the following simple function:

function rmi ()
{
    find . -inum $1 -exec rm -i {} \;
}

Then simply type the following after getting the inode of the file

[$]> rmi ######
Posted in BASH, Ubuntu - Tagged alias, bash_profile, bashrc, cd, clear, COUNTER, date, directory, function, move, navigate, profile, sleep, up, watch
SHARE THIS Twitter Facebook Delicious StumbleUpon E-mail

Corrections? Questions? Comments?

Find an error?
Everything work out great for you?
Have some feedback?
Like to see something added to the article?

PLEASE leave us a comment after the article and let us know how we are doing, or if something needs corrected, improved or clarified.

Thank you!
- The Management

Sudo Bash Member sites

Iowa SAR
Des Moines, Iowa Tattoo & Piercing
The Man In Black

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

RSS HowToGeek

  • Facebook Is Using Dark Patterns To Undermine EU Privacy Rules
  • ‘My Time at Reddit Made the World a Worse Place’ Says Former Head of Product
  • What’s the Difference Between Bitcoin, Bitcoin Cash, Bitcoin Gold, and Others?
  • Geek Trivia: When Khrushchev Visited IBM’s California Facility In 1959, He Brought The Concept For What Home With Him?
  • Six Of The Best In-Ear Noise Canceling Earbuds

RSS TheGeekStuff

  • Happy New Year 2018 – From Geek, Dolls and Penguins
  • How to Install Configure LDAP Client for 389 Directory Server
  • 15 mysqlbinlog Command Examples for MySQL Binary Log Files
  • How to View Chrome OS Current version and Force Update Chromebook OS
  • 7 Nginx Rewrite Rule Examples with Reg-Ex and Flags

RSS LifeHacker

EvoLve theme by Blogatize  •  Powered by WordPress Sudo Bash
By Geeks - For Geeks

Back to Top