色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux系統攻略 用腳本快速實現everything程序

Linux愛好者 ? 來源:Linux愛好者 良許 ? 作者:Linux愛好者 良許 ? 2020-08-14 16:34 ? 次閱讀

我們知道,在 Windows 下,有一款非常實用的神器,叫作Everything,它可以在極短的時間里,搜索出來你所想要的文件/目錄,如下圖示:

Linux 下也有一些類似于 everything 的神器,比如:locate,Catfish,Tracker,等等。這些工具也十分強大,在此就不一一演示了,有興趣的小伙伴可以自行去體驗一下。

但是,其實我們自己也可以動手實現一個輕巧的 everything ,既可以滿足自己的需求,也可以提高自己的技術,還能在程序媛面前秀一把~

廢話不多說,我們直接上腳本:

#!/bin/sh #lazyfind #GNUAll-PermissiveLicense #Copyinganddistributionofthisfile,withorwithoutmodification, #arepermittedinanymediumwithoutroyaltyprovidedthecopyright #noticeandthisnoticearepreserved.Thisfileisofferedas-is, #withoutanywarranty. ##helpfunction functionhelpu{ echo"" echo"Fuzzysearchforfilename." echo"$0[--match-case|--path]filename" echo"" exit } ##setvariables MATCH="-iname" SEARCH="." ##parseoptions while[True];do if["$1"="--help"-o"$1"="-h"];then helpu elif["$1"="--match-case"-o"$1"="-m"];then MATCH="-name" shift1 elif["$1"="--path"-o"$1"="-p"];then SEARCH="${2}" shift2 else break fi done ##sanitizeinputfilenames ##createarray,retainspaces ARG=("${@}") set-e ##catchobviousinputerror if["X$ARG"="X"];then helpu fi ##performsearch forqueryin${ARG[*]};do /usr/bin/find"${SEARCH}""${MATCH}""*${ARG}*" done

這段腳本不是良許的原創,而是國外一個小哥的作品。這個腳本寫得還是非常簡潔,并且使用了一些常用的 Shell 編程技術,好好去研究它也會提高自己的 Shell 編程水平。

那么這個腳本怎么用?

第一步,創建一個腳本文件。

比如創建的腳本文件是lazy_find.sh。

$vimlazy_find.sh

然后,我們再把上面的腳本內容復制進去,再按:wq保存并退出。

接著,我們再用chmod命令賦予這個腳本可執行權限:

$chmod+xlazy_find.sh

第二步,使用腳本搜索文件。

最基本的用法,就是在腳本名稱后面直接跟上要搜索的文件名稱。不需要跟上完整的名稱,只需要其中一部分就好,比如:

$./lazy_find.shscr

運行結果如下:

可以看到,這個腳本不僅可以搜索當前路徑下的文件,還可以搜索當前目錄下的子目錄及孫目錄,也就是具有遞歸搜索的功能。

上面這種用法是不匹配大小寫的效果,也就是說,既可以匹配到scr,也可以匹配到Scr。那么,如果想要區分大小寫,需要怎么做?

只需加上-m選項即可。

$./lazy_find.sh-mscr

運行結果如下:

可以看到,Scr已經沒有再被匹配到了。

如果我們不想搜索當前目錄,而是想要搜索指定目錄,則只需加上--path,并指定想要搜索的路徑即可。

比如,我們想在家目錄下搜索包含有hello關鍵字的文件/目錄,可以這么運行命令:

$./lazy_find.sh--path~hello

運行結果如下:

第三步,自定義命令調用腳本

在上面的使用方法中,我們需要自己手動去運行那個腳本文件,這樣肯定是非常不方便的。我們可以自定義一個命令,比如lf,當運行這個命令時,就自動調用這個腳本,從而大大提高效率。

有 Linux 基礎的小伙伴應該想到了,我們可以使用alias命令來實現這個效果。為了能夠在系統重啟之后lf命令依然能使用,我們直接在.bashrc里進行修改。

$vim~/.bashrc

在.bashrc文件的末尾增加這么一行語句即可:

aliaslf=~/bin/lazy_find.sh#路徑別照抄,寫你自己的腳本路徑??!

增加完語句之后,按:wq保存并退出。然后,再使能我們的修改:

$.~/.bashrc

OK,大功告成了,我們在任意地方都可以使用這個命令了。

小結

本文我們通過一段腳本來實現 everything 的一些基本功能,通過學習這個腳本,我們可以提高自己的 Shell 編程能力,同時也可以學會如何自定義命令來調用自己寫的腳本。

本文比較基礎,適合小白入門。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11320

    瀏覽量

    209846
  • WINDOWS
    +關注

    關注

    4

    文章

    3551

    瀏覽量

    88909
  • 程序
    +關注

    關注

    117

    文章

    3792

    瀏覽量

    81162
  • 腳本
    +關注

    關注

    1

    文章

    391

    瀏覽量

    14892

原文標題:自己動手在 Linux 系統實現一個 everything 程序

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式Linux啟動時間優化的秘密之四-啟動腳本

    系統啟動 有多種方法可以減少啟動應用程序之前執行啟動腳本中花費的時間: 僅在啟動必要的依賴項之后,盡快啟動應用程序。 簡化shell腳本
    發表于 04-21 09:22 ?2452次閱讀
    嵌入式<b class='flag-5'>Linux</b>啟動時間優化的秘密之四-啟動<b class='flag-5'>腳本</b>

    幾個經典高效的linux腳本

    今天浩道跟大家分享硬核shell干貨,以下幾個腳本皆為經典高效的linux腳本,拿來即用!
    發表于 10-21 09:04 ?1499次閱讀

    Linux Shell腳本入門到實戰詳解

    Linux Shell腳本入門到實戰詳解
    發表于 02-17 15:03 ?648次閱讀

    Linux shell腳本分享

    今天浩道跟大家分享幾個Linux運維中常用到的shell腳本!
    發表于 07-18 09:53 ?563次閱讀
    <b class='flag-5'>Linux</b> shell<b class='flag-5'>腳本</b>分享

    [分享資料]Linux Shell Scripting Cookbook圖靈程序設計叢書:Linux Shell腳本攻略

    ,《Linux Shell腳本攻略》的內容由淺入深且緊貼實踐,使得他們能夠快速地學以致用,而專業人士也能從《Linux Shell
    發表于 09-11 23:56

    LINUX SHELL腳本攻略(中文版帶書簽)

    LINUX SHELL腳本攻略(中文版帶書簽)網絡資源僅供大家學習
    發表于 12-13 09:47

    Linux下組態,快速實現監控系統

    `基于紫金橋跨平臺跨平臺實時數據庫,可Linux系統快速實現一個監控系統。1、組態流程和傳統windows組態差不多,所以上手很快。2、不
    發表于 12-23 15:46

    如何通過Linux系統的Shell用戶訪問操作系統內核服務

    1、Linux Shell編程介紹Shell 是一個 C 語言編寫的程序,通過 Shell 用戶可以訪問操作系統內核服務。Shell 既是一種命令語言,又是一種
    發表于 06-14 16:50

    Linux腳本教程

    Linux腳本教程
    發表于 10-30 15:48 ?12次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>腳本</b>教程

    linux shell 腳本入門

    1. Linux 腳本編寫基礎 1.1 語法基本介紹 1.1.1 開頭 程序必須以下面的行開始(必須方在文件的第一行): #!/bin/sh 符號#!用來告訴系統它后面的參數是用來執行
    發表于 11-07 15:44 ?11次下載

    Linux常見調用shell腳本的三種方法

    編寫Linux下的應用程序時有時需要調用Linux的相關shell腳本,在這些腳本中通過調用Linux
    的頭像 發表于 06-28 14:28 ?8447次閱讀

    Linux系統命令及shell腳本實踐指南

    Linux系統命令及shell腳本實踐指南資料下載。
    發表于 06-01 14:47 ?28次下載

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發表于 01-11 16:50 ?4次下載

    Linux系統中調用腳本的常見方法

    linux系統中有多種方法可以在系統啟動后調用腳本,接下來介紹幾種常見的方法
    的頭像 發表于 12-13 18:16 ?1057次閱讀

    Linux從零到精通:最簡單的Shell腳本入門教程

    case語句 shell變量數組 shell腳本前言 |為什么學習shell編程 Shell腳本語言是實現Linux/UNIX系統
    的頭像 發表于 12-05 09:56 ?520次閱讀
    <b class='flag-5'>Linux</b>從零到精通:最簡單的Shell<b class='flag-5'>腳本</b>入門教程
    主站蜘蛛池模板: 97影院理论午夜伦不卡偷| 亚洲国产精品免费线观看视频| 男人的天堂黄色片| 怡春院院日本一区二区久久| 国精产品砖一区二区三区糖心| 天天啪免费视频在线看| 成人亚洲视频在线观看| 欧美一夜爽爽爽爽爽爽| 成人免费无毒在线观看网站| 久久综合中文字幕佐佐木希| 亚洲妈妈精品一区二区三区| 国产欧美日韩国产高清| 性欧美13处14处破| 中文字幕在线不卡精品视频99| chinese野外男女free| 国内精品久久久久影院网站| 亚婷婷洲AV久久蜜臀无码| 国产精品久久久久久久伊一| 午夜想想爱| 国产在线精彩亚洲久久| 亚洲 无码 制服 日韩| 国产午夜一级淫片| 亚洲一区免费看| 久久热最新网站获取3| 10分钟免费观看视频| 国产精品99久久久久久AV蜜臀| 无码国产成人777爽死| 91免费网站在线看入口黄 | 中文字幕人成人乱码亚洲影视S | 9277在线观看免费高清完整版| 男总裁憋尿PLAY灌尿BL | 99久久精品国产高清一区二区| 漂亮的av女演员| 国产成人国产在线观看入口| 亚洲国产精品无码2019| 国产传媒在线播放| 亚洲VA欧美VA天堂V国产综合| 久久久久久电影| 一本道色播| 免费撕开胸罩吮胸视频| 成人无码精品1区2区3区免费看|