Commands by kaushalmehra (8)

  • while commandt do command command ... done {commandt is executed and its exit status tested.} for i in 1 2 3 > do > echo $i > done Show Sample Output

    i=0; while [ $i -lt 100 ]; do echo "test, ttest, tttest-${i}" >> kk.file; i=`expr $i + 1`; done
    kaushalmehra · 2012-09-13 21:46:18 0
  • sed '$ d' foo.txt.tmp ...deletes last line from the file

    cp foo.txt foo.txt.tmp; sed '$ d' foo.txt.tmp > foo.txt; rm -f foo.txt.tmp
    kaushalmehra · 2012-09-13 20:57:40 2
  • Output lines starting at line 2.

    tail -n +2 foo.txt
    kaushalmehra · 2012-09-13 20:54:36 0
  • This physical volumne - hdisk1 - has TOTAL PPs:11999 (1535872 megabytes) -> 1.5 TB This physical volumne - hdisk1 - has -> 60 GB Show Sample Output

    lspv hdisk1
    kaushalmehra · 2012-09-13 15:40:58 0
  • The lspv command displays the information about the physical volume if the specific physical volume name is specified. If you do not add flags to the lspv command, by default all the available physical volumes are printed along with the following information: * Physical disk name. * Physical volume identifiers (PVIDs). * The volume group, if any, that the physical volume belongs to or the label,if any, locked with the lkdev command. * The state of the volume group. Active-When the volume group is varied on. Concurrent-When the volume group is varied on in the concurrent mode. Locked-When the physical volume is locked with the lkdev command. **************************************************************************************** In the example, the iw406 system has two hard disks. Phy disk name Phy vol identfrs (PVIDs) volume group State of Volumne group hdisk0 00f6267c8a99c7b6 rootvg active hdisk1 00f6267cb3746d01 appinstvg active hdisk0 is mounted on volume group rootvg. hdisk1 is mounted on volume group appinstvg Show Sample Output

    kaushalmehra · 2012-09-13 15:20:06 0

  • 0
    db2 connect to STGNSY3; db2 -tvf source_CUST_DIM_DELTA.sql > kk.out
    kaushalmehra · 2012-07-09 21:28:58 0
  • db2 CONNECT TO stgndv2; db2 'load from /dev/null of del replace into STMOT.ST_MORT_ARRG_DELTA nonrecoverable' Show Sample Output

    db2 CONNECT TO stgndv2; db2 'load from /dev/null of del replace into STMOT.ST_MORT_ARRG_DELTA nonrecoverable'
    kaushalmehra · 2012-06-07 19:45:57 0
  • db2 => ? connect CONNECT [USER username [{USING password [NEW new-password CONFIRM confirm-password] | CHANGE PASSWORD}]] CONNECT RESET CONNECT TO database-alias [IN {SHARE MODE | EXCLUSIVE MODE [ON SINGLE DBPARTITIONNUM]}] [USER username [{USING password [NEW new-password CONFIRM confirm-password] | CHANGE PASSWORD}]] Show Sample Output

    db2 CONNECT TO stgndv2 USER pmserver USING ********
    kaushalmehra · 2012-06-07 18:55:47 0

What's this? 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

backup your history
simple and easy backup your history with timestamp

Easily search running processes (alias).

File browser
Simple file browser with dmenu, ls, and xdg-open.

list files recursively by size

Update a tarball
This will update the tarball, adding files that have changed since the last update. This assumes that the tarball is in the same directory as the files being archived. N.B. This command can't be used on compressed tarballs. N.B. This will add the updated files to the tarball, so that the tarball will have two versions of each file. This will make the tarball larger, but doesn't have any other significant effect.

Turns hidden applications transparent in the Mac OS X dock.
In Mac OS X, pressing Command+H will hide an application. While that application's windows vanish, there is no other visual feedback, meaning there is no immediate distinction between an application running with no windows open and a hidden application. This command turns hidden applications' icons transparent, providing a clear and obvious distinction. Change YES to NO to restore the previous functionality.

Download file with multiple simultaneous connections
jrk's aria2 example is incorrect. -s specifies the global connection limit; the per-host connection limit is specified with -x.

Nginx - print all optional modules before compilation
wget && tar -xzf 1.15.3.tar.gz && cd nginx-1.15.3

Function that outputs dots every second until command completes
Very useful in shell scripts because you can run a task nicely in the background using job-control and output progress until it completes. Here's an example of how I use it in backup scripts to run gpg in the background to encrypt an archive file (which I create in this same way). $! is the process ID of the last run command, which is saved here as the variable PI, then sleeper is called with the process id of the gpg task (PI), and sleeper is also specified to output : instead of the default . every 3 seconds instead of the default 1. So a shorter version would be sleeper $!; The wait is also used here, though it may not be needed on your system. $ echo ">>> ENCRYPTING SQL BACKUP" $ gpg --output archive.tgz.asc --encrypt archive.tgz 1>/dev/null & $ PI=$!; sleeper $PI ":" 3; wait $PI && rm archive.tgz &>/dev/null Previously to get around the $! not always being available, I would instead check for the existance of the process ID by checking if the directory /proc/$PID existed, but not everyone uses proc anymore. That version is currently the one at but I plan on upgrading to this new version soon.

Sort by IP address

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.


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: