Wednesday, November 20, 2013

Basic Linux commands

Basic Linux commands

Almost These Linux commands are basics except those which relate to package manager, we all know that they differs, Ubuntu, Mint ... use Apt, Arch uses Pacman ...

Here are some Basic Linux commands :

Display Linux distributor's ID
lsb_release -is

Display Linux release number
lsb_release -rs

Display Linux code name
lsb_release -cs

Display machine hardware name
uname -m

List all PCI devices, such as display card and ethernet card.

Reclaim memory which stores pagecache, dentries and inodes
echo 3 > /proc/sys/vm/drop_caches

Display a list of modules in the Linux Kernel

List USB devices
lsusb -v

Display the status of ethernet card
sudo ethtool eth0

List hardware
sudo lshw

List harddisk partitions
sudo fdisk -l

Display SATA harddisk parameters
sudo hdparm -I /dev/sda

Display disk space usage
df -h

Display file/folder space usage

Display amount of free and used memory

Display processes
ps -e

Display a tree of processes

Display processes dynamically

Terminate a process with a given process id
sudo kill -9 PROCESS_ID

Terminate all processes with a given name
sudo killall PROCESS_NAME

List files which are opened by a given process
lsof -p PROCESS_ID

List processes which opened a given file

List processes which are using port 80
lsof -i :80

Configure an ADSL connection
sudo pppoeconf

Starts up ADSL connections
sudo pon

Shuts down ADSL connections
sudo poff

Display MAC of a given IP address

Display NetBIOS name of a given IP address
nmblookup -A IP_ADDRESS

Display IP address and MAC
ifconfig -a

Display route
netstat -rn

Set MAC of ethernet interface
sudo ifconfig eth0 hw ether 00:11:22:33:44:55

Display information of a domain name

Display the network path to a given host

Request an IP address from DHCP server
sudo dhclient

Temporarily restart an init script
sudo /etc/init.d/SCRIPT_NAME restart
Temporarily stop an init script
sudo /etc/init.d/SCRIPT_NAME stop

Add a user
sudo adduser USER_NANE
Delete a user
sudo deluser USER_NAME

Change user password
sudo passwd USER_NAME

Changes user fullname, office number, office extension, and home phone number information.
sudo chfn USER_NAME

Display user information
finger USER_NAME

Temporarily prevent a user from logging in
sudo usermod -L USER_NAME

Revoke the operation above
sudo usermod -U USER_NAME

Add a user to admin group
sudo usermod -G admin -a USER_NAME

Set the HTTP proxy
export http_proxy=http://PROXY.DOMAIN.NAME:PORT

Modify the information displayed after logging in
sudo vim /etc/motd.tail

Choose the input method for X Window
im-switch -c

Convert the file name from GBK to UTF8
convmv -r -f gbk -t utf8 --notest FILE_NAME

Convert the file content from GBK to UTF8
iconv -f gbk -t utf8 FILE_NAME

Convert tags in '*.mp3' from GBK to UTF8
find . -name '*.mp3' -execdir mid3iconv -e GBK {} \;

Read a long file

Print lines matching a pattern

Display a list of file name. The files contain a given string.

Display all '.txt' file
find . -name '*.txt'

Create two empty files
touch file_name_1 file_name_2

Create directory. Create parent directories as needed.
mkdir -p /tmp/a/b/c/d/e

Change working directory to the home folder

Change working directory to the previous working directory
cd -

Display hidden files
ls -a

Copy directory. Preserve links, file mode, ownership, timestamps.

Determine file type

Output the last 6 lines
tail -n 6 FILE_NAME

Copy files via SSH

Rename '*.rm' files to '*.rmvb' files
rename 's/.rm$/.rmvb/' *

Change the file name to lowercase
rename 'tr/A-Z/a-z/' *

Display subdirectories in current directory
ls -d */.

Display file number in current directory
ls . | wc -w

Extract "*.gz" file
gunzip FILE_NAME.gz

Extract "*.tar.gz" file
tar zxf FILE_NAME.tar.gz

Extract "*.tar.bz2" file
tar jxf FILE_NAME.tar.bz2

Do compression
tar czf FILE_NAME.tar.gz FILE1 FILE2 FILE3
tar cjf FILE_NAME.tar.bz2 FILE1 FILE2 FILE3

Displays a calendar

Set the date and time via NTP
sudo ntpdate

Poweroff your computer
sudo halt
sudo shutdown -h now

Poweroff your computer in 23:00
sudo shutdown -h 23:00

Poweroff your computer after 60 minutes
sudo shutdown -h +60

Reboot your computer
sudo reboot
sudo shutdown -r now

If you want some program to start up automatically, please put '.desktop' files into '$HOME/.config/autostart'

You can configure "preferred applications" by this file "$HOME/.local/share/applications/mimeapps.list"

Continuously monitor the memory usage
watch -d free

Display HTTP HEAD response
w3m -dump_head

Display file content with line number

Eliminate Rootkit
sudo rkhunter --checkall

Change hostname
sudo hostname new_name

"Tasksel" group software packages into "task"s. You can select a "task" and then install all necessary software packages. It is easy to set up LAMP servers or cloud computing servers.

Show all tasks
tasksel --list

Display the extended description of a task
tasksel --task-desc lamp-server

List the packages which are parts of a task
tasksel --task-packages lamp-server

Install/remove a task
gksudo tasksel

Change Process priority
example: renice 5  `pgrep firefox`  
         renice -5 `pgrep wine-server`    
               high <------------------> low
NEW_PRIORITY = -19, -18, -17 [...] 18, 19, 20

Clear Bash history
history -c

If you want to use colorful "ls", that is, use colors to distinguish types of files, you can add these lines in $HOME/.bashrc:

if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'

$HOME/.thumbnails/ directory is a cache dir GNOME makes when you browse through your folders in nautilus.
It contains thumbnail pictures of picture files you've previously looked at.

You can get its total size by
du -bs $HOME/.thumbnails/

You can delete the files in the .thumbnails directory that haven't been accessed for seven days, to free disk space.
find $HOME/.thumbnails/ -type f -atime +7 -exec rm {} \;

Capture screen after 10 seconds
gnome-screenshot -d 10
Capture current window after 10 seconds
gnome-screenshot -wd 10

Start GConf editor:
Press Alt+F2, type 'gconf-editor'.

Set apt source
sudo software-properties-gtk
sudo software-properties-kde

Display the packages which are not installed but have remained residual config
dpkg -l | awk '/^rc/ {print $2}'

Add a PPA repository:
sudo add-apt-repository ppa:PPA-REPOSITORY-NAME

Display a list of files. The files are installed from a given package.

Display a list of packages. The packages installed a given file.

Display a list of packages. The name of packages matches given regex pattern.
apt-cache search REG_EXPRESSION

Display a list of packages. The packages provide a given file.
apt-file search FILE_NAME

Display a list of packages. The given package depends on the list of packages.
apt-cache depends PACKAGE_NAME

Display a list of packages. These packages depend on the given package.
apt-cache rdepends PACKAGE_NAME

Prompt for a disk to be inserted and then add the disc to the source list.
sudo apt-cdrom add

Install the newest versions of all packages currently installed on the system.
sudo apt-get upgrade

Delete residual package configuration files.
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg -P

Automatically install necessary files for './configure ; make ; make install'
sudo auto-apt run ./configure

Save the list of packages currently installed on your system.
dpkg --get-selections | grep -v deinstall > SOME_FILE
Then use the file to restore packages.
dpkg --set-selections < SOME_FILE ; sudo dselect

After running "sudo apt-get install", "*.deb" files are stored in "/var/cache/apt/archives"
You can clean this directory by:
sudo apt-get clean

Display URL for a given package
apt-get -qq --print-uris install PACKAGE_NAME

Display some statistics about the apt cache
apt-cache stats

Display all package name
apt-cache pkgnames

Display some information of a given package
apt-cache show PACKAGE_NAME


Share this article :


  1. Bluehost is ultimately one of the best web-hosting company with plans for all of your hosting requirments.