Android

Cari arahan dalam linux

20200430 perintah linux

20200430 perintah linux

Isi kandungan:

Anonim

Salah satu operasi yang paling biasa apabila bekerja di Linux ialah mencari fail dan direktori. Pada sistem Linux, terdapat beberapa arahan yang membolehkan anda mencari fail dengan find dan locate yang paling banyak digunakan.

Perintah locate adalah cara yang paling cepat dan paling mudah untuk mencari fail dan direktori mengikut nama mereka.

Dalam tutorial ini, kami akan menerangkan cara menggunakan arahan locate .

Memasang locate (cari perintah tidak dijumpai)

Bergantung kepada pengedaran dan bagaimana sistem diperuntukkan pakej loceng mungkin atau mungkin tidak dipasang sebelum sistem Linux anda.

Untuk memeriksa sama ada utiliti locat dipasang pada sistem anda, buka terminal anda, ketik locate , dan tekan Enter . Jika pakej dipasang sistem akan memaparkan locate: no pattern to search for specified , jika tidak, anda akan melihat sesuatu seperti locate command not found .

Jika locate tidak dipasang, anda boleh dengan mudah memasangnya menggunakan pengurus pakej distro anda.

Pasang locate di Ubuntu dan Debian

sudo apt update sudo apt install mlocate

Pasang locate pada CentOS dan Fedora

sudo yum install mlocate

Bagaimana locate kerja

Perintah locate mencari corak yang diberikan melalui fail pangkalan data yang dihasilkan oleh perintah updatedb . Hasil yang dijumpai dipaparkan di skrin, satu setiap baris.

Semasa pemasangan pakej mlocate, tugas cron dicipta yang menjalankan perintah updatedb setiap 24 jam. Ini memastikan pangkalan data sentiasa dikemas kini. Untuk mendapatkan maklumat lanjut tentang kerja cron periksa fail /etc/cron.daily/mlocate .

Pangkalan data boleh dikemas kini secara manual dengan menjalankan arahan diperbarui sebagai root atau pengguna dengan hak istimewa sudo:

sudo updatedb

Proses kemas kini akan mengambil sedikit masa, bergantung kepada jumlah fail dan direktori dan kelajuan sistem anda.

Fail yang dibuat selepas kemas kini pangkalan data tidak akan ditunjukkan dalam hasil carian.

Berbanding dengan arahan find yang lebih kuat yang mencari sistem fail, locate berfungsi lebih pantas tetapi tidak mempunyai banyak ciri dan boleh mencari hanya dengan nama fail.

Cara Menggunakan Perintah locate

Sintaks untuk arahan locate adalah seperti berikut:

locate PATTERN…

Dalam bentuk yang paling asas, apabila digunakan tanpa sebarang pilihan arahan locate akan mencetak laluan mutlak bagi semua fail dan direktori yang sepadan dengan corak carian dan yang mana pengguna telah membaca kebenaran.

Sebagai contoh untuk mencari fail yang bernama .bashrc anda akan menaip:

locate.bashrc

Output akan menyertakan nama semua fail yang mengandungi string .bashrc dalam nama mereka:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

Fail /root/.bashrc tidak akan ditunjukkan kerana kami menjalankan arahan sebagai pengguna biasa yang tidak mempunyai keizinan akses ke direktori /root .

Jika senarai hasilnya panjang, untuk pembacaan yang lebih baik anda boleh paip output kepada perintah yang less :

locate.bashrc | less

Perintah locate juga menerima corak yang mengandungi watak-watak globbing seperti watak kad liar * . Apabila corak tidak mengandungi watak globbing, arahan mencari *PATTERN* , itulah sebabnya dalam contoh sebelumnya semua fail yang mengandungi corak carian dalam nama mereka dipaparkan.

Kad wildcard adalah simbol yang digunakan untuk mewakili sifar, satu atau lebih aksara. Sebagai contoh, untuk mencari semua fail .md pada sistem yang anda akan gunakan:

locate *.md

Untuk mengehadkan hasil carian, gunakan pilihan -n diikuti dengan bilangan hasil yang ingin dipaparkan. Sebagai contoh, arahan berikut akan mencari semua fail .py dan hanya memaparkan 10 hasil:

locate -n 10 *.py

Secara lalai, locate melakukan carian sensitif huruf. Pilihan -i ( --ignore-case ) locate untuk mengabaikan kes dan menjalankan carian tanpa kesulitan.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Untuk memaparkan kiraan semua penyertaan yang sepadan, gunakan pilihan -c ( --count ). Perintah berikut akan mengembalikan bilangan semua fail yang mengandungi .bashrc dalam nama mereka:

locate -c.bashrc

6

Secara lalai, locate tidak semestinya sama ada fail yang dijumpai masih wujud pada sistem fail. Jika anda memadam fail selepas kemas kini pangkalan data terkini jika fail sepadan dengan corak carian, ia akan disertakan dalam hasil carian.

Untuk memaparkan hanya nama-nama fail yang wujud pada masa yang digunakan dijalankan menggunakan pilihan -e ( --existing ). Sebagai contoh, yang berikut akan memulangkan fail .json sedia ada sahaja:

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

Kesimpulannya

Perintah locate mencari sistem fail untuk fail dan direktori yang namanya sepadan dengan corak yang diberikan. Sintaks arahan adalah mudah diingat dan hasilnya ditunjukkan hampir dengan serta-merta.

Untuk mendapatkan maklumat lanjut mengenai semua pilihan yang terdapat pada man locate jenis perintah man locate di terminal anda.

mencari terminal