GNU/Linux >> Belajar Linux >  >> Linux

Linux Cari Perintah untuk Pemula (8 Contoh)

Meskipun find tidak diragukan lagi salah satu utilitas baris perintah yang paling populer dan kuat untuk pencarian file di Linux, itu tidak cukup cepat untuk situasi di mana Anda membutuhkan hasil instan. Jika Anda ingin mencari file di sistem Anda melalui baris perintah, dan kecepatan adalah prioritas utama, maka ada perintah lain yang dapat Anda gunakan:Locate .

Dalam tutorial ini, kita akan membahas lokasi perintah menggunakan contoh yang mudah dipahami. Harap dicatat bahwa semua instruksi/contoh yang disebutkan di sini telah diuji pada Ubuntu 16.04 LTS, dan lokasi versi yang kami gunakan adalah 0.26.

1. Cara menggunakan perintah locate di Linux

Perintah locate sangat mudah digunakan. Yang harus Anda lakukan adalah memberikan nama file yang ingin Anda cari.

locate [filename]

Misalnya, jika ingin mencari semua nama file yang memiliki string 'dir2' di dalamnya, maka saya dapat melakukannya menggunakan locate dengan cara berikut:

Catatan :Perintah 'locate dir2' (tanpa tanda bintang) juga akan berfungsi karena locate secara implisit menggantikan nama yang Anda berikan (misalnya NAME) dengan *NAME*.

2. Cara kerja perintah locate, atau, mengapa begitu cepat

Alasan lokasi sangat cepat adalah karena tidak membaca sistem file untuk file atau nama direktori yang dicari. Ini sebenarnya merujuk ke database (disiapkan oleh perintah updatedb ) untuk menemukan apa yang dicari pengguna dan berdasarkan penelusuran itu, menghasilkan outputnya.

Meskipun ini adalah pendekatan yang baik, ia memiliki kekurangannya sendiri. Masalah utamanya adalah bahwa setelah setiap file atau direktori baru dibuat di sistem, Anda perlu memperbarui database alat agar berfungsi dengan benar. Jika tidak, perintah tidak akan dapat menemukan file/direktori yang dibuat setelah pembaruan basis data terakhir.

Misalnya, jika saya mencoba mencari file dengan nama yang berisi string 'tosearch' di direktori 'Downloads' sistem saya, file find perintah menghasilkan satu hasil di output:

Tetapi ketika saya mencoba melakukan pencarian yang sama menggunakan perintah locate, itu tidak menghasilkan apa-apa.

Artinya, pencarian lokasi database tidak diperbarui setelah file dibuat di sistem. Jadi, mari perbarui database, yang dapat dilakukan dengan menggunakan updatedb memerintah. Begini cara melakukannya:

sudo updatedb

Dan sekarang ketika saya menjalankan perintah locate yang sama lagi, itu menunjukkan file di output:

Demikian pula, setelah file atau direktori dihapus, Anda perlu memastikan bahwa basis data lokasi telah diperbarui, karena jika tidak, perintah akan terus menampilkan file dalam outputnya saat dicari.

3. Cara membuat locate mencetak jumlah atau jumlah entri yang cocok di output

Seperti yang telah kita lihat, perintah locate menghasilkan nama file yang cocok bersama dengan path lengkap atau absolutnya di output. Tetapi jika Anda mau, Anda dapat membuat alat tersebut menyembunyikan semua informasi ini, dan hanya mencetak jumlah atau jumlah entri yang cocok sebagai gantinya. Ini dapat dilakukan dengan menggunakan -c opsi baris perintah.

4. Cara memaksa lokasi untuk mencetak hanya entri yang sesuai dengan file yang ada

Seperti yang telah kita bahas sebelumnya di artikel ini, jika sebuah file dihapus dari sistem, maka sampai Anda memperbarui kembali lokasi database, perintah akan terus menampilkan nama file tersebut di output. Namun, untuk kasus khusus ini, Anda dapat melewatkan pembaruan basis data, dan tetap mendapatkan hasil yang benar dalam keluaran menggunakan -e opsi baris perintah.

Misalnya, saya menghapus file 'filetosearch.txt' dari sistem saya. Ini dikonfirmasi oleh perintah find, yang tidak lagi dapat mencari file:

Tetapi ketika saya melakukan operasi yang sama menggunakan locate, itu masih menampilkan file di output:

Dan kami tahu mengapa - karena basis data locate tidak diperbarui setelah file dihapus. Namun, menggunakan -e opsi berhasil:

Inilah yang dikatakan halaman manual locate tentang opsi ini:"Cetak hanya entri yang merujuk ke file yang ada pada saat locate dijalankan."

5. Cara membuat lokasi abaikan perbedaan huruf

Secara default, operasi pencarian yang dilakukan oleh perintah locate adalah peka huruf besar/kecil. Tetapi Anda dapat memaksa alat untuk mengabaikan perbedaan huruf besar/kecil menggunakan -i opsi baris perintah.

Sebagai contoh, saya memiliki dua file di sistem saya, bernama 'newfiletosearch.txt' dan 'NEWFILETOSEARCH.txt'. Jadi, seperti yang Anda lihat, nama filenya sama, hanya saja kasusnya berbeda. Jika Anda bertanya temukan untuk menelusuri, misalkan, "*tosearch*", maka itu hanya akan menampilkan nama huruf kecil di outputnya:

Tetapi menggunakan opsi baris perintah -i memaksa perintah untuk mengabaikan kasus, dan kedua nama file dihasilkan di output:

6. Cara memisahkan entri keluaran dengan ASCII NUL

Secara default, entri keluaran yang dihasilkan oleh perintah locate dipisahkan menggunakan karakter baris baru (\n). Tetapi jika Anda mau, Anda dapat mengubah pemisah, dan memiliki ASCII NUL alih-alih baris baru. Ini dapat dilakukan dengan menggunakan -0 opsi baris perintah.

Misalnya, saya telah menjalankan perintah yang sama yang kita gunakan di bagian terakhir di atas, tetapi menambahkan opsi baris perintah -0:

Jadi Anda dapat melihat bahwa pemisah baris baru sudah tidak ada lagi - telah diganti dengan NUL.

7. Cara melihat informasi tentang database locate

Jika Anda ingin mengetahui lokasi basis data mana yang digunakan, serta statistik lain tentang basis data, gunakan -S opsi baris perintah.

8. Cara mencari nama file yang tepat menggunakan locate

Secara default, saat Anda mencari nama file menggunakan locate, maka nama yang Anda berikan - katakanlah NAME - secara implisit digantikan oleh *NAME*. Misalnya, jika saya mencari nama file 'testfile', maka semua nama yang cocok dengan *testfile* akan dihasilkan di output:

Tetapi bagaimana jika persyaratannya adalah mencari file dengan nama yang sama persis dengan 'testfile'? Nah, dalam hal ini, Anda harus menggunakan ekspresi reguler, yang dapat diaktifkan menggunakan -r opsi baris perintah. Jadi, inilah cara Anda dapat mencari hanya 'testfile' menggunakan ekspresi reguler:

locate -r /testfile$

Jika Anda baru mengenal ekspresi reguler, buka di sini.

Kesimpulan

Locate menawarkan lebih banyak opsi, tetapi yang kami diskusikan di sini seharusnya cukup untuk memberi Anda ide dasar tentang utilitas baris perintah, serta untuk membantu Anda memulai. Kami menyarankan Anda untuk terlebih dahulu mencoba semua opsi yang dijelaskan di sini pada mesin Linux Anda, lalu beralih ke opsi lain yang dapat Anda temukan di halaman manual alat.

Jika ada keraguan atau pertanyaan, jangan ragu untuk memberikan komentar.


Linux
  1. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  2. Perintah killall Linux untuk Pemula (8 Contoh)

  3. temukan Contoh Perintah di Linux

  1. 10 Contoh Perintah 'rm' untuk Pemula Linux

  2. 10 Contoh Perintah Linux Cat untuk Pemula

  3. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  1. Tutorial perintah comm Linux untuk pemula (5 contoh)

  2. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  3. Perintah dir Linux untuk pemula (10 contoh)