Belajar perintah dasar Linux
insert_invitation Tanggal: Senin, 28 Desember 2020. 09:14:28 WIB
perm_contact_calendar Penulis: selene
local_offer Tags: Linux
- Membersihkan layar terminal / wipe layar
- Mengetahui lokasi directory saat ini
- Pindah lokasi directory
- Mengetahui isi directory
- Membuat directory
- Membuat file
- Menghapus directory
- Menghapus file
- Menyalin / copy directory
- Menyalin / copy file
- Menganti nama / rename file dan directory
- Mengidentifikasi suatu file
- Membaca text file
- Mencari file / directory
- Mencari file yang berisi / mengandung suatu kata secara rekursif
- File archive .tar
- File archive .zip
- Melihat username user saat ini
- Mengganti password user saat ini
- ID user dan group saat ini
- Nama hostname perangkat
- Info IP address di interface perangkat
- Set IP dengan net-tools
- Info kernel perangkat
- Info distro gnu/linux
- Melihat daftar partisi storage perangkat
- Melihat kapasitas storage perangkat
- Melihat penggunakan storage suatu directory
- Melihat riwayat / history command yang telah digunakan
- Tanggal saat ini
- Perintah man
- Lebih lanjut, perintah echo
- Lebih lanjut, piping
- Lebih lanjut, chaining dengan &&
- Lebih lanjut, chaining dengan ;
- Lebih lanjut, kill process
- Eskalasi hak akses super user / root
- Tips dengan aliases
- Penutup
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.