Perintah Linux

15
& index 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 perintahpasswd , 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 index 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 index 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 index Menampilkan isi dari sebuah file di layar. $ cat namafile cd index 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 index Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu

Transcript of Perintah Linux

Page 1: Perintah Linux

& index

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 perintahpasswd, 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 index

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 index

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 index

Menampilkan isi dari sebuah file di layar.

$ cat namafile

cd index

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 index

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 index

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

Page 2: Perintah Linux

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

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 index

Merubah user ID (owner) sebuah file atau direktori

$ chown <user id> <file>

cp index

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

$ cp <file1> <file2>

fg index

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

find index

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

Page 3: Perintah Linux

./public/docs/statistik/presconf.doc

grep index

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 index

Ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file.

Sintaksnya sangat sederhana:

$ gzip <namafile>

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 dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan

Page 4: Perintah Linux

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 page atau 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 mengisikanpassword 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

Page 5: Perintah Linux

menghentikan komputer dengan perintahshutdown -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 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

Page 6: Perintah Linux

mengenai login name, jenis terminal, waktu logindan 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.

contoh untuk mengubah informasi user:

$ chfn <nama_user>password:<masukan_password> + <tekan Enter kalo dah selesai>

<keterangan : password tak akan terlihat hurufnya><Data user siap dirubah>

contoh untuk melihat informasi user:$ finger <nama_user>

Contoh untuk membuat kata-kata yang langsung ditampilkan di layar monitor:$ echo "Kata-kata yang akan ditampilkan"

Contoh untuk membuat file dan isi nya.$ cat > <nama_file><teks yang akan dimasukan dalam file><untuk mengakhiri tekan Ctrl+D>

Contoh untuk menambahkan isi pada suatu file$ cat >> <nama_file><teks yang akan ditambahkan dalam file><untuk mengakhiri tekan Ctrl+D>

Contoh untuk melihat isi suatu file$ cat < <nama_file>atau$ cat <nama_file>

Contoh untuk copy paste file:$ cp <nama_file1> <nama_file2>

<keterangan : nama_file1 adalah file yang akan dicopykan. nama_file2 adalah file hasil pengcopyan>

Page 7: Perintah Linux

Contoh untuk memindahkan file: $ mv <nama_file1> <nama_folder/nama_file1>

$ mv test.txt mydata/test.txt < Keterangan : Contoh mengcopy file test.txt di direktori home ke folder mydata. >

Contoh merubah nama file:$ mv <nama_file> <rename_nama_file>

$ mv test1.txt test2.txt<Keterangan :Contoh mengganti nama file test1.txt menjadi test2.txt>

Contoh menghapus file:$ rm <nama_file>$ rm <nama_folder/nama_file>

Contoh membuat folder di direktori home:$ mkdir <nama_folder>

Contoh menghapus folder yang kosong:$ rmdir <nama_folder>

Contoh untuk menghapus folder yang ada isinya:$ rm -rf <nama_folder>

Contoh untuk melihat file dalam direktori:$ ls

Contoh untuk melihat file yang terhidden dalam direktori:$ ls -a

Contoh untuk melihat file yang terhidden dalam direktori secara lengkap:$ ls -a -l

Contoh untuk melihat file yang terhidden dalam direktori secara lengkap dari A-Z (Alphabet):$ ls -a -l | sort

contoh untuk melihat kalender:$ cal$ cal -y$ cal may 2008

contoh untuk melihat waktu:$ date

perintah di bawah ini, buku "root terminal"!

Perintah untuk menambah group user.$ groupadd group_baru1$ groupadd group_baru2

untuk mengecek apakah group yang baru sudah tercipta.$ cat /etc/group

Perintah untuk menghapus group user.$ groupdel group_baru1$ groupdel group_baru2

Perintah untuk menambah user baru.$ useradd -g group_baru1 user_baru1$ useradd -g group_baru2 user_baru2Ket :-g adalah perintah untuk memasukan user yang baru ke dalam suatu group

Page 8: Perintah Linux

group_baru1 adalah group yang akan ditambahkan user yang baru

Perintah untuk mensetting password dari user$ passwd user_baru1

Untuk meilhat semua user$ cat /etc/passwd

Perintah untuk menambahkan keanggotaan user ke dalam group lain.$ usermod -g group_baru1 -G group_baru2 user_baru1Ket :group_baru1 adalah group primer dari user_baru1, dan group_baru2 adalah group baru dari user_baru1.

Untuk mengecek keanggotaan suatu user.$ groups group_baru1

Perintah untuk menghapus user.$ userdel -r user_baru2

perintah untuk melihat proses yang sedang berlangsung...

$ps ax

perintah untuk menghentikan proses tertentu...$kill -9 (nomor proses yang sedang berlangsung)

perintah keluar...

$exit

Command Description

• apropos whatis Show commands pertinent to string. See also threadsafe

• man -t ascii | ps2pdf - > ascii.pdf make a pdf of a manual page

  which command Show full path name of command

  time command See how long a command takes

• time cat Start stopwatch. Ctrl-d to stop. See also sw

dir navigation

• cd - Go to previous directory

• cd Go to $HOME directory

  (cd dir && command) Go to dir, execute command and return to current dir

• pushd . Put current dir on stack so you can popd back to it

file searching

• alias l='ls -l --color=auto' quick dir listing

• ls -lrt List files by date. See also newest and find_mm_yyyy

• ls /usr/bin | pr -T9 -W$COLUMNS Print in 9 columns to width of terminal

  find -name '*.[ch]' | xargs grep -E 'expr' Search 'expr' in this dir and below. See also findrepo

  find -type f -print0 | xargs -r0 grep -F 'example' Search all regular files for 'example' in this dir and below

  find -maxdepth 1 -type f | xargs grep -F 'example' Search all regular files for 'example' in this dir

 find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done

Process each item with multiple commands (in while loop)

• find -type f ! -perm -444 Find files not readable by all (useful for web site)

• find -type d ! -perm -111 Find dirs not accessible by all (useful for web site)

• locate -r 'file[^/]*\.txt' Search cached index for names. This re is like glob *file*.txt

• look reference Quickly search (sorted) dictionary for prefix

• grep --color reference /usr/share/dict/words Highlight occurances of regular expression in dictionary

archives and compression

  gpg -c file Encrypt file

  gpg file.gpg Decrypt file

  tar -c dir/ | bzip2 > dir.tar.bz2 Make compressed archive of dir/

  bzip2 -dc dir.tar.bz2 | tar -x Extract archive (use gzip instead of bzip2 for tar.gz files)

Page 9: Perintah Linux

  tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' Make encrypted archive of dir/ on remote machine

  find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 Make archive of subset of dir/ and below

 find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents

Make copy of subset of dir/ and below

  ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p ) Copy (with permissions) copy/ dir to /where/to/ dir

  ( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) Copy (with permissions) contents of copy/ dir to /where/to/

 ( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p'

Copy (with permissions) copy/ dir to remote:/where/to/ dir

  dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' Backup harddisk to remote machine

rsync (Network efficient file copier: Use the --dry-run option for testing)

  rsync -P rsync://rsync.server.com/path/to/file file Only get diffs. Do multiple times for troublesome downloads

  rsync --bwlimit=1000 fromfile tofile Locally copy with rate limit. It's like nice for I/O

  rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html' Mirror web site (using compression and encryption)

  rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ Synchronize current directory with remote one

ssh (Secure SHell)

  ssh $USER@$HOST command Run command on $HOST as $USER (default command=shell)

• ssh -f -Y $USER@$HOSTNAME xeyes Run GUI command on $HOSTNAME as $USER

  scp -p -r $USER@$HOST: file dir/ Copy with permissions to $USER's home directory on $HOST

  ssh -g -L 8080:localhost:80 root@$HOST Forward connections to $HOSTNAME:8080 out to $HOST:80

  ssh -R 1434:imap:143 root@$HOST Forward connections from $HOST:1434 in to imap:143

  ssh-copy-id $USER@$HOST Install $USER's public key on $HOST for password-less log in

wget (multi purpose download tool)

•(cd dir/ && wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)

Store local browsable version of a page to the current dir

  wget -c http://www.example.com/large.file Continue downloading a partially downloaded file

  wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/ Download a set of files to the current directory

  wget ftp://remote/file[1-9].iso/ FTP supports globbing directly

•wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head

Process output directly

  echo 'wget url' | at 01:00 Download url at 1AM to current dir

  wget --limit-rate=20k url Do a low priority download (limit to 20KB/s in this case)

  wget -nv --spider --force-html -i bookmarks.html Check links in a file

  wget --mirror http://www.example.com/ Efficiently update a local copy of a site (handy from cron)

networking (Note ifconfig, route, mii-tool, nslookup commands are obsolete)

  ethtool eth0 Show status of ethernet interface eth0

  ethtool --change eth0 autoneg off speed 100 duplex full Manually set ethernet interface speed

  iwconfig eth1 Show status of wireless interface eth1

  iwconfig eth1 rate 1Mb/s fixed Manually set wireless interface speed

• iwlist scan List wireless networks in range

• ip link show List network interfaces

  ip link set dev eth0 name wan Rename interface eth0 to wan

  ip link set dev eth0 up Bring interface eth0 up (or down)

• ip addr show List addresses for interfaces

  ip addr add 1.2.3.4/24 brd + dev eth0 Add (or del) ip and mask (255.255.255.0)

• ip route show List routing table

  ip route add default via 1.2.3.254 Set default gateway to 1.2.3.254

• host pixelbeat.org Lookup DNS ip address for name or vice versa

• hostname -i Lookup local ip address (equivalent to host `hostname`)

• whois pixelbeat.org Lookup whois info for hostname or ip address

• netstat -tupl List internet services on a system

• netstat -tup List active connections to/from system

windows networking (Note samba is the package that provides all this windows specific networking support)

• smbtree Find windows machines. See also findsmb

  nmblookup -A 1.2.3.4 Find the windows (netbios) name associated with ip address

  smbclient -L windows_box List shares on windows machine or samba server

  mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share Mount a windows share

  echo 'message' | smbclient -M windows_box Send popup to windows machine (off by default in XP sp2)

text manipulation (Note sed uses stdin and stdout. Newer versions support inplace editing with the -i option)

  sed 's/string1/string2/g' Replace string1 with string2

Page 10: Perintah Linux

  sed 's/\(.*\)1/\12/g' Modify anystring1 to anystring2

  sed '/ *#/d; /^ *$/d' Remove comments and blank lines

  sed ':a; /\\$/N; s/\\\n//; ta' Concatenate lines with trailing \

  sed 's/[ \t]*$//' Remove trailing spaces from lines

  sed 's/\([`"$\]\)/\\\1/g' Escape shell metacharacters active within double quotes

• seq 10 | sed "s/^/      /; s/ *\(.\{7,\}\)/\1/" Right align numbers

  sed -n '1000{p;q}' Print 1000th line

  sed -n '10,20p;20q' Print lines 10 to 20

  sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' Extract title from HTML web page

  sed -i 42d ~/.ssh/known_hosts Delete a particular line

  sort -t. -k1,1n -k2,2n -k3,3n -k4,4n Sort IPV4 ip addresses

• echo 'Test' | tr '[:lower:]' '[:upper:]' Case conversion

• tr -dc '[:print:]' < /dev/urandom Filter non printable characters

• tr -s '[:blank:]' '\t' </proc/diskstats | cut -f4 cut fields separated by blanks

• history | wc -l Count lines

set operations (Note you can export LANG=C for speed. Also these assume no duplicate lines within a file)

  sort file1 file2 | uniq Union of unsorted files

  sort file1 file2 | uniq -d Intersection of unsorted files

  sort file1 file1 file2 | uniq -u Difference of unsorted files

  sort file1 file2 | uniq -u Symmetric Difference of unsorted files

  join -t'\0' -a1 -a2 file1 file2 Union of sorted files

  join -t'\0' file1 file2 Intersection of sorted files

  join -t'\0' -v2 file1 file2 Difference of sorted files

  join -t'\0' -v1 -v2 file1 file2 Symmetric Difference of sorted files

math

• echo '(1 + sqrt(5))/2' | bc -l Quick math (Calculate φ). See also bc

• echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc More complex (int) e.g. This shows max FastE packet rate

• echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python Python handles scientific notation

•echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist

Plot FastE packet rate vs packet size

• echo 'obase=16; ibase=10; 64206' | bc Base conversion (decimal to hexadecimal)

• echo $((0x2dec)) Base conversion (hex to dec) ((shell arithmetic expansion))

• units -t '100m/9.58s' 'miles/hour' Unit conversion (metric to imperial)

• units -t '500GB' 'GiB' Unit conversion (SI to IEC prefixes)

• units -t '1 googol' Definition lookup

• seq 100 | (tr '\n' +; echo 0) | bc Add a column of numbers. See also add and funcpy

calendar

• cal -3 Display a calendar

• cal 9 1752 Display a calendar for a particular month year

• date -d fri What date is it this friday. See also day

• [ $(date -d "tomorrow" +%d) = "01" ] || exit exit a script unless it's the last day of the month

• date --date='25 Dec' +%A What day does xmas fall on, this year

• date --date='@2147483647' Convert seconds since the epoch (1970-01-01 UTC) to date

• TZ='America/Los_Angeles' date What time is it on west coast of US (use tzselect to find TZ)

• date --date='TZ="America/Los_Angeles" 09:00 next Fri' What's the local time for 9AM next Friday on west coast US

locales

• printf "%'d\n" 1234 Print number with thousands grouping appropriate to locale

• BLOCK_SIZE=\'1 ls -l Use locale thousands grouping in ls. See also l

• echo "I live in `locale territory`" Extract info from locale database

• LANG=en_IE.utf8 locale int_prefix Lookup locale info for specific country. See also ccodes

• locale | cut -d= -f1 | xargs locale -kc | less List fields available in locale database

recode (Obsoletes iconv, dos2unix, unix2dos)

• recode -l | less Show available conversions (aliases on each line)

  recode windows-1252.. file_to_change.txt Windows "ansi" to local charset (auto does CRLF conversion)

  recode utf-8/CRLF.. file_to_change.txt Windows utf8 to local charset

  recode iso-8859-15..utf8 file_to_change.txt Latin9 (western europe) to utf8

  recode ../b64 < file.txt > file.b64 Base64 encode

  recode /qp.. < file.qp > file.txt Quoted printable decode

Page 11: Perintah Linux

  recode ..HTML < file.txt > file.html Text to HTML

• recode -lf windows-1252 | grep euro Lookup table of characters

• echo -n 0x80 | recode latin-9/x1..dump Show what a code represents in latin-9 charmap

• echo -n 0x20AC | recode ucs-2/x2..latin-9/x Show latin-9 encoding

• echo -n 0x20AC | recode ucs-2/x2..utf-8/x Show utf-8 encoding

CDs

  gzip < /dev/cdrom > cdrom.iso.gz Save copy of data cdrom

  mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz Create cdrom image from contents of dir

  mount -o loop cdrom.iso /mnt/dir Mount the cdrom image at /mnt/dir (read only)

  cdrecord -v dev=/dev/cdrom blank=fast Clear a CDRW

  gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom - Burn cdrom image (use dev=ATAPI -scanbus to confirm dev)

  cdparanoia -B Rip audio tracks from CD to wav files in current dir

  cdrecord -v dev=/dev/cdrom -audio -pad *.wav Make audio CD from all wavs in current dir (see also cdrdao)

  oggenc --tracknum='track' track.cdda.wav -o 'track.ogg' Make ogg file from wav file

disk space (See also FSlint)

• ls -lSr Show files by size, biggest last

• du -s * | sort -k1,1rn | head Show top disk users in current dir. See also dutop

• du -hs /home/* | sort -k1,1h Sort paths by easy to interpret disk usage

• df -h Show free space on mounted filesystems

• df -i Show free inodes on mounted filesystems

• fdisk -l Show disks partitions sizes and types (run as root)

• rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n List all packages by installed size (Bytes) on rpm distros

• dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n List all packages by installed size (KBytes) on deb distros

• dd bs=1 seek=2TB if=/dev/null of=ext3.test Create a large test file (taking no space). See also truncate

• > file truncate data of file or create an empty file

monitoring/debugging

• tail -f /var/log/messages Monitor messages in a log file

• strace -c ls >/dev/null Summarise/profile system calls made by command

• strace -f -e open ls >/dev/null List system calls made by command

• strace -f -e trace=write -e write=1,2 ls >/dev/null Monitor what's written to stdout and stderr

• ltrace -f -e getenv ls >/dev/null List library calls made by command

• lsof -p $$ List paths that process id has open

• lsof ~ List processes that have specified path open

• tcpdump not port 22 Show network traffic except ssh. See also tcpdump_not_me

• ps -e -o pid,args --forest List processes in a hierarchy

• ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d' List processes by % cpu usage

• ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS List processes by mem (KB) usage. See also ps_mem.py

• ps -C firefox-bin -L -o pid,tid,pcpu,state List all threads for a particular process

• ps -p 1,$$ -o etime= List elapsed wall time for particular process IDs

• last reboot Show system reboot history

• free -m Show amount of (remaining) RAM (-m displays in MB)

• watch -n.1 'cat /proc/interrupts' Watch changeable data continuously

• udevadm monitor Monitor udev events to help configure rules

system information (see also sysinfo) ('#' means root access is required)

• uname -a Show kernel version and system architecture

• head -n1 /etc/issue Show name and version of distribution

• cat /proc/partitions Show all partitions registered on the system

• grep MemTotal /proc/meminfo Show RAM total seen by the system

• grep "model name" /proc/cpuinfo Show CPU(s) info

• lspci -tv Show PCI info

• lsusb -tv Show USB info

• mount | column -t List mounted filesystems on the system (and align output)

• grep -F capacity: /proc/acpi/battery/BAT0/info Show state of cells in laptop battery

# dmidecode -q | less Display SMBIOS/DMI information

# smartctl -A /dev/sda | grep Power_On_Hours How long has this disk (system) been powered on in total

# hdparm -i /dev/sda Show info about disk sda

# hdparm -tT /dev/sda Do a read speed test on disk sda

# badblocks -s /dev/sda Test for unreadable blocks on disk sda

Page 12: Perintah Linux

interactive (see also linux keyboard shortcuts)

• readline Line editor used by bash, python, bc, gnuplot, ...

• screen Virtual terminals with detach capability, ...

• mc Powerful file manager that can browse rpm, tar, ftp, ssh, ...

• gnuplot Interactive/scriptable graphing

• links Web browser

• xdg-open . open a file or url with the registered desktop application