Useful commands for the Linux command line

by Tweak on June 8, 2009
in Linux

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
    Remove ads

  • 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

    123tweak.com

  • 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 (0×40023000)
    libdl.so.2 => /lib/libdl.so.2 (0×40065000)
    libc.so.6 => /lib/libc.so.6 (0×40069000)
    /lib/ld-linux.so.2 (0×40000000)

  • 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 foldername

  • mv
    Moves a file.

    $ mv post.txt newpost.txt

  • nl
    Number lines of files.

    $ nl post.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 foldername

  • 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

    root bob charlie frank

  • 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 post.txt

    7 post.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

    smallfoot

Share and Enjoy:
  • email
  • Print
  • PDF
  • Facebook
  • Digg
  • del.icio.us
  • Google Bookmarks
  • StumbleUpon
  • MySpace
  • Live
  • Twitter
  • Yahoo! Buzz

Comments are closed.