Pages

Sep 25, 2008

Useful Commands For The Linux Command Line

Useful commands for the Linux command line

This short guide shows some important commands for your daily work on the Linux command line.
arch
Outputs the processor architecture.

$ arch

i686
cat
Outputs the contents of a file.


$ cat lorem.txt

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
cd
Change the working directory.

$ cd /bin
chgrp
Change group ownership of files.

$ chgrp games moo.txt
chmod
Change access permissions of files.

$ chmod +x helloworld
chown
Change file owner and group.

# chown root lorem.txt
cksum
Print CRC checksum and byte counts of each file.

$ cksum lorem.txt moo.txt

3570240675 453 lorem.txt
4294967295 0 moo.txt
cp
Copies a file.

$ cp lorem.txt copy_of_lorem.txt
date
Outputs the current date and time.

$ date

Sat Mar 3 12:07:09 GMT 2007
df
Reports the amount of disk space used and available on filesystems.

$ df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/simfs 39845888 218048 39627840 1% /
dir
List directory contents.

$ dir

copy_of_lorem.txt lorem.txt moo.txt www
du
Estimate file space usage.

$ du -h /bin

7.8M /bin
echo
Display a line of text.

$ echo foobar

foobar
exit
Cause the shell to exit.

$ exit
fgrep
Print lines matching a pattern in a file.

$ fgrep "irure dolor" lorem.txt

commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
find
Search for files in a directory hierarchy.

$ find hello*

hello_world
hello_world.c
free
Display amount of free and used memory in the system.

$ free

total used free shared buffers cached
Mem: 8299892 8287708 12184 0 2641772 1731236
Low: 3581300 3572764 8536
High: 4718592 4714944 3648
-/+ buffers/cache: 3914700 4385192
Swap: 8193140 2335664 5857476
grep
Print lines matching a pattern.

$ grep -i apple fruitlist.txt

apple
groups
Outputs the user groups of which your account belongs to.

$ groups

games users
head
Output the first part of files.

$ head -2 lorem.txt

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
hostname
Outputs the machines hostname on the network.

$ hostname


id
Outputs user id, group id, and groups of your account.

$ id

uid=1478(smallfoot) gid=100(users) groups=35(games),100(users)
kill
End a process.

$ kill -9 18298

-bash: kill: (18298) - Operation not permitted
killall
Kill processes by name.

$ killall irssi

irssi(18298): Operation not permitted
irssi(13372): Operation not permitted
irssi(22048): Operation not permitted
irssi: no process killed
last
Show listing of last logged in users.

$ last -n 3

alice pts/6 192.0.34.166 Fri May 18 16:17 still logged in
bob pts/2 64.233.183.103 Fri May 18 16:17 still logged in
clare pts/6 72.5.124.61 Fri May 18 15:54 - 15:55 (00:01)
ldd
Print shared library dependencies.

$ ldd /bin/bash

libncurses.so.5 => /lib/libncurses.so.5 (0x40023000)
libdl.so.2 => /lib/libdl.so.2 (0x40065000)
libc.so.6 => /lib/libc.so.6 (0x40069000)
/lib/ld-linux.so.2 (0x40000000)
ln
Make links between files.

$ ln -s data.txt symlink.txt
logname
Print user's login name.

$ logname

smallfoot
ls
List directory contents.

$ ls

copy_of_lorem.txt lorem.txt moo.txt www
man
Opens the manual page for a software or function.

$ man bash
md5sum
Outputs the MD5 hash sum of a file.

$ md5sum lorem.txt

56da9e37259af34345895883e6fd1a27 lorem.txt
mkdir
Makes a directory.

$ mkdir foobar
mv
Moves a file.

$ mv lorem.txt ipsum.txt
nl
Number lines of files.

$ nl lorem.txt

1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
2 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
3 veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
4 commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
5 velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
6 occaecat cupidatat non proident, sunt in culpa qui officia deserunt
7 mollit anim id est laborum.
nm
List symbols from object files.

$ nm hello_world

080494a0 D _DYNAMIC
0804956c D _GLOBAL_OFFSET_TABLE_
08048474 R _IO_stdin_used
w _Jv_RegisterClasses
08049490 d __CTOR_END__
0804948c d __CTOR_LIST__
08049498 d __DTOR_END__
...
od
Dump files in octal and other formats.

$ od -t x /bin/sh

2376640 00098020 000054d4 00000000 00000000
2376660 00000020 00000000 000000c7 00000008
2376700 00000003 080e6500 0009d4f4 00004ae8
...
pidof
Find the process ID of a running program.

$ pidof fetchmail

22392
ping
Pings a host.

$ ping -c 2 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms

--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.048/0.050/0.052/0.002 ms
ps
Outputs running processes.

$ ps

PID TTY TIME CMD
21542 pts/12 00:00:00 bash
27706 pts/12 00:00:00 ps
pstree
Display a tree of processes.

$ pstree

init-+-2*[BitchX]
|-3*[bash---sleep]
|-fetchmail
|-screen-+-bash---irssi
| `-bash---ctorrent
|-screen-+-bash---lisp.run
| |-bash---vi
| |-2*[bash]
| `-bash---lynx
|-2*[screen---bash---irssi]
|-screen---irssi
|-screen---bash
|-screen-+-bash
| `-irssi
|-skjerm---irssi
|-sshd-+-5*[sshd---sshd---bash---irssi]
| |-8*[sshd---sshd---bash]
| |-sshd---sshd---bash---screen
| |-sshd---sshd
| `-sshd---sshd---bash---pstree
`-syslog-ng
pwd
Outputs the name of current working directory.

$ pwd

/home/smallfoot
rm
Removes a file or directory.

$ rm lorem.txt
rmdir
Removes a directory.

$ rmdir foobar
sed
Stream editor for filtering and transforming text.

$ echo "My cat's name is Bob" | sed -e 's/Bob/Mittens/g'

My cat's name is Mittens
sha1sum
Outputs the SHA1 hash sum of a file.

$ sha1sum lorem.txt

c942ddebd142ec8bacac9213d48096e74bab4957 lorem.txt
shutdown
Bring the system down in a secure way. All logged-in users are notified that the system is going down.

$ shutdown now
size
List section sizes and total size.

$ size /bin/bash

text data bss dec hex filename
621233 22712 19176 663121 a1e51 /bin/bash
stat
Outputs file status.

$ stat lorem.txt

File: `lorem.txt'
Size: 453 Blocks: 8 IO Block: 4096 regular file
Device: 77h/119d Inode: 27312217 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1478/smallfoot) Gid: ( 100/ users)
Access: 2007-03-03 12:24:39.000000000 +0000
Modify: 2007-03-03 12:24:39.000000000 +0000
Change: 2007-03-03 12:24:39.000000000 +0000
strings
Print the strings of printable characters in files.

$ strings hello_world

/lib/ld-linux.so.2
_Jv_RegisterClasses
__gmon_start__
libc.so.6
puts
_IO_stdin_used
__libc_start_main
GLIBC_2.0
PTRh%
[^_]
Hello World!
tail
Output the last part of files.

$ tail -2 lorem.txt

occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
talk
Talk to another user.

$ talk bob Lookout for the dopefish!
touch
Change a file's access and modification timestamps. If file does not exist, create it.

$ touch lorem.txt
tty
Outputs the name of the current terminal.

$ tty

/dev/pts/16
uname
Outputs operating system, hostname, kernel version, date and timp, and processor.

$ uname -a

Linux anapnea.net 2.6.9 #1 SMP Wed Jul 19 16:24:18 MSD 2006 i686 Intel(R) Xeon(TM) CPU 2.80GHz GenuineIntel GNU/Linux
uptime
Outputs the system uptime.

$ uptime

14:50:26 up 7 days, 17:52, 18 users, load average: 0.08, 0.02, 0.01
users
Print the user names of users currently logged in to the current host.

$ users

alice bob charlie eve
vdir
List directory contents.

$ vdir

total 8
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:32 copy_of_lorem.txt
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:24 lorem.txt
-rw-r--r-- 1 smallfoot users 0 Mar 3 12:32 moo.txt
lrwxr-xr-x 1 root root 18 Feb 27 19:33 www -> /var/www/smallfoot
w
Show who is logged on and what they are doing.

$ w

12:14:30 up 5 days, 15:16, 19 users, load average: 0.00, 0.00, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
charlie pts/0 Fri21 3:26m 2.52s 2.52s irssi
alice pts/2 Wed17 30:21m 0.00s 0.00s -bash
emma pts/4 11:37 36:57 0.00s 0.00s -bash
frank pts/5 11:48 11:03 0.00s 0.00s -bash
smallfoo pts/12 12:01 0.00s 0.04s 0.01s w
wall
Send a message to everybody's terminal.

$ wall next week we change the server for a new one
wc
Counts lines in a file.

$ wc -l lorem.txt

7 lorem.txt
whatis
Search the whatis database for complete words.

$ whatis bash

bash (1) - GNU Bourne-Again SHell
bash [builtins] (1) - bash built-in commands, see bash(1)
who
Outputs who is currently logged into the system.

$ who

charlie pts/0 Mar 2 21:37 (xtreme-11-65.acme.com)
alice pts/2 Feb 28 17:48 (147.21.16.3)
emma pts/4 Mar 3 11:37 (32.84-48-181.uac.com)
frank pts/5 Mar 3 11:48 (port-212-202-233-2.foobar.org)
smallfoot pts/12 Mar 3 12:01 (c-12776f4.cust.example.net)
whereis
Locate the binary, source, and manual page files for a command.

$ whereis bash

bash: /bin/bash /etc/bash /usr/share/man/man1/bash.1.gz
whoami
Outputs your username / the name of your account.

$ whoami

(howtoforge.com)

Run Linux LiveCDs in Windows with MobaLiveCD








Want to try out a Linux distro but don't feel like switching from Windows, rebooting your computer, or installing a virtualization application like VirtualBox? MobaLiveCD is a Windows utility that lets you run any LiveCD in Windows without installing a thing. Just download and run MobaLiveCD.exe (which is a 1.4MB file), and select the ISO you want to run. Thanks to the magic of QEMU, you'll be able to run the Linux distro as a LiveCD in a window on your desktop. no reboot required.

Now, don't expect spectacular performance here. You're essentially running an operating system inside of another operating system, so things might be on the slow side. And it won't necessarily work with every host machine or every LiveCD. But at 1.4MB and with no installation needed, why not give it a try?

MobaLiveCD can also be installed to your hard drive, allowing you to launch LiveCDs via a right-click context menu. And you can create virtual hard drives to save data from your LiveCD sessions.


(Via Downloadsquad.com)