50 Most Frequently Used UNIX
50 Most Frequently Used UNIX
This article provides practical examples for 50 most frequently used commands in Linux / UNIX. This is not a comprehensive list by any means, but this should give you a jumpstart on some of the common Linux commands. Bookmark this article for your future reference. Did I miss any frequently used Linux commands? Leave a comment and let me know.
More tar examples: The Ultimate Tar Command Tutorial with 10 Practical Examples
Print the matched line, along with the 3 lines after it.
$ grep -A 3 -i "example" demo_text
$ grep -r "ramesh" *
More grep examples: Get a Grip on the Grep! 15 Practical Grep Command Examples
More find examples: Mommy, I found it! 15 Practical Linux Find Command Examples
Print all lines from /etc/passwd that has the same uid and gid
$awk -F ':' '$3==$4' passwd.txt
More awk examples: 8 Powerful Awk Built-in Variables FS, OFS, RS, ORS, NR, NF, FILENAME, FNR
More diff examples: Top 4 File Difference Tools on UNIX / Linux Diff, Colordiff, Wdiff, Vimdiff
$ sort names.txt
Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr
$ ls -ltr
More bzip2 examples: BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless, bzmore examples
$ unzip -l jasper.zip Archive: jasper.zip Length Date Time -------------40995 11-30-98 23:50 32169 08-25-98 21:07 15964 08-25-98 21:07 10542 08-25-98 21:07
To view the file names located on the remote server before downloading, mls ftp command as shown below.
ftp> mls *.html /ftptest/features.html /ftptest/index.html /ftptest/othertools.html /ftptest/samplereport.html /ftptest/usage.html
More ftp examples: FTP and SFTP Beginners Guide with 10 Examples
Restart a service.
# service ssh restart
To view current running processes in a tree structure. H option stands for process hierarchy.
$ ps -efH | more
If you want to quickly check how many GB of RAM your system has use the -g option. -b option displays in bytes, -k in kilo bytes, -m in mega bytes.
$ free -g total Mem: 3 -/+ buffers/cache: Swap: 3 used 1 0 0 free 1 2 3 shared 0 buffers 0 cached 0
If you want to see a total memory ( including the swap), use the -t switch, which will display a total line as shown below.
ramesh@ramesh-laptop:~$ free -t total used Mem: 3566408 1592148 -/+ buffers/cache: 475332 Swap: 4000176 0 Total: 7566584 1592148 free 1974260 3091076 4000176 5974436 shared 0 buffers 204260 cached 912556
To displays only the processes that belong to a particular user use -u option. The following will show only the top processes that belongs to oracle user.
$ top -u oracle
More top examples: Can You Top This? 15 Practical Linux Top Command Examples
df -h displays output in human readable form. i.e size will be displayed in GBs.
ramesh@ramesh-laptop:~$ df -h Filesystem Size Used Avail Use% Mounted on
/dev/sda1 /dev/sda2
29G 115G
3.1G 48G
24G 62G
More kill examples: 4 Ways to Kill a Process kill, killall, pkill, xkill
It is very useful while giving shell metacharacters in the file name argument. Print the filename and get confirmation before removing the file.
$ rm -i file*
Following example recursively removes all files and directories under the example directory. This also removes the example directory itself.
$ rm -r example
Copy file1 to file2. if file2 exists prompt for confirmation before overwritting it.
$ cp -i file1 file2
Rename file1 to file2. if file2 exists prompt for confirmation before overwritting it.
$ mv -i file1 file2
Note: mv -f is just the opposite, which will overwrite file2 without prompting. mv -v will print what is happening during file rename, which is useful while specifying shell metacharacters in the file name argument.
$ mv -v file1 file2
While displaying the file, following cat -n command will prepend the line number to each line of the output.
$ cat -n /etc/logrotate.conf 1 /var/log/btmp { 2 missingok 3 monthly 4 create 0660 root utmp 5 rotate 1 6 }
You can also add this to the fstab for automatic mounting. i.e Anytime system is restarted, the filesystem will be mounted.
/dev/sdb1 /u01 ext2 defaults 0 2
Revoke all access for the group (i.e read, write and execute ) on a specific file.
Apply the file permissions recursively to all the files in the sub-directories.
$ chmod -R ug+rwx file.txt
Super user can use passwd command to reset others password. This will not prompt for current password of the user.
# passwd USERNAME
Remove password for a specific user. Root user can disable password for a specific user. Once the password is disabled, the user can login without entering the password.
# passwd -d USERNAME
Create nested directories using one mkdir command. If any of these directories exist already, it will not display any error. If any of these directories doesnt exist, it will create them.
$ mkdir -p dir1/dir2/dir3/dir4/
Use ifconfig command to view or configure a network interface on the Linux system. View all the interfaces along with status.
$ ifconfig -a
Start or stop a specific interface using up and down command as shown below.
$ ifconfig eth0 up $ ifconfig eth0 down
When you want to search an executable from a path other than the whereis default path, you can use -B option and give path as argument to it. This searches for the executable lsmk in the /tmp directory, and displays it, if it is available.
$ whereis -u -B /tmp -f lsmk lsmk: /tmp/lsmk
Using locate command you can quickly search for the location of a specific file (or group of files). Locate command uses the database created by updatedb. The example below shows all files in the system that contains the word crontab in it.
$ locate crontab /etc/anacrontab /etc/crontab /usr/bin/crontab /usr/share/doc/cron/examples/crontab2english.pl.gz /usr/share/man/man1/crontab.1.gz /usr/share/man/man5/anacrontab.5.gz /usr/share/man/man5/crontab.5.gz /usr/share/vim/vim72/syntax/crontab.vim
When a man page for a command is located under more than one section, you can view the man page for that command from a specific section as shown below.
$ man SECTION-NUMBER commandname
Following 8 sections are available in the man page. 1. 2. 3. 4. 5. 6. 7. 8. General commands System calls C library functions Special files (usually devices, those found in /dev) and drivers File formats and conventions Games and screensavers Miscellaneous System administration commands and daemons
For example, when you do whatis crontab, youll notice that crontab has two man pages (section 1 and section 5). To view section 5 of crontab man page, do the following.
$ whatis crontab crontab (1) crontab (5) $ man 5 crontab - maintain crontab files for individual users (V3) - tables for driving cron
$ tail -n N filename.txt
View the content of the file in real time using tail -f. This is useful to view the log files, that keeps growing. The command can be terminated using CTRL-C.
$ tail -f log-file
More tail examples: 3 Methods To View tail -f output of Multiple Log Files in One Terminal
One you open a file using less command, following two keys are very helpful.
CTRL+F forward one window CTRL+B backward one window
More less examples: Unix Less Command: 10 Tips for Effective Navigation
Execute a single command from a different account name. In the following example, john can execute the ls command as raj username. Once the command is executed, it will come back to johns account.
[john@dev-server]$ su - raj -c 'ls' [john@dev-server]$
Login to a specified user account, and execute the specified shell instead of the default shell.
$ su -s 'SHELLNAME' USERNAME
If you want to specify the mysql root password in the command line itself, enter it immediately after -p (without any space).
More rpm examples: RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages
Once youve changed the system date, you should syncronize the hardware clock with the system date as shown below.
# hwclock systohc # hwclock --systohc utc