Perintah Shell Linux

Di Linux, perintah adalah cara atau instruksi melalui mana Anda dapat memberi tahu sistem untuk melakukan beberapa aksi. Perintah dieksekusi di baris perintah. Sintaks: cssSalin kodecommand [option] [argument] Ada beberapa perintah yang tidak memiliki opsi atau tidak menerima argumen, seperti clear dan pwd. clear Perintah clear membersihkan semua perintah dan keluaran sebelumnya dari tampilan terminal. pwd Perintah pwd singkatan dari ‘print working directory’. Perintah ini tidak menerima opsi atau argumen dan menampilkan detail dari direktori kerja saat ini. Jenis-jenis Perintah Perintah Bawaan (Built-in) dan Eksternal Perintah type Perintah type memberitahu kita apakah perintah yang diberikan ke shell adalah perintah bawaan atau eksternal. Sintaks: bashSalin kodetype <command> Contoh: bashSalin kodetype pwd type cd type man type cat type file Pada contoh di atas, perintah seperti pwd dan cd adalah perintah bawaan, sementara perintah man, cat, dan file adalah perintah eksternal. Perintah type juga memberitahu apakah suatu perintah adalah alias atau tidak. Contoh: bashSalin kodetype ls Pada contoh di atas, perintah type menunjukkan bahwa ls adalah perintah alias. Opsi type -a Opsi type -a memberitahukan tentang semua jenis perintah apakah itu bawaan, eksternal, atau alias. Beberapa perintah bisa menjadi perintah bawaan dan eksternal. Namun, perintah bawaan akan selalu diutamakan kecuali path perintah eksternal disebutkan. Sintaks: bashSalin kodetype -a <command> Contoh: bashSalin kodetype -a echo Pada contoh di atas, perintah echo adalah internal serta eksternal. Untuk menggunakan perintah eksternal echo, path “/bin/echo” disebutkan. Perintah which Perintah which menentukan path dari sebuah perintah. Sintaks: phpSalin kodewhich <command1> <command2> <command3>…. Contoh: bashSalin kodewhich ls pwd rmdir mkdir cp cd file man Pada contoh di atas, kecuali perintah cd, semua perintah lainnya adalah perintah eksternal karena bash menampilkan path eksternalnya. ref: [1]

DETAIL

Menghapus Links

Dengan perintah rm, link dapat dihapus. Lihat snapshot di atas, direktori link berisi baik hard link maupun soft link. Dengan perintah rm, kita telah menghapus kedua link tersebut. ref: [1]

DETAIL

Symbolic Links

Symbolic links juga disebut soft links. Perintah ln -s digunakan untuk membuat soft link. Ini tidak terhubung ke Inodes tetapi membuat pemetaan nama. Ini membuat nomor Inode-nya sendiri. Contoh: bashSalin kodeln -s xyz symlink_to_xyz Lihat snapshot di atas, kami telah membuat symbolic link untuk file xyz dengan perintah “ln -s xyz symlink_to_xyz”. Nomor Inode symbolic link berbeda dari nomor Inode file asli. Izin target diterapkan pada file symlink. Hard links terbatas pada partisi mereka sendiri, tetapi symbolic links dapat dihubungkan ke mana saja. ref: [1]

DETAIL

Membuat Hard Link

Hard link untuk file apa pun dapat dibuat dengan perintah ln. Satu file hard link tambahan akan dibuat di direktori yang bersangkutan. Lihat snapshot di atas, kami telah membuat hard link untuk file xyz di direktori new1. File asli dan file hard link keduanya mengandung nomor Inode yang sama dan dengan demikian, mereka memiliki izin yang sama dan pemilik yang sama. Kontennya juga akan sama untuk kedua file tersebut. Singkatnya, kedua file tersebut sekarang setara, tetapi jika file asli dihapus maka file hard link tidak akan terpengaruh. Menemukan Hard Link Hard link dapat ditemukan dengan perintah find dengan menentukan nomor Inode. Nomor Inode selalu unik untuk partisinya. Contoh: bashSalin kodefind / -inum 662786 2> /dev/null Lihat snapshot di atas, kami telah menemukan file hard link dengan perintah “find / -inum 662786 2> /dev/null” untuk nomor Inode 662786. ref: [1]

DETAIL

Direktori di Linux

Direktori adalah sebuah tabel yang berisi semua nomor Inode file di dalamnya dan menghubungkannya ke sistem file. Contoh: bashSalin kodels -ali new1 Lihat snapshot di atas, perintah “ls -ali new1” menampilkan semua file dari direktori new1. Titik (.) dan TitikGanda (..) Dengan melihat snapshot sebelumnya, Anda bisa memperhatikan ada dua file dengan nama file titik (.) dan titik ganda (..) Titik (.) adalah pemetaan ke dirinya sendiri dan titik ganda (..) adalah pemetaan ke direktori induk ref: [1]

DETAIL

Inode di Linux

Nomor Inode adalah nomor unik yang ada untuk semua file di Linux dan semua sistem tipe Unix. Ketika sebuah file dibuat di sistem, sebuah nama file dan nomor Inode ditetapkan untuknya. Secara umum, untuk mengakses sebuah file, pengguna menggunakan nama file tetapi secara internal nama file pertama kali dipetakan dengan nomor Inode yang sesuai yang disimpan dalam tabel. Catatan: Inode tidak mengandung nama file. Alasan untuk ini adalah untuk mempertahankan tautan keras (hard-links) untuk file. Ketika semua informasi lainnya dipisahkan dari nama file, maka kita bisa memiliki berbagai nama file yang menunjuk ke Inode yang sama. Isi Inode Inode adalah struktur data yang berisi metadata tentang file. Berikut adalah isi yang disimpan dalam Inode dari sebuah file: Contoh: bashSalin kodels -ld new1 Lihat snapshot di atas, ini menunjukkan beberapa isi dari Inode. Tabel Inode Tabel Inode berisi semua Inode dan dibuat ketika sistem file dibuat. Perintah df -i dapat digunakan untuk memeriksa berapa banyak inode yang masih bebas dan tidak digunakan dalam sistem file. bashSalin kodedf -i Lihat snapshot di atas, perintah “df -i” menunjukkan penggunaan beberapa sistem file. Nomor Inode Setiap Inode memiliki nomor unik dan nomor Inode dapat dilihat dengan bantuan perintah ls -li. bashSalin kodels -li Lihat snapshot di atas, Direktori Disk1 memiliki tiga file dan setiap file memiliki nomor Inode yang berbeda. Catatan: Inode tidak mengandung konten file, melainkan memiliki pointer ke data tersebut. ref: [1]

DETAIL

Tautan File di Linux

Sistem file Linux memiliki banyak tautan keras (hard links) dan tautan simbolis (symbolic links). Tautan adalah konektivitas antara nama file dan data byte aktual di ruang disk. Lebih dari satu nama file dapat terhubung ke data yang sama. Ada dua jenis tautan dalam OS Linux: 1) Tautan Keras (Hard Links) Tautan keras adalah tautan tingkat rendah. Tautan ini menghubungkan lebih dari satu nama file dengan Inode yang sama dan mewakili lokasi fisik dari sebuah file. Ketika tautan keras dibuat untuk sebuah file, tautan tersebut langsung menunjuk ke Inode file asli di ruang disk, yang berarti tidak ada Inode baru yang dibuat. Direktori tidak dibuat menggunakan tautan keras dan tidak dapat melintasi batas sistem file. Ketika file sumber dihapus atau dipindahkan, tautan keras tidak terpengaruh. 2) Tautan Lunak (Tautan Simbolis) Tautan lunak sangat umum digunakan. Tautan ini mewakili lokasi virtual atau abstrak dari file. Ini seperti pintasan yang dibuat di Windows. Tautan lunak tidak mengandung informasi atau konten dari file yang ditautkan, melainkan memiliki pointer ke lokasi file yang ditautkan. Dengan kata lain, sebuah file baru dibuat dengan Inode baru, yang memiliki pointer ke lokasi Inode file asli. Tautan lunak digunakan untuk membuat tautan antar direktori dan dapat melintasi batas sistem file. Ketika file sumber dihapus atau dipindahkan, tautan lunak tidak diperbarui. Kita akan mempelajari secara mendalam tentang kedua jenis tautan ini, bagaimana cara membuatnya dan menghapusnya. Topik Tautan File di Linux: ref: [1]

DETAIL

Izin File Lanjutan

Sticky Bit pada Direktori File dapat dilindungi di dalam direktori agar tidak dihapus oleh pengguna lain yang tidak memilikinya dengan mencegahnya menggunakan sticky bit. Sticky bit ditampilkan di lokasi yang sama dengan izin x untuk orang lain. Sticky bit diwakili oleh huruf t (jika x juga ada) atau huruf T (jika x tidak ada). Contoh: bashSalin kodechmod +t new1 Lihat snapshot di bawah ini, izin untuk file new1 diubah menjadi t di tempat izin x untuk orang lain. Umumnya, sticky bit ditemukan pada direktori /tmp. setgid Bit pada Direktori Untuk memastikan semua file di dalam direktori dimiliki oleh pemilik grup direktori, setgid dapat digunakan. setgid ditampilkan di lokasi yang sama dengan izin x untuk grup. setgid diwakili oleh huruf s (jika x juga ada) atau huruf S (jika x tidak ada). Lihat snapshot di atas, pemilik grup diubah menjadi neww untuk direktori new1. Izin grup diubah menjadi s di tempat izin x untuk grup. Anda dapat melihat bahwa file1 yang berada di dalam direktori new1 memiliki nama grup neww. setgid dan setuid pada File Reguler Dengan bantuan dua izin ini, sebuah file yang dapat dieksekusi diakses dengan izin pemilik file daripada pemilik yang mengeksekusi. Ini berarti bahwa jika sebuah program memiliki pengguna root dan izin setuid diatur pada program tersebut, maka pengguna akan menjalankan program itu sebagai root. Ini bisa berbahaya sekaligus baik untuk keamanan. Sebagai contoh, kata sandi yang disimpan di /etc/shadow hanya dapat dibaca oleh root seperti yang ditunjukkan di bawah ini. Ketika seorang pengguna menjalankan perintah passwd, perintah tersebut dieksekusi dengan kredensial root. ref: [1]

DETAIL

Perintah Chown di Linux/Unix dengan Contoh

Perintah chown di Linux digunakan untuk mengubah kepemilikan file, direktori, atau tautan simbolik untuk pengguna atau grup. Chown adalah singkatan dari “change owner” (mengubah pemilik). Dalam Linux, setiap file terkait dengan pemilik atau grup yang sesuai. Sistem Linux mungkin memiliki beberapa pengguna. Setiap pengguna memiliki nama unik dan ID pengguna. Jika hanya ada satu pengguna di sistem, pengguna tersebut akan menjadi pemilik setiap file. Pengguna dapat terdaftar dalam berbagai grup. Grup memungkinkan kita untuk mengatur izin pada tingkat grup daripada mengatur izin pada tingkat individu. Kepemilikan file di sistem hanya dapat diubah atau diedit oleh super-user. Pengguna tidak bisa memberikan kepemilikan file meskipun mereka memiliki file tersebut. Hanya anggota grup yang dapat mengubah ID grup file menjadi grup tersebut. Perintah chown hadir sebagai paket terpisah untuk Microsoft Windows sebagai bagian dari koleksi UnxUtils dari port native Win32 dari utilitas dasar GNU Unix-like. Selain itu, perintah ini telah dikirim ke OS IBM i. Dalam sistem operasi, pengguna yang berbeda memiliki izin dan kepemilikan untuk memastikan bahwa file dilindungi dan membatasi siapa yang dapat mengubah isi file. Ada berbagai pengguna yang menggunakan sistem di Linux: Opsi -P, -L, dan -H eksklusif secara manual; menjelaskan lebih dari satu tidak dianggap sebagai kesalahan. Bendera yang ditentukan terakhir menentukan sifat dari perintah yang akan ditampilkan. Perintah chown memodifikasi kepemilikan direktori atau file yang ditunjukkan oleh tautan dan bukan kepemilikan tautan itu sendiri ketika kita belum menyebutkan bendera -h dan tautan simbolik diketahui. Perintah chown memiliki efek sebaliknya dan memodifikasi kepemilikan tautan itu sendiri dan bukan dari direktori atau file yang ditunjuk oleh tautan jika kita menyebutkan bendera -h. Perintah ini menurunkan direktori yang dijelaskan secara rekursif jika kita menjelaskan kedua bendera -R dan -h. Izin dan Kepemilikan Untuk mengamankan dan melindungi direktori dan file di Linux, kita dapat menggunakan izin untuk mengontrol apa yang dapat dilakukan pengguna dengan direktori atau file. Linux menggunakan tiga jenis izin yang berbeda, yang disebutkan di bawah ini: Jenis Izin File Sintaks: Berikut adalah sintaks umum dari perintah chown: cssSalin kodechown [OPTION]… [OWNER][:[GROUP]] FILE… Opsi: Berikut adalah opsi baris perintah dari perintah chown: Opsi Spesifik Menampilkan UID, GID, dan Grup Untuk menampilkan semua grup, jalankan perintah groups sebagai berikut: bashSalin kodegroups Perintah di atas akan menampilkan semua grup yang ada di sistem Linux Anda. Pertimbangkan output di bawah ini: shellSalin kode$ groups Untuk menampilkan UID dan GID, jalankan perintah id sebagai berikut: bashSalin kodeid Perintah di atas akan menampilkan semua UID dan GID dari pengguna dan grup mereka yang sesuai. Pertimbangkan output di bawah ini: shellSalin kode$ id Menampilkan Kepemilikan Pengguna dan Grup dari File Untuk menampilkan kepemilikan pengguna dan grup dari sebuah file, jalankan perintah ls -l dengan nama file tertentu. Pertimbangkan perintah di bawah ini: bashSalin kodels -l Demo.txt Perintah di atas akan menampilkan kepemilikan pengguna dan grup dari ‘Demo.txt’. Pertimbangkan output di bawah ini: shellSalin kode$ ls -l Demo.txt Mengubah Pemilik File (Menggunakan Nama Pengguna) Untuk mengubah pemilik file, berikan nama pengguna (pemilik baru) dengan perintah chown sebagai berikut: phpSalin kodesudo chown <username> <File name> Pertimbangkan perintah di bawah ini: bashSalin kodesudo chown jtp Demo.txt Perintah di atas akan mengatur jtp sebagai pemilik file ‘Demo.txt’. Pertimbangkan output di bawah ini: shellSalin kode$ sudo chown jtp Demo.txt Dari output di atas, pemilik file yang diberikan telah berubah. Mengubah Pemilik File (Menggunakan UID) Kita dapat mengubah pemilik file atau direktori menggunakan UID pengguna. Untuk mengubah kepemilikan dengan menggunakan UID, berikan UID dengan perintah chown sebagai berikut: bashSalin kodesudo chown 1000 Demo.txt Perintah di atas akan mengubah kepemilikan ‘Demo.txt’. Pertimbangkan output di bawah ini: shellSalin kode$ sudo chown 1000 Demo.txt Mengubah Grup File Untuk mengubah grup file, tentukan nama grup atau GID dengan perintah chown. Ini mewakili perilaku serupa dengan perintah chgrp. Jalankan perintah chown dengan menentukan nama grup yang dipisahkan oleh titik dua sebagai berikut: bashSalin kodesudo chown :groupname Demo.txt atau bashSalin kodesudo chown :GID Demo.txt ref: [1]

DETAIL

Perintah Chmod di Linux/Unix dengan Contoh

Perintah chmod di Linux digunakan untuk mengubah izin akses file dan direktori. Chmod adalah singkatan dari “change mode”. Perintah ini tidak dapat mengubah izin tautan simbolik. Bahkan, ia mengabaikan tautan simbolik yang ditemukan dalam penjelajahan direktori rekursif. Dalam sistem file Linux, setiap file terkait dengan pemilik tertentu dan memiliki izin akses untuk pengguna yang berbeda. Kelas pengguna mungkin meliputi: Jenis izin file di Linux adalah sebagai berikut: Sejarah Singkat Chmod Pertama kali, perintah chmod diwakili dalam AT&T UNIX versi 1 dengan panggilan sistem chmod. Daftar kontrol akses dimasukkan dalam beberapa sistem file sebagai tambahan untuk mode yang paling umum untuk meningkatkan fleksibilitas karena sistem tumbuh dalam jenis dan jumlah pengguna. Versi chmod yang diatur dalam GNU coreutils ditentukan oleh Jim Meyering dan David MacKenzie. Perintah ini hadir sebagai paket terpisah untuk Microsoft Windows sebagai bagian dari koleksi port native Win32 dari utilitas dasar GNU Unix-like. Juga, perintah chmod telah dikirim ke IBM i OS. Mari kita lihat bagaimana cara mengubah izin file menggunakan perintah chmod. Sintaks: Sintaks dasar dari perintah chmod adalah sebagai berikut: phpSalin kodechmod <options> <permissions> <file name> Opsi yang umumnya diterapkan adalah: Objek target dipengaruhi jika tautan simbolik disebutkan. Mode file terkait dengan tautan simbolik itu sendiri biasanya tidak digunakan. Komponen Utama dari Izin Chmod: Misalnya, rwxr-x— Semua kelompok tiga karakter menentukan izin untuk semua kelas: Opsi: Perintah chmod mendukung opsi baris perintah berikut: Sintaks Izin File Jika Anda adalah pengguna baru, Anda mungkin bingung dengan berbagai jenis huruf yang digunakan untuk mengatur izin file. Jadi, sebelum melanjutkan lebih jauh dengan perintah chmod, mari kita pahami sintaks izin file. Untuk mengatur izin file atau direktori, kita harus menentukan hal-hal berikut: Pernyataan izin diwakili dalam indikator seperti u+x, u-x. Di mana ‘u’ berarti ‘user,’ ‘+’ berarti menambahkan, ‘-‘ berarti menghapus, ‘x’ berarti dapat dieksekusi (which). Nilai pengguna dapat berupa: Jenis izin dapat berupa r, w, dan x. Mengatur dan Memperbarui Izin Untuk mengatur izin file, jalankan pernyataan izin dengan perintah chmod. Misalnya, kita ingin mengatur izin baca dan tulis untuk semua pengguna dan grup dari file Demo.txt. Kita harus mengirimkan pernyataan izin “u=rw,go=rw Demo.txt” dengan perintah chmod. Untuk menampilkan izin file, jalankan perintah di bawah ini: bashSalin kodels -l Demo.txt Perintah di atas akan menampilkan izin file saat ini dari file Demo.txt. Untuk mengubah izin, jalankan perintah di bawah ini: bashSalin kodechmod u=rw,go=rw Demo.txt Pertimbangkan output di bawah ini: Perintah chmod telah mengubah izin akses file Demo.txt. Mengatur Izin untuk Beberapa File Kita dapat mengatur izin untuk beberapa file sekaligus menggunakan perintah chmod. Untuk mengubah izin file beberapa file, tentukan pola file dengan perintah chmod. Misalnya, jika kita ingin mengatur izin baca dan tulis untuk semua file teks, tentukan pola *.txt dengan perintah chmod. Untuk melihat izin semua file teks dari direktori kerja saat ini, jalankan perintah di bawah ini: bashSalin kodels -l *.txt Ini akan menampilkan semua file teks dengan mode izin mereka. Pertimbangkan output di bawah ini: Dari output di atas, banyak file hanya memiliki izin baca untuk pengguna lain. Untuk mengatur izin baca dan tulis untuk pengguna lain, jalankan perintah di bawah ini: bashSalin kodechmod o+w *.txt Ini akan mengatur izin baca dan tulis untuk pengguna lain dari file teks. Pertimbangkan output di bawah ini: Shorthand Numerik Kita dapat menggunakan nilai numerik sebagai pengganti huruf untuk menentukan izin. Nilai tiga digit digunakan untuk menentukan izin. Digit paling kiri mewakili pemilik (u), dan digit tengah mewakili anggota grup (g). Digit paling kanan mewakili orang lain (o). Tabel berikut mewakili digit dan izin mereka: Digit Izin 000 Tidak ada izin 001 Izin eksekusi 010 Izin tulis 011 Izin tulis dan eksekusi 100 Izin baca 101 Izin baca dan eksekusi 110 Izin baca dan tulis 111 Izin baca, tulis, dan eksekusi Mode Simbolik Perintah chmod juga menerima notasi simbolik yang lebih halus, yang memungkinkan mengubah mode spesifik. Mode simbolik terdiri dari tiga elemen, yang digabungkan untuk membentuk string teks tunggal: cssSalin kode$ chmod [references] [operator] [modes] file… Program chmod menerapkan operator untuk menentukan bagaimana mode file harus diatur. Operator berikut disetujui: Operator Deskripsi + Menambahkan mode yang dijelaskan ke kelas yang dijelaskan. – Menghapus mode yang dijelaskan dari kelas yang dijelaskan. = Menyatakan bahwa mode yang dijelaskan harus menjadi mode yang sama untuk kelas yang dijelaskan. Mode mewakili izin yang akan dihapus atau diberikan dari kelas yang dijelaskan. Ada tiga mode umum yang terkait dengan izin umum: Nama Mode Deskripsi read r Membaca file atau daftar isi direktori. write w Menulis ke direktori atau file. execute x Melintasi pohon direktori atau mengeksekusi file. special execute X Bukan izin tetapi bisa digunakan sebagai pengganti x. Menggunakan izin eksekusi untuk direktori terlepas dari izin saat ini dan menggunakan izin eksekusi untuk file yang setidaknya memiliki satu bit izin eksekusi. Ini berguna jika digunakan dengan operator “+” dan tanpa menetapkan izin eksekusi yang akan terjadi jika kita hanya menggunakan chmod -R a+rx ., sedangkan kita dapat menerapkan chmod -R a+rx . dengan x juga. Modifikasi ganda dapat dijelaskan dengan memisahkan beberapa mode simbolik bersama dengan koma. Perintah chmod akan memeriksa umask jika pengguna tidak ditentukan. Mode Khusus Perintah chmod juga dapat mengubah mode khusus dan izin tambahan dari direktori atau file. Mode simbolik menerapkan ‘s’ untuk menunjukkan mode setgid dan setuid dan ‘t’ untuk menunjukkan mode sticky. Mode hanya digunakan untuk kelas yang benar, terlepas dari apakah kelas lain disebutkan atau tidak. Hampir semua sistem operasi secara numerik mendukung spesifikasi mode khusus, terutama dalam oktal, tetapi beberapa tidak. Hanya mode simbolik yang dapat diterapkan ke sistem ini. Beberapa Contoh Baris Perintah: Perintah Deskripsi chmod a+r publicComments.txt Menambahkan izin baca untuk setiap kelas (yaitu, Grup, Pemilik, dan Lainnya). chmod a-x publicComments.txt Menghapus izin eksekusi untuk setiap kelas. chmod a+rx viewer.sh Menambahkan izin eksekusi dan baca untuk setiap kelas. chmod u=rw, g=r, o=internalPlan.txt Menetapkan izin tulis dan baca untuk pengguna, izin baca untuk Grup, dan menolak akses untuk Lainnya. chmod -R u+w, go-w docs Menambahkan izin tulis ke direktori docs dan semua isinya untuk pemilik dan menghapus izin tulis untuk orang lain dan grup. chmod ug=rw groupAgreements.txt Menetapkan izin tulis dan baca

DETAIL