Operasi pada file dan folder sangat umum dilakukan ketika kita menggunakan komputer. Operasi tersebut diantaranya yaitu membuat, memindahkan, menyalin, merename dan menghapus baik itu file ataupun folder. Pada pembahasan kali ini kita akan menggunakan perintah yang tersedia untuk melakukan operasi tersebut melalui terminal.

Membuat File dan Folder

Untuk membuat file dan folder masing - masing memiliki perintah yang berbeda. Disini kita akan menggunakan perintah yang umum digunakan, baik itu untuk membuat file dan folder.

Membuat file menggunakan touch dan >

Tidak ada perintah khusus untuk membuat file melalui terminal, file umumnya dibuat menggunakan aplikasi khusus seperti vi, vim, nano atau aplikasi lainnya dengan format file tertentu. Tapi ada trik yang bisa kamu gunakan jika hanya ingin membuat text file melalui terminal:

  1. Menggunakan perintah touch.

    Perintah touch pada dasarnya ditujukan untuk mengubah timestamp pada file, tapi perintah ini umum digunakan untuk membuat text file kosong.

    touch namafile.txt
    
  2. Menggunakan simbol output pipe (>)

    Simbol ini bukanlah perintah, tapi fungsi built-in terminal shell( umumnya bash) yang digunakan untuk menggunakan output (disebelah kiri) sebagai argumen dan nilainya dikembalikan ke apapun perintah atau file (disebelah kanan).

    echo "Halo, ini isi text" > namafile.txt
    
    # atau membuat file kosong dengan
    echo > namafile.txt
    
    # atau menggunakan print / printf
    print > namafile.txt
    

    Simbol output pipe ini bisa digunakan menggunakan perintah - perintah yang menghasilkan output (pada contoh disini yaitu ouput berupa teks ke terminal shell) seperti ls, cat dan lain sebagainya.

Membuat Direktori (Folder) menggunakan mkdir

Untuk membuat folder, kita bisa menggunakan perintah mkdir:

mkdir namafolder

Perintah mkdir bisa digunakan untuk membuat beberapa folder sekaligus, nested folder seperti folderutama/folderdidalamnya dan menentukan mode permission pada folder dengan menggunakan opsi pada mkdir

#membuat beberapa folder sekaligus
mkdir folder1 folder2 folder3

#membuat nested folder menggunakan opsi --parents
mkdir -p folderparent/forderchild
# multi parent
mkdir -p parent/subparent/child

# membuat folder dengan --mode permission
mkdir -m 777 namafolder

Listing File (Melihat File Dan Folder pada lokasi tertentu) Menggunakan ls

Setelah kita mempraktikan cara membuat file dan folder, maka kita perlu memastikan apakah file dibuat sesuai perintah yang kita masukkan atau kita hanya ingin tahu isi dari folder tersebut menggunakan perintah ls

ls
# outputnya dibawah ini
folder  folder1  folder2  namafile1  namafile2

Untuk melihat isi folder bisa menggunakan perintah ls dan diikuti nama folder

ls namafolder

Tidak hanya menampilkan file dan folder pada lokasi tersebut, perintah ls juga bisa digunakan untuk menampilkan informasi dari setiap file dan folder dengan menggunakan opsi -l (long listing format)

ls -l

hasilnya:

total 28K
drwxrwxr-x  5 su su 4,0K Jun 19 13:22 .
drwxr-x--- 49 su su 4,0K Jun 19 13:22 ..
drwxrwxrwx  2 su su 4,0K Jun 19 13:22 folder
drwxrwxr-x  2 su su 4,0K Jun 19 13:05 folder1
drwxrwxr-x  2 su su 4,0K Jun 19 13:05 folder2
-rw-rw-r--  1 su su    1 Jun 19 13:06 namafile1
-rw-rw-r--  1 su su    1 Jun 19 13:06 namafile2

Perintah ls memiliki banyak sekali opsi yang bisa digunakan, seperti untuk melihat file/folder yang tersembunyi dengan opsi -a, kamu bisa melihat semua opsi menggunakan manual page dengan menjalankan perintah man dan diikuti dengan nama perintah yang ingin dilihat manualnya. misal:

man ls

Menyalin File dan folder Menggunakan Perintah cp

Menyalin file dan folder sangat umum digunakan baik itu untuk redundansi ataupun backup. Untuk menyalin file kita bisa menggunakan perintah cp (copy file).

# menyalin file ke folder tujuan
cp namafile foldertujuan

# membuat redundansi file
cp namafile namafilehasilkopi

# menyalin lebih dari satu file sekaligus
cp namafile namafile1 namafile2 foldertujuan

# menyalin lebih dari satu folder menggunakan opsi --recursive
cp -r folder1 folder2 foldertujuan

Banyak sekali opsi yang dapat digunakan pada perintah cp, beberapa opsi yang cukup berguna untuk diketahui:

  1. Opsi -a atau --archive, menggunakan perintah cp dengan opsi -a memungkinkan kita untuk menyalin file atau folder dengan semua attribut dan permission pada file atau file tersebut.

  2. Opsi -i atau --interactive, menggunakan perintah cp dengan opsi -i memungkinkan perintah cp untuk menampilkan promp ketika ada file di folder tujuan yang namanya sama dan meminta apakah file di timpa atau tetap menggunakan yang sudah ada di folder tersebut. Default perintah cp akan menimpa file di folder tujuan.

  3. Opsi -r atau --recursive, memungkinkan perintah cp untuk menyalin file atau folder secara recursive. Opsi ini sangat sering digunakan ketika menyalin folder seperti contoh sebelumnya diatas.

  4. Opsi -u atau --update , memungkinkan perintah cp untuk menggunakan file atau folder yang paling baru. misal jika file sudah ada di folder tujuan dan file di folder tujuan lebih baru dari pada file yang disalin, maka cp akan tidak akan menimpa file di folder tujuan. Jika file yang disalin lebih baru maka file di folder tujuan akan ditimpa. Opsi ini bisa digunakan baik pada file ataupun folder.

Memindahkan File dan folder menggunakan perintah mv

mv file foldertujuan

# memindahkan lebih dari satu file sekaligus
mv file1 file2 file3 foldertujuan

# memindahkan lebih dari satu folder sekaligus
mv folder1 folder2 folder3 foldertujuan

Sama dengan perintah cp, mv memiliki opsi yang hampir sama dan default ketika memindahkan file akan menimpa file yang ada di folder tujuan untuk menghindarinya bisa menggunakan opsi -i atau --update (-u).

Merename file dan folder menggunakan perintah mv

Ketika memindahkan file atau folder pastikan folder tujuan sudah ada, jika tidak ada maka mv akan menggunakan argumen terakhir sebagai nama yang baru (rename).

Untuk merename menggunakan perintah mv cukup tambahkan nama pada argumen terakhir

mv namafile namabaru

Untuk merename dapat digunakan baik untuk file dan folder seperti halnya memindahkan file/folder bedanya untuk merename kita tidak bisa merename lebih dari satu file atau folder sekaligus, jadi harus dilakukan satu persatu.

Menghapus file dan folder menggunakan perintah rm

Menghapus file adalah hal yang menyenangkan karena akan mengurangi penggunaan penyimpanan, Tapi hati-hati ketika menggunakan perintah ini, karena file yang dihapus menggunakan perintah rm tidak dapat direstore seperti halnya menggunakan file explorer. Di file explorer kita masih bisa merestore file di trash folder (recycle bin).

Perlu diingat kembali file tidak dapat direstore ketika menggunakan perintah rm, file akan sepenuhnya terhapus dari penyimpanan sistem.

rm namafile

#untuk folder kosong
rm -d namafolder

#untuk folder yang ada isinya
rm -r namafolder

untuk lebih aman ketika menghapus file atau folder, kita bisa menggunkan opsi --interactive atau -i sehingga rm akan memberikan promp ketika kita menghapus file yang spesifik. Sebaliknya jika kamu tidak ingin ada promp bisa menggunakan opsi -f atau --force.

Penahkah kamu diminta menjalankan atau melihat perintah cd / && sudo rm -rf * atau sudo rm -rf /* di internet. kamu bisa melanjutkan membaca Menjalankan perintah dengan Wilcard argumen untuk mengetahui arti karakter *.

Menjalankan perintah dengan Wilcard argumen

Setelah kita mengetahui perintah - perintah yang bisa kita gunakan pada terminal shell di linux, kita bisa menggunakan perintah tersebut menggunakan argumen wildcard. adapun wildcard yang umum didukung pada sistem berbasis linux diantaranya yaitu:

  1. Asterik (*), artinya cocok untuk semua karakter.

    # melihat semua file/folder
    ls *
    
    # menyalin semua file dengan dengan awalan `n`
    cp n* foldertujuan
    
    # menghapus semua file dengan ekstensi .txt
    rm *.txt
    
  2. Tanda Tanya (?), artinya cocok untuk satu karakter.

    # melihat file yang namanya terdiri dari 3 karakter
    ls ???
    
    # menghapus file dengan nama awalan `i`
    # diikuti 4 karakter dan diakhiri `.txt`
    rm i????.txt
    
    # memindahkan file yang ekstensinya
    # terdiri dari 3 karakter
    mv *.???
    

    Sama halnya dengan asterik (*) bedanya jumlah karakternya lebih spesifik

  3. Karakter set [karakter], untuk mencari dan mencocokan karakter pada argumen dengan set karakter yang diberikan.

    # mencari file/folder dengan nama awalan
    # yang sesuai dengan karakter `a` sampai
    # dengan `z` (a,b,c,d,e dan seterusnya sampai z)
    ls [a-z]*
    
    # menghapus file atau folder yang namanya
    # berakhir dengan karakter d,g,p atau x
    rm *[dgpx]
    
    # memindahkan file yang awalannya cocok dengan
    # karakter d,i,atau o dan karakter keduanya cocok
    # dengan karakter j,k,l,dan m
    mv [dio][j-m]* foldertujuan
    
    # melihat file yang nama nya terdapat karakter
    # c,d,e, atau f
    ls *[c-f]*
    

    Sama halnya dengan menggunakan tanda tanya ? tapi karakternya lebih spesifik.

  4. Karakter class [[:class:]], untuk mencari karakter yang merupakan member dari sebuah set class. Karakter class yang umum di gunakan yaitu:

    • [:alnum:] - untuk menggunakan alphanumeric karakter set sebagai classnya. alpanumerik maksudnya adalah karakter alfabet dan numeral karakter.
    • [:alpha:] - karakter alphabetical
    • [:lower:] - semua karakter lowercase
    • [:upper:] - semua karakter uppercase
    • [:digit:] - hanya numeral karakter
    # melihat file/folder dengan nama diawali dengan
    # karakter uppercase
    ls [[:upper:]]*
    
    # melihat file/folder dengan nama yang memiliki
    # karakter alpabetical dan karakter tersebut ditulis uppercase
    ls *[[:alpha:][:upper:]]*
    
    # melihat file/folder yang namanya diawali dengan huruf
    # c, d, e, atau f dan ditulis lowercase
    ls [[:c-f:][:lower:]]*
    

Penutup

Setelah kita mengetahui semua perintah (dan opsinya) untuk mengelola file dan folder di terminal shell, ternyata cukup berguna dan lebih powerful daripada menggunakan aplikasi file manager, itulah kenapa pengguna linux masih sering menggunakan perintah - perintah diatas walaupun mereka memiliki aplikasi file manager yang lebih mudah dan cukup menggunakan mouse untuk mengoperasikannya.

Tentunya masih banyak yang belum di bahas disini, terutama opsi pada setiap perintah yang disebutkan diatas, untuk mengetahuinya lebih lanjut silakan lihat manualnya menggunakan perintah man, disini yang ditulis hanya opsi - opsi yang umum digunakan.