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:
$ clearMengetahui lokasi directory saat ini
Gunakan perintah pwd, akronim dari print working directory:
$ pwd
/home/selene
$ cd Documents
$ pwd
/home/selene/DocumentsPindah 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/selenePindah directory sebelumnya, gunakan - (strip / minus):
$ pwd
/home/selene
$ cd /tmp
$ pwd
/tmp
$ cd -
$ pwd
/home/seleneNaik 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/seleneMengetahui isi directory
Gunakan perintah ls, akronim dari List:
$ ls
Desktop Documents Downloads Pictures
Dev dots MusicMenampilkan hidden file / file tersembunyi:
$ ls -a
Desktop Documents Downloads Pictures
Dev dots Music
.file_tersembunyiMenampilkan 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_tersembunyiMenampilkan 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 PicturesMenampilkan 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_tersembunyiSort 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_tersembunyiSelengkapnya 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 MusicBatch:
$ mkdir {dirsatu,dirdua,dirtiga}Mengandung spasi, pakai tanda petik (quote) atau escape character:
$ mkdir 'ini dir'
$ mkdir "ini dir"
$ mkdir ini\ dirMembuat file
Gunakan perintah touch.
Ganti inifile, dengan nama file keinginan, kurang lebih sama dengan membuat directory:
$ touch inifileBatch:
$ touch {filesatu,filedua,filetiga}Mengandung spasi, pakai tanda petik (quote) atau escape character:
$ touch 'ini file'
$ touch "ini file"
$ touch ini\ fileMenghapus directory
Gunakan perintah rmdir, akronim dari remove directory.
Jika directory tidak berisi file / directory:
$ rmdir namadirJika directory berisi file / directory lain didalamnya:
$ rm -rf namadir$ rm -rf dir1 dir2 dir3Menghapus file
Gunakan perintah rm, akronim dari remove:
$ rm namafile$ rm file1 file2 fil3Menyalin / 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
namadirBanyak directory:
$ mv -r dir1 dir2 dir3 /tmp
$ ls /tmp
dir1 dir2 dir3Menyalin / copy file
Gunakan perintah mv, asal file, tujuan directory, akronim dari move:
$ mv inifile /tmp
$ ls /tmp
inifileBanyak file:
$ mv file1 file2 file3 /tmp
$ ls /tmp
file1 file2 file3Menganti 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
dirmuMengidentifikasi 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 textMembaca text file
Dengan perintah cat, diikuti lokasi file:
$ cat lokasi/file.txt
satu
dua
tiga
empat
limaMembaca dari atas.
Dengan perintah head, diikuti option -n, lalu jumlah baris, lalu lokasi file:
$ head -n 3 file.txt
satu
dua
tigaMembaca dari bawah.
Dengan perintah tail, diikuti option -n, lalu jumlah baris, lalu lokasi file:
$ tail -n 3 file.txt
tiga
empat
limaDengan perintah less, untuk membaca file yang panjang:
$ less file.txtKeluar 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.txtMencari 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.txtFile archive .tar
Mengextract file archive .tar:
$ tar xf file.tarMengextract file archive .tar.gz:
$ tar xzf file.tar.gzMembuat 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.tarMembuat 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.gzFile archive .zip
Mengextract file archive .zip:
$ unzip file.zipMembuat 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.zipMelihat username user saat ini
Gunakan perintah whoami:
$ whoami
seleneMengganti password user saat ini
Gunakan perintah passwd:
$ passwdID 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
gaiaInfo IP address di interface perangkat
Gunakan perintah ip addr:
$ ip addrJika terinstal net-tools, maka bisa menggunakan perintah ifconfig:
$ ifconfig$ ifconfig ens5ens5 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 upDengan sudo:
$ sudo ifconfig ens5 192.168.13.1 netmask 255.255.255.248 upContoh untuk interface ethernet saya ens5.
Mematikan interface:
Dengan akun super user / root:
# ifconfig ens5 downDengan sudo:
$ sudo ifconfig ens5 downInfo 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/LinuxInfo distro gnu/linux
Gunakan perintah berikut:
$ cat /etc/issue$ cat /etc/*-release$ cat /proc/*version$ lsb_release -aMelihat daftar partisi storage perangkat
Gunakan perintah fdisk, lalu diikuti option -l:
$ fdisk -lMelihat kapasitas storage perangkat
Gunakan perintah df:
$ dfSecara human readable, byte ke satuan KB MB GB:
$ df -hMelihat penggunakan storage suatu directory
Gunakan perintah du:
$ du Documents
534148 Documents
$ du -h Documents
522M DocumentsUntuk interaktifnya, teman-teman bisa menginstal ncdu, ncdu menggunakan vi binding.
Melihat riwayat / history command yang telah digunakan
Gunakan perintah history:
$ historyTanggal saat ini
Gunakan perintah date:
$ date
Min 27 Des 2020 09:17:22 WIB$ date +'%d/%m/%y'
27/12/20Selengkapnya “$ 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 mkdirman 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
bangetMenuliskan ke suatu file, gunakan simbol lebih besar dari (>), diikuti lokasi file:
$ echo 'saya ganteng' > saya.txt
$ cat saya.txt
saya gantengReplace isi suatu file, gunakan 2 simbol lebih besar dari (»), diikuti lokasi file:
$ echo 'kamu rupawan' >> saya.txt
$ cat saya.txt
kamu rupawanLebih 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 sayagantengMembaca output panjang dengan command less:
$ ls -hal | less
$ cat /etc/hosts | less
$ fdisk -l | less
$ ps aux | lessContoh 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 sayagantengContoh membuat hash dengan md5:
$ echo -n "kitasemuaganteng" | md5sum | cut -c -32
380f6aa4370afe22a6287c2c6f3c6acdLebih 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: inicommandsalahLebih 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 MusicLebih lanjut, kill process
Gunakan perintah pgrep, untuk mencari process ID (PID) suatu program.
Misal, saya ingin mencari process ID program mupdf:
$ pgrep mupdf
8721Atau 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 | less8721, adalah process ID program tersebut yang sedang berjalan.
Selanjutnya saya kill process / menghentikan paksa dengan:
$ kill -9 8721Selengkapnya 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 MusicDengan 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 MusicDengan tools doas, doas ini mirip dengan sudo:
$ doas 'ls'
doas (selene@gaia) password:
Desktop Documents Downloads Pictures
Dev dots MusicTips dengan aliases
Teman-teman bisa menggunakan alias untuk menyingkat suatu command / perintah.
Contoh:
$ alias cls='clear'
$ cls$ alias ll='ls -hal'
$ llTeman-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.