Mengelola File dari Comand Line
Tags: ramadhanbersamaredhat, rh124
Published: 2024-03-29 04:16:15

**Hierarki Sistem File**

Semua file pada sistem Linux disimpan pada sistem file yang disusun menjadi satu _inverted tree_ direktori, yang dikenal sebagai _file-system hierarchy_. Pohon ini terbalik karena konon akar pohonnya berada di bagian atas dari hierarki, dan cabang-cabang direktori dan sub direktori terbentang dibawah akar.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68z9v178cr7acr37wp3m.png)

Tabel berikut mencantumkan beberapa direktori terpenting pada sistem berdasarkan nama dan tujuannya.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awg35vxnb466uoic7g7p.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kgukbmi2ulpx2mroafd1.png)

**Menentukan File berdasarkan Nama**

Jalur Absolut dan Jalur Relatif

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6uteondt3soxevap15m.png)

**Penting**
Karakter spasi dapat diterima sebagai bagian dari nama file Linux. Namun, spasi juga digunakan oleh shell untuk memisahkan opsi dan argumen pada baris perintah. Jika Anda memasukkan perintah yang menyertakan file yang memiliki spasi pada namanya, shell dapat salah menafsirkan perintah tersebut dan berasumsi bahwa Anda ingin memulai nama file baru atau argumen lain pada spasi tersebut.

Hal ini dapat dihindari dengan memberi nama file dalam tanda kutip. Namun, jika Anda tidak perlu menggunakan spasi pada nama file, akan lebih mudah jika Anda menghindari penggunaannya.

**Jalan Mutlak**

Sebuah jalan mutlak adalah sepenuhnya memenuhi syarat nama, menentukan lokasi persis file dalam hierarki sistem file. Ini dimulai dari direktori root ( /) dan menentukan setiap subdirektori yang harus dilalui untuk mencapai file tertentu. Setiap file dalam sistem file memiliki nama jalur absolut yang unik, yang dikenali dengan aturan sederhana: Nama jalur dengan garis miring ( /) sebagai karakter pertama adalah nama jalur absolut. Misalnya, nama jalur absolut untuk file log pesan sistem adalah /var/log/messages. Nama jalur absolut mungkin panjang untuk diketik, sehingga file mungkin juga ditemukanrelatifke direktori kerja saat ini untuk prompt shell Anda.

**Working Directory dan Relative Paths**

Ketika pengguna log in dan membuka command window, lokasi awal biasanya adalah direktori home pengguna. Proses sistem juga memiliki direktori awal. Pengguna dan proses menavigasi ke direktori lain sesuai kebutuhan; persyaratannya working directory atau current working directory merujuk pada mereka saat current location.

Seperti absolute path, relative path mengidentifikasi file unik, hanya menentukan jalur yang diperlukan untuk mencapai file dari direktori kerja. Mengenali nama relative path mengikuti aturan sederhana: Nama jalur dengan apa pun selaing aris miring karena karakter pertama adalah nama relative path. Pengguna dalam /vardirektori dapat merujuk ke file log pesan secara relatif sebagai log/messages.

**Menavigasi Jalur**

Perintah **pwd** menampilkan nama path lengkap dari direktori kerja saat ini untuk shell tersebut. Ini dapat membantu Anda menentukan sintaks untuk menjangkau file menggunakan nama jalur relatif. Perintah **ls** mencantumkan isi direktori untuk direktori tertentu atau, jika tidak ada direktori yang diberikan, untuk direktori kerja saat ini.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rc35kdrw6uylsgmmr5fw.png)

Gunakan perintah **cd** untuk mengubah direktori kerja shell Anda saat ini. Jika Anda tidak menentukan argumen apa pun pada perintah tersebut, perintah tersebut akan berubah ke direktori home Anda.

Dalam contoh berikut, campuran jalur absolut dan relatif digunakan dengan perintah **cd**  untuk mengubah direktori kerja shell saat ini.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4b9p4fmbxnh6bl25ohex.png)

Seperti yang Anda lihat pada contoh sebelumnya, prompt shell default juga menampilkan komponen terakhir dari jalur absolut ke direktori kerja saat ini. Misalnya, untuk /home/user/Videos, hanya Videosditampilkan. Prompt menampilkan karakter tilde (~) ketika direktori kerja Anda saat ini adalah direktori home Anda.

Perintah **touch** biasanya memperbarui stempel waktu file ke tanggal dan waktu saat ini tanpa mengubahnya. Hal ini berguna untuk membuat file kosong, yang dapat digunakan untuk latihan, karena **touch** nama file yang tidak ada menyebabkan file tersebut dibuat. Dalam contoh berikut, perintah touch membuat file latihan di subdirektori Documents dan Videos.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9scz9r5xyifsarngzgt.png)

Perintah **ls** memiliki banyak pilihan untuk menampilkan atribut pada file. Yang paling umum dan berguna adalah **-l** (format daftar panjang), **-a** (semua file, termasuktersembunyifile), dan **-R** (rekursif, untuk memasukkan isi semua subdirektori).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bzu2t9xl8inklinmm3q8.png)

Dua direktori khusus di bagian atas daftar mengacu pada direktori saat ini ( .) dan induk direktori ( ..). Direktori khusus ini ada di setiap direktori pada sistem. Anda akan menemukan kegunaannya saat Anda mulai menggunakan perintah manajemen file.

**Penting**
Nama file yang diawali dengan titik (.) menunjukkan hidden files; Anda tidak dapat melihatnya dalam tampilan normal menggunakan **ls** dan perintah lainnya. Ini bukan fitur keamanan. File tersembunyi menjaga file konfigurasi pengguna yang diperlukan agar tidak mengacaukan direktori home. Banyak perintah memproses file tersembunyi hanya dengan opsi baris perintah tertentu, mencegah konfigurasi satu pengguna disalin secara tidak sengaja ke direktori atau pengguna lain.

Untuk melindungi berkasisidari tampilan yang tidak tepat memerlukan penggunaan izin file.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vab8hdtwja42hcn9bs1.png)

Perintah **cd** memiliki banyak pilihan. Beberapa di antaranya sangat berguna sehingga layak untuk dipraktikkan sejak dini dan sering digunakan. Perintah **cd -** mengubah ke direktori sebelumnya; di mana pengguna berada sebelumnya ke direktori saat ini. Contoh berikut mengilustrasikan perilaku ini, bergantian antara dua direktori, yang berguna saat memproses serangkaian tugas serupa.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rz3yp1r1ldo15m060jjd.png)

Perintah **cd..** menggunakan **..** direktori tersembunyi untuk naik satu tingkat keinduk direktori, tanpa perlu mengetahui nama induk pastinya. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhzxgbrot1ckeilk74ij.png)