Skip to main content

Unix - useful command line tools

This post lists unix command line tools which are very helpful during a work with these systems.

alias create alias for a command
// use aliast to a command
alias ls='ls -ltr'
awk
// split text into tokens using '.' separator
echo testFile.txt | awk -F'.' '{print$2}' // prints 'txt'
chmod set access privileges to a file
// owner rwx, group r-x, others ---
chmod 750 fileName.txt

Meaning of numbers: owner, group, others (respectively)
4 - read
2 - write
1 - execute
find search for files
// search for all files in a current directory and display lines with a 'stringToFind'
find . -name "*.*" | xargs grep 'stringToFind'

// search for a file and skipp all info about errors
find . -name 'testFile.txt' 2> /dev/null
grep use regexp to display lines from a file
// display all lines without a # sign 
grep ^[^#] testFile.txt

// display all lines with a # sign
grep ^# testFile.txt
gzip compress and decompress files
// display all content of an archive as a file
gzip -cd file.tar.gz | less

head display top lines of a stream or a file (default 10)
// display first 10 lines of a file
head testFile.txt

// display 15 lines of a file
head -n15 testFile.txt

// display 3 head lines of *.txt from a current directory and show their file names
head -n3 *.txt

// display 3 head lines from *.txt from a current directory without file names
head -q -n3 *.txt // -q  means quiet mode
host DNS lookup utility
//get hostname based on IP
$ host 192.168.0.10
kill kill processes
// kill process with a specified PID
kill -9 PID

// kill all user processes
kill -11 -1
less
// display specified file
less testFile.txt
mv move files and folders
mv path/testFile.txt path2
nslookup DNS lookup utility
//get IP based on hostname  
nslookup localhost 
ps display processes of an operation system
// display processes of a current user
ps -fu userName

// 10 most memory-consuming processes
ps -o "pid vsz rssize" -fu ilink | sort -n -r -k 2 | head -20
scp copy files between remote locations over SSH
// copy files to a remote location to a remote location
scp /export/home/* user@host:/export/home/

// copy directories with files
scp -r /path/* user@host:/path/
sed process text streams
// display a text from a middle of a file from a line in a range
sed -n '15,20p' testFile.txt

source send commands from a file to shell
// send commands from a .bashrc file to shell
source .bashrc
tail display bottom lines from a stream or a file (default 10)
//opposite version of head
tar archive files
// tar (zip) a content of a directory into tar.gz file
tar -pczf web.tar.gz web/

// untar(unzip)
tar xvfz web.tar.gz
telnet connect by telnet protocol
// conect to a remote location
telnet host port

Exiting telnet: 
Ctrl + ] (escape character)
Ctrl + d (close conection)
touch change a date of a file modification to a current one or create new file if not exists
touch testFile.txt
uniq return only unique lines
less testFile | uniq 
wc word count
// count lines
cat testFile.txt | grep 'toSearchString' | wc -l

// count words
cat testFile.txt | grep 'toSearchString' | wc -w

Comments

Popular posts from this blog

ShutDownHook - the last breath of an application

ShutDownHook allows you to perform operations (e.g. close opened resources, remove temporary files and so on) just before virtual machine shuts down. A documentation says that JVM may shut down in two cases: program finishes execution normally when all threads finishes their work (except deamon-threads like garbage collector) virtual machine receives a termination signal (for example after sending kill signal under unix or ctrl + C key combination under windows) Below is an example which will start endless loop which do nothing. But an important thing in this code is a part where shutDownHook is added. When an termination signal will be send to JVM a code from a run() method will be executed just before JVM shuts down. public class ShutDownHook { public static void main(String[] args) { Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("Close opened resources"); } }); while (true) { // do nothing } } }

scala Hello World

The code below prints Hello World! Hello.scala file (a name of file doesn't matter) object HelloWorld { def main(args: Array[String]) { println("Hello World!") } } Key word object is used to create a singleton object. To run this script use scala interpretor (check scala command line tools ).

AIX and SOLARIS maintenance commands

AIX and SOLARIS uname unix name, check which unix is used uname // OS name uname -r // OS version uname -a // OS name, host, version df info about disk space df -v // percent of used blocks df -vk // 1024-byte blocks df -vm // MB blocks df -gm // GB blocks AIX topas statistics about the activity on the local system // all statistics topas // -w WLM - WorkLoad Management topas -w SOLARIS prstat identify which processes are consuming the CPU // -s cpu flag sorts by CPU usage (default), -n 5 flag restricts top five processes prstat -s cpu -n 5 // -a summary of a consumption of resources by an user prstat -s cpu -a prstat -s cpu -a -n 5 ps process status ps -eo pid,pmem,vsz,rss,comm | sort -rnk2 | head