Linux學習筆記01

来源:https://www.cnblogs.com/RiwellAckerman/archive/2019/07/20/11217301.html
-Advertisement-
Play Games

一、LINUX文件類型 -:普通文件: 純文本文件(ascll) 配置文件 二進位文件(binary file):命令 數據格式文件(date):/var/log/wtmp d:目錄文件 l:鏈接文件 設備文件(/dev): b:block塊設備 c:character 字元集設備:一次性讀取,按順 ...


一、LINUX文件類型

-:普通文件:

  • 純文本文件(ascll) 配置文件
  • 二進位文件(binary file):命令
  • 數據格式文件(date):/var/log/wtmp

d:目錄文件

l:鏈接文件

設備文件(/dev):

  • b:block塊設備
  • c:character 字元集設備:一次性讀取,按順序讀取

s:socket套接字文件:用在網路上的數據連接IP:PORT

p:管道文件:特殊的文件類型,解決多個應用程式同時訪問一個文件造成的錯誤問題

 

file:查看Linux中的文件類型

語法:file [options] filename

Linux文件名限制:

  1. 單個文件或者目錄不能超過255字元
  2. 文件名當中不能包含一些特殊字元

 

文件查找命令: which locate find

  which:查找命令字所在的位置

  locate:模糊匹配(只要包含關鍵字的文件都查找出來)

             不是實時的,基於資料庫查找, updatedb升級locate資料庫

             查找速度特別快

 

  find:查看文件或目錄的工具

          特點:  實時查找

                      精確查找

                      遍歷整個指定目錄中的文件,速度很慢

                      支持多種查找條件(屬主,屬組,許可權,文件名等)

    

        語法: find [find_path] [條件] [處理動作]

                   find_path:如果不寫,預設在當前工作目錄查找

                   條件:如果不寫,會查找出該路徑下所有的文件

                   處理動作:預設列印到屏幕上 print

 

        條件:(匹配標準)

           -name file_name:根據文件名進行查找,區分大小寫

                    查找條件通配符:

                       *:通配任意個數的任意字元   # find /etc/ -name "pass*"  # find /etc/ -name "*pass"

                        ?:通配單個的任意字元       # find /etc/ -name "passw*"

           -iname file_name:根據文件名進行查找,不區分大小寫

           -regex PATTERN:根據正則表達式的模式進行查找

           -user:通過屬主進行查找

           -group:通過屬組進程查找

           -uid UID:通過UID號進行查找

           -gid GID:通過GID號進行查找

           -nouser:查找沒有屬主的文件

           -nogroup:查找沒有屬組的文件

           -type:根據文件類型進行查找

                 -b:塊設備

                 -c:字元設備

                 -d:目錄

                 -f:文件

                 -p:命名管道

                 -s:套接字文件

                 -l:鏈接文件

           -size [+ | -] num [k|m|g]

                 -size 5k:精確匹配

                 +:大於

                 -:小於

 

        根據時間戳進行查找: # stat file_name  //查看文件的時間戳

            [+ | -] 也起作用

            -atime:時間單位為天,access時間

            -mtime:時間單位為天,modify時間

            -ctime:時間單位為天,change時間

            -mmin:時間單位為分鐘,modify時間

            -amin:時間單位為分鐘,access時間

            -cmin:時間單位為分鐘,change時間

 

        根據許可權查找:

         -perm MODE:

               MODE:num(如644),精確匹配

               /MODE:/num任意一位匹配

               -MODE:-num文件許可權能夠完全包含此MODE時才能匹配

 

       條件組合:

             -a:同時滿足多個條件,比如查找屬主是tom並且許可權為644的文件

             -o:滿足一個條件即可,比如查找屬主是tom或者許可權為644的文件

             -not:不滿足條件的被查找出來

 

       出來動作:

         -print:預設動作,預設查找結果列印到屏幕

         -ls:預設以類似於ls -l的形式顯示結果的信息

         -ok COMMAND {} \;執行動作時提示用戶是否執行,必須以\;結尾,{}代表文件名占位符

         -exec COMMAND {} \;執行動作時不提示用戶直接執行,必須以\;結尾,{}代表文件名占位符

 

  

1、查找/var目錄下屬主為root並且屬組為mail的所有文件;

find /var -user root -a -group mail

 

2、查找/usr目錄下不屬於root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student

find /usr -not \( -user root -o -user bin -o -user student \)

 

3、查找/etc目錄下最近一周內內容修改過且不屬於root及student用戶的文件;

find /etc -mtime -7 -not \ ( -user root -o -user student \)

find /etc -mtime -7 -not -user root -a -not -user student

 

4、查找當前系統上沒有屬主或屬組且最近1天內曾被訪問過的文件,並將其屬主屬組均修改為root;

find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;

 

5、查找/etc目錄下大於1M的文件,並將其文件名寫入/tmp/etc.largefiles文件中;

find /etc -size +1M >> /tmp/etc.largefiles

 

6、查找/etc目錄下所有用戶都沒有寫許可權的文件,顯示出其詳細信息;

find /etc -not -perm /222 -ls    

 

二、許可權:是用戶對於系統資源及數據等操作的能力   三類用戶許可權: 屬主:owner 屬組:group 其他:other   -rw-r--r--:10位 第一位:文件類型 第2-4位:文件屬主許可權 第5-7位:文件屬組許可權 第8-10位:其他用戶的許可權   文件: r(read):讀許可權,可以查看文件的內容,使用cat more等命令 w(write):寫許可權,可以修改文件的內容及刪除文件 x(execute):執行許可權,可執行文件或腳本   目錄: r:讀許可權,可以查看目錄中的列表,執行ls命令 w:寫許可權,可以向目錄中新建文件或目錄等 x:執行許可權,可以執行cd命令   改變許可權的命令 chmod 改變文件或目錄的許可權 chmod 755 abc:賦予abc許可權rwxr-xr-x chmod u=rwx,g=rx,o=rx abc:同上u=用戶許可權,g=組許可權,o=不同組其他用戶許可權 chmod u-x,g+w abc:給abc去除用戶執行的許可權,增加組寫的許可權 chmod a+r abc:給所有用戶添加讀的許可權       改變所有者(chown)和用戶組(chgrp)命令 chown xiaoming abc:改變abc的所有者為xiaoming chgrp root abc:改變abc所屬的組為root chown root ./abc:改變abc這個目錄的所有者是root chown ‐R root ./abc:改變abc這個目錄及其下麵所有的文件和目錄的所有者是root     umask:反掩碼(在/etc/login.defs中定義) rwx:7 文件預設:rw-rw-rw-:666 644=rw-r--r--新建文件時,許可權掩碼(666)減去反掩碼(022)就是新建文件的許可權(644) 目錄預設:rwxrwxrwx:777 755=rwxr-xr-x,新建目錄時,許可權掩碼(777)減去反掩碼(022)就是新建目錄的許可權(755)     Linux隱藏許可權: lsattr:查看文件或目錄的隱藏許可權   chattr:修改文件的隱藏許可權,/   /dev    /tmp    /var    /etc  目錄不受chattr保護 語法: chattr +-= [options] file_name   a:只能向文件中追加數據,不能刪除 i:任何用戶不能刪除文件 A:不同步訪問時間 +:添加相應許可權 -:刪除相應許可權 =:設定相應許可權   /etc/passwd /etc/shadow /etc/group   tom:/etc/passwd /etc/shadow /etc/group添加信息,新建宿主目錄(修改宿主目錄的歸屬)   echo "tom:x:1001:1001::/home/tom:/bin/bash" >> /etc/passwd
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Hi、大家好,今天又是美好的一天。 關於 Settings Sync 擴展: Settings Sync可以同步你當前的VSCode配置環境,當你需要在其它的電腦工作時,您不用重頭再來一遍。新機器登錄一下就搞定了。再也不用折騰環境了。 大致原理:使用GitHub Gist來同步多台電腦上的設置,代 ...
  • ASP.NET MVC 分頁使用的是作者楊濤的MvcPager分頁控制項 地址:http://www.webdiyer.com/mvcpager/demos/ajaxpaging/ 這個分頁控制項在裡面有很好的的案例,及註意事項 分頁在我們的項目中是經常需要使用到的,普通分頁體驗是在是太差了,每一次點擊 ...
  • 分享基於EF6、Unitwork、Autofac的Repository模式設計 [TOC] 一、實現的思路和結構圖 Repository的共同性 有一些公共的方法(增刪改查), 這些方法無關於Repository操作的是哪個實體類,可以把這些方法定義成介面IRepository,然後有個基類Base ...
  • 鏈接:https://pan.baidu.com/s/1lbTL8UNQr4o45Z30J_YGLA提取碼:xr3z 複製這段內容後打開百度網盤手機App,操作更方便哦 ...
  • 先看一下系統自帶的線型文件acadiso.lin: 因為STANDARD是每個CAD文檔必須要有的文字樣式,同樣的,如果想更改系統自定義的帶文字的線型樣式,需要更改STANDARD 需要註意的是,文字(管線)兩側的空白並不對稱,這是因為文字(管線)或圖形的長度實際是占用了下一個段落的長度, 這裡就是 ...
  • 提起.Net中的 async/await,相信很多.neter 第一反應都會是非同步編程,其本質是語法糖,但繼續追查下去,既然是語法糖,那麼經過編譯之後,真正的代碼是什麼樣的,如何執行的?帶著這些疑問,通過網上資料的查詢,可以瞭解到編譯之後,是通過實現 IAsyncStateMachine 的一個狀態 ...
  • 1.C#創建Windows應用程式,Web服務,移動應用程式,客戶端 - 伺服器應用程式,資料庫應用程式等等。 2.NET Framework由公共語言運行時(CLR)和.NET Framework類庫組成。 CLR是.NET Framework的基礎。 它在執行時管理代碼,提供核心服務,如記憶體管理 ...
  • 一、簡介 Ingo Molnar 的實時補丁是完全開源的,它採用的實時實現技術完全類似於Timesys Linux,而且中斷線程化的代碼是基於TimeSys Linux的中斷線程化代碼的。這些實時實現技術包括:中斷線程化(包括IRQ和softirq)、用Mutex取代spinlock、優先順序繼承和死 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...