GNU/Linux >> Belajar Linux >  >> Linux

17 perintah Linux yang harus diketahui setiap sysadmin

Beberapa bulan yang lalu, saya meminta komunitas kontributor Aktifkan Sysadmin untuk membantu saya membuat daftar perintah mereka yang paling penting. Setelah memproses hasilnya, 17 perintah muncul sebagai penting atau setidaknya sangat bermanfaat bagi pekerjaan sysadmin Linux. Jadi tanpa penundaan lebih lanjut, mari kita lompat ke ini.

Ingin mempelajari lebih lanjut tentang perintah jaringan? Baca bagian pertama dari daftar perintah crowd-source kami  ]

temukan —Perintah ini adalah bagian dari findutils dan memungkinkan untuk perintah pencarian khusus. Misalnya, jika Anda ingin menemukan direktori yang cocok dengan nama tertentu, Anda dapat menggunakan sesuatu seperti ini:

find path/ -type d -iname '*dir_name*'

Anda dapat menemukan informasi lebih lanjut tentang perintah tersebut di sini.

ls+xargs —Pasangan ini baru bagiku; namun, itu sangat menarik untuk dipelajari dan memiliki beberapa aplikasi yang berpotensi mengubah permainan. xargs memungkinkan Anda untuk menjalankan perintah tambahan terhadap output dari perintah yang diberikan. Contoh super mendasar dari hal ini dapat dilihat saat memasangkan dengan ls memerintah. Misalnya, jika Anda ingin cat semua file yang terdaftar oleh ls , Anda dapat menggunakan sesuatu seperti ini:

$ ls
1.file  2.file  3.file

$ ls | xargs cat
you are reading file 1
you are reading file 2 
you are reading file 3

Lihat pandangan mendalam tentang xargs dari HowtoGeek
awk/sed/(e)grep —Trio ini disebut lebih sering daripada perintah lainnya oleh komunitas kami. Sungguh membuka mata untuk melihat betapa pentingnya perintah ini bagi komunitas dan sysadmin secara keseluruhan. Mari kita fokus pada grep pertama.
grep —Grep luar biasa, tidak bohong. Jika Anda belum tahu tentang grep (dan jujur ​​​​saja, itu setidaknya mungkin, jika Anda baru mengenal baris perintah Linux), kenali itu. grep adalah alat yang memungkinkan Anda memfilter keluaran standar dari apa saja di baris perintah. Anda dapat grep untuk kata-kata yang ingin Anda temukan, atau balikkan itu untuk menunjukkan kepada Anda segala sesuatu yang TIDAK cocok dengan kata kunci Anda. Kami bahkan akan berbicara sedikit tentang alat yang sangat mirip yang memperluas grep sedikit. Berikut adalah beberapa contohnya.
Untuk menunjukkan kepada Anda semua baris dalam file tertentu yang menyertakan kata “error” misalnya, Anda akan melakukan sesuatu seperti ini:

$ cat file.txt
This line contains an error.
This line contains a case sensitive ERROR
And this one is just an Error.
Then we have a warning.
and a WARNING
and then of course Warning.

$ grep error file.txt
This line contains an error.
$

Itulah yang Anda sebut sebagai grep Inklusif . Anda juga dapat membalikkannya dengan menggunakan tanda pengecualian. Katakanlah Anda ingin melihat semua opsi konfigurasi di sshd config yang tidak dikomentari, Anda dapat melakukan ini:

# grep -v \# /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

… snip ...

Subsystem sftp /usr/libexec/openssh/sftp-server
#

Perlu dicatat bahwa grep peka huruf besar/kecil, seperti banyak hal di Bash. Jadi mencari "kesalahan" tidak akan menemukan "Kesalahan" atau "KESALAHAN". Anda dapat memberi tahu grep untuk memfilter dengan cara yang tidak peka huruf besar/kecil menggunakan -i bendera.

$ grep -i eRRor file.txt
This line contains an error.
This line contains a case sensitive ERROR
And this one is just an Error.

Ini akan cocok dengan error, ERROR, erRoR, atau apa pun, asalkan hurufnya sama.

Sekarang, saya bilang Anda bisa menggunakan grep untuk memfilter output dari perintah apa pun, kan? Anda melakukannya dengan pengalihan output menggunakan pipa. Ini sangat berguna untuk hal-hal seperti memfilter log, bahkan menggunakan tail -f .

   # tail -f /var/log/messages | grep -i error

Ada lebih banyak opsi untuk grep , termasuk pemfilteran berdasarkan file kata kunci, ekspresi reguler, Anda bahkan dapat mewarnai output. Saya sarankan Anda membiasakan diri dengan halaman manual jika Anda ingin tahu lebih banyak.

egrep —Sekarang, bagaimana jika Anda ingin memfilter lebih dari satu kata? Saya selalu menggunakan egrep untuk ini.

Katakanlah Anda ingin grep pada kesalahan, atau peringatan, Anda dapat melakukan sesuatu seperti ini:

$ egrep 'error|warning' file.txt
This line contains an error.
Then we have a warning.

egrep akan mendukung pola lain, saya yakin, tetapi yang di sana adalah pola yang selalu saya gunakan, dan saya merasa itu sangat berguna.

awk —The awk command mengimplementasikan bahasa pemrograman AWK untuk memproses teks, dan ini sangat baik dalam memproses data yang diatur dalam kolom. Perintah ini tersedia di sebagian besar jika tidak semua distribusi Linux serta sistem operasi UNIX lainnya.

Sysadmin biasanya menggunakan awk untuk mengekstrak data dari file atau disalurkan dari output perintah lain di baris perintah atau skrip Shell. Aktifkan awk dengan menjalankan perintah yang memberikan tindakan antara '{}' . Anda dapat mereferensikan kolom sebagai variabel, seperti $1 untuk kolom pertama, $2 , untuk yang kedua, dan seterusnya. Secara default awk menggunakan spasi sebagai pemisah kolom tetapi Anda dapat menggunakan karakter apa pun dengan menentukannya dengan tanda -F .

Misalnya, untuk mencetak pemilik dan grup, kolom 3 dan 4 pada output ls -l , pipa outputnya ke awk seperti ini:

$ ls -l | awk '{ print $3,$4 }'
ricardo users
ricardo users
root root
...

Anda juga dapat memfilter baris dari input dengan memberikan ekspresi reguler opsional sebelum tindakan. Misalnya, untuk mencetak semua hostname (kolom 2) dari baris yang dimulai dengan angka di /etc/hosts Anda file, gunakan awk seperti ini:

$ awk '/^[0-9]/ { print $2 }' /etc/hosts
localhost
sat6server
tower01.olab.home.ca
...

awk adalah perintah serbaguna yang mendukung seluruh bahasa pemrograman yang memungkinkan Anda melakukan banyak hal, seperti melakukan perhitungan, persyaratan, transformasi data, dan banyak lagi. Ini adalah opsi yang bagus untuk membantu Anda mengotomatiskan sistem Anda dan sering kali merupakan bagian dari skrip shell.

Untuk informasi lebih lanjut, lihat artikel Panduan pemula untuk melongo dan man perintah halaman.

sed —Perintah sed —kependekan dari editor aliran—memungkinkan Anda untuk memfilter dan mengedit aliran teks dengan cara skrip. Sysadmin sering menggunakan sed dalam skrip Bash untuk mengubah teks yang disalurkan dari perintah lain atau langsung dari file. Dalam bentuknya yang paling dasar, sed mencari dan mengganti teks. Misalnya, gunakan untuk mengganti string "aliran" dengan "teks" yang berasal dari pipa, seperti ini:

$ echo "This is a test stream" | sed 's/stream/text/'
This is a test text

Anda juga dapat mengganti teks dalam file dengan memberikan nama file sebagai parameter terakhir, seperti ini:

$ sed 's/pattern/replacement/' filename

Demi keamanan, sed menampilkan hasilnya ke STDOUT tanpa memodifikasi file. Anda dapat mengarahkan output ke file baru untuk menyimpan hasilnya. Anda juga dapat mengubah file asli di tempat dengan memberikan -i bendera.

Secara default, sed hanya mengubah kemunculan pola pertama di setiap baris. Untuk mengubah perilaku ini, yang memungkinkan untuk mengganti semua contoh pola, berikan g opsi di akhir sed ekspresi perintah, seperti ini:

$ sed 's/pattern/replacement/g' filename

Selain penelusuran teks dasar, sed mendukung pencocokan ekspresi reguler. Misalnya, gunakan ekspresi reguler “[Ww]ord” untuk menggantikan “Word” dan “word” di setiap baris:

$ echo "Word word WORD" | sed 's/[Ww]ord/text/g'
text text WORD

Perintah ini menawarkan banyak kemungkinan lain tetapi bahkan dengan penggunaan dasar ini, Anda dapat menghemat banyak waktu. Untuk informasi selengkapnya tentang opsi lain, lihat man halaman untuk sed .

tonton —Perintah ini memungkinkan Anda untuk menjalankan perintah/program berulang kali menggunakan interval tertentu. Secara default, intervalnya adalah setiap dua detik. Banyak sysadmin menggunakan perintah ini untuk memantau berbagai kondisi atau tugas sistem hingga selesai.
Misalnya, jika Anda ingin memantau penggunaan memori, Anda dapat menggunakan yang berikut: watch -d free -m (-d opsi menyoroti nilai yang berbeda dari run terakhir).

ikal —Perintah ini memungkinkan Anda untuk mentransfer data ke/dari server, dengan lebih banyak opsi daripada hanya HTTP/HTTPS. Ini bekerja tanpa interaksi pengguna dan sangat sering terlihat dalam situasi di mana Anda perlu melakukan panggilan REST API (GET, POST, PUT).

curl mendukung banyak opsi untuk terhubung ke server, seperti SSL, menggunakan cookie, melanjutkan transfer file, dll. Ini hampir seperti Anda memiliki browser web yang dapat dijalankan dari baris perintah.

Contoh di bawah ini menunjukkan curl untuk mengunduh file sederhana, tetapi membatasi bandwidth:

curl -o myfile.tar.gz --limit-rate 20K https://myserver.example.com/bigfile.tar.gz

Seperti yang dinyatakan manualnya, jumlah opsi yang tersedia untuk digunakan dengan curl banyak. Beberapa yang sering saya gunakan adalah:

  •  -s: jalankan dalam mode senyap (tanpa bilah kemajuan)
  •  -k: izinkan koneksi tidak aman (hanya saat menghubungkan ke server internal yang dikenal yang menggunakan sertifikat yang ditandatangani sendiri)
curl -X POST --header "Content-Type: application/json" \
             --data '{"my_id": 5, "my_application": "moneymaker", "body": "showmethemoney"}' \
               https://myserver.example.com/posts

Pada contoh di atas, saya melakukan POST dan meneruskan header dan tubuh .

emailmail command adalah alat super rapi yang memungkinkan pengguna mengirim email langsung dari baris perintah, tanpa harus membuka browser atau klien khusus. Anda harus memiliki server SMTP yang berjalan secara lokal di mesin Anda, jadi itu adalah sesuatu yang harus diperhatikan.

Instal paket:

 $ apt-get install mailutils

Untuk mengirim email dasar, Anda dapat menggunakan yang berikut ini:

$ mail -s "Subject Line" [email protected]

Saat Anda menekan Enter , Anda akan diminta dengan Cc bidang. Anda dapat menambahkan penerima tambahan atau cukup tekan Enter untuk melewati. Kemudian Anda akan mengetik pesan Anda. Setelah selesai, gunakan Ctrl+D untuk mengirim pesan untuk pengiriman. Seharusnya terlihat seperti ini setelah selesai:

$ mail -s "Subject Line" [email protected]
Cc: [email protected]
"Hello world" 
<Ctrl + D>

Untuk informasi lebih lanjut tentang perintah ini, lihat artikel yang bagus ini.

tmuxtmux perintah, yaitu multiplexer terminal, memungkinkan beberapa jendela di dalam satu jendela terminal. Anda dapat melompat di antara jendela dan bahkan membaginya menjadi panel individual, masing-masing dengan CLI-nya sendiri. Kami memiliki beberapa konten hebat yang dipublikasikan di sekitar tmux dan bagaimana menggunakannya, jadi saya akan meninggalkan Anda tautan ke konten itu. Lihat tips menggunakan tmux untuk informasi selengkapnya.

sudo —Perintah sudo adalah jalan Anda menuju hak istimewa yang lebih tinggi. Semua sysadmin perlu tahu cara menggunakan perintah ini, apa bedanya dengan su (yang banyak digunakan sebagai pengganti sudo …ide buruk), dan cara memastikan akses oleh akun yang diperlukan. Saya menulis artikel intro ke sudo jalan kembali saat itu mungkin berguna bagi Anda.

sshssh Perintah (secure shell) memungkinkan Anda menggunakan protokol kerja jarak jauh untuk mengakses dan memanipulasi server melalui koneksi jaringan. Jika Anda pernah bekerja dalam dukungan, atau dibantu oleh dukungan dalam hal ini, seringkali teknisi dukungan menggunakan ssh untuk mengakses mesin atau server Anda.
Penggunaan perintah cukup mudah:

$ ssh username@hostname

Anda akan dimintai sandi, dan jika Anda dapat memberikan kredensial yang tepat, Anda akan segera masuk ke sistem yang diinginkan.

scp —Perintah salin aman (scp ) memungkinkan pengguna untuk menyalin file ke/dari sistem jarak jauh. Anda memerlukan ssh diaktifkan di kedua ujung transaksi dan sintaks perintah yang tepat. Semua itu dan Anda harus baik-baik saja. Sintaks perintah akan terlihat seperti ini:

Untuk menyalin file DARI sistem jarak jauh ke direktori kerja saat ini:

scp user@ip_of_remote :/file/path/of/file.txt . 

pkill —Utilitas perintah ini memungkinkan kita untuk memberi sinyal proses program yang sedang berjalan. Anda dapat mencari proses berdasarkan nama (penuh atau sebagian), pengguna, dll. Ada banyak pilihan untuk menggunakan utilitas ini, namun, secara default, perintah mengirimkan sinyal 15 (TERM) ke semua PIDS yang sesuai dengan kriteria Anda. Misalnya:

$ pkill chrome

Tindakan ini akan mematikan semua instance Chrome yang berjalan di mesin.

lsns —Perintah ini, mencantumkan spasi nama (lsns ), melakukan persis seperti yang dikatakannya—mencantumkan ruang nama. Gila kan? Bagaimanapun, ada banyak opsi yang dapat Anda tambahkan di sini: -J (format json), -l (format daftar), -n (tanpa header), dll. Perintah ini adalah bagian dari util-linux paket dan tersedia secara luas. Untuk informasi lebih lanjut seputar lsns atau ruang nama secara umum, lihat artikel ini dari kontributor Steve Ovens 7 ruang nama Linux yang paling banyak digunakan.

berhenti berbagi —Yang ini berpusat di sekitar ruang nama juga. Perintah unshare menjalankan program di namespace yang baru dibuat. Secara default, namespace baru hanya akan bertahan selama ada program yang berjalan di dalamnya. Untuk informasi lebih lanjut tentang perintah ini, lihat man halaman di mesin Linux favorit Anda.

[ Ingin menguji kemampuan sysadmin Anda? Ikuti penilaian keterampilan hari ini. ]

Jika Anda dapat mengelola untuk memasukkan alat-alat ini ke dalam alur kerja Anda di tempat yang masuk akal, Anda akan menjadi sysadmin yang lebih baik untuk melakukannya. Jika beberapa perintah favorit Anda tidak masuk dalam daftar, kami akan senang mendengarnya. Jangan ragu untuk mengirimkan artikel tentang perintah favorit Anda yang tidak kami daftarkan ke [email protected].


Linux
  1. 10 perintah yang harus diketahui setiap pengguna Linux

  2. 3 keterampilan yang harus dibawa oleh setiap sysadmin Linux ke meja

  3. 6 opsi perintah OpenSSL yang harus diketahui oleh setiap sysadmin

  1. 20 perintah Linux penting untuk setiap pengguna

  2. 7 perintah jaringan Linux yang harus diketahui oleh setiap sysadmin

  3. Linux – Bagaimana Mengetahui Apa yang Harus Diambil Di Dmesg?

  1. Tema suara di Linux:Apa yang harus diketahui setiap pengguna

  2. Statistik sistem:perintah stat Linux untuk diketahui

  3. Daftar Perintah Linux yang Harus Diketahui Setiap Pengembang