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:
-
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
-
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:
-
Opsi
-a
atau--archive
, menggunakan perintahcp
dengan opsi-a
memungkinkan kita untuk menyalin file atau folder dengan semua attribut dan permission pada file atau file tersebut. -
Opsi
-i
atau--interactive
, menggunakan perintahcp
dengan opsi-i
memungkinkan perintahcp
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 perintahcp
akan menimpa file di folder tujuan. -
Opsi
-r
atau--recursive
, memungkinkan perintahcp
untuk menyalin file atau folder secara recursive. Opsi ini sangat sering digunakan ketika menyalin folder seperti contoh sebelumnya diatas. -
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, makacp
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:
-
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
-
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 -
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. -
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.