Belajar perintah dasar Linux


insert_invitation Tanggal: Senin, 28 Desember 2020. 09:14:28 WIB
perm_contact_calendar Penulis: selene
local_offer Tags: Linux


Halo!
Selamat pagi teman-teman semua, tidak terasa sudah memasuki penghujung tahun 2020, di post ketiga saya ini saya akan membagikan sedikit ilmu perintah-perintah dasar / command di gnu/linux.

Gunakan daftar isi diatas & shortcut CTRL+F untuk memudahkan pencarian konten.

Sebelum lebih jauh untuk menyamakan perspektif istilah directory adalah folder.
Simbol tilde (~) adalah representasi dari home folder dari suatu user.
$ = simbol prompt user biasa
# = simbol prompt super user (root)

. = directory saat ini
.. = directory sebelumnya


Membersihkan layar terminal / wipe layar

Gunakan perintah clear:

$ clear


Mengetahui lokasi directory saat ini

Gunakan perintah pwd, akronim dari print working directory:

$ pwd
/home/selene

$ cd Documents
$ pwd
/home/selene/Documents


Pindah lokasi directory

Gunakan perintah cd, diikuti nama directory tujuan, akronim dari change directory:

$ cd ~
$ cd Downloads
$ pwd
/home/selene/Downloads

$ cd /tmp
$ pwd
/tmp

$ cd ~
$ pwd
/home/selene

Pindah directory sebelumnya, gunakan - (strip / minus):

$ pwd
/home/selene

$ cd /tmp
$ pwd
/tmp

$ cd -
$ pwd
/home/selene

Naik ke directory sebelumnya, gunakan .. (double dot):

$ pwd
/home/selene

$ cd Documents
$ pwd
/home/selene/Documents

$ cd ..
$ pwd
/home/selene

$ cd Documents/Data
$ pwd
/home/selene/Documents/Data

$ cd ../..
$ pwd
/home/selene


Mengetahui isi directory

Gunakan perintah ls, akronim dari List:

$ ls
Desktop  Documents  Downloads  Pictures
Dev      dots       Music

Menampilkan hidden file / file tersembunyi:

$ ls -a
Desktop  Documents  Downloads  Pictures
Dev      dots       Music
.file_tersembunyi

Menampilkan secara list, d dipaling depan artinya directory / bukan file, sedangkan 9 digit karakter berikutnya adalah permission (user 3, group 3, public 3), diikuti owner, lalu group owner, lalu size / ukuran, lalu tanggal modified, lalu nama directory / file:

$ ls -l
total 24
drwxr-xr-x  2 selene selene 4096 Des 26 22:10 Desktop
drwxr-xr-x  5 selene selene 4096 Des  3 07:41 Dev
drwxr-xr-x  3 selene selene 4096 Des 27 20:39 Documents
drwxr-xr-x 25 selene selene 4096 Des  3 11:40 dots
drwx------ 23 selene selene 4096 Des 27 12:59 Downloads
drwxrwxrwx  1 selene selene   13 Okt  3 11:14 Music
drwxrwxrwx  3 selene selene 4096 Des 14 08:27 Pictures
-rwxr-xr-x  0 selene selnee    0 Des 28 09:15 .file_tersembunyi

Menampilkan size secara human readable / mudah dibaca,
byte menjadi satuan KB MB GB:

$ ls -lh
total 24
drwxr-xr-x  2 selene selene 4,0K Des 26 22:10 Desktop
drwxr-xr-x  5 selene selene 4,0K Des  3 07:41 Dev
drwxr-xr-x  3 selene selene 4,0K Des 27 20:39 Documents
drwxr-xr-x 25 selene selene 4,0K Des  3 11:40 dots
drwx------ 23 selene selene 4,0K Des 27 12:59 Downloads
drwxrwxrwx  1 selene selene   13 Okt  3 11:14 Music
drwxrwxrwx  3 selene selene 4,0K Des 14 08:27 Pictures

Menampilkan secara list, semua file, mudah dibaca, option -hal ini paling sering digunakan:

$ ls -hal
total 24
drwxr-xr-x  2 selene selene 4,0K Des 26 22:10 Desktop
drwxr-xr-x  5 selene selene 4,0K Des  3 07:41 Dev
drwxr-xr-x  3 selene selene 4,0K Des 27 20:39 Documents
drwxr-xr-x 25 selene selene 4,0K Des  3 11:40 dots
drwx------ 23 selene selene 4,0K Des 27 12:59 Downloads
drwxrwxrwx  1 selene selene   13 Okt  3 11:14 Music
drwxrwxrwx  3 selene selene 4,0K Des 14 08:27 Pictures
-rwxr-xr-x  0 selene selnee    0 Des 28 09:15 .file_tersembunyi

Sort berdasarkan modified time:

$ ls -halt
total 24
drwxr-xr-x  3 selene selene 4,0K Des 27 20:39 Documents
drwx------ 23 selene selene 4,0K Des 27 12:59 Downloads
drwxr-xr-x  2 selene selene 4,0K Des 26 22:10 Desktop
drwxrwxrwx  3 selene selene 4,0K Des 14 08:27 Pictures
drwxr-xr-x 25 selene selene 4,0K Des  3 11:40 dots
drwxr-xr-x  5 selene selene 4,0K Des  3 07:41 Dev
lrwxrwxrwx  1 selene selene   13 Okt  3 11:14 Music
-rwxr-xr-x  0 selene selnee    0 Des 28 09:15 .file_tersembunyi

Selengkapnya tentang ls “$ man ls”.


Membuat directory

Gunakan perintah mkdir, akronim dari make directory.
Ganti inidir, dengan nama directory keinginan:

$ mkdir inidir
$ ls
Desktop  Documents  Downloads  inidir
Pictures Dev        dots       Music

Batch:

$ mkdir {dirsatu,dirdua,dirtiga}

Mengandung spasi, pakai tanda petik (quote) atau escape character:

$ mkdir 'ini dir'

$ mkdir "ini dir"

$ mkdir ini\ dir


Membuat file

Gunakan perintah touch.
Ganti inifile, dengan nama file keinginan, kurang lebih sama dengan membuat directory:

$ touch inifile

Batch:

$ touch {filesatu,filedua,filetiga}

Mengandung spasi, pakai tanda petik (quote) atau escape character:

$ touch 'ini file'

$ touch "ini file"

$ touch ini\ file


Menghapus directory

Gunakan perintah rmdir, akronim dari remove directory.
Jika directory tidak berisi file / directory:

$ rmdir namadir

Jika directory berisi file / directory lain didalamnya:

$ rm -rf namadir
$ rm -rf dir1 dir2 dir3


Menghapus file

Gunakan perintah rm, akronim dari remove:

$ rm namafile
$ rm file1 file2 fil3


Menyalin / copy directory

Gunakan perintah mv, diikuti option -r, asal directory dan tujuan directory (atribut paling akhir), akronim dari move:

$ mv -r namadir /tmp
$ ls /tmp
namadir

Banyak directory:

$ mv -r dir1 dir2 dir3 /tmp
$ ls /tmp
dir1 dir2 dir3


Menyalin / copy file

Gunakan perintah mv, asal file, tujuan directory, akronim dari move:

$ mv inifile /tmp
$ ls /tmp
inifile

Banyak file:

$ mv file1 file2 file3 /tmp
$ ls /tmp
file1 file2 file3


Menganti nama / rename file dan directory

Gunakan perintah mv, perintah ini juga digunakan untuk mengganti nama / rename:

$ touch fileku
$ ls
fileku

$ mv fileku filemu
$ ls
filemu
$ mkdir dirku
$ ls
dirku

$ mv dirku dirmu
$ ls
dirmu


Mengidentifikasi suatu file

Gunakan perintah file, diikuti lokasi file:

$ file Documents/print.pdf
Documents/print.pdf: PDF document, version 1.4

$ file Documents/video.mp4
Documents/video.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]

$ file music.mp3
music.mp3: Audio file with ID3 version 2.2.0, contains:MPEG ADTS, layer III, v1, 320 kbps, 44.1 kHz, Stereo

$ file catatan.txt
catatan: ASCII text


Membaca text file

Dengan perintah cat, diikuti lokasi file:

$ cat lokasi/file.txt
satu
dua
tiga
empat
lima

Membaca dari atas.
Dengan perintah head, diikuti option -n, lalu jumlah baris, lalu lokasi file:

$ head -n 3 file.txt
satu
dua
tiga

Membaca dari bawah.
Dengan perintah tail, diikuti option -n, lalu jumlah baris, lalu lokasi file:

$ tail -n 3 file.txt
tiga
empat
lima

Dengan perintah less, untuk membaca file yang panjang:

$ less file.txt

Keluar dari less, tekan q.
Navigasi less dengan h-j-k-l, “/” untuk pencarian, less menggunakan vi binding.


Mencari file / directory

Gunakah perintah find, diikuti lokasi, lalu option -name, lalu nama file / directory yang ingin dicari:

$ pwd
/home/selene

$ find . -name '*deo*'
./Documents/video.mp4

$ find . -name 'catatan.txt'
catatan.txt


Mencari file yang berisi / mengandung suatu kata secara rekursif

Gunakan perintah grep, diikuti option -Ril, lalu isi suatu string, lalu lokasi:

$ pwd
/home/selene

$ grep -Ril 'satu' .
./file.txt


File archive .tar

Mengextract file archive .tar:

$ tar xf file.tar

Mengextract file archive .tar.gz:

$ tar xzf file.tar.gz

Membuat file .tar:

$ tar cf namafile.tar *

$ ls
namafile.tar

* = semua file & directory, di shell saat ini berada.

$ tar cf namafile.tar dirtujuan/

$ ls
namafile.tar
$ tar cf namafile.tar dir1/ dir2/ dir3/

$ ls
namafile.tar

Membuat file .tar.gz:

$ tar czf namafile.tar.gz *

$ ls
namafile.tar.gz

* = semua file & directory, di shell saat ini berada.

$ tar czf namafile.tar.gz dirtujuan/

$ ls
namafile.tar.gz
$ tar czf namafile.tar.gz dir1/ dir2/ dir3/

$ ls
namafile.tar.gz


File archive .zip

Mengextract file archive .zip:

$ unzip file.zip

Membuat file archive .zip:

$ zip -r namafile.zip *

* = semua file & directory, di shell saat ini berada.

$ zip -r namafile.zip dirtujuan/

$ ls
namafile.zip
$ zip -r namafile.zip dir1/ dir2/ dir3/

$ ls
namafile.zip


Melihat username user saat ini

Gunakan perintah whoami:

$ whoami
selene


Mengganti password user saat ini

Gunakan perintah passwd:

$ passwd


ID user dan group saat ini

Gunakan perintah id:

$ id
uid=1004(selene) gid=1008(selene) groups=1008(selene),6(disk),7(lp),10(wheel),19(log),90(network),91(video),92(audio),93(optical),95(storage),96(scanner),97(input),98(power),100(users),991(beep),1002(udev),1004(fuse)

fyi, uid=0 adalah user root.


Nama hostname perangkat

Gunakan perintah hostname:

$ hostname
gaia


Info IP address di interface perangkat

Gunakan perintah ip addr:

$ ip addr

Jika terinstal net-tools, maka bisa menggunakan perintah ifconfig:

$ ifconfig
$ ifconfig ens5

ens5 adalah contoh interface network perangkat.


Set IP dengan net-tools

Saya asumsikan ada net-tools terinstal, jadi tinggal pakai perintah ifconfig.
Gunakan perintah ifconfig diikuti interface perangkat, IP address, lalu netmask, lalu netmask yang diinginkan, lalu up:

Dengan akun super user / root:

# ifconfig ens5 192.168.13.1 netmask 255.255.255.248 up

Dengan sudo:

$ sudo ifconfig ens5 192.168.13.1 netmask 255.255.255.248 up

Contoh untuk interface ethernet saya ens5.
Mematikan interface:

Dengan akun super user / root:

# ifconfig ens5 down

Dengan sudo:

$ sudo ifconfig ens5 down


Info kernel perangkat

Gunakan perintah uname:

$ uname
uname

$ uname -ar
Linux gaia 5.8.10-zen1-1-zen #1 ZEN SMP PREEMPT Thu, 17 Sep 2020 21:47:26 +0000 x86_64 GNU/Linux


Info distro gnu/linux

Gunakan perintah berikut:

$ cat /etc/issue
$ cat /etc/*-release
$ cat /proc/*version
$ lsb_release -a


Melihat daftar partisi storage perangkat

Gunakan perintah fdisk, lalu diikuti option -l:

$ fdisk -l


Melihat kapasitas storage perangkat

Gunakan perintah df:

$ df

Secara human readable, byte ke satuan KB MB GB:

$ df -h


Melihat penggunakan storage suatu directory

Gunakan perintah du:

$ du Documents
534148	Documents

$ du -h Documents
522M	Documents

Untuk interaktifnya, teman-teman bisa menginstal ncdu, ncdu menggunakan vi binding.


Melihat riwayat / history command yang telah digunakan

Gunakan perintah history:

$ history


Tanggal saat ini

Gunakan perintah date:

$ date
Min 27 Des 2020 09:17:22  WIB
$ date +'%d/%m/%y'
27/12/20

Selengkapnya “$ man date”


Perintah man

Perintah ini digunakan untuk melihat manual / petunjuk penggunaan suatu command.
man biasanya sudah terinstal secara default di banyak distro.

Contoh penggunaan:

$ man ls

$ man cp

$ man mv

$ man mkdir

man juga menggunakan vi binding.
Keluar man tekan “q”.


Lebih lanjut, perintah echo

Perintah ini digunakan untuk menuliskan sesuatu.

Contoh:

$ echo 'saya ganteng'
saya ganteng

$ echo 'saya ganteng\nbanget'
saya ganteng
banget

Menuliskan ke suatu file, gunakan simbol lebih besar dari (>), diikuti lokasi file:

$ echo 'saya ganteng' > saya.txt

$ cat saya.txt
saya ganteng

Replace isi suatu file, gunakan 2 simbol lebih besar dari (»), diikuti lokasi file:

$ echo 'kamu rupawan' >> saya.txt

$ cat saya.txt
kamu rupawan


Lebih lanjut, piping

Piping ini istilahnya mirip dengan “passing” atau meng-oper-kan output suatu command ke command lain.
Piping ini menggunakan simbol | (pipe).

Contoh piping dari command ls untuk mencari suatu file dengan command grep:

$ touch {sayaganteng, kamuganteng, kitaganteng}

$ ls -hal | grep '*ganteng*'
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 kamuganteng
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 kitaganteng
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 sayaganteng

$ ls -hal | grep '*saya*'
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 sayaganteng

Membaca output panjang dengan command less:

$ ls -hal | less

$ cat /etc/hosts | less

$ fdisk -l | less

$ ps aux | less

Contoh chaining:

$ ls -hal | grep '*ganteng*' | less
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 kamuganteng
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 kitaganteng
-rwxr-xr-x  4 selene selene 4,0K Des 28 09:25 sayaganteng

Contoh membuat hash dengan md5:

$ echo -n "kitasemuaganteng" | md5sum | cut -c -32
380f6aa4370afe22a6287c2c6f3c6acd


Lebih lanjut, chaining dengan &&

Chaining dari kata dasar chain yang berarti rantai, dengan chaining kita bisa melalukan banyak command bersamaan (berantai).

&& digunakan untuk kondisi “jika command sebelumnya berhasil dijalankan & sukses, maka command selanjutnya akan dijalankan”.

Contoh penggunaan:

$ mkdir suatudir && ls | grep dir
suatudir

$ inicommandsalah suatudir && ls | grep dir
command not found: inicommandsalah


Lebih lanjut, chaining dengan ;

Mirip dengan &&, tapi
; digunakan untuk kondisi “jika command sebelumnya sukses atau tidak sukses dijalankan, maka command selanjutnya akan tetap dijalankan”.

Contoh penggunaan:

$ inicommandsalah suatudir; ls
zsh: command not found: inicommandsalah
Desktop  Documents  Downloads  Pictures
Dev	 dots	    Music


Lebih lanjut, kill process

Gunakan perintah pgrep, untuk mencari process ID (PID) suatu program.

Misal, saya ingin mencari process ID program mupdf:

$ pgrep mupdf
8721

Atau saya bisa mencari dengan perintah ps aux, kolom kedua adalah process ID (PID):

$ ps aux | grep mupdf
selene   8721   1.2  0.4  53948 15912 pts/9    S+   10:52   0:00 mupdf Documents/print.pdf
selene   29112  0.0  0.0   7364  2328 pts/7    S+   10:52   0:00 grep mupdf

$ ps aux | less

8721, adalah process ID program tersebut yang sedang berjalan.
Selanjutnya saya kill process / menghentikan paksa dengan:

$ kill -9 8721

Selengkapnya tentang command kill, cek “$ man kill”.


Eskalasi hak akses super user / root

Eskalasi hak akses super user digunakan untuk melakukan suatu command yang membutuhkan hak akses super user, karena hak akses super user adalah yang tertinggi, super user juga bisa melalukan modifikasi pada system.

Login dengan akun super user, gunakan perintah su, tekan enter, lalu masukan password akun super user:

$ whoami
selene
$ su
Password:
# whoami
root
# id
uid=0(root) gid=0(root) groups=0(root)

Passing command dengan su:

$ su -c 'ls'
Desktop  Documents  Downloads  Pictures
Dev	 dots	    Music

Dengan tools sudo, sudo biasanya sudah ada di distro sebagai tools default untuk eskalasi hak akses super user, akronim dari superuser do.
Gunakan command sudo, diikuti suatu command yang ingin dijalankan, enter, lalu masukkan password user yang sekarang:

$ whoami
selene
$ sudo su
[sudo] password for selene:
# whoami
root
# id
uid=0(root) gid=0(root) groups=0(root)
$ sudo 'ls'
[sudo] password for selene:
Desktop  Documents  Downloads  Pictures
Dev	 dots	    Music

Dengan tools doas, doas ini mirip dengan sudo:

$ doas 'ls'
doas (selene@gaia) password:
Desktop  Documents  Downloads  Pictures
Dev	 dots	    Music


Tips dengan aliases

Teman-teman bisa menggunakan alias untuk menyingkat suatu command / perintah.

Contoh:

$ alias cls='clear'
$ cls
$ alias ll='ls -hal'
$ ll

Teman-teman bisa menyimpankan ke file konfigurasi alias, seperti ~/.aliases atau ~/.bash_aliases, sehingga bisa persisten.


Penutup

Demikian perintah / command dasar gnu/linux, semoga isi post ini bisa bermanfaat buat teman-teman semua.


arrow_drop_up ke atas arrow_drop_up