Tuesday, July 11, 2017

20 Perintah Dasar Linux (Shell)

Mampu menggunakan perintah dasar pada shell Linux merupakan suatu skill dasar yang harus dimiliki bagi mereka yang ingin menjadi programmer, sysAdmin dan, bahkan, (data) scientist. Shell merupakan jendela ke bahasa pemrograman lainnya seperti python, perl, awk, c/c++. Menguasai shell artinya anda bisa memadukan antara bahasa pemrograman karena shell saat ini dijadikan glue (perekat) antar bahasa pemrograman yang saat ini tidak bisa berdiri sendiri-sendiri. Contoh nyata penggunaan shell adalah pada riset speech synthesis, speech recognition dan data science. Dan hampir semua bidang yang menggunakan komputasi memakai shell pada systemnya. Shell pada Linux dapat digunakan melalui (gnome) terminal, buka dengan Ctrl + Alt + T, dan perintah dasarnya adalah sebagai berikut:
nama-perintah argumen
nama-perintah adalah nama perintah yang digunakan, misal perintah yang akan dibahas dibawah: ls, cp, mkdir dan mv. Sedangkan argumen adalah parameter, argumen atau input dari nama-perintah. Misal perintah "mkdir bagus" akan membuat direktori (mkdir, make directory) dengan nama "bagus" dalam direktori saat ini (current directory).
A post shared by Bagus Tris Atmaja (@bagustris) on

0. <tab>
Tab adalah temanmu, teman terbaikmu! Tombol tab berfungsi sebagai code completion atau pun path dan filename completion. Mulailah dengan mengetik perintah nomor satu (ls), ketik l den tekan tab. Ketil ls (spasi) dan tekan (tab). Ketil " ls Do (tab) ". Dan seterusnya. Tombol (tab) akan menghemat waktu anda, ton of times.

1. ls
ls digunakan untuk me-list file. Berikut contohnya:

ls /usr/bin

# melist secara detail
ls -l

# menampilkan dalam format "human readable" ukuran file
ls -lh

# menampilkan dalam urutan waktu secara detail
ls -lt

# menampilkan dalam urutan waktu secara detail list terbalik (reverse)
ls -ltr

# menghitung total file dalam direktori,wc word count/untuk menghitung kata, 
# wc -l untuk menghitung jumlah baris, "|" adalah pipe
ls /usr/bin | wc -l

# menampilkan argumen apa saja yang dimiliki ls
ls --help

2. mkdir
mkdir digunakan untuk membuat direktori (make directory).
mkdir text
mkdir -p bagus/text
3. cd
cd merupakan kepanjangan dari "change directory". Perintah ini digunakan untuk berpindah dari satu direktori ke direktori yang lain. Berikut adalah contohnya.<
cd / 
cd ~ 
cd /home/bagustris 
cd /tmp  
4. rm / rmdir
rm digunakan untuk menghapus file, sedangkan rmdir digunakan untuk menghapus direktori. Sebelum dihapus direktori harus kosong. Perintah ini agak riskan, karena langsung menghapus dari PC, bukan mengirimnya ke trash. Kecuali yakin dengan yang anda hapus, pastikan anda sudah mempunyai back-upnya. rm juga bisa digunakan untuk menghapus direktori yang tidak kosong dengan memaksanya (-fr, force).
rm text.txt 
rmdir text  

# memaksa menghapus 
rm -fr text  
5. mv
mv digunakan baik untuk merename fila atau memindahkan lokasi file. Berikut contoh untuk merename dan memindahkan file.
# merename file tes.txt menjadi tes1.txt 
mv tes.txt tes1.txt  

# memindahkan file tes.txt dalam current directory ke dalam direktori "text" 
mv tes.txt text  
6. cp
cp digunakan baik untuk mengcopy file atau directory. Ada banyak argumen yang dapat digunakan untuk mengcopy file atau folder/direktori. Berikut adalah contohnya:
# sintaks dasar, mengcopy file1 menjadi file1 dan file2 
cp file1 file2  

# mengcopy file1 ke dalam direktory desktop 
cp file1 ~/Desktop  

# mengcopy file1 agar mengkonfirmasi sebelum meng-overwriting 
cp -i file1 ~/Desktop/  

# mengcopy file1 agar tidak meng-overwriting jika telah ada sebelumnya 
cp -n file1 ~/Desktop/  

# mengkcopy directory dan isinya 
cp -r dir ~/Desktop  

# mengcopy/membuat symbolic link 
cp -s ~/htf-daily/file1 ~/Desktop/  

# hanya mengupdate jika yang akan dicopy lebih baru dari yang ada 
cp -u file1 ~/Desktop  

# agar cp tidak mengikuti symbolic link dari sumber 
cp -P ~/Desktop/file1 ~/Downloads/  

# mengcopy hanya atribut saja (read, write, execute) 
cp --attributes-only --preserve file2 file1   
7. pwd
pwd merupakan kepajangan dari "print working directory", yakni untuk mengetahui di direktori mana kita berada saat ini. Berikut contohnya,
pwd /home/bagustris  
8. man
Dokumentasi sangat penting! Tanpanya, kita akan kesulitan untuk menggunakan perintah-perintah Linux atau shell. Kabar baiknya, setiap perintah pasti punya "manpages" atau manual yang mendokumentasikan penggunaan perintah tersebut. Untuk mengakses manual page dari suatu ketika dapat mengetikkan "man nama-perintah". Contohnya adalah sebagai berikut,
man man 
man git 
man ls 
man cp  
9. cat
cat digunakan untuk menampilkan isi file (concatenate). Berikut contohnya
cat /etc/passwd
10. sudo
sudo merupakan hak akses Super User. Ada perintah-perintah tertentu yang hanya bisa diakses melalui sudo, misalnya apt dll. Semua folder dibawah root / hanya bisa diakses/diedit oleh root, kecuali /home bisa diakses oleh user. Berikut contoh penggunaannya
whoami

sudo whoami

sudo cp file1 /usr/bin
11. apt
apt adalah packaging system khusus Ubuntu. Perintah apt ini digunakan untuk menginstall, menguninstall, mencari paket, mengupdate dan mengupgrade. Lebih lanjut tentang apt silahkan dipelajari melalui man apt. Berikut contoh penggunaanya.
sudo apt update

sudo apt upgrade

apt search tree

apt-cache search tree

sudo apt install tree

tree /etc

sudo apt purge tree
12. Pipes
Meskipun secara strict bukan merupakan perintah, namun "piping" merupakan konsep dasar yang perlu difahami dalam bash dimana anda dapat mem-pipa-kan output suatu perintah menjadi input perintah lainnya. Lihat gambar ketiga instagram diatas. Output terminal Unix disebut stdout, or “standard out”, dan inputnya disebut stdin, “standard in”). Dengan teknik ini kita bisa menggabungkan beberapa perintah sekaligus.
Contoh:
# menampilkan isi file.txt dan mengurutkannya berdasarkan abjad
cat file.txt | sort
13. grep
Grep merupakan kepanjangan dari “get regular expression,” artinya kita bisa mencari secara mudah dalam regex (regular expression). Berikut beberapa contohnya.
apt-cache search revision control

apt-cache search revision control | grep git
14. sed
Sed merupakan simple “inline editor.” Seperti halnya piping text ke grep, kita juga bisa mem-pipakannya dengan sed. Pastikan anda membaca man pagenya dan faham isinya.Berikut contoh penggunaan sed.
cat /etc/passwd

# print (cat) a file, and then replace all of the colons (:) with three whitespaces
cat /etc/passwd | sed “s/:/   /g”
15. awk
awk sebenarnya merupakan bahasa pemrograman sendiri. Dalam lingkungan bahasa pemrogramannya, awk dapat melakukan operasi-operasi sperti matemtaika dan pem-formatan text. Perhatikan contoh berikut. Try this, and then read the manpage!
cat /etc/passwd

# Let’s say you want to split some text into a column, and only get the first column.
cat /etc/passwd | sed “s/:/   /g”

cat /etc/passwd | sed "s/:/   /g" | awk '{print $1}'
16. xargs
xargs merupakan perintah yang anda butuhkan untuk mengotomasi pekerjaan scripting kita. xargs membuat sebuah "loop" yang efektif yang dapat digunakan pada sebuah perintah, dan dapat digunakan secara terus menerus pada variabel yang berubah. Contoh berikut adalah penggunaan perintah xargs untuk mengucapkan hello pada setiap user yang terdaftar.
cat /etc/passwd

cat /etc/passwd | sed “s/:/   /g”

cat /etc/passwd | sed "s/:/   /g" | awk '{print $1}'

cat /etc/passwd | sed "s/:/   /g" | awk '{print $1}' | xargs -i echo "Howdy, {}!"
17. less
Less is more. Baik more ataupun less bisa digunakan untuk menampilan isi dari suatu file atau man page layaknya cat. Bedanya, more akan menampilkan isi dari suatu file atau perintah secara keseluruhan, sedangkan less menampilkan isi file atau perintah dalam satu halaman saja, sehingga bisa kita scroll up and down.
cat /var/log/syslog

cat /var/log/syslog | less
18. ssh
ssh digunakan untuk "me-remote" suatu PC dari PC lainnya. Untuk menggunakannya kita harus mengginstall ssh server dan ssh client (openssh-server dan openssh-client, pada Ubuntu). Berikut conothnya.
ssh bagustris@10.57.18.6

ssh bagustris-MacBookPro

ssh example.com
19. rsync
rsync merupakan tool yang brilian untuk menyinkronkan dua direktori ataupun disk/partisi. Tool ini biasanya digunakan untuk membackup data, bisa dilakukan secara otomatis harian, mingguan atau bulanan dengan bantuan crontab. Berikut adalah contoh penggunaan rsync.
mkdir /tmp/test

rsync -aP /usr/share/doc/ /tmp/test/

ls /usr/share/doc

ls /tmp/test/

rm -rf /tmp/test
Penjelasan lebih lengkap tentang rsync beserta contohnya ada pada halaman berikut: www.bagustris.tk/2016/07/tutorial-rsync.html.

20. find / locate
find digunakan untuk mencari file, sedangkan locate digunakan untuk mencari letak dari suatu file. Berikut contohya.
find /etc/

find /etc/ -type d

find /etc/ -type f

find /etc/apt -name sources*

find /mnt/c/Program\ Files

sudo updatedb

locate bash.exe

Itulah 20 perintah dasar Linux yang terpenting (menurut saya), ada banyak sekali perintah lainnya. Jika ingin belajar Linux Shell lebih jauh, silahkan ikuti tutorial Linux shell berikut, https://bagustris.github.io/shell-tutorial.

Referensi:
[1] https://www.linux.com/learn/howdy-ubuntu-windows-ubuntu-commands-every-windows-user-should-learn
Related Posts Plugin for WordPress, Blogger...