Linux查找命令find、loacte、whereis、which、type梳理

Linux查找命令find、loacte、whereis、which、type梳理

Linux操作系統中有5種常用的查找命令:find,locate,whereis,which,type,他們分別用于查找不同的東西,本文將就他們各自的功能進行一下梳理。

find

功能

find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件。

Linux find 命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。

語法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find 根據下列規則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。

expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。

-mount, -xdev : 只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件

-amin n : 在過去 n 分鐘內被讀取過

-anewer file : 比文件 file 更晚被讀取過的文件

-atime n : 在過去n天內被讀取過的文件

-cmin n : 在過去 n 分鐘內被修改過

-cnewer file :比文件 file 更新的文件

-ctime n : 在過去n天內被修改過的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name

-ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫

-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫

-size n : 文件大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。

-type c : 文件類型是 c 的文件。

d: 目錄

示例

find . -name "*.c"		# 將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來
find . -type f				# 將當前目錄及其子目錄中的所有文件列出
find . -ctime -20     # 將當前目錄及其子目錄下所有最近 20 天內更新過的文件列出
find /var/log -type f -mtime +7 -ok rm {} \;   # 查找 /var/log 目錄中更改時間在 7 日以前的普通文件,并在刪除之前詢問它們
find . -type f -perm 644 -exec ls -l {} \;			# 查找當前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件
find / -type f -size 0 -exec ls -l {} \;				# 查找系統中所有文件長度為 0 的普通文件,并列出它們的完整路徑

locate

介紹

Linux locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄。

一般情況我們只需要輸入 locate [your_file_name] 即可查找指定文件。

語法

locate [-d ][--help][--version][范本樣式...]

示例

locate train.py 		# 查找trin.py文件

說明

locate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。

locate 的速度比 find 快,它并不是真的查找,而是查數據庫,一般文件數據庫在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是實時的,而是以數據庫的更新為準,一般是系統自己維護,也可以手工升級數據庫 :updatedb

whereis

功能

Linux whereis命令用于查找文件。

該指令會在特定目錄中查找符合條件的文件。這些文件應屬于原始代碼、二進制文件,或是幫助文件。

該指令只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。

語法

whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]

示例

whereis conda		

which

功能

Linux which命令用于查找文件。筆者通常用來查找命令的執行文件的位置,因為環境變量中$PATH存放的就是命令的執行文件的位置。如which rmwhich conda

which指令會在環境變量$PATH設置的目錄里查找符合條件的文件。

語法

which [文件...]

示例

which rm

type

功能

type命令其實不能算查找命令,它是用來區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用-p參數,會顯示該命令的路徑,相當于which命令。type命令加上-p命令就相當于which命令。

示例

$ type cd
cd is a shell builtin
$ type nv
nv is aliased to `watch -n 0.5 nvidia-smi'
$ type nvidia-smi
nvidia-smi is /usr/bin/nvidia-smi

cd是bash自帶的命令,nv是筆者自己設置的別名,nvidia-smi則是英偉達顯卡狀態查看命令。

Ref:

https://www.runoob.com/linux/linux-comm-find.html

https://www.cnblogs.com/kex1n/p/5233821.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532814.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532814.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532814.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php數據關系圖,如何利用navicat查看數據表的ER關系圖

文章背景&#xff1a;(相關推薦&#xff1a;navicat)由于工作需要&#xff0c;現在要分析一個數據庫&#xff0c;然后查看各個表之間的關系&#xff0c;所以需要查看表與表之間的關系圖&#xff0c;專業術語叫做ER關系圖。默認情況下&#xff0c;Navicat顯示的界面是這樣的&…

Linux軟鏈接的使用

Linux軟鏈接的使用 轉自&#xff1a;https://www.cnblogs.com/sueyyyy/p/10985443.html&#xff0c;本博文僅對原博排版稍微優化。 更為細致的硬鏈接、軟鏈接的介紹可參考&#xff1a;Linux中的硬鏈接和軟鏈接 另外&#xff0c;提供筆者對軟連接的一個最簡單的理解&#xff…

oracle死鎖優化,Oracle性能優化之LockContention(轉)

1、概念DML事務使用row-level locks,查詢不會鎖定數據。鎖有兩種模式&#xff1a;exlusive、share。鎖的類型&#xff1a;? DML or data locks:– Table-level locks(TM)– Row-level locks(TX)? DDL or dictionary locks一個transaction至少獲得兩個鎖&#xff1a;一個共享的…

Linux中g++與gcc的區別

轉自&#xff1a;https://blog.csdn.net/bit_clearoff/article/details/53965514 Windows中我們常用vs來編譯編寫好的C和C代碼&#xff1b;vs把編輯器&#xff0c;編譯器和調試器等工具都集成在這一款工具中&#xff0c;在Linux下我們能用什么工具來編譯所編寫好的代碼呢&#…

linux系統可以用迅雷嗎,在Linux系統下使用wine運行迅雷5的方法

在Linux系統下使用wine運行迅雷5的方法一、下載ies4linux去 http://www.tatanka.com.br/ies4linux/page/Installation 下載ies4linux的文件包(目前版本為2.99)&#xff0c;然后解壓縮。注意&#xff1a;這個網站被大陸和諧了&#xff0c;需要跳墻。至于怎么跳&#xff0c;諸位就…

從C源代碼到可執行文件的四個過程:預處理、編譯、匯編、鏈接

從C源代碼到可執行文件的四個過程&#xff1a;預處理、編譯、匯編、鏈接 總覽 我們將在Linux操作系統中&#xff0c;以C語言的Hello World程序為例&#xff0c;用gcc編譯器分步執行這四個步驟。 我們有再熟悉不過的HelloWorld程序&#xff0c;hello.c&#xff1a; #include …

uboot引導linux內核,u-boot啟動內核的幾種方式

1.uboot啟動內核的代碼縮減如下&#xff1a;s getenv ("bootcmd");debug ("### main_loop: bootcmd\"%s\"\n", s ? s : "");if (bootdelay > 0 && s && !abortboot (bootdelay)){run_command (s, 0);}2.假設boot…

跟我一起寫makefile: 概述、介紹、規則

跟我一起寫makefile 概述、介紹、規則 轉自&#xff1a;https://seisman.github.io/how-to-write-makefile/rules.html 概述 什么是makefile&#xff1f;或許很多Windows的程序員都不知道這個東西&#xff0c;因為那些Windows的集成開發環境&#xff08;integrated developm…

linux內核中cent文件夾,Centos 中如何快速定制二進制的內核 RPM 包

1、rpm 制作前的環境準備&#xff1a;yum install -y ncurses-devel qt-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel bc2、準…

TabError- inconsistent use of tabs and spaces in indentation 查驗及解決方法

TabError: inconsistent use of tabs and spaces in indentation 查驗及解決方法 報錯代碼 def eccv16(pretrainedTrue):model ECCVGenerator()if(pretrained):import torch.utils.model_zoo as model_zoomodel.load_state_dict(torch.load(/home/ps/.cache/torch/hub/check…

linux用xshell編輯文件,Linux遠程管理器xshell和xftp使用教程

Xshell 是一個強大的安全終端模擬軟件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。Xftp 是一個基于 MS windows 平臺的功能強大的SFTP、FTP 文件傳輸軟件。安裝完畢后打開xshell設置網站帳號信息設置主機信息設置服務器帳號設置字符集編碼設置好了…

strict=False 但還是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur

strictFalse 但還是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur 問題 我們知道通過 model.load_state_dict(state_dict, strictFalse)可以暫且忽略掉模型和參數文件中不匹配的參數&#xff0c;先將正常匹配的參數從文件中載入模…

linux中權限765啥意思,Linux中的文件權限

Linux系統中的每一個文件都與多種權限類型相關聯。在這些權限中&#xff0c;我們主要和三類權限打交道&#xff1a;用戶(user)、用戶組(group)和其他用戶(others)。用戶是文件的所有者&#xff1b;用戶組是指和文件所有者在同一組的其他多個用戶的集合&#xff1b;其他用戶是除…

CV中的色彩空間大全

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV顏色模型 HSV顏色空間 HSV(hue,saturation,value)顏色空間的模型對應于圓柱坐標系中的一個圓錐形子集&#xff0c;圓錐的頂面對應于V1. 它包含RGB模型中的R1&#xff0c;G1&#xff0c;B1 三個面&#xff0c;所代表的…

linux 系統調用時怎么知道當前上下文屬于那個進程,linux – 編寫系統調用來計算進程的上下文切換...

如果您的系統調用只應報告統計信息,則可以使用內核中已有的上下文切換計數代碼.struct rusage {...long ru_nvcsw; /* voluntary context switches */long ru_nivcsw; /* involuntary context switches */};您可以通過運行來嘗試&#xff1a;$/usr/bin/time -v /bin/ls -R....V…

linux串口緩沖區的大小,linux-----------串口設置緩沖器的大小

轉自:http://stackoverflow.com/questions/10815811/linux-serial-port-reading-can-i-change-size-of-input-bufferYou want to use the serial IOCTL TIOCSSERIAL which allows changing both receive buffer depth and send buffer depth (among other things). The maximum…

FLOPs、FLOPS、Params的含義及PyTorch中的計算方法

FLOPs、FLOPS、Params的含義及PyTorch中的計算方法 含義解釋 FLOPS&#xff1a;注意全大寫&#xff0c;是floating point operations per second的縮寫&#xff08;這里的大S表示second秒&#xff09;&#xff0c;表示每秒浮點運算次數&#xff0c;理解為計算速度。是一個衡量…

設置中文linux輸入ubuntu,Linux_ubuntu怎么設置成中文?ubuntu中文設置圖文方法,  很多朋友安裝ubuntu后,發 - phpStudy...

ubuntu怎么設置成中文&#xff1f;ubuntu中文設置圖文方法很多朋友安裝ubuntu后&#xff0c;發現都是英文&#xff0c;看不懂要怎么辦?其實ubuntu是可以設置成中文的&#xff0c;下文小編就為大家帶來ubuntu中文的設置方法&#xff0c;一起去看下設置方法吧。ubuntu中文設置方…

科普 | 單精度、雙精度、多精度和混合精度計算的區別是什么?

科普 | 單精度、雙精度、多精度和混合精度計算的區別是什么? 轉自&#xff1a;https://zhuanlan.zhihu.com/p/93812784 我們提到圓周率 π 的時候&#xff0c;它有很多種表達方式&#xff0c;既可以用數學常數3.14159表示&#xff0c;也可以用一長串1和0的二進制長串表示。 …

linux 磁盤分配 簡書,linux 磁盤分區

1物理磁盤的構成&#xff1a; 盤面&#xff1a;由一圈一圈的磁道組成機械手臂&#xff1a;讀取數據主軸馬達&#xff1a;幫助機械手臂轉動2 扇區&#xff1a;磁盤上存取數據的最小單位512字節按照扇區分配大小&#xff0c;如果數據只有一字節也會占用512字節簇&#xff1a;用若…