Panduan Penggunaan Perintah `find` - wongganteng10/tutorial GitHub Wiki
find
Panduan Penggunaan Perintah Perintah find
digunakan untuk mencari file dan direktori dalam hierarki direktori.
Format Umum
find [path...] [expression]
path: Lokasi direktori tempat pencarian dimulai. Secara default adalah direktori saat ini.
expression: Ekspresi pencarian yang dapat terdiri dari operator, opsi, tes, dan aksi.
Operator (Urutan Precedence Menurun)
( EXPR )
: Menandakan grup ekspresi.! EXPR
atau-not EXPR
: Negasi dari ekspresi.EXPR1 -a EXPR2
atauEXPR1 -and EXPR2
: Dan logika (implicit).EXPR1 -o EXPR2
atauEXPR1 -or EXPR2
: Atau logika.EXPR1 , EXPR2
: Evaluasi ekspresi pertama, lalu yang kedua.
Opsi Posisi (Selalu True)
-daystart
: Menghitung waktu dari awal hari saat ini.-follow
: Mengikuti link simbolik.-regextype
: Menentukan jenis ekspresi reguler.
Opsi Normal (Selalu True, Ditentukan Sebelum Ekspresi Lain)
-depth
: Mencari dari kedalaman terdalam ke teratas.--help
: Menampilkan pesan bantuan.-maxdepth LEVELS
: Menentukan kedalaman maksimum pencarian.-mindepth LEVELS
: Menentukan kedalaman minimum pencarian.-mount
: Jangan melintasi sistem file yang berbeda.-noleaf
: Tidak mengabaikan direktori yang tidak memiliki leaf nodes.--version
: Menampilkan nomor versi.-xdev
: Jangan melintasi sistem file yang berbeda.-ignore_readdir_race
: Mengabaikan kondisi balapan pembacaan direktori.-noignore_readdir_race
: Tidak mengabaikan kondisi balapan pembacaan direktori.
Tes (N bisa +N atau -N atau N)
-amin N
: Waktu akses terakhir dalam N menit.-anewer FILE
: File diubah setelah FILE.-atime N
: Akses terakhir N hari yang lalu.-cmin N
: Waktu status terakhir dalam N menit.-cnewer FILE
: Status file diperbarui setelah FILE.-ctime N
: Status file terakhir diperbarui N hari yang lalu.-empty
: File atau direktori kosong.-false
: Selalu false.-fstype TYPE
: Jenis sistem file.-gid N
: ID grup.-group NAME
: Nama grup.-ilname PATTERN
: Nama link simbolik (case-sensitive).-iname PATTERN
: Nama file (case-insensitive).-inum N
: Nomor inode.-iwholename PATTERN
: Nama file penuh (case-insensitive).-iregex PATTERN
: Ekspresi reguler (case-insensitive).-links N
: Jumlah link ke file.-lname PATTERN
: Nama link simbolik.-mmin N
: Terubah dalam N menit.-mtime N
: Terubah N hari yang lalu.-name PATTERN
: Nama file.-newer FILE
: File diperbarui setelah FILE.-nouser
: File yang dimiliki oleh pengguna yang tidak ada.-nogroup
: File yang dimiliki oleh grup yang tidak ada.-path PATTERN
: Path file.-perm [-/]MODE
: Izin file.-regex PATTERN
: Ekspresi reguler.-readable
: File dapat dibaca.-writable
: File dapat ditulis.-executable
: File dapat dieksekusi.-wholename PATTERN
: Nama file penuh.-size N[bcwkMG]
: Ukuran file.-true
: Selalu true.-type [bcdpflsD]
: Tipe file (b=blok, c=karakter, d=direktori, p=FIFO, f=file biasa, l=link simbolik, s=socket, D=door).-uid N
: ID pengguna.-used N
: Terpakai dalam N hari.-user NAME
: Nama pengguna.-xtype [bcdpfls]
: Tipe file yang ditunjuk oleh link simbolik.
Aksi
-delete
: Menghapus file yang ditemukan.-print0
: Menampilkan nama file diikuti dengan null karakter.-printf FORMAT
: Menampilkan format file.-fprintf FILE FORMAT
: Menampilkan format ke file.-print
: Menampilkan nama file.-fprint0 FILE
: Menulis nama file ke FILE dengan null karakter.-fprint FILE
: Menulis nama file ke FILE.-ls
: Menampilkan daftar file mirip denganls -l
.-fls FILE
: Menulis daftar file mirip denganls -l
ke FILE.-prune
: Mengabaikan direktori.-quit
: Menghentikan pencarian setelah file pertama ditemukan.-exec COMMAND ;
: Menjalankan COMMAND untuk setiap file yang ditemukan.-exec COMMAND {} +
: Menjalankan COMMAND dengan beberapa file.-ok COMMAND ;
: Menjalankan COMMAND setelah konfirmasi.-execdir COMMAND ;
: Menjalankan COMMAND dari direktori yang ditemukan.-execdir COMMAND {} +
: Menjalankan COMMAND dari direktori yang ditemukan dengan beberapa file.-okdir COMMAND ;
: Menjalankan COMMAND dari direktori yang ditemukan setelah konfirmasi.
Argumen Valid untuk -D
exec
,opt
,rates
,search
,stat
,time
,tree
,all
,help
Gunakan -D help
untuk deskripsi opsi, atau lihat dokumentasi di GNU findutils.
Anda dapat melaporkan (dan melacak kemajuan perbaikan) bug pada program "find" melalui halaman pelaporan bug GNU findutils atau, jika Anda tidak memiliki akses web, dengan mengirim email ke [email protected].
Gunakan panduan ini untuk memanfaatkan find
secara efektif dalam pencarian file dan direktori di sistem Ubuntu Anda.
Berikut adalah cara lengkap menggunakan perintah find
di Linux, dengan contoh untuk masing-masing opsi dan ekspresi:
1. Pencarian Dasar
Mencari Semua File di Direktori Saat Ini:
find .
Mencari Semua File di Direktori Tertentu:
find /path/to/directory
2. Menggunakan Ekspresi
Mencetak Nama Semua File:
find . -print
Mencetak Nama Semua File dan Menggunakan Null Karakter sebagai Pemisah:
find . -print0
3. Opsi
Menampilkan Bantuan:
find --help
Menampilkan Versi:
find --version
Menentukan Kedalaman Maksimum:
find . -maxdepth 2
Menentukan Kedalaman Minimum:
find . -mindepth 2
Tidak Melintasi Sistem File Berbeda:
find . -xdev
Mengabaikan Kondisi Balapan Pembacaan Direktori:
find . -ignore_readdir_race
4. Tes
Mencari File yang Terakhir Diakses Dalam 10 Menit Terakhir:
find . -amin 10
Mencari File yang Diubah Setelah File Tertentu:
find . -newer /path/to/otherfile
Mencari File Kosong:
find . -empty
Mencari File dengan Nama Spesifik (Case-Insensitive):
find . -iname "*.txt"
Mencari File dengan Ukuran Lebih dari 1MB:
find . -size +1M
Mencari File dengan Tipe Tertentu:
- File Biasa:
find . -type f
- Direktori:
find . -type d
Mencari File yang Dimiliki oleh Pengguna Tertentu:
find . -user username
5. Aksi
Menghapus File yang Ditemukan:
find . -type f -delete
Menampilkan Daftar File Mirip dengan ls -l
:
find . -ls
Menjalankan Perintah pada Setiap File yang Ditemukan:
find . -type f -exec ls -l {} \;
Menjalankan Perintah pada Sekelompok File:
find . -type f -exec ls -l {} +
Menjalankan Perintah Setelah Konfirmasi:
find . -type f -ok rm {} \;
Menjalankan Perintah pada File yang Ditemukan di Direktori yang Sama:
find . -type f -execdir ls -l {} \;
Menjalankan Perintah Setelah Konfirmasi di Direktori yang Sama:
find . -type f -okdir ls -l {} \;
6. Ekspresi dan Operator
Mencari File yang Diubah Dalam 7 Hari Terakhir dan Lebih dari 1MB:
find . -mtime -7 -size +1M
Mencari File yang Tidak Ditemukan:
find . -not -name "*.txt"
Mencari File yang Dimiliki oleh Pengguna Tertentu atau Grup Tertentu:
find . \( -user username -o -group groupname \)
Mencari File yang Tidak Ditemukan dan Menampilkan Nama File:
find . -type f ! -name "*.txt" -print
Mencari File dengan Nama Tertentu dan Menjalankan Perintah di Direktori Tertentu:
find . -type f -name "*.log" -execdir grep "search_term" {} \;
7. Debugging
Menampilkan Debugging Output untuk Pencarian:
find . -D help
Menampilkan Debugging Output untuk Opsi Tertentu:
find . -D exec
Gunakan panduan ini untuk menjalankan pencarian file dan direktori yang canggih di sistem Linux Anda menggunakan find
.