Inilah Perintah Linux Paling Penting Yang Tidak Pernah Diajarkan Siapapun Kepada Anda
Apa Anda seorang Sysadmin, Developer, DevOps, Security, atau Ops… memakai Linux secara efektif dan perlengkapannya adalah ketrampilan paling fundamental yang bisa Anda dalami. Linux adalah tulang punggung dari mayoritas server dan program di penjuru dunia.
"47% pengembang professional memakai mekanisme operasi berbasiskan Linux."
- Statista
Dalam beberapa bulan akhir, saya sudah membaca beberapa artikel seperti '20 Linux Commands you must know' atau 'Linux survival guide'. Permasalahan yang saya dapatkan dengan nyaris semuanya adalah jika mereka ditarget pada pemula, mengajari pemakaian ls atau echo. Saya yakin mayoritas audiens saya telah akrab dengan minimal perintah dasar yang dijajakan baris Perintah Linux. Artikel ini tidak semacam itu.
Saya akan mendokumenkan dan menyuguhkan contekan perintah yang saya pakai tiap hari dalam tugas saya. Daftar yang dikurasi ini lebih dari sekedar pemula dan fokus pada perintah yang hendak menolong Anda menggerakkan lebih jauh, menjadi lebih efektif, dan mengurus Mekanisme Linux dan piranti vitalnya.
Ini akan dipisah jadi dua sisi:
- Alat Linux — Alat Linux yang perlu dan langkah terbaik untuk memakainya.
- Perintah AdHoc — Perintah AdHoc dapat benar-benar bermanfaat pada kondisi darurat.
Alat Linux
Keperluan
rsync
Dipakai untuk mengopi file dan direktori ke arah, serupa dengan perintah cp. Tetapi, ini memungkinkannya penulisan ke lokasi jauh dan bisa sediakan bilah perkembangan, sama seperti yang kerap dipakai untuk pencadangan
# Example Usage
$ rsync -vap --ignore-existing <source_file> <destination_file># Key flags:
v = verbrose, r = recursive, p = preserve permissions, g = group, o = owner, a = archive, --progress = progresss bar
mkpasswd
mkpasswd
adalah perintah yang simpel tetapi benar-benar bermanfaat, ini hasilkan password random yang sulit dengan panjang yang ditetapkan.
$ mkpasswd -l 8
> iwF1g2Lo
monitor
Monitor ialah pengelola jendela monitor penuh; itu membuat satu jendela dengan shell jalan dan memungkinkannya beberapa jendela monitor berjalan di satu sesion. Ini paling berguna saat Anda melakukan pekerjaan panjang dari jauh dan cemas sesion SSH Anda akan turun dan menghancurkan segala hal. Monitor akan bersambung lewat pemutusan dan terus jalankan perintah Anda bahkan juga saat jendela tidak kelihatan oleh Anda.
# Example Usage
$ screen # Start a screen session
$ screen -ls # List running services
$ screen -r # Attach to session
Ldapsearch
Bila Anda dengan teratur bekerja dengan database LDAP, karena itu Ldapsearch adalah satu kewajiban. Alat ini buka jaringan ke server LDAP dan memungkinkannya Anda cari, mendapati, dan men-debug entri di database Anda.
# Example Usage
$ ldapsearch -x -W -D <username | less# Key Flags
-x = simple authentication, -W = prompt for password, -D = Use distinguished binddn name to bind to LDAP directory
Alat Pemantau
Waktu aktif
Uptime tampilkan metrik mengenai berapakah lama server sudah jalan, waktu sekarang ini, jumlah pemakai, dan rerata pemakaian memori. Bila ada yang tidak kelar di server Anda, ini kerap kali jadi tempat panggilan pertama.
w’ — yes, one letter. This is a fantastic combination of uptime and who commands run one after another.
Wall
adalah perintah ringkas untuk tiap administrator mekanisme; itu memungkinkannya Anda mengirimi pesan ke terminal semuanya orang yang sekarang ini masuk ke mekanisme. Ini dapat benar-benar bermanfaat untuk informasi di semua mekanisme.
$ wall "Maintenance scheduled for 13:30"Broadcast message from Joel@localhost: Maintenance scheduled for 13:30
Top
Tampilkan daftar proses penyegaran automatis untuk CPU dan pemakaian memory krisis dan metrik pemakaian CPU.
$ top
Ncdu
Perintah ncdu memberi penampilan yang cepat dan nyaman untuk pemakaian disk. Anda bisa memakainya untuk melihat directory mana yang terbanyak memakai ruangan disk dengan mudah dan cepat.
$ ncdu
lsof
lsof adalah satu perintah yang dipakai untuk satu arah fundamental: Daftar Membuka File. Ini benar-benar bermanfaat saat alami permasalahan penempatan yang menjelaskan jika file sedang dipakai. Perintah ini secara cepat mengenali file mana yang dipakai oleh proses mana.
$ lsof
Alat jaringan
Netcat
Netcat atau nc khususnya dipakai untuk penyekenan port tapi sebetulnya sebagai alat jaringan utilitas yang baik untuk dipunyai oleh administrator mekanisme di kantong belakang mereka untuk pekerjaan apa saja. Netcat bisa memberikan dukungan penyekenan port, penulisan file, penerusan porta, server proxy, dan server hosting … aman untuk disebutkan, ini benar-benar serbaguna.
# Example Usage:
$ nc -vz <host> <port> # Checks the connection between two hosts on a given port
$ nc -l 8080 | nc <host> 80 # Creating a proxy server
NetStat
Netstat mengembalikan berbagai detail jaringan seperti tabel perutean, koneksi jaringan, keanggotaan, statistik, bendera, dll.
# Example Usage
$ netstat -a # List all network ports
$ netstat -tlpn # List all listening ports# Key Flags
-s = Show statistics, -v = verbrose, -r = show routing tables, -i display interface table, -g = show group memeberships
Nslookup
Dipakai untuk memperoleh info tentang server di internet atau jaringan lokal Anda. Ini minta DNS untuk mendapati info server nama dan bisa bermanfaat untuk debugging jaringan.
# Example Usage
$ nslookup medium.com/tags/devops# Key Flags
-port = Change port number for connection, -type = Change type of query. -domain = Sets search list to name
TCPDump
Digunakan untuk menangkap dan menganalisis lalu lintas yang datang ke dan dari sistem Anda. Ini adalah alat yang ampuh dan serbaguna yang berspesialisasi dalam debugging dan pemecahan masalah jaringan tetapi juga dapat digunakan sebagai alat keamanan.
# Example Usage
$ tcpdump
$ tcpdump -i <interface> <ipaddress or hostname> <port>
Perintah Ad-Hoc
Respons API pencetakan cantik
Membaca data JSON dari terminal bisa sangat membuat frustrasi saat bekerja dengan API. Seperti yang Anda lihat di bawah, bahkan kumpulan data kecil dengan cepat menjadi berantakan saat ditampilkan ke baris perintah sehingga sangat sulit untuk dibaca.
$ cat test.json
{"title":"Person","type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"age":{"description":"Age in years","type":"integer","minimum":0}},"required":["firstName","lastName"]}
Untungnya Python punyai jawaban. Dengan menyalurkan keluaran Anda ke python, kami bisa jalankan modul alat JSON. Ini akan cukup mencetak dokumen JSON yang lebih gampang dibaca serta lebih nikmat dilihat.
$ cat test.json | python -m json.tool
{
"properties": {
"age": {
"description": "Age in years",
"minimum": 0,
"type": "integer"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
},
"required": [
"firstName",
"lastName"
],
"title": "Person",
"type": "object"
}
Juga layak merujuk JQ, yang merupakan antarmuka JSON baris perintah
$ jq . file.json
Mencari melalui apt untuk paket yang tersedia
$ apt-cache seach <keyword>
Diff Output dari dua perintah
# Example usage of comparing output of two ls commands$ diff -u <(ls -l /directory/) <(ls -l /directory/) | colordiff
Ubah stempel waktu Unix menjadi format yang dapat dibaca manusia
# Convert Unix timestamp to human readable
$ date -d 1656685875
Fri, 01 Jul 2022 14:31:15 +0000# Current time as UNIX timestamp
$ date "+%s"
Squashing Git berkomitmen
$ git log # See how many commits you've made
$ git rebase -i HEAD~x # x = number of commits you've made# Make changes on the text editor, keeping the last commit as pick and changing the rest to sqash# Edit the commit messages as you'd like, preferbly removing ones from previous commits$ git push --force-with-lease
Daftar semua layanan Systemd
$ systemctl -l -t service | less
Saya berharap Anda sudah pelajari suatu hal dari daftar ini; menguasai Linux dapat benar-benar bermanfaat karena reputasinya di server, jadi saya akan tinggalkan Anda dengan statistik yang mengejutkan berikut ini.
96,3% dari satu juta server web teratas menjalankan Linux. - ZDNet
Saya secara teratur memposting artikel di artikel DevOps secara terbatas di Media — Bila Anda ingin membaca selanjutnya, saya anjurkan untuk menyaksikan cerita berikut ini.
Bila Anda nikmati artikel ini, pikirkan untuk memberikan dukungan saya dan beberapa ribu penulis lain dengan mendaftarkan keanggotaan dan peroleh akses tidak terbatas ke konten dari penulis luar biasa Media. Keanggotaan Anda langsung memberikan dukungan saya langsung dengan beberapa dari ongkos Anda dan tidak memberatkan Anda semakin banyak