Sistem operasi Linux menawarkan perintah dan utilitas sysadmin yang tak terhitung jumlahnya, yang membantu pengguna, pengembang, dan insinyur dengan tugas administrasi sistem. Misalnya, perintah dan paket sysadmin dapat membantu pengguna mengoptimalkan atau mengelola aplikasi dan memberikan informasi pemecahan masalah yang berharga kepada admin jaringan atau sysadmin.
Perintah ini berlaku untuk lingkungan pengembangan Linux, VM, container, dan bare metal.
Perintah Linux teratas untuk sysadmin
Artikel ini mengulas beberapa perintah sysadmin dasar yang sering digunakan untuk administrasi sistem Linux dengan beberapa contoh praktis.
1. Keriting
Curl adalah alat baris perintah untuk mentransfer data dari atau ke server. Ini mendukung protokol seperti FTP, FTPS, HTTP, HTTPS, IMAP, POP3, POP3S, RTMP, SMBS, SMTP, SMTPS, TELNET, dll. Anda dapat menggunakannya untuk menguji konektivitas atau titik akhir ke layanan lain seperti database.
Memecahkan masalah kesalahan HTTP 500:
$ curl -I -s my_app:5000
Sertakan opsi -I untuk menampilkan informasi header dan opsi -s untuk membungkam isi respons.
Periksa titik akhir basis data dari localhost Anda:
$ curl -I -s my_database:27017 HTTP/1.0 200 OK
200 menunjukkan bahwa koneksi Anda tampaknya baik-baik saja.
$ curl my_database:27017 curl: (6) Couldn't resolve host 'database'
Error tersebut menunjukkan bahwa aplikasi Anda tidak dapat menyelesaikan database karena URL database tidak tersedia atau sistem host, penampung, atau VM tidak memiliki server nama untuk menyelesaikan nama host.
2. ls
Ls mencantumkan file dalam direktori, atau ini dapat membantu Anda memeriksa izinnya. Anda juga dapat menggunakannya dalam infrastruktur container untuk menentukan direktori dan file gambar container Anda. Jika Anda tidak dapat menjalankan aplikasi Anda karena masalah izin, periksa izin menggunakan ls -l, lalu berikan izin file yang sesuai menggunakan chmod. Anda juga dapat menggabungkannya dengan flag seperti ls -a untuk membuat daftar semua file atau ls -R untuk membuat daftar file dan direktori secara rekursif.
[tuts@fosslinux dist]$ ls -l -rwxr-xr-x. 1 tuts tuts 7292656 Jun 17 12:54 hello
[tuts@fosslinux hello]$ ls -R

3. chmod
Gunakan perintah chmod untuk mengatur izin ke biner aplikasi atau file. Pertama, gunakan perintah ls untuk memeriksa izin file Anda, lalu berikan izin yang sesuai.
Periksa izin file dengan ls -l:
[tuts@fosslinux ~]$ ls -l -rw-rw-r--. 1 tuts tuts 6 Jun 24 18:05 dingdong.py
Keluarkan izin eksekusi ke file dingdong.py agar pengguna dapat menjalankannya.
[tuts@fosslinux ~]$ chmod +x dingdong.py [tuts@fosslinux ~] ls -l -rwxrwxr-x. 1 tuts tuts 6 Jun 24 18:05 dingdong.py
4. ekor
Tail menampilkan isi terakhir dari sebuah file. Akan sangat membantu jika Anda ingin memeriksa log permintaan terbaru. Misalnya, Anda memasukkan log terbaru ke server Anda.
$ sudo tail -f /var/log/httpd/error_log
Opsi -f menampilkan baris log saat ditulis ke file. Ini memiliki skrip latar belakang yang mengakses titik akhir setiap beberapa detik, dan log mencatat permintaan. Anda juga dapat mengekor sejumlah baris file tertentu dengan opsi -n.
$ sudo tail -n 3 /var/log/httpd/error_log
5. grep
Anda dapat menggunakan grep untuk mencari file untuk mencari pola tertentu dan menyorot baris yang relevan dalam output dari perintah Linux lainnya. Misalnya, untuk mencari baris “CRITICAL” di /var/log/dnf.log:
[tuts@fosslinux ~]$ grep CRITICAL Error /var/log/dnf.log

Gunakan * untuk mencari di semua file dalam direktori dan tanda -r (rekursif) untuk menyertakan pencarian di subdirektori.
cd /var/log/ $ grep -r CRITICAL Error *
Anda juga dapat mengisolasi output ke perintah grep dengan menyalurkan hasilnya:
$ cat dnf.log | grep CRITICAL Error
6. ps
Perintah ps digunakan untuk menyelidiki ID proses dan menunjukkan status proses yang sedang berjalan. Anda dapat menggunakan perintah ini untuk menentukan semua aplikasi yang sedang berjalan.
[tuts@fosslinux log]$ ps -ef

Anda juga dapat menggabungkannya dengan perintah pipa dan grep
[tuts@fosslinux log]$ ps -ef | grep httpd

Gunakan flag -u untuk melihat semua proses yang dimiliki oleh nama pengguna:
[tuts@fosslinux log]$ ps -u username
Gunakan flag aux untuk melihat semua proses dengan informasi terperinci seperti PID, persentase waktu CPU yang digunakan proses (%CPU), persentase RAM (%MEM), memori virtual yang digunakan (VSZ), memori fisik (RSS), dan seterusnya.
7. atas
Perintah atas menampilkan daftar proses sistem yang terus diperbarui dalam urutan aktivitas proses. Anda dapat menggunakannya untuk menentukan proses mana yang sedang berjalan dan berapa banyak memori dan CPU yang digunakan.

Informasi tampilan terdiri dari ringkasan sistem dan tabel proses yang diurutkan berdasarkan aktivitas CPU. Beberapa informasi termasuk uptime sistem, rata-rata beban, pemilik proses (USER), persentase waktu CPU yang digunakan proses (%CPU), persentase proses RAM yang digunakan (%MEM), total waktu CPU yang digunakan oleh proses (TIME[+] ]), dan seterusnya.
Anda juga dapat mengeluarkan beberapa perintah saat perintah teratas sedang berjalan. Misalnya, tekan h atau ? untuk melihat perintah mana yang dapat Anda keluarkan, k untuk menghentikan proses, z untuk warna global, atau q untuk keluar dari atas.
8. env
Perintah env digunakan untuk mengatur atau menampilkan variabel lingkungan Anda. Gunakan env untuk memeriksa apakah lingkungan yang salah menghalangi eksekusi aplikasi Anda.
$ env PYTHON_PIP_VERSION=20.2.2 HOME=/root DB_NAME=my_database PATH=/usr/local/bin:/usr/local/sbin LANG=C.UTF-8 PYTHON_VERSION=3.9.5
9. netstat
netstat menunjukkan status jaringan sistem atau infrastruktur Anda. Anda dapat menggunakannya untuk menampilkan port jaringan dan koneksi masuk. Anda dapat menggabungkannya dengan opsi lain seperti protokol, port, atau proses untuk mendemonstrasikan port saat ini yang digunakan aplikasi sistem Anda.
# netstat -tulpn
10. ip/ifconfig
Perintah ip menggantikan ifconfig di beberapa distro Linux dan dapat mengkonfigurasi atau menampilkan antarmuka jaringan dan memodifikasi alamat IP, objek tetangga, dan rute. Anda juga dapat menggunakannya untuk memverifikasi alamat IP host atau container Anda.
Gunakan 'ip a' (alamat) untuk menampilkan informasi tentang semua antarmuka jaringan:
[tuts@fosslinux]$ ip a
Gunakan perintah 'ip link set device_name' untuk menaikkan atau menurunkan antarmuka:
[tuts@fosslinux]$ ip link set eth0 up #bring up [tuts@fosslinux]$ ip link set eth0 down #bring down
11. df
Gunakan perintah df (display free disk space) untuk memverifikasi ukuran sistem file dan memecahkan masalah ruang disk. Ini berguna dalam skenario ketika Anda menerima pesan kesalahan yang menandakan kurangnya ruang kosong di sistem Anda pada host kontainer.
[tuts@fosslinux ~]$ df -h

Bendera -h menampilkan informasi dalam format yang dapat dibaca manusia (mis., MB dan GB). Secara default, perintah df menampilkan hasil untuk setiap pengguna di bawah direktori root. Namun, Anda dapat membatasi tampilan ke direktori tertentu (mis., df -h/tmp)
Gunakan tanda -x untuk mengabaikan sistem file apa pun:
[tuts@fosslinux ]$ df -h -x tmpfs
Gunakan flag -t untuk mendaftar tipe sistem file tertentu saja. Misalnya, sistem file btrfs hanya lihat:
[tuts@fosslinux ]$ df -h -t btrfs
Gunakan bendera –total untuk menunjukkan total keseluruhan:
[tuts@fosslinux ]$ df -h -t btrfs --total

12. du
Gunakan perintah du untuk menampilkan informasi rinci tentang file mana yang menggunakan ruang disk dalam direktori. Saya merasa terbantu dalam menentukan log mana yang paling banyak memakan ruang. Misalnya, jalankan perintah du dengan flag -h (dapat dibaca manusia) dan -s (ringkasan):
[tuts@fosslinux ~]$ sudo du -h /var/log

[tuts@fosslinux ~]$ sudo du -hs /var/log 1.5G /var/log
13. gali/ nslookup
dig adalah alat baris perintah yang bagus untuk melakukan kueri DNS. Ini digunakan dalam format berikut:
dig <DNS server> <domain> <query-type>
Untuk melihat catatan A untuk bing.com:
[tuts@fosslinux ~]$ dig bing.com +short 13.107.21.200 204.79.197.200
Untuk melihat data MX dari bing.com:
[tuts@fosslinux ~]$ dig bing.com MX +short 10 bing-com.mail.protection.outlook.com.
14. firewall-cmd
Firewall-cmd adalah front-end yang mudah digunakan untuk nftables dan dikirimkan dengan banyak distro. Ini memungkinkan pengguna untuk mengatur aturan untuk mengatur lalu lintas jaringan keluar dan masuk ke komputer Anda. Aturan ini dapat dikelompokkan ke dalam zona yang menentukan tingkat kepercayaan keamanan jaringan dari antarmuka jaringan, layanan, atau koneksi. Ia bekerja dengan IPv4, IPv6, set IP, dan jembatan ethernet dan menampilkan sintaks perintah yang mudah dan intuitif.
Untuk melihat zona firewalld saat ini:
[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones libvirt interfaces: virbr0
Tambahkan tanda –list-all untuk melihat apa yang diizinkan setiap zona:
[tuts@fosslinux ~]$ sudo firewall-cmd --zone libvirt --list-all

Untuk menambahkan layanan:
$ sudo firewall-cmd --add-service http --permanent $ sudo firewall-cmd –reload
Jika Anda memulai dengan keamanan jaringan, Anda dapat membaca panduan lengkap kami tentang mengelola keamanan jaringan dengan firewalld untuk lebih banyak contoh dan trik.
15. systemctl
systemd tersedia di sebagian besar distribusi Linux, membuat perintah systemctl tersedia untuk mengelola layanan dan unit systemd.
Untuk memulai layanan:
[tuts@fosslinux ~]$ sudo systemctl start httpd
Untuk menghentikan layanan:
[tuts@fosslinux ~]$ sudo systemctl stop httpd
Untuk memeriksa status layanan.
16. bunuh dan bunuh semua
Anda dapat menggunakan perintah kill dan killall untuk menghentikan proses runaway atau membebaskan beberapa sumber daya sistem. Anda dapat mengirim sinyal SIGTERM (-15) atau SIGKILL (-9) ke suatu proses untuk mematikan proses tersebut. SIGTERM (soft kill) memungkinkan proses sistem selesai sebelum dihentikan. SIGKILL segera menghentikan proses.
Gunakan kill dengan flag -l untuk menampilkan semua sinyal yang dapat Anda kirim ke suatu proses.
[tuts@fosslinux ~]$ kill -l
Untuk mematikan proses, tentukan ID prosesnya, lalu jalankan perintah kill.
[tuts@fosslinux ~]$ ps aux|grep httpd

Untuk mematikan proses httpd dengan ID proses 1525:
[tuts@fosslinux ~]$ sudo kill -9 1525
Gunakan killall untuk mematikan program dengan nama. Ini membunuh proses induk dan semua proses anak.
[tuts@fosslinux ~]$ sudo killall httpd
Catatan:Gunakan perintah kill dan killall dengan hati-hati karena dapat merusak atau membuat sistem Anda dalam keadaan tidak stabil.
17. sejarah
Perintah history menunjukkan riwayat semua perintah yang telah Anda gunakan dalam suatu sesi. Misalnya, Anda dapat menggunakannya untuk mencatat perintah yang telah Anda gunakan untuk memecahkan masalah aplikasi atau sistem Anda.
[tuts@fosslinux ~]$ history 790 sudo firewall-cmd --get-active-zones 791 sudo firewall-cmd --zone libvirt --list-all 792 history
Menggunakan ! dengan nomor perintah untuk menjalankannya kembali tanpa harus mengetik ulang.
[tuts@fosslinux ~]$ !790 sudo firewall-cmd --get-active-zones libvirt interfaces: virbr0
Menutup
Memahami beberapa perintah sysadmin dasar dapat membantu Anda memecahkan masalah aplikasi, memecahkan masalah, menjaga sistem tetap berjalan optimal, memastikan keamanan sistem, atau bahkan membantu Anda berkomunikasi secara efektif dengan sysadmin untuk menyelesaikan masalah di infrastruktur Anda.
Saya harap perintah ini berguna!