linux basic command line - teguh w

25
LINUX Basic Command Line & Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalah untuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg . adduser index Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd , yaitu perintah untuk membuat password bagi user tersebut. # adduser udin # passwd udin Selanjutnya Anda akan diminta memasukkan password untuk user udin. Isikan password untuk udin dua kali dengan kata yang sama. alias Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb: $ alias dir=ls Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias. bg Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah & ) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg . cat Menampilkan isi dari sebuah file di layar. $ cat namafile cd Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS. chgrp Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb: # chgrp <grup baru> <file> chmod

Upload: tegalgoo

Post on 18-Nov-2014

703 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: LINUX Basic Command Line - Teguh W

LINUX Basic Command Line

& Perintah & dipakai dibelakang perintah lain dan menjalankannya di background. Tujuannya adalah untuk membebaskan shell agar bisa dipergunakan menjalankan proses-proses yang lain. Lihat juga perintah bg dan fg. adduser index Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut. # adduser udin# passwd udin

Selanjutnya Anda akan diminta memasukkan password untuk user udin. Isikan password untuk udin dua kali dengan kata yang sama.

alias

Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:

$ alias dir=ls

Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias. Lihat juga perintah unalias.

bg

Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskanshell tapi tetap mempertahankan perintah lama berjalan di background. Lihat juga perintah fg.

cat

Menampilkan isi dari sebuah file di layar.

$ cat namafile

cd Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS. chgrp

Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:

# chgrp <grup baru> <file>

chmod

Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu r untuk read, w untuk write dan x untuk execute.

Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin.

Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:

$ chmod ug+rx coba1

Page 2: LINUX Basic Command Line - Teguh W

Untuk mencabut ijin-ijin tersebut:

$ chmod ug-rx coba1

Dengan menggunakan sitem numeric coding, permission untukuser, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).

Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah:

$ chmod 700 coba2

Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah:

$ chmod 644 coba3

chown

Merubah user ID (owner) sebuah file atau direktori

$ chown <user id> <file>

cp

Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2:

$ cp <file1> <file2>

fg Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas. find

Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:

$ find . -name *.doc -print. /public/docs/account.doc. /public/docs/balance.doc. /public/docs/statistik/prospek.doc./public/docs/statistik/presconf.doc

grep

Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan.

$ grep <teks> <file>

Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:

$ grep marginal <file>diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomiprob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsiprob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total

gzip

Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana:

$ gzip <namafile>

Page 3: LINUX Basic Command Line - Teguh W

Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.

halt index Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown. hostname index Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem. [flory@localhost docs] $ hostnamelocalhost.localdomain

kill index Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses.

$ kill <sinyal> <pid>

PID adalah nomor proses yang akan di hentikan.

less index Fungsinya seperti perintah more. login index Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya. logout index Untuk keluar dari sistem. ls index Menampilkan isi dari sebuah direktori seperti perintah dirdi DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang. man index Untuk menampilkan manual pageatau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah.

$ man <perintah>

mesg index Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk.

$ mesg y atau mesg n

Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.

mkdir index Membuat direktori baru, sama dengan perintah md di DOS. more index Mempaging halaman, seperti halnya less mount index Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount. $ mount/dev/hda3 on / type ext2 (rw)none on /proc type proc (rw)/dev/hda1 on /dos type vfat (rw)/dev/hda4 on /usr type ext2 (rw)none on /dev/pts type devpts (rw,mode=0622)

mv index Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori. passwd index Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter. pwd index Menampilkan nama direktori dimana Anda saat itu sedang berada. rm index Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file. rmdir index Untuk menghapus direktori kosong. shutdown index Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del. su index Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara

Page 4: LINUX Basic Command Line - Teguh W

sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut. tail index Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:

$ tail <jumlah baris> <file file ....>

talk index Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya. tar index Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:

$ tar <aksi> <option> <file atau direktori>

umount index Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan.

# umount <filesystem>

unalias index Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:

$ unalias dir

unzip index Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan: $ unzip <namafile>

Lihat juga perintah-perintah gzip dan unzip.

wall index Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan.

# who Dear, everyone..... segera simpan pekerjaan kalian, server akan saya matikan 10 menit lagi.

who index Untuk menampilkan siapa saja yang sedang login. Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya: $ whoroot ttyp0 May 22 11:44flory ttyp2 May 22 11:59pooh ttyp3 May 22 12:08

xhost + index Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X. xset index Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini: $ xset b <volume> <frekuensi> <durasi dalam milidetik>$ xset m <akselerasi> <threshold>

zip index Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip.

Page 5: LINUX Basic Command Line - Teguh W

System informationCommand Description

# arch show architecture of machine(1)   [man]

# cal 2007 show the timetable of 2007   [man]

# cat /proc/cpuinfo show information CPU info   [man]

# cat /proc/interrupts show interrupts   [man]

# cat /proc/meminfo verify memory use   [man]

# cat /proc/swaps show file(s) swap   [man]

# cat /proc/version show version of the kernel   [man]

# cat /proc/net/dev show network adpters and statistics   [man]

# cat /proc/mounts show mounted file system(s)   [man]

# clock -w save date changes on BIOS   [man]

# date show system date   [man]

# date 041217002007.00 set date and time - MonthDayhoursMinutesYear.Seconds   [man]

# dmidecode -q show hardware system components - (SMBIOS / DMI)   [man]

# hdparm -i /dev/hda displays the characteristics of a hard-disk   [man]

# hdparm -tT /dev/sda perform test reading on a hard-disk   [man]

# lspci -tv display PCI devices   [man]

# lsusb -tv show USB devices   [man]

# uname -m show architecture of machine(2)   [man]

# uname -r show used kernel version   [man]

 « TOP «

Shutdown, Restart and Logout of a systemCommand Description

# init 0 shutdown system(2)   [man]

# logout leaving session   [man]

# reboot reboot(2)   [man]

# shutdown -h now shutdown system(1)   [man]

# shutdown -h 16:30 & planned shutdown of the system at 16:30   [man]

# shutdown -c cancel a planned shutdown of the system   [man]

# shutdown -r now reboot(1)   [man]

# telinit 0 shutdown system(3)   [man]

 « TOP «

Files and DirectoryCommand Description

# cd /home enter to directory '/ home'   [man]

# cd .. go back one level   [man]

# cd ../.. go back two levels   [man]

Page 6: LINUX Basic Command Line - Teguh W

# cd go to home directory   [man]

# cd ~user1 go to home directory   [man]

# cd - go to previous directory   [man]

# cp file1 file2 copying a file   [man]

# cp dir/* . copy all files of a directory within the current work directory   [man]

# cp -a /tmp/dir1 . copy a directory within the current work directory   [man]

# cp -a dir1 dir2 copy a directory   [man]

# cp file file1 outputs the mime type of the file as text   [man]

# iconv -l lists known encodings   [man]

# iconv -f fromEncoding -t toEncoding inputFile > outputFile

converting the coding of characters from one format to another   [man]

# find . -maxdepth 1 -name *.jpg -print -exec convert

batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)   [man]

# ln -s file1 lnk1 create a symbolic link to file or directory   [man]

# ln file1 lnk1 create a physical link to file or directory   [man]

# ls view files of directory   [man]

# ls -F view files of directory   [man]

# ls -l show details of files and directory   [man]

# ls -a show hidden files   [man]

# ls *[0-9]* show files and directory containing numbers   [man]

# lstree show files and directories in a tree starting from root(2)   [man]

# mkdir dir1 create a directory called 'dir1'   [man]

# mkdir dir1 dir2 create two directories simultaneously   [man]

# mkdir -p /tmp/dir1/dir2 create a directory tree   [man]

# mv dir1 new_dir rename / move a file or directory   [man]

# pwd show the path of work directory   [man]

# rm -f file1 delete file called 'file1'   [man]

# rm -rf dir1 remove a directory called 'dir1' and contents recursively   [man]

# rm -rf dir1 dir2 remove two directories and their contents recursively   [man]

# rmdir dir1 delete directory called 'dir1'   [man]

# touch -t 0712250000 file1 modify timestamp of a file or directory - (YYMMDDhhmm)   [man]

# tree show files and directories in a tree starting from root(1)   [man]

 « TOP «

File searchCommand Description

# find / -name file1 search file and directory into root filesystem from '/' [man]

Page 7: LINUX Basic Command Line - Teguh W

# find / -user user1 search files and directories belonging to 'user1'   [man]

# find /home/user1 -name \*.bin search files with '. bin' extension within directory '/ home/user1'   [man]

# find /usr/bin -type f -atime +100 search binary files are not used in the last 100 days   [man]

# find /usr/bin -type f -mtime -10 search files created or changed within 10 days   [man]

# find / -name *.rpm -exec chmod 755 '{}' \; search files with '.rpm' extension and modify permits   [man]

# find / -xdev -name \*.rpm search files with '.rpm' extension ignoring removable partitions as cdrom, pen-drive, etc.…   [man]

# locate \*.ps find files with the '.ps' extension - first run 'updatedb' command   [man]

# whereis halt show location of a binary file, source or man   [man]

# which halt show full path to a binary / executable   [man]

 « TOP «

Mounting a FilesystemCommand Description

# fuser -km /mnt/hda2 force umount when the device is busy   [man]

# mount /dev/hda2 /mnt/hda2 mount disk called hda2 - verify existence of the directory '/ mnt/hda2'   [man]

# mount /dev/fd0 /mnt/floppy mount a floppy disk   [man]

# mount /dev/cdrom /mnt/cdrom mount a cdrom / dvdrom   [man]

# mount /dev/hdc /mnt/cdrecorder mount a cdrw / dvdrom   [man]

# mount /dev/hdb /mnt/cdrecorder mount a cdrw / dvdrom   [man]

# mount -o loop file.iso /mnt/cdrom mount a file or iso image   [man]

# mount -t vfat /dev/hda5 /mnt/hda5 mount a Windows FAT32 file system   [man]

# mount /dev/sda1 /mnt/usbdisk mount a usb pen-drive or flash-drive   [man]

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share

mount a windows network share   [man]

# umount /dev/hda2 unmount disk called hda2 - exit from mount point '/ mnt/hda2' first   [man]

# umount -n /mnt/hda2 run umount without writing the file /etc/mtab - useful when the file is read-only or the hard disk is full   [man]

 « TOP «

Disk SpaceCommand Description

# df -h show list of partitions mounted   [man]

# dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n

show the used space by installed deb packages, sorting by size (debian, ubuntu and alike)   [man]

# du -sh dir1 estimate space used by directory 'dir1'   [man]

# du -sk * | sort -rn show size of the files and directories sorted by size  

Page 8: LINUX Basic Command Line - Teguh W

[man]

# ls -lSr |more show size of the files and directories ordered by size [man]

# rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n

show the used space by rpm packages installed sorted by size (fedora, redhat and alike)   [man]

 « TOP «

Users and GroupsCommand Description

# chage -E 2005-12-31 user1 set deadline for user password   [man]

# groupadd [group] create a new group   [man]

# groupdel [group] delete a group   [man]

# groupmod -n moon sun rename a group from moon to sun   [man]

# grpck check correct syntax and file format of '/etc/group' and groups existence   [man]

# newgrp - [group] log into a new group to change default group of newly created files   [man]

# passwd change password   [man]

# passwd user1 change a user password (only by root)   [man]

# pwck check correct syntax and file format of '/etc/passwd' and users existence   [man]

# useradd -c "User Linux" -g admin -d /home/user1 -s /bin/bash user1

create a new user "user1" belongs "admin" group   [man]

# useradd user1 create a new user   [man]

# userdel -r user1 delete a user ( '-r' eliminates home directory)   [man]

# usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1

change user attributes as description, group and other   [man]

 « TOP «

Permits on FilesCommand Description

# chgrp group1 file1 change group of files   [man]

# chmod ugo+rwx directory1 set permissions reading (r), write (w) and (x) access to users owner (u) group (g) and others (o)   [man]

# chmod go-rwx directory1 remove permits reading (r), write (w) and (x) access to users group (g) and others (or   [man]

# chmod u+s /bin/file1 set SUID bit on a binary file - the user that running that file gets same privileges as owner   [man]

# chmod u-s /bin/file1 disable SUID bit on a binary file   [man]

# chmod g+s /home/public set SGID bit on a directory - similar to SUID but for directory   [man]

# chmod g-s /home/public disable SGID bit on a directory   [man]

# chmod o+t /home/public set STIKY bit on a directory - allows files deletion only to legitimate owners   [man]

# chmod o-t /home/public disable STIKY bit on a directory   [man]

# chown user1 file1 change owner of a file   [man]

# chown -R user1 directory1 change user owner of a directory and all the files

Page 9: LINUX Basic Command Line - Teguh W

and directories contained inside   [man]

# chown user1:group1 file1 change user and group ownership of a file   [man]

# find / -perm -u+s view all files on the system with SUID configured   [man]

# ls -lh show permits on files   [man]

# ls /tmp | pr -T5 -W$COLUMNS divide terminal into 5 columns   [man]

 « TOP «

Special Attributes on filesCommand Description

# chattr +a file1 allows write opening of a file only append mode   [man]

# chattr +c file1 allows that a file is compressed / decompressed automatically by the kernel   [man]

# chattr +d file1 makes sure that the program ignores Dump the files during backup   [man]

# chattr +i file1 makes it an immutable file, which can not be removed, altered, renamed or linked   [man]

# chattr +s file1 allows a file to be deleted safely   [man]

# chattr +S file1 makes sure that if a file is modified changes are written in synchronous mode as with sync   [man]

# chattr +u file1 allows you to recover the contents of a file even if it is canceled   [man]

# lsattr show specials attributes   [man]

 « TOP «

Archives and compressed filesCommand Description

# bunzip2 file1.bz2 decompress a file called 'file1.bz2'   [man]

# bzip2 file1 compress a file called 'file1'   [man]

# gunzip file1.gz decompress a file called 'file1.gz'   [man]

# gzip file1 compress a file called 'file1'   [man]

# gzip -9 file1 compress with maximum compression   [man]

# rar a file1.rar test_file create an archive rar called 'file1.rar'   [man]

# rar a file1.rar file1 file2 dir1 compress 'file1', 'file2' and 'dir1' simultaneously   [man]

# rar x file1.rar decompress rar archive   [man]

# tar -cvf archive.tar file1 create a uncompressed tarball   [man]

# tar -cvf archive.tar file1 file2 dir1 create an archive containing 'file1', 'file2' and 'dir1'   [man]

# tar -tf archive.tar show contents of an archive   [man]

# tar -xvf archive.tar extract a tarball   [man]

# tar -xvf archive.tar -C /tmp extract a tarball into / tmp   [man]

# tar -cvfj archive.tar.bz2 dir1 create a tarball compressed into bzip2   [man]

# tar -xvfj archive.tar.bz2 decompress a compressed tar archive in bzip2   [man]

Page 10: LINUX Basic Command Line - Teguh W

# tar -cvfz archive.tar.gz dir1 create a tarball compressed into gzip   [man]

# tar -xvfz archive.tar.gz decompress a compressed tar archive in gzip   [man]

# unrar x file1.rar decompress rar archive   [man]

# unzip file1.zip decompress a zip archive   [man]

# zip file1.zip file1 create an archive compressed in zip   [man]

# zip -r file1.zip file1 file2 dir1 compress in zip several files and directories simultaneously   [man]

 « TOP «

RPM Packages ( Fedora, Red Hat and like)Command Description

# rpm -ivh [package.rpm] install a rpm package   [man]

# rpm -ivh --nodeeps [package.rpm] install a rpm package ignoring dependencies requests   [man]

# rpm -U [package.rpm] upgrade a rpm package without changing configuration files   [man]

# rpm -F [package.rpm] upgrade a rpm package only if it is already installed [man]

# rpm -e [package] remove a rpm package   [man]

# rpm -qa show all rpm packages installed on the system   [man]

# rpm -qa | grep httpd show all rpm packages with the name "httpd"   [man]

# rpm -qi [package] obtain information on a specific package installed   [man]

# rpm -qg "System Environment/Daemons" show rpm packages of a group software   [man]

# rpm -ql [package] show list of files provided by a rpm package installed   [man]

# rpm -qc [package] show list of configuration files provided by a rpm package installed   [man]

# rpm -q [package] --whatrequires show list of dependencies required for a rpm packet [man]

# rpm -q [package] --whatprovides show capability provided by a rpm package   [man]

# rpm -q [package] --scripts show scripts started during installation / removal   [man]

# rpm -q [package] --changelog show history of revisions of a rpm package   [man]

# rpm -qf /etc/httpd/conf/httpd.conf verify which rpm package belongs to a given file   [man]

# rpm -qp [package.rpm] -l show list of files provided by a rpm package not yet installed   [man]

# rpm --import /media/cdrom/RPM-GPG-KEY import public-key digital signature   [man]

# rpm --checksig [package.rpm] verify the integrity of a rpm package   [man]

# rpm -qa gpg-pubkey verify integrity of all rpm packages installed   [man]

# rpm -V [package] check file size, permissions, type, owner, group, MD5 checksum and last modification   [man]

# rpm -Va check all rpm packages installed on the system - use with caution   [man]

Page 11: LINUX Basic Command Line - Teguh W

# rpm -Vp [package.rpm] verify a rpm package not yet installed   [man]

# rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]

install a package built from a rpm source   [man]

# rpm2cpio [package.rpm] | cpio --extract --make-directories *bin*

extract executable file from a rpm package   [man]

# rpmbuild --rebuild [package.src.rpm] build a rpm package from a rpm source   [man]

 « TOP «

YUM packages tool (Fedora, RedHat and alike)Command Description

# yum -y install [package] download and install a rpm package   [man]

# yum localinstall [package.rpm] That will install an RPM, and try to resolve all the dependencies for you using your repositories.   [man]

# yum -y update update all rpm packages installed on the system   [man]

# yum update [package] upgrade a rpm package   [man]

# yum remove [package] remove a rpm package   [man]

# yum list list all packages installed on the system   [man]

# yum search [package] find a package on rpm repository   [man]

# yum clean [package] clean up rpm cache erasing downloaded packages   [man]

# yum clean headers remove all files headers that the system uses to resolve dependency   [man]

# yum clean all remove from the cache packages and headers files   [man]

 « TOP «

DEB packages (Debian, Ubuntu and like)Command Description

# dpkg -i [package.deb] install / upgrade a deb package   [man]

# dpkg -r [package] remove a deb package from the system   [man]

# dpkg -l show all deb packages installed on the system   [man]

# dpkg -l | grep httpd show all deb packages with the name "httpd"   [man]

# dpkg -s [package] obtain information on a specific package installed on system   [man]

# dpkg -L [package] show list of files provided by a package installed on system   [man]

# dpkg --contents [package.deb] show list of files provided by a package not yet installed   [man]

# dpkg -S /bin/ping verify which package belongs to a given file   [man]

 « TOP «

APT packages tool (Debian, Ubuntu and alike)Command Description

# apt-cache search [package] returns list of packages which corresponds string

Page 12: LINUX Basic Command Line - Teguh W

"searched-packages"   [man]

# apt-cdrom install [package] install / upgrade a deb package from cdrom   [man]

# apt-get install [package] install / upgrade a deb package   [man]

# apt-get update update the package list   [man]

# apt-get upgrade upgrade all of the installed packages   [man]

# apt-get remove [package] remove a deb package from system   [man]

# apt-get check verify correct resolution of dependencies   [man]

# apt-get clean clean up cache from packages downloaded   [man]

 « TOP «

Pacman packages tool (Arch, Frugalware and alike)

Command Description

# pacman -S name Install package 'name' with dependencies   [man]

# pacman -R name Delete package 'name' and all files of it   [man]

 « TOP «

View file contentCommand Description

# cat file1 view the contents of a file starting from the first row [man]

# head -2 file1 view first two lines of a file   [man]

# less file1 similar to 'more' command but which allows backward movement in the file as well as forward movement   [man]

# more file1 view content of a file along   [man]

# tac file1 view the contents of a file starting from the last line [man]

# tail -2 file1 view last two lines of a file   [man]

# tail -f /var/log/messages view in real time what is added to a file   [man]

 « TOP «

Text ManipulationCommand Description

# cat example.txt | awk 'NR%2==1' remove all even lines from example.txt   [man]

# echo a b c | awk '{print $1}' view the first column of a line   [man]

# echo a b c | awk '{print $1,$3}' view the first and third column of a line   [man]

# cat -n file1 number row of a file   [man]

# comm -1 file1 file2 compare contents of two files by deleting only unique lines from 'file1'   [man]

# comm -2 file1 file2 compare contents of two files by deleting only unique lines from 'file2'   [man]

# comm -3 file1 file2 compare contents of two files by deleting only the lines that appear on both files   [man]

# diff file1 file2 find differences between two files   [man]

Page 13: LINUX Basic Command Line - Teguh W

# grep Aug /var/log/messages look up words "Aug" on file '/var/log/messages'   [man]

# grep ^Aug /var/log/messages look up words that begin with "Aug" on file '/var/log/messages'   [man]

# grep [0-9] /var/log/messages select from file '/var/log/messages' all lines that contain numbers   [man]

# grep Aug -R /var/log/* search string "Aug" at directory '/var/log' and below [man]

# paste file1 file2 merging contents of two files for columns   [man]

# paste -d '+' file1 file2 merging contents of two files for columns with '+' delimiter on the center   [man]

# sdiff file1 file2 find differences between two files and merge interactively alike "diff"   [man]

# sed 's/string1/string2/g' example.txt replace "string1" with "string2" in example.txt   [man]

# sed '/^$/d' example.txt remove all blank lines from example.txt   [man]

# sed '/ *#/d; /^$/d' example.txt remove comments and blank lines from example.txt [man]

# sed -e '1d' exampe.txt eliminates the first line from file example.txt   [man]

# sed -n '/string1/p' view only lines that contain the word "string1"   [man]

# sed -e 's/ *$//' example.txt remove empty characters at the end of each row   [man]

# sed -e 's/string1//g' example.txt remove only the word "string1" from text and leave intact all   [man]

# sed -n '1,5p' example.txt print from 1th to 5th row of example.txt   [man]

# sed -n '5p;5q' example.txt print row number 5 of example.txt   [man]

# sed -e 's/00*/0/g' example.txt replace more zeros with a single zero   [man]

# sort file1 file2 sort contents of two files   [man]

# sort file1 file2 | uniq sort contents of two files omitting lines repeated   [man]

# sort file1 file2 | uniq -u sort contents of two files by viewing only unique line   [man]

# sort file1 file2 | uniq -d sort contents of two files by viewing only duplicate line   [man]

# echo 'word' | tr '[:lower:]' '[:upper:]' convert from lower case in upper case   [man]

 « TOP «

Character set and Format file conversionCommand Description

# dos2unix filedos.txt fileunix.txt convert a text file format from MSDOS to UNIX   [man]

# recode ..HTML < page.txt > page.html convert a text file to html   [man]

# recode -l | more show all available formats conversion   [man]

# unix2dos fileunix.txt filedos.txt convert a text file format from UNIX to MSDOS   [man]

 « TOP «

Page 14: LINUX Basic Command Line - Teguh W

Filesystem AnalysisCommand Description

# badblocks -v /dev/hda1 check bad blocks on disk hda1   [man]

# dosfsck /dev/hda1 repair / check integrity of dos filesystems on disk hda1   [man]

# e2fsck /dev/hda1 repair / check integrity of ext2 filesystem on disk hda1   [man]

# e2fsck -j /dev/hda1 repair / check integrity of ext3 filesystem on disk hda1   [man]

# fsck /dev/hda1 repair / check integrity of linux filesystem on disk hda1   [man]

# fsck.ext2 /dev/hda1 repair / check integrity of ext2 filesystem on disk hda1   [man]

# fsck.ext3 /dev/hda1 repair / check integrity of ext3 filesystem on disk hda1   [man]

# fsck.vfat /dev/hda1 repair / check integrity of fat filesystem on disk hda1   [man]

# fsck.msdos /dev/hda1 repair / check integrity of dos filesystem on disk hda1   [man]

 « TOP «

Format a FilesystemCommand Description

# fdformat -n /dev/fd0 format a floppy disk   [man]

# mke2fs /dev/hda1 create a filesystem type linux ext2 on hda1 partition [man]

# mke2fs -j /dev/hda1 create a filesystem type linux ext3 (journal) on hda1 partition   [man]

# mkfs /dev/hda1 create a filesystem type linux on hda1 partition   [man]

# mkfs -t vfat 32 -F /dev/hda1 create a FAT32 filesystem   [man]

# mkswap /dev/hda3 create a swap filesystem   [man]

 « TOP «

Filesystem SWAPCommand Description

# mkswap /dev/hda3 create a swap filesystem   [man]

# swapon /dev/hda3 activating a new swap partition   [man]

# swapon /dev/hda2 /dev/hdb3 activate two swap partitions   [man]

 « TOP «

BackupCommand Description

# find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2

find all files with '.log' extention and make an bzip archive   [man]

# find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents

find and copy all files with '.txt' extention from a directory to another   [man]

Page 15: LINUX Basic Command Line - Teguh W

# dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'

make a backup of a local hard disk on remote host via ssh   [man]

# dd if=/dev/sda of=/tmp/file1 backup content of the harddrive to a file   [man]

# dd if=/dev/hda of=/dev/fd0 bs=512 count=1 make a copy of MBR (Master Boot Record) to floppy   [man]

# dd if=/dev/fd0 of=/dev/hda bs=512 count=1 restore MBR from backup copy saved to floppy   [man]

# dump -0aj -f /tmp/home0.bak /home make a full backup of directory '/home'   [man]

# dump -1aj -f /tmp/home0.bak /home make a incremental backup of directory '/home'   [man]

# restore -if /tmp/home0.bak restoring a backup interactively   [man]

# rsync -rogpav --delete /home /tmp synchronization between directories   [man]

# rsync -rogpav -e ssh --delete /home ip_address:/tmp

rsync via SSH tunnel   [man]

# rsync -az -e ssh --delete ip_addr:/home/public /home/local

synchronize a local directory with a remote directory via ssh and compression   [man]

# rsync -az -e ssh --delete /home/local ip_addr:/home/public

synchronize a remote directory with a local directory via ssh and compression   [man]

# tar -Puf backup.tar /home/user make a incremental backup of directory '/home/user' [man]

# ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'

copy content of a directory on remote directory via ssh   [man]

# ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'

copy a local directory on remote directory via ssh   [man]

# tar cf - . | (cd /tmp/backup ; tar xf - ) local copy preserving permits and links from a directory to another   [man]

 « TOP «

CDROMCommand Description

# cd-paranoia -B rip audio tracks from a CD to wav files   [man]

# cd-paranoia -- rip first three audio tracks from a CD to wav files   [man]

# cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force

clean a rewritable cdrom   [man]

# cdrecord -v dev=/dev/cdrom cd.iso burn an ISO image   [man]

# gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -

burn a compressed ISO image   [man]

# cdrecord --scanbus scan bus to identify the channel scsi   [man]

# dd if=/dev/hdc | md5sum perform an md5sum on a device, like a CD   [man]

# mkisofs /dev/cdrom > cd.iso create an iso image of cdrom on disk   [man]

# mkisofs /dev/cdrom | gzip > cd_iso.gz create a compressed iso image of cdrom on disk   [man]

# mkisofs -J -allow-leading-dots -R -V create an iso image of a directory   [man]

# mount -o loop cd.iso /mnt/iso mount an ISO image   [man]

 « TOP «

Networking (LAN / WiFi)

Page 16: LINUX Basic Command Line - Teguh W

Command Description

# dhclient eth0 active interface 'eth0' in dhcp mode   [man]

# ethtool eth0 show network statistics of eth0   [man]

# host www.example.com lookup hostname to resolve name to ip address and viceversa   [man]

# hostname show hostname of system   [man]

# ifconfig eth0 show configuration of an ethernet network card   [man]

# ifconfig eth0 192.168.1.1 netmask 255.255.255.0

configure IP Address   [man]

# ifconfig eth0 promisc configure 'eth0' in promiscuous mode to gather packets (sniffing)   [man]

# ifdown eth0 disable an interface 'eth0'   [man]

# ifup eth0 activate an interface 'eth0'   [man]

# ip link show show link status of all network interfaces   [man]

# iwconfig eth1 show wireless networks   [man]

# iwlist scan wifi scanning to display the wireless connections available   [man]

# mii-tool eth0 show link status of 'eth0'   [man]

# netstat -tup show all active network connections and their PID   [man]

# netstat -tupl show all network services listening on the system and their PID   [man]

# netstat -rn show routing table alike "route -n"   [man]

# nslookup www.example.com lookup hostname to resolve name to ip address and viceversa   [man]

# route -n show routing table   [man]

# route add -net 0/0 gw IP_Gateway configure default gateway   [man]

# route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1

configure static route to reach network '192.168.0.0/16'   [man]

# route del 0/0 gw IP_gateway remove static route   [man]

# echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing temporarily   [man]

# tcpdump tcp port 80 show all HTTP traffic   [man]

# whois www.example.com lookup on Whois database   [man]

 « TOP «

Microsoft Windows networks (samba)Command Description

# mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share

mount a windows network share   [man]

# nbtscan ip_addr netbios name resolution   [man]

# nmblookup -A ip_addr netbios name resolution   [man]

# smbclient -L ip_addr/hostname show remote shares of a windows host   [man]

# smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb   [man]

 « TOP «

Page 17: LINUX Basic Command Line - Teguh W

IPTABLES (firewall)Command Description

# iptables -t filter -L show all chains of filtering table   [man]

# iptables -t nat -L show all chains of nat table   [man]

# iptables -t filter -F clear all rules from filtering table   [man]

# iptables -t nat -F clear all rules from table nat   [man]

# iptables -t filter -X delete any chains created by user   [man]

# iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT

allow telnet connections to input   [man]

# iptables -t filter -A OUTPUT -p tcp --dport http -j DROP

block HTTP connections to output   [man]

# iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT

allow POP3 connections to forward chain   [man]

# iptables -t filter -A INPUT -j LOG --log-prefix Logging on input chain   [man]

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

configure a PAT (Port Address Traslation) on eth0 masking outbound packets   [man]

# iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22

redirect packets addressed to a host to another host   [man]

 « TOP «

Monitoring and debuggingCommand Description

# free -m displays status of RAM in megabytes   [man]

# kill -9 process_id force closure of the process and finish it   [man]

# kill -1 process_id force a process to reload configuration   [man]

# last reboot show history reboot   [man]

# lsmod display kernel loaded   [man]

# lsof -p process_id display a list of files opened by processes   [man]

# lsof /home/user1 displays a list of open files in a given path system   [man]

# ps -eafw displays linux tasks   [man]

# ps -e -o pid,args --forest displays linux tasks in a hierarchical mode   [man]

# pstree Shows a tree system processes   [man]

# smartctl -A /dev/hda monitoring reliability of a hard-disk through SMART   [man]

# smartctl -i /dev/hda check if SMART is active on a hard-disk   [man]

# strace -c ls >/dev/null display system calls made and received by a process [man]

# strace -f -e open ls >/dev/null display library calls   [man]

# tail /var/log/dmesg show events inherent to the process of booting kernel   [man]

# tail /var/log/messages show system events   [man]

# top display linux tasks using most cpu   [man]

# watch -n1 'cat /proc/interrupts' display interrupts in real-time   [man]

Page 18: LINUX Basic Command Line - Teguh W

Others useful commandsCommand Description

# alias hh='history' set an alias for a command - hh = history   [man]

# apropos ...keyword display a list of commands that pertain to keywords of a program , useful when you know what your program does, but you don't know the name of the command   [man]

# chsh change shell command   [man]

# chsh --list-shells nice command to know if you have to remote into another box   [man]

# gpg -c file1 encrypt a file with GNU Privacy Guard   [man]

# gpg file1.gpg decrypt a file with GNU Privacy Guard   [man]

# ldd /usr/bin/ssh show shared libraries required by ssh program   [man]

# man ping display the on-line manual pages for example on ping command - use '-k' option to find any related commands   [man]

# mkbootdisk --device /dev/fd0 `uname -r` create a boot floppy   [man]

# wget -r www.example.com download an entire web site   [man]

# wget -c www.example.com/file.iso download a file with the ability to stop the download and resume later   [man]

# echo 'wget -c www.example.com/files.iso' | at 09:00

start a download at any given time   [man]

# whatis ...keyword displays description of what a program does   [man]

# who -a show who is logged on, and print: time of last system boot, dead processes, system login processes, active processes spawned by init, current runlevel, last system clock change   [man]