linux 命令案例學習——文件搜索

兩個搜索文件的工具

  • locate ?——僅僅通過文件名查找文件
  • find ? ? ——依據文件的各種屬性在既定目錄(包括子目錄)里查找

一個通常與文件搜索命令一起使用、處理搜索結果文件列表的命令

  • xargs

?

1 locate

1.1 查找文件名中含有zip的文件名

locate zip

看下結果太嚇人了,把所有含有zip的文件都輸出來了

?1.2 文件名中含有zip,并且限定下范圍所在目錄以bin/結尾

locate /bin/zip

結果

1.3 文件名中含有zip,并且所在目錄中含有usr

locate zip | grep usr

?

2. find

2.1 test選項

2.1.1 查看目錄/usr下文件列表清單的數目

find /usr | wc -l

  • |是管道命令,把|左邊的輸出作為|右邊的輸入
  • wc 是"word count"之意,單純寫wc 會統計出行數、字數、字節數;加上-l參數后只統計出行數。

2.1.2 查看目錄/usr下類型為目錄的文件的數量

find /usr -type d |wc -l

:find支持搜索的文件類型

? ? ?b - 塊設備文件 ?c - 字符設備文件 ?d - 目錄 ?f - 普通文件 ?l - 符號鏈接

2.1.3 查看目錄/usr下類型為普通文件、名字格式為".so"、大小為1M的文件的數目

find /usr  -type f -name "*.png" -size 1M |wc -l

  • -name "*.png"表示查找的符合.png通配符格式
  • -size是文件的大小:+1M--比1M大 ? ?-1M--比1M小 ? ?1M--正好為1M

2.1.4下邊再列舉幾條test參數(不全,詳見man find)

  • -empty ? ? ? ? ? ?匹配空文件和空目錄
  • -group name ? ?匹配目錄名name
  • -user name ? ? ?匹配文件名name
  • -cmin n ? ? ? ? ? 匹配n分鐘前改變狀態(內容或屬性)的文件或目錄
  • -mmin n ? ? ? ? ?匹配n分鐘前被修改的文件或目錄
  • -mtime ? ? ? ? ? ?匹配n*24小時前被修改的文件或目錄
  • perm ? ? ? ? ? ? ? 匹配訪問權限與既定模式匹配的文件或目錄。既定模式可以以八進制或符號形式表示

2.2 action選項

2.2.1 查找當前目錄下文件名中包含.swp的所有文件并刪除

find . -type f -name "*.swp"  -delete

:預定義的find命令操作

  • -delete ?刪除匹配文件
  • -ls ? ? ? ?對匹配文件進行標準化輸出其文件名及所需求的其他信息
  • -print ? ?將匹配的文件進行全路徑輸出(當沒有其他具體操作時,默認操作)
  • -quit ? ? 一旦匹配成功便退出

?

2.2.2 查找當前目錄下含有某個字符串的所有文件名

find .|xargs grep "IBM" 
find .|xargs grep"IBM" -l   #只打印出文件名 

  • xargs是一條Unix和類Unix操作系統的常用命令。它的作用是將參數列表轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。

?

轉載于:https://www.cnblogs.com/kaituorensheng/p/3796663.html

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

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

相關文章

Redis 緩存擊穿、緩存穿透、緩存雪崩的處理方法

常用的分布式緩存Redis單機并發量能達到萬級,常用的關系型數據庫MySQL一般并發量是千級,他們支持的并發量可能差十倍,所以要盡可能把流量攔截在緩存層。 緩存擊穿 一個并發訪問量比較大的key在某個時間過期,導致所有的請求直接打…

Java-- 異常與記錄日志

可以使用java.util.logging工具將輸出記錄在日志中。記錄日志的的功能還是很簡單的,下面直接鋪出代碼: 1 package com.exceptions;2 3 import java.io.*;4 import java.util.logging.Logger;5 6 class LoggingException extends Exception{7 private…

圖像處理基礎

圖像處理基礎 在計算機中,按照顏色和灰度的多少可以將圖像分為二值圖像、灰度圖像、索引圖像和真彩色RGB圖像四種基本類型。目前,大多數圖像處理軟件都支持這四種類型的圖像。 (1) 二值圖像:一幅二值圖像的二維矩陣僅由0、1兩個值構成&#x…

緩存一致性解決方法

對于緩存 數據庫讀寫,有個經典的Cache Aside Pattern: 讀取:先讀取緩存,緩存里沒有,讀取數據庫,然后返回響應,順便保存緩存: 更新:先更新數據庫,然后刪除緩…

使用SpringMVC的表單驗證

上一篇搭建了基本項目,這一篇在此基礎上加入表單驗證功能。 第一步,添加command類 Java代碼 package test.bean; import javax.validation.constraints.Size; public class User { Size(min3,max30) private String username; …

hdu1247(Hat’s Words)

我以為像a、aa這樣的輸入應該是沒有輸出的,結果還是要輸出aa。 建樹的時候就是常規建樹,不過查找的時候要做一些變形:對于一個單詞,從第一位檢查有沒有單詞是它的前綴,如果有的話,再去檢查它的后半部分是不…

單體、分布式、微服務、Serverless軟件架構一覽

目錄軟件架構單體架構分布式應用微服務架構Serverless架構總結Reference軟件架構 軟件架構就是軟件的基本結構,合適的架構是軟件成功的最重要因素之一。這里列舉了目前流行的4種軟件架構。 單體架構 典型的三級架構:前端(web/手機端&#…

MyBatis3 association error - The content of element type resultMap must match (constructor?,id*,r...

MyBatis3 association error - The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)" 1.后臺錯誤信息-問題現象: ERROR [geby:Context initialization failed] 2013-0…

Midjourney V6刷屏,但它最可怕的地方居然不是那些神圖?

Midjourney在沉寂九個月后推出了Midjourney V6,這個文生圖產品體現出的更細膩的細節處理,更強大的語言理解能力和更加“不像AI”的圖片效果在過去幾天引發一片驚呼。 作為一個閉源的模型產品,Midjourney的魔法配方并不為人所知,但…

HTTP 錯誤500.19 -Internal Server Error

HTTP 錯誤500.19 -Internal Server Error 原文:HTTP 錯誤500.19 -Internal Server Error HTTP 錯誤500.19 -Internal Server Error 錯誤代碼 0x80070021 asp.net 2009-11-05 16:54:33 閱讀484 評論1 字號:大中小 錯誤摘要 HTTP 錯誤500.19 -Internal Server Error …

連續內存分區式內存管理

目錄前言分區式內存管理動態分區內存管理總結本筆記參考黃工的https://mp.weixin.qq.com/s/k0W_LqI1zBAYC1GU1U2HQA 前言 內存管理模塊主要負責內存的初始化、分配以及釋放。 從分配內存是否連續可以分為兩大類: 1、連續內存管理 為進程分配的內存空間是連續的&a…

用DEVC++作圖

小海豚學NOIP,老師說要用DEV C。 小海豚喜歡畫圖,記得以前用C#編些程序給她看。可前一陣打開看,我的免費Visual Studio過期了。可惡的Microsoft ,不想用盜版難道就要每個月就下載一次? 于是就用DEV C的Windows調用吧。…

Python服務器開發三:Socket

Python服務器開發三:Socket socket是操作系統中I/O的延續,它可以使進程和機器之間的通信成為可能。socket可以看成一個標準的文件描述符。不同的是文件需要用open()函數打開,而socket用socket() 函數建立.recv()、send()函數和read()、write(…

Syntax error: Bad for loop variable解決辦法

在Ubuntu下寫的shell文件t.sh執行時出現錯誤: 1 t.sh: 6: Syntax error: Bad for loop variable 從ubuntu 6.10開始,ubuntu就將之前默認的bash shell更換成了dash shell,其表現為/bin/sh鏈接倒了/bin/dash,而不是傳統的/bin/bash&…

Linux命令常見

摘自: 常考的 21 條 Linux 命令 目錄)cd,切換路徑ls,查看文件與目錄的命令cp,用于復制文件mv,用于移動文件、目錄cat,查看文件內容find,文件搜索文件權限命令, 設置權限,-取消權限文本處理命令打包和壓縮文件命令進程相…

記一次調試

這是我最近幾個月來遇到的最棘手的一個問題:* 昨天花了4個小時找出第一層次的原因這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是一個gradle的plugin,用來resolve公司內部的dependency的,…

OSGi.NET 學習筆記 [模塊化和插件化][小結]

【目錄】-【模塊化和插件化】-【小結】 現在我們來對OSGi.NET的“模塊化和插件化”做一個小結,再次把官方的說明拿出來  1) 物理隔離:基于UIOSP開發的模塊是一個物理隔離的可單獨部署的模塊,每一個模塊擁有獨立的文件夾、類型空…

miniob :相關環境配置

How to build 參考視頻:https://www.bilibili.com/video/BV1gv411A7oA?spm_id_from333.999.0.0將代碼下載并且安裝編譯。 git clone失敗的話參考:https://blog.csdn.net/sxg0205/article/details/81412921 install cmakebuild libevent git submodul…

Fedora 20 配置

前幾天裝了fedora 20, 斷斷續續的進行了以下配置: 1. 安裝oracle java及jdk版本切換 安裝的過程很簡單,從oracle官網上下載jdk及jre的rpm包,使用rpm -ivh 安裝。但是遇到一個問題,因為fedora系統自帶了openJDK,如果安裝oracle的jd…

raft算法學習(一):角色概念以及選舉過程

Raft算法是強領導模型,集群中只能有一個領導。 下面是raft的視頻講解: raft raft的三種角色及其概念 服務器節點狀態一共有三種:領導者(Leader)、跟隨著(Follower)、候選人(Candid…