【【Linux系統下常用指令學習 之 二 】】

Linux系統下常用指令學習 之 二

文件查詢和搜索

文件的查詢和搜索也是最常用的操作,在嵌入式 Linux 開發中常常需要在 Linux 源碼文件中查詢某個文件是否存在,或者搜索哪些文件都調用了某個函數等等。

1、命令 find
find 命令用于在目錄結構中查找文件,其命令格式如下:
find [路徑] [參數] [關鍵字]
路徑是要查找的目錄路徑,如果不寫的話表示在當前目錄下查找,關鍵字是文件名的一
部分,主要參數如下:
-name 按照文件名稱查找,查找與 filename 匹配的文件,可使用通配符。
-depth 從指定目錄下的最深層的子目錄開始查找。
-gid<群組識別碼> 查找符合指定的群組識別碼的文件或目錄。
-group<群組名稱> 查找符合指定的群組名稱的文件或目錄。
-size<文件大小> 查找符合指定文件大小的文件。
-type<文件類型> 查找符合指定文件類型的文件。
-user<擁有者名稱>查找符合指定的擁有者名稱的文件或目錄。
在這里插入圖片描述

我們使用的命令 find / etc / -name vim*
意思是我們現在查找 在 etc文件夾下的 帶有 vim開頭的 文件

2 . 命令 grep
find 命令 用于 在目錄中搜索文件 , 我們有時候需要在文件中搜索一串關鍵字 , grep 就是完成這個功能的,grep 命令用于查找包含指定關鍵字的文件,如果發現某個文件的內容包含所指定的關鍵字,grep 命令就會把包含指定關鍵字的這一行標記出來
grep [參數] 關鍵字 文件列表
grep 一次只能查找一個關鍵字 :

-b 在顯示符合關鍵字的那一列前,標記處該列第 1 個字符的位編號。
-c 計算符合關鍵字的列數。
-d<進行動作> 當指定要查找的是目錄而非文件時,必須使用此參數!否則 grep 指令將
回報信息并停止搜索。
-i 忽略字符大小寫。
-v 反轉查找,只顯示不匹配的行。
-r 在指定目錄中遞歸查找。
例如: 我們在此處使用 grep -ir “ubuntu” /usr
我們分類之后 可以觀察到

文件類型
在這里插入圖片描述

比如 test1 的第一個字符是“d”,test1.tar.bz2 文件第一個字符是“-”。這些字符表示的
文件類型如下:

  • 普通文件,一些應用程序創建的,比如文檔、圖片、音樂等等。
    d 目錄文件。
    c 字符設備文件,Linux 驅動里面的字符設備驅動,比如串口設備,音頻設備等。
    b 塊設備文件,存儲設備驅動,比如硬盤,U 盤等。
    l 符號連接文件,相當于 Windwos 下的快捷方式。
    s 套接字文件。
    p 管道文件,主要指 FIFO 文件。

權限管理 :
Ubuntu 是一個多用戶系統,我們可以給不同的使用者創建不同的用戶賬號,每個用戶使
用各自的賬號登陸,使用用戶賬號的目的一是方便系統管理員管理,控制不同用戶對系統的
訪問權限,另一方面是為用戶提供安全性保護。
裝系統的時候創建的用戶其權限比后面創建的用戶大一點,但是沒有 root 用戶權限大,
Ubuntu 下用戶類型分為以下 3 類:
● 初次創建的用戶,此用戶可以完成比普通用戶更多的功能。
● root 用戶,系統管理員,系統中的玉皇大帝,擁有至高無上的權利。
● 普通用戶,安裝完操作系統以后被創建的用戶。
在這里插入圖片描述

。Ubuntu 下我們會常跟用戶權限打交道,權限就是用戶對于系
統資源的使用限制情況,root 用戶擁有最大的權限,可以為所欲為,裝系統的時候創建的用
戶擁有 root 用戶的部分權限,其它普通用戶的權限最低。對于我們做嵌入式開發的人一般不
關注用戶的權限問題,因為嵌入式基本是單用戶,做嵌入式開發重點關注的是文件的權限問
題。
對于一個文件通常有三種權限:讀?、寫(w)和執行(x),
在這里插入圖片描述

我們 舉個 例子
-rw-rw-r-- 1 zuozhongkai zuozhongkai 0 12 月 25 20:44 test.c
這句話 來自于 正點原子 借用一下
我們會發現 其中 -rw-rw-r-- 標示著 文件權限與 用戶 用戶組之間的關系
第一位的“-” 小短橫 - 表示文件類型 剩下的9位 以3位 為1組
即 我們可以分割 - rw- rw- r–
分別表示文件擁有者的權限,文件擁有者所在用
戶組的權限 以及其它用戶權限
后面 還有兩個 數據 例如 這里的 zuozhongkai zuozhongkai
表示著 代表文件擁有者(用
戶) 和 該用戶所在的用戶組
第一個小短橫 “-” 表示 文件類型是 普通文件
接下來是 我們 看出文件的擁有者是 zuozhongkai,其對文件 tesst.c 的權限是“rw-”,也就是對該文件擁有讀和寫兩種權限。
下面的是用戶 zuozhongkai 所在的用戶組也叫做 zuozhongkai,其組內用戶對于文件 test.c 的權限是“rw-”,也是擁有讀和寫這兩種權限。
最后一個 r-- 表示 其它用戶對于文件 test.c 的權限是“r–”,也就是只讀權限。
對于文件,可讀權限表示可以打開查看文件內容,可寫權限表示可以對文件進行修改,可執行權限就是可以運行此文件(如果是軟件的話)。對于文件夾,擁有可讀權限才可以使用命令 ls 查看文件夾中的內容,擁有可執行權限才能進入到文件夾內部。如果某個用戶對某個文件不具有相應的權限的話就不能進行相應的操作,比如根目錄“/”下的文件只有 root 用戶才有權限進行修改,如果以普通用戶去修改的話就會提示沒有權限。

文件的權限有三種 : 讀(r) 寫(w) 執行(x)
我們也可以使用二進制數表示,三種權限就可以使用 3 位二進制數來表示,一種權限對應一個二進制位,如果該位為 1 就表示具備此權限,如果該位為 0 就表示沒不具備此權限,如下表所示:
在這里插入圖片描述
在這里插入圖片描述

另外我們也開始使用 a、u、g 和 o 表示文件的歸屬關系,用=、+和-表示文件權限的變化,如下表所示:
在這里插入圖片描述

對于文件 test.c,我們想要修改其歸屬用戶(zuozhongkai)對其擁有可執行權限,那么就可以使用:u+x。如果希望設置歸屬用戶及其所在的用戶組都對其擁有可執行權限就可以使用:gu+x。
u 是歸屬用戶 + 添加某權限 x 可執行權限 u+x
g歸屬組 u 歸屬用戶 + 添加某種屬性 x 可執行權限 gu+x

我們可以使用另外的 權限管理命令
chmod chown
在這里插入圖片描述

我們可以通過數字的方法 修改權限
在這里插入圖片描述

我們可以通過遞歸修改整個文件夾中文件的權限
在這里插入圖片描述

我們使用的指令是 chmod -R 777 test11
-R 表示遞歸 處理 test11 下所有文件夾的 權限

文件歸屬者修改命令 chown
命令 chown 用來修改某個文件或者目錄的歸屬者用戶或者用戶組,命令格式如下:
chown [參數] [用戶名.<組名>] [文件名/目錄]
其中[用戶名.<組名>]表示要將文件或者目錄改為哪一個用戶或者用戶組,用戶名和組名
用“.”隔開,其中用戶名和組名中的任何一個都可以省略,命令主要參數如下:
-c 效果同-v 類似,但僅回顯更改的部分。
-f 不顯示錯誤信息。
-h 只對符號連接的文件做修改,不改動其它任何相關的文件。
-R 遞歸處理,將指定的目錄下的所有文件和子目錄一起處理。
-v 顯示處理過程。

chown
在這里插入圖片描述

Linux 磁盤管理
Linux 的磁盤管理體系和 Windows 有很大的區別,在 Windows 下經常會遇到“分區”這個概念,在 Linux 中一般不叫“分區”而叫“掛載點”。 “掛載點”就是將一個硬盤的一部分做成文件夾的形式,這個文件夾的名字就是“掛載點”,不管在哪個發行版的 Linux 中,用戶是絕對看到不到 C 盤、D 盤這樣的概念的,只能看到以文件夾形式存在的“掛載點”.
在這里插入圖片描述

有四個磁盤設備文件,其中 sd 表示是 SATA硬盤或者其它外部設備,最后面的數字表示該硬盤上的第 n 個分區,比如/dev/sda1 就表示磁盤 sda 上的第一個分區。圖 2.8.2中都是以/dev/sda 開頭的,說明當前只有一個硬盤。如果再插上 U 盤、SD 卡啥的就可能會出現/dev/sdb,/dev/sdc等等。

磁盤管理命令
1.磁盤分區命令 fdisk
如果要對某個磁盤進行分區,可以使用命令 fdisk,命令格如下:fdisk [參數]主要參數如下:-b<分區大小> 指定每個分區的大小。-l 列出指定設備的分區表。-s<分區編號> 將指定的分區大小輸出到標準的輸出上,單位為塊。-u 搭配“-l”參數,會用分區數目取代柱面數目,來表示每個分區的起始地址。
p 顯示現有的分區
n 建立新分區
t 更改分區類型
d 刪除現有的分區
a 更改分區啟動標志
w 對分區的更改寫入到硬盤或者存儲器中。
q 不保存退出。
由于我的 U 盤里面還有一些重要的文件,所以現在不能進行分區,所以就不演示 fdisk 的
分區操作了,后面我們講解裸機例程的時候需要將可執行的 bin 文件燒寫到 SD 卡中,燒寫到
SD 卡之前需要對 SD 卡進行分區,到時候再詳細講解如何使用 fdisk 命令對磁盤進行分區。
2、格式化命令 mkfs
使用命令 fdisk 創建好一個分區以后,我們需要對其格式化,也就是在這個分區上創建一
個文件系統,Linux 下的格式化命令為 mkfs,命令格式如下:
mkfs [參數] [-t 文件系統類型] [分區名稱]
主要參數如下:
fs 指定建立文件系統時的參數
-V 顯示版本信息和簡要的使用方法。
-v 顯示版本信息和詳細的使用方法。
比如我們要格式化 U 盤的分區/dev/sdb1 為 FAT 格式,那么就可以使用如下命令:
mkfs –t vfat /dev/sdb1
3、掛載分區命令 mount
我們創建好分區并且格式化以后肯定是要使用硬盤或者 U 盤的,那么如何訪問磁盤呢?
比如我的 U 盤就一個分區,為/dev/sdb1,如果直接打開文件/dev/sdb1 會發現根本就不是我們
要的結果。我們需要將/dev/sdb1 這個分區掛載到一個文件夾中,然后通過這個文件訪問 U 盤,
磁盤掛載命令為 mount,命令格式如下:
mount [參數] -t [類型] [設備名稱] [目的文件夾]
命令主要參數有:
-V 顯示程序版本。
-h 顯示輔助信息。
-v 顯示執行過程詳細信息。
-o ro 只讀模式掛載。
-o rw 讀寫模式掛載。
-s-r 等于-o ro。
-w 等于-o rw。
掛載點是一個文件夾,因此在掛載之前先要創建一個文件夾,一般我們把掛載點放到
“/mnt”目錄下,在“/mnt”下創建一個 tmp 文件夾,然后將 U 盤的/dev/sdb1 分區掛載到
/mnt/tmp 文件夾里面,
4、卸載命令 umount
當我們不在需要訪問已經掛載的 U 盤,可以通過 umount 將其從卸載點卸除,命令格式如
下:
umount [參數] -t [文件系統類型] [設備名稱]
-a 卸載/etc/mtab 中的所有文件系統。
-h 顯示幫助。
-n 卸載時不要將信息存入到/etc/mtab 文件中
-r 如果無法成功卸載,則嘗試以只讀的方式重新掛載。
-t <文件系統類型> 僅卸載選項中指定的文件系統。
-v 顯示執行過程。

/ 上述磁盤分區 并未認真學習 僅僅是復制粘貼

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

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

相關文章

BUUCTF [ACTF新生賽2020]outguess 1

BUUCTF:https://buuoj.cn/challenges 題目描述&#xff1a; 得到的 flag 請包上 flag{} 提交。 密文&#xff1a; 下載附件&#xff0c;得到一堆文件。 解題思路&#xff1a; 1、根據題目和flag.txt文件提示&#xff0c;猜測為outguess隱寫。 outguess下載安裝 kail 終端命…

數字鄉村:科技賦能農村產業升級

數字鄉村&#xff1a;科技賦能農村產業升級 數字鄉村是指通過信息技術和數字化手段&#xff0c;推動農業現代化、農村經濟發展和農民增收的一種新模式。近年來&#xff0c;隨著互聯網技術的飛速發展&#xff0c;數字鄉村開始在全國范圍內迅速興起&#xff0c;為鄉村經濟注入了新…

leedcode 刷題 - 除自身以外數組的乘積 - 和為 K 的子數組

I238. 除自身以外數組的乘積 - 力扣&#xff08;LeetCode&#xff09; 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴的乘積都在…

AdaBoost提升分類器性能

目錄 AdaBoost算法原理 AdaBoost工作詳情 初始權重分配 第一輪 第二輪 后續輪次 最終模型 AdaBoost的API解釋 AdaBoost 對房價進行預測 AdaBoost 與決策樹模型的比較 結論 AdaBoost算法原理 在數據挖掘中&#xff0c;分類算法可以說是核心算法&#xff0c;其中 Ada…

gitee推薦-PHP面試準備的資料

該內容為giee項目。PHP-Interview: 這個項目是自己準備PHP面試整理的資料。包括PHP、MySQL、Linux、計算機網絡等資料。方便自己以后查閱&#xff0c;會不定期更新&#xff0c;歡迎提交pr&#xff0c;如果錯誤&#xff0c;請指出&#xff0c;謝謝 在線預覽地址&#xff1a;Intr…

leetcode面試經典150題——31 無重復字符的最長子串(方法二極簡代碼!!!)

題目&#xff1a; 無重復字符的最長子串 描述&#xff1a; 給定一個字符串 s &#xff0c;請你找出其中不含有重復字符的 最長子串 的長度。 示例 1: 輸入: s “abcabcbb” 輸出: 3 解釋: 因為無重復字符的最長子串是 “abc”&#xff0c;所以其長度為 3。 leetcode鏈接 方法…

【LeetCode刷題筆記】DFSBFS(三)

圖的基礎知識 鄰接矩陣是一個二維表,其中橫縱坐標交叉的格子值為 1 的表示這兩個頂點是連通的,否則是不連通的。

Python-csv庫進行數據保存和讀寫

在 Python 中使用 CSV 文件非常簡單&#xff0c;Python 提供了內置的 csv 模塊來處理 CSV 文件。你可以使用 csv 模塊來讀取、寫入和操作 CSV 文件中的數據。 基礎使用 讀取 CSV 文件 python import csv# 打開 CSV 文件進行讀取 with open(file.csv, moder) as file:reader …

NVM得介紹和詳細使用教程

NVM???????&#xff08;Node Version Manager&#xff09;是一個用于管理多個Node.js版本的工具。它允許您在同一臺計算機上輕松地切換和管理不同的Node.js版本。以下是NVM的介紹和詳細使用教程&#xff1a; 安裝NVM&#xff1a; 首先&#xff0c;您需要在計算機上安裝N…

C#串口通信從入門到精通(27)——高速通信下解決數據處理慢的問題(20ms以內)

前言 我們在開發串口通信程序時,有時候會遇到比如單片機或者傳感器發送的數據速度特別快,比如10ms、20ms發送一次,并且每次發送的數據量還比較大,如果按照常規的寫法,我們會發現接收的數據還沒處理完,新的數據又發送過來了,這就會導致處理數據滯后,軟件始終處理的不是…

python樹的雙親存儲結構

這種存儲結構是一種順序存儲結構&#xff0c;采用元素形如“[結點值&#xff0c;雙親結點索引]”的列表表示。通常每個結點有唯一的索引(或者偽地址&#xff09;,根結點的索引為0&#xff0c;它沒有雙親結點&#xff0c;其雙親結點的索引為-1。例如&#xff0c;所示的樹對應的雙…

123. 股票買賣的最佳時機III(2次交易)

題目 題解 class Solution:def maxProfit(self, prices: List[int]) -> int:N len(prices)# 狀態定義 dp[i][j][k]代表在第i天&#xff0c;被允許完成j次交易時&#xff0c;持有或者不持有的最大利潤。k0代表不持有&#xff0c;k1代表持有dp [[[0 for k in range(2)] for…

醫學生秋招攻略,面試時一定要注意這些方面!

醫學生別拖了&#xff0c;今年秋招已經過去一波熱度了&#xff0c;趕早不趕晚&#xff01;在籌備第二輪秋招以及明年的春招的醫學生一定要注意以下事項。 1.清晰目標 搜集秋招訊息 一定要早點多做準備&#xff0c;想清楚未來的目標&#xff0c;是繼續深造還是就業做醫生或者是…

FileReader與URL.createObjectURL實現圖片、視頻上傳預覽

之前做圖片、視頻上傳預覽常用的方案是先把文件上傳到服務器&#xff0c;等服務器返回文件的地址后&#xff0c;再把該地址字符串賦給img或video的src屬性&#xff0c;這才實現所謂的文件預覽。實際上這只是文件“上傳后再預覽”&#xff0c;這既浪費了用戶的時間&#xff0c;也…

java開發合同相關

【點我-這里送書】 本人詳解 作者:王文峰,參加過 CSDN 2020年度博客之星,《Java王大師王天師》 公眾號:JAVA開發王大師,專注于天道酬勤的 Java 開發問題中國國學、傳統文化和代碼愛好者的程序人生,期待你的關注和支持!本人外號:神秘小峯 山峯 轉載說明:務必注明來源(…

集合的分類

Python內建的集合類&#xff0c;有有序和無序之分&#xff0c;還有可修改和不可修改之分。 1 有序和無序 有序是說某數據集合中的每個元素都有一個位置信息&#xff0c;通常用index表示&#xff0c;可以借助這種集合類型名和位置信息訪問集合里的某元素值&#xff0c;在Pytho…

【開源】基于Vue.js的用戶畫像活動推薦系統

項目編號&#xff1a; S 061 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S061&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S061&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 興趣標簽模塊2.3 活…

[Android]使用Git將項目提交到GitHub

如果你的Mac還沒有安裝Git&#xff0c;你可以通過Homebrew來安裝它&#xff1a; brew install git 方式一&#xff1a;終端管理 1.創建本地Git倉庫 在項目的根目錄下&#xff0c;打開終端&#xff08;Terminal&#xff09;并執行以下命令來初始化一個新的Git倉庫&#xff1…

vue3-組件傳參及計算屬性

?&#x1f308;個人主頁&#xff1a;前端青山 &#x1f525;系列專欄&#xff1a;Vue篇 &#x1f516;人終將被年少不可得之物困其一生 依舊青山,本期給大家帶來vue篇專欄內容:vue3-組件傳參及計算屬性 目錄 vue3中的組件傳參 1、父傳子 2、子傳父 toRef 與 toRefs vue3中…

數據結構 查找基本概念

敬請期待。。。 1. 適用于折半查找的表的存儲方式及元素排列要求為&#xff08;順序方式存儲&#xff0c;元素有序 &#xff09;。 2. 有一個按元素值排好序的順序表(長度大于2)&#xff0c;分別用順序查找和折半查找與給定值相等的元素&#xff0c;比較次數分別是s和b&am…