主頁 >  其他 > linux基礎(1)-常見指令及權限理解

linux基礎(1)-常見指令及權限理解

2021-10-28 07:57:48 其他

1.常見指令及權限理解

  1. 初始Linux作業系統
  2. 初識shell命令 ,了解若干背景知識,
  3. 使用常用Linux命令
  4. 了解Linux權限概念與思想,能深度理解“權限”
  5. 初步了解Linux 目錄結構含義

文章目錄

  • 1.常見指令及權限理解
    • 1.linux系統及計算機背景
    • 2.使用XShell遠程登錄linux
      • 2.1XShell下的復制粘貼
    • 3.linux下的指令
      • 3.1 pwd指令與whoami指令
      • 3.2 ls指令
      • 3.3cd指令
      • 3.4touch指令
      • 3.5mkdir指令(重要)
      • 3.6 rmdir指令 && rm 指令(重要)
      • 3.7man指令(重要)
      • 3.8 echo指令與cat指令
      • 3.9 cp指令(重要)
      • 3.10 mv 指令(重要)
      • 3.11 cat指令
      • 3.12 more指令
      • 3.13less指令(重要)
      • 3.14head指令
      • 3.15tail指令
      • 3.16時間相關的命令
      • 3.17cal(日歷指令)
      • 3.18find指令:(非常重要)
      • 3.19which指令與whereis及(alias)
      • 3.20.grep指令
        • 3.20.1grep的介紹
        • 3.20.2grep的應用場景
      • 3.21 zip/unzip指令
      • 3.22 tar指令(重要):打包/解包,,不打開它,直接看內容
      • 3.23bc指令(計算器)
      • 3.24.uname –r指令
      • 3.25常見的熱鍵
        • 3.25.1 ctrl+C
        • 3.25.2 tab
        • 3.25.3 ctrl+D
      • 3.26關機
      • 3.27擴展命令
      • 3.28file指令
    • 4.指令的選擇和比較
      • 4.1 cat vs (more and less)
      • 4.2find vs which
      • 4.3文本過濾
    • 5.Linux權限的概念
      • 5.1 Linux權限管理
        • 5.1.1檔案訪問者的分類(人)
        • 5.1.2檔案型別和訪問權限(事物屬性)
        • 5.1.3檔案權限值的表示方法
        • 5.1.4檔案訪問權限的相關設定
        • 5.1.5檔案擁有者及檔案所屬組的改變
        • 5.1.6目錄粘滯位
        • 5.1.7 檔案和目錄創建的初始權限(掩碼)
    • 6.shell命令及運行原理
    • 7.常見面試題

1.linux系統及計算機背景

  1. linux:開源(免費)–>更穩定和高效
  2. OS:“管理”的軟體,主要管理:軟體+硬體
  3. 普通用戶和root用戶(只有一個):普通用戶不能叫做root,普通用戶的密碼不要和root一樣
  4. 命令列方式vs圖形界面方式
    1. 歷史上為了計算導彈彈道軌道,發明了計算機,埃尼阿克
    2. 計算機->人->( 人(資料),計算機,內部運算,運算結果給人 )[人->計算機->人:互動的程序]
    3. 鍵盤 vs 滑鼠 :鍵盤和滑鼠哪個先有?打字機->(早期鍵盤)->鍵盤:只能用鍵盤互動,所以只能通過輸入命令的方式進行計算機資料互動,時間久了,就有了命令列的互動方式,
    4. 為什么滑鼠會存在?相比較鍵盤,更符合人性,所見既所得(在商業上,注定需要的),圖形化界面的產生,
    5. 命令列(以鍵盤為代表) vs 圖形化界面(以滑鼠為代表)->手指->語音->意識,因為鍵盤更前期,因此命令列越靠近底層,越后期封裝得越厲害,

2.使用XShell遠程登錄linux

2.1XShell下的復制粘貼

復制:ctrl+insert(有些需要配合fn)

粘貼:shift+insert

3.linux下的指令

centos和ubuntu的安裝命令

yum install -y xxx
sudo apt-get install xxx

3.1 pwd指令與whoami指令

語法:pwd

功能:顯示用戶當前所在的目錄

剛登陸時用戶進入作業目錄

[root@VM-12-8-centos ~]# pwd
/root

普通用戶:/home/username

root用戶:/root


語法:whoami

功能:顯示當前用戶

3.2 ls指令

  • ls指令

語法: ls [選項] [目錄或檔案]

功能:對于目錄,該命令列出該目錄下的所有子目錄與檔案,對于檔案,將列出檔案名以及其他資訊

常用選項:

  • -a 列出目錄下的所有檔案,包括以 . 開頭的隱含檔案(以.開頭一般稱為隱藏檔案),
  • -d 將目錄象檔案一樣顯示,而不是顯示其下的檔案, 如:ls –d 指定目錄
  • -i 輸出檔案的 i 節點的索引資訊, 如 ls –ai 指定檔案
  • -k 以 k 位元組的形式表示檔案的大小,
  • ls –alk 指定檔案 -l 列出檔案的詳細資訊,
  • -n 用數字的 UID,GID 代替名稱, (介紹 UID, GID)
  • -F 在每個檔案名后附上一個字符以說明該檔案的型別,“*”表示可執行的普通檔案;“/”表示目錄;“@”表 示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets),(目錄型別識別)
  • -r 對目錄反向排序,
  • -t 以時間排序,
  • -s 在l檔案名后輸出該檔案的大小,(大小排序,如何找到目錄下最大的檔案)
  • -R 列出所有子目錄下的檔案,(遞回)
  • -1 一行只輸出一個檔案,

常見的選項 -l,-a,

注意選項是可以組合的,可以-al,也可以-a -l,推薦前者,方便,

image-20211024170356173

image-20211024170414517

image-20211024170427080

  • 在linux中,以 . 開頭的檔案叫做隱藏檔案

    • 空檔案夾中也有.和…兩個
  • . 是當前目錄

cd .
./a.out  	# ./:執行當前目錄下的a.out
  • … 是上級目錄

    • pwd
      cd ..	# cd..:回退到上級目錄
      pwd
      
    • image-20211024171107614

  • /是根目錄(根目錄是樹形結構)

    • image-20211025083841667
    • 所有的葉子節點是普通檔案
    • image-20211025085628218
  • 執行一個檔案的方式

    • 絕對路徑

      • /home/ycb/test/a.out  #從/開始,絕對路徑
        
      • 只有一個,不容易失效

      • 從葉子到根只有一條路徑,反過來從根到該葉子也只有這一條路徑,

    • 相對路徑

      • ../test/a.out	#相對路徑
        
      • 相對路徑可以有多種,容易失效

  1. 基本上,所有的作業系統檔案管理,都采用的是,樹狀結構
  2. 一般絕對路徑,我們在組態檔中使用的最多(因為不論組態檔在哪里,都是有效的)

3.3cd指令

image-20211025085628218

Linux系統中,磁盤上的檔案和目錄被組成一棵目錄樹,每個節點都是目錄或檔案,

語法:cd 目錄名

功能:改變作業目錄,將當前作業目錄改變到指定的目錄下,

舉例:

cd .. 	#: 回傳上級目錄
cd /home/litao/linux/ 	#: 絕對路徑
cd ../day02/ #: 相對路徑
cd ~	#:進入用戶家目
cd -	#:回傳最近訪問目錄
  • cd的快捷方式

    • ~主作業目錄

      cd ~	#:等價 cd /home/ycb, ~保存的是當前用戶的主作業目錄
      
    • cd - 回到最近(上次)在的路徑

      • 進行多檔案操作切換的時候常用
      • image-20211025091503847
      • image-20211025091523189

3.4touch指令

語法:touch [選項]… 檔案…

功能:touch命令引數可更改檔案或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的檔案,

touch只用來創建普通檔案,常用來創建文本檔案

常用選項:

  • -a 或–time=atime或–time=access或–time=use只更改存取時間,
  • -c 或–no-create 不建立任何檔案,
  • -d 使用指定的日期時間,而非現在的時間,
  • -f 此引數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題,
  • -m 或–time=mtime或–time=modify 只更改變動時間,
  • -r 把指定檔案或目錄的日期時間,統統設成和參考檔案或目錄的日期時間相同,
  • -t 使用指定的日期時間,而非現在的時間,
  • 修改檔案創建時間
    • 調研Access,Modify,Change三個時間

image-20211025091917032

  • Access time表示檔案最后一次被訪問的時間,

  • Modify time表示檔案最后一次被修改的時間,

  • Change time表示對檔案權限的最后一次修改的時間,

使用cat進行檔案的訪問,我們發現只有Access time發生了改變,

對檔案內容進行更改會對Modify time 改變,

對檔案的權限進行修改,我們會發現只有change time發生了改變,

3.5mkdir指令(重要)

語法:mkdir [選項] dirname…

功能:在當前目錄下創建一個名為 “dirname”的目錄

常用選項:

  • -p, --parents 可以是一個路徑名稱,此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立 好那些尚不存在的目錄,即一次可以建立多個目錄

舉例:

mkdir –p test/test1 #: 遞回建立多個目錄
  • 問題:如果在win下創建一個空檔案,這個檔案占不占磁盤空間

占用,

檔案=檔案的內容+屬性(是資料嗎?是)

  • ls -l (ll)

    • 顯示的是檔案屬性
  • cat xxx

    • 顯示的是檔案內容
  • 問題:檔案的類別是檔案的屬性嗎?是,要被保存,

win vs linux 保存檔案類別的方式有差別 :

  • win:通過檔案后綴區分檔案型別

  • linux:檔案型別和檔案后綴沒有直接關系,但是我們依舊保留這種做法,為了照顧人的習慣,有一些特殊情況,寫C的gcc只識別.c

    • 那么linux以什么區分檔案型別呢?

    • ls -al
      d	#: 目錄
      -	#:檔案   
      
    • image-20211025175922858

  • 一次創建一串目錄

    • mkdir -p test2/test3/test4/file.c
      
    • image-20211025180224911

  • 顯示目錄結構

    • tree .
      
    • image-20211025180809828

3.6 rmdir指令 && rm 指令(重要)

rmdir是一個與mkdir相對應的命令,

mkdir是建立目錄,而rmdir是洗掉命令,

  • mkdir

語法:rmdir [-p] [dirName]

適用物件:具有當前目錄操作權限的所有使用者

功能:洗掉空目錄

常用選項:

  • -p 當子目錄被洗掉后如果父目錄也變成空目錄的話,就連帶父目錄一起洗掉

rm命令可以同時洗掉檔案或目錄

  • mkdir

語法:rm [-f-i-r-v] [dirName/dir]

適用物件:所有使用者

功能:洗掉檔案或目錄

注意:Linux下是沒有回收站的

常用選項:

  • -f 即使檔案屬性為只讀(即寫保護),亦直接洗掉 (f-force)
  • -i 洗掉前逐一詢問確認
  • -r 洗掉目錄及其下所有檔案 (-r是遞回)

經典操作:刪庫到跑路

  • rm -rf / #從目錄開始洗掉所有檔案

image-20211025193248827

3.7man指令(重要)

Linux的命令有很多引數,我們不可能全記住,我們可以通過查看聯機手冊獲取幫助,訪問Linux手冊頁的命令是 man 語法: man [選項] 命令

常用選項:

  • -k 根據關鍵字搜索聯機幫助
  • num 只在第num章節找
  • -a 將所有章節的都顯示出來,比如 man printf 它預設從第一章開始搜索,知道就停止,用a選項,當按 下q退出,他會繼續往后面搜索,直到所有章節都搜索完畢, 解釋一下man手冊分為8章
    • 1 是普通的命令
    • 2 是系統呼叫,如open,write之類的(通過這個,至少可以很方便的查到呼叫這個函式,需要加什么頭檔案)
    • 3 是庫函式,如printf,fread
    • 4是特殊檔案,也就是/dev下的各種設備檔案
    • 5 是指檔案的格式,比如passwd, 就會說明這個檔案中各個欄位的含義
    • 6 是給游戲留的,由各個游戲自己定義
    • 7 是附件還有一些變數,比如向environ這種全域變數在這里就有說明
    • 8 是系統管理用的命令,這些命令只能由root使用,如ifconfig
  • 特別的,man man 詢問man這個命令

3.8 echo指令與cat指令

  • echo

語法: echo xxxx/“xxxxx”

功能:默認將字串輸出到stdout,可以重定向,

echo hello linux   # 將后續字串,顯示到顯示幕中
echo "hello linux"  
echo "hello linux"  > test.txt# 輸出重定向,本來應該顯示到顯示幕的內容,寫入到檔案中
cat test.txt  # 把檔案的內容顯示出來

image-20211025185444602

  • 那么cat和echo有什么區別呢?

    • image-20211025190636356
  • 同時echo作為寫入存在覆寫和追加的區別

    • [ycb@VM-12-8-centos ~]$ echo "hello linux" >test.c
      [ycb@VM-12-8-centos ~]$ echo "hello linux" >test.c
      [ycb@VM-12-8-centos ~]$ echo "hello linux" >test.c
      [ycb@VM-12-8-centos ~]$ echo "hello linux" >test.c
      [ycb@VM-12-8-centos ~]$ cat test.c
      
    • image-20211026172004639

    • [ycb@VM-12-8-centos ~]$ echo "hello linux" >> test.c  #追加重定向
      [ycb@VM-12-8-centos ~]$ echo "hello linux" >> test.c
      [ycb@VM-12-8-centos ~]$ echo "hello linux" >> test.c
      
    • image-20211026172103996

3.9 cp指令(重要)

含義:copy and paste

語法:cp [選項] 源檔案或目錄 目標檔案或目錄

功能: 復制檔案或目錄

說明: cp指令用于復制檔案或目錄,如同時指定兩個以上的檔案或目錄,且最后的目的地是一個已經存在的目錄, 則它會把前面指定的所有檔案或目錄復制到此目錄中,若同時指定多個檔案或目錄,而最后的目的地并非一個已存在的目錄,則會出現錯誤信

常用選項:

  • -f 或 --force 強行復制檔案或目錄, 不論目的檔案或目錄是否已經存在
  • -i 或 --interactive 覆寫檔案之前先詢問用戶
  • -r遞回處理,將指定目錄下的檔案與子目錄一并處理,若源檔案或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通檔案處理
  • -R 或 --recursive遞回處理,將指定目錄下的檔案及子目錄一并處理
  • 拷貝到當前目錄,同一個目錄不能有兩個同名檔案
cp test.c .

image-20211025191114949

cp test.c my.test.c

image-20211025191236492

image-20211025191338171

  • 將檔案拷貝到其他目錄(可以絕對路徑|可以相對路徑)
cp test.c ../

image-20211025191434643

  • cp指令默認是拷貝普通檔案,拷貝目錄如何處理呢

    • 由于linux存盤是樹形結構,所以可以遞回

    • cp -r ycb ycb2
      cp -rf ycb ycb2  # -f 是為了防止詢問
      
    • image-20211025191918894

3.10 mv 指令(重要)

mv命令是move的縮寫,可以用來移動檔案或者將檔案改名(move (rename) files),是Linux系統下常用的命令,經常用來備份檔案或者目錄,

語法: mv [選項] 源檔案或目錄 目標檔案或目錄

功能:

  1. 視mv命令中第二個引數型別的不同(是目標檔案還是目標目錄),mv命令將檔案重命名或將其移至一個新的 目錄中,
  2. 當第二個引數型別是檔案時,mv命令完成檔案重命名,此時,源檔案只能有一個(也可以是源目錄名),它將所給的源檔案或目錄重命名為給定的目標檔案名,
  3. 當第二個引數是已存在的目錄名稱時,源檔案或目錄引數可以有多個,mv命令將各引數指定的源檔案均移至目標目錄中

常用選項:

  • f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆寫
  • -i :若目標檔案 (destination) 已經存在時,就會詢問是否覆寫!
  • 對檔案進行重命名
mv my.c zzz.c

image-20211025192501467

  • 對檔案或目錄進行移動(類似win下的剪切)

    • mv test.c ycb2
      
    • image-20211025192813595

    • image-20211025193041846

  • shell腳本將rm修改為mv創建垃圾桶

    • #將rm改造成mv
      vim ~/.bashrc #修改這個檔案
      mkdir -p ~/.trash
      alias rm=trash
      alias ur=undelfile
      undelfile() {
       mv -i ~/.trash/\$@ ./
      }
      trash() {
       mv $@ ~/.trash/
      }
      

3.11 cat指令

  • cat

語法:cat [選項] [檔案]

功能: 查看目標檔案的內容

常用選項:

  • -b 對非空輸出行編號
  • -n 對輸出的所有行編號
  • -s 不輸出多行空行
  • 檔案正序輸出

image-20211025194541277

  • 檔案反序輸出

image-20211025194741548

count=0; while [ $count -le 10 ]; do echo "hello $count"; let count++;done >file.txt

image-20211025195032944

image-20211025195059490

3.12 more指令

語法:more [選項] [檔案]

功能:more命令,功能類似 cat

常用選項:

  • -n 對輸出的所有行編號
  • q 退出more

實際中我們想看一個檔案中的一些內容,使用cat會刷屏,所以需要more指令一行行看,

count=0; while [ $count -le 1000 ]; do echo "hello $count"; let count++;done >file.txt
  • 只能按回車到下一行
  • 直接到某一行輸入 / x 行

image-20211025201844327

/200

image-20211025202019279

image-20211025202039003

3.13less指令(重要)

less和more的功能相似,但是less的功能更強大,

  • less 工具也是對檔案或其它輸出進行分頁顯示的工具,應該說是linux正統查看檔案內容的工具,功能極其強大,
  • less 的用法比起 more 更加的有彈性,在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看
  • 但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看檔案,更容易用來查看一個檔案的內容!
  • 除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜,

語法: less [引數] 檔案 功能:

less與more類似,但使用less可以隨意瀏覽檔案,而more僅能向前移動,卻不能向后移動,而且less在查看之前 不會加載整個檔案,

選項:

  • -i 忽略搜索時的大小寫
  • -N 顯示每行的行號
  • /字串:向下搜索“字串”的功能
  • ?字串:向上搜索“字串”的功能
  • n:重復前一個搜索(與 / 或 ? 有關)
  • N:反向重復前一個搜索(與 / 或 ? 有關)
  • q:quit

3.14head指令

head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的 開頭至標準輸出中,而 tail 想當然就是看檔案的結尾,

語法: head [引數]… [檔案]…

功能: head 用來顯示檔案的開頭至標準輸出中,默認head命令列印其相應檔案的開頭10行,

選項:

  • -n<行數> 顯示的天數

實體:

[root@VM-12-8-centos ~]# head -20 file.txt

image-20211025203154994

3.15tail指令

tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日志檔案,tail - f filename會把filename里最尾部的內容顯示在螢屏上,并且不但重繪,使你看到最新的檔案內容.

語法: tail[必要引數] [選擇引數] [檔案]

功能: 用于顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理,常用查看日志檔案,

選項:

  • -f 回圈讀取
  • -n<行數> 顯示行數

舉例(簡單講解重定向和管道):

[root@VM-12-8-centos ~]# tail -20 file.txt

image-20211025203515748

  • 如何拿一段檔案中的中間的某10行呢?

    • 做法一

      • head -5010 file.txt > tmp.txt
        tail -10 tmp.txt
        
      • 缺陷:形成臨時檔案且需要多個命令

    • 做法二

      • head -5010 file.txt | tail -10
        
      • "|"叫做管道,它的作用是把前面命令的輸出當作下一個命令的輸入

      • image-20211025204338036

3.16時間相關的命令

  • date顯示

    • date 指定格式顯示時間: date +%Y:%m:%d date 用法:date [OPTION]… [+FORMAT]

    • 如果默認的話顯示:

      • image-20211025204532542

      • image-20211025204620703

      • image-20211025205252885

      • image-20211025205346780

1.在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記串列如下:

引數顯示格式
%H小時(00…23)
%M分鐘(00…59)
%S秒(00…61)
%X相當于%H:%M:%S
%d日(01…31)
%m月份(01…12)
%Y完整年份(0000…9999)
%F相當于%Y-%m-%d

2.在設定時間方面

  • date -s //設定當前時間,只有root權限才能設定,其他只能查看,
  • date -s 20080523 //設定成20080523,這樣會把具體時間設定成空00:00:00
  • date -s 01:01:01 //設定具體時間,不會對日期做更改
  • date -s “01:01:01 2008-05-23″ //這樣可以設定全部時間
  • date -s “01:01:01 20080523″ //這樣可以設定全部時間
  • date -s “2008-05-23 01:01:01″ //這樣可以設定全部時間

3.時間戳

  • 時間->時間戳:date +%s

    • 從1970年1月1日到現在的秒數
    • 時間戳通常在日志中使用
  • 時間戳->時間:date -d @1635166510

    • 將時間戳轉化成時間
      • image-20211025210142222
      • image-20211025210235989
  • Unix時間戳(英文為Unix epoch, Unix time, POSIX time 或 Unix timestamp)是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒,

3.17cal(日歷指令)

cal命令可以用來顯示公歷(陽歷)日歷,公歷是現在國際通用的歷法,又稱格列歷,通稱陽歷,“陽歷”又名“太陽歷”,系以地球繞行太陽一周為一年,為西方各國所通用,故又名“西歷”,

命令格式: cal [引數] [月份] [年份]

功能: 用于查看日歷等時間資訊,如只有一個引數,則表示年份(1-9999),如有兩個引數,則表示月份和年份,

常用選項:

  • -3 顯示系統前一個月,當前月,下一個月的月歷
  • -j 顯示在當年中的第幾天(一年日期按天算,從1月1號算起,默認顯示當前月在一年中的天數)
  • -y 顯示當前年份的日歷

舉例:

Cal -y 2021

image-20211025210734726

image-20211025210755692

image-20211025210825265

3.18find指令:(非常重要)

  • Linux下find命令在目錄結構中搜索檔案,并執行指定的操作,
  • Linux下find命令提供了相當多的查找條件,功能很強大,由于find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下,
  • 即使系統中含有網路檔案系統( NFS),find命令在該檔案系統中同樣有效,只你具有相應的權限,
  • 在運行一個非常消耗資源的find命令時,很多人都傾向于把它放在后臺執行,因為遍歷一個大的檔案系統可能會花費很長的時間(這里是指30G位元組以上的檔案系統),

語法: find pathname -options

功能: 用于在檔案樹種查找檔案,并作出相應的處理(可能訪問磁盤)

常用選項:

  • -name 按照檔案名查找檔案

舉例:

  • 默認從當前目錄下去查找
[root@VM-12-8-centos ~]# find -name test.txt

image-20211025211758188

  • 選定特定目錄下去找

    • [root@VM-12-8-centos ~]# find test2 -name test.txt
      
    • image-20211025211840417

  • 按目錄找

    • [root@VM-12-8-centos ~]# find ./ -type d
      
    • image-20211025212134747

目前先掌握根據名字找,后面碰到按什么找就積累在這里,

推薦appstore上的一個Commands 軟體

3.19which指令與whereis及(alias)

其實linux下的命令幾乎是用C,或者py寫的,

其原理和我們自己用vim寫好的gcc編譯好生成的可執行程式運行是一個道理,

linux下的命令也是個可執行程式,

which指令是查找任何運行的命令所在的目錄,

image-20211025212911985

image-20211025212928164

image-20211025213559930

  • 這里的alias是別名,使用ls的時候就是使用后面單引號內的指令,
alias myls='ls -al';
# 這樣我們用myls就是后面的指令了,
  • whereis找系統中包含要找的關鍵字的路徑

    • [root@VM-12-8-centos ~]# whereis ls
      
    • image-20211025213241102

    • 應用:以后裝軟體完裝的位置在哪里

3.20.grep指令

3.20.1grep的介紹

grep參考檔案

語法: grep [選項] 搜尋字串 檔案

功能: 在檔案中搜索字串,將找到的行列印出來

  • 過濾的時候以行為基本單位

常用選項:

  • -i:忽略大小寫的不同,所以大小寫視為相同
  • -n:順便輸出行號
  • -v:反向選擇,也即顯示出沒有‘搜尋字串’內容的那一行

舉例:

搜索檔案中包含999的行

[root@VM-12-8-centos ~]# grep '99' file.txt

image-20211025214127345

日志中搜索Error的行

[root@VM-12-8-centos ~]# grep 'Error' file.txt

image-20211025214300483

image-20211025214441179

選項功能的演示:

[root@VM-12-8-centos ~]# grep -n 'main' mycmd.c 

image-20211025214713996

[root@VM-12-8-centos ~]# grep -v -n 'main' mycmd.c

image-20211025214742040

3.20.2grep的應用場景

過濾日志,一般性的文本處理

image-20211025215045614

3.21 zip/unzip指令

語法: zip 壓縮檔案.zip 目錄或檔案

功能: 將目錄或檔案壓縮成zip格式

常用選項:

-r #遞回處理,將指定目錄下的所有檔案和子目錄一并處理

舉例:

將test2目錄壓縮:zip test2.zip test2/*  # 這個*是通配符,不用的話只打包目錄,
解壓到tmp目錄:unzip test2.zip -d ./tmp  # -d 是directory的意思

image-20211025220122196

3.22 tar指令(重要):打包/解包,,不打開它,直接看內容

tar [-cxtzjvf] 檔案與目錄 … 引數:

  • -c :建立一個壓縮檔案的引數指令(create 的意思);
  • -x :解開一個壓縮檔案的引數指令!
  • -t :查看 tarfile 里面的檔案!
  • -z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
  • -j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
  • -v :壓縮的程序中顯示檔案!這個常用,但不建議用在背景執行程序!
  • -f :使用檔案名,請留意,在 f 之后要立即接檔案名!不要再加引數!
  • -C : 解壓到指定目錄
[root@VM-12-8-centos ~]# tar -czf ycb2.tgz ycb2 

image-20211026153848822

[root@VM-12-8-centos ~]# tar -xzf ycb2.tgz (-C test)

image-20211026154000437

案例:

范例一:將整個 /etc 目錄下的檔案全部打包成為 `/tmp/etc.tar`
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 壓縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 壓縮
特別注意,在引數 f 之后的檔案檔名是自己取的,我們習慣上都用 .tar 來作為辨識,
如果加 z 引數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~
如果加 j 引數,則以 .tar.bz2 來作為附檔名啊~
上述指令在執行的時候,會顯示一個警告訊息:
『`tar: Removing leading `/" from member names`』那是關於絕對路徑的特殊設定,
范例二:查閱上述 /tmp/etc.tar.gz 檔案內有哪些檔案?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時,就得要加上 z 這個引數了!這很重要的!
范例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個范例來說,
我先將作業目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz ,
則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!
范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透過 tar -ztvf 來查閱 tarfile 內的檔案名稱,如果單只要一個檔案,
就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
范例五:將 /etc/ 內的所有檔案備份下來,并且保存其權限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!
范例六:在 /home 當中,比 2005/06/01 新的檔案才備份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home
范例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:將 /etc/ 打包后直接解開在 /tmp 底下,而不產生檔案!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
這分別代表 standard output, standard input 與管線命令啦!    

3.23bc指令(計算器)

bc命令可以很方便的進行浮點運算

用例:

[root@VM-12-8-centos ~]# bc

image-20211026154907783

[root@VM-12-8-centos ~]# echo "1+2+4+6+8" | bc

image-20211026154950789

3.24.uname –r指令

語法:uname [選項]

功能: uname用來獲取電腦和作業系統的相關資訊,

補充說明:uname可顯示linux主機所用的作業系統的版本、硬體的名稱等基本資訊

常用選項:

  • -a或–all 詳細輸出所有資訊,依次為內核名稱,主機名,內核版本號,內核版本,硬體名,處理器型別,硬體平臺型別,作業系統名稱
  • -r 內核版本(面試問的最多)

image-20211026155151989

3.25常見的熱鍵

3.25.1 ctrl+C

讓當前的程式停掉

3.25.2 tab

具有命令補全和檔案補齊的功能

3.25.3 ctrl+D

切換用戶;另外它也可以用來取代exit

3.26關機

語法:shutdown [選項] ** 常見選項:**

  • -h :將系統的服務停掉后,立即關機
  • -r : 在將系統的服務停掉之后就重新啟動
  • -t sec: -t 后面加秒數,即幾秒之后關機

云服務器沒事別關機,

3.27擴展命令

◆ 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

◆ 檔案處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系統管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

◆ 網路操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

◆ 系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode,

3.28file指令

功能說明:辨識檔案型別,

語法:file [選項] 檔案或目錄…

常用選項:

  • -c 詳細顯示指令執行程序,便于排錯或分析程式執行的情形,
  • -z 嘗試去解讀壓縮檔案的內容,

舉例:

image-20211026233438385

4.指令的選擇和比較

4.1 cat vs (more and less)

  • 如果檔案內容有多行,建議使用less,如果檔案內容較少,可以直接使用cat(more)
  • 常見的會用來查看代碼,或者日志

4.2find vs which

  • find是能真正做到在任何一個路徑下做真實的查找
  • which最常用的是去找特定一條命令在哪里,

4.3文本過濾

前面的學習中有文本過濾的兩種方式:

分別是直接grep和管道方式,

grep '99' file.txt
cat file.txt | grep '99'

一般情況下使用命令少的方式就行,特殊情況下使用第二種方式,

5.Linux權限的概念

linux下有兩種用戶:超級用戶(root)、普通用戶

  • 超級用戶:可以再linux系統下做任何事情,不受限制
  • 普通用戶:在linux下做有限的事情,
  • 超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$”,

命令:su [用戶名]

功能:切換用戶,

例如,要從root用戶切換到普通用戶user,則使用 su user,

要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時系統會提示輸入root用戶的口令,

5.1 Linux權限管理

權限:一個事情是否能被特定的人做(執行,完成,擁有…)

人:自然人

事物屬性:檔案(rwx),vip電影(看,不能看)

5.1.1檔案訪問者的分類(人)

這里先聚焦在檔案:

人:擁有者(user),所屬組(group),其他人(other)

事物屬性:檔案:讀(w),寫?,執行(x)

other只要不是擁有者和所屬組都是other,所屬組是為了團隊的協作和不同團隊之間的隔離,

一般情況新建一個用戶該用戶自成一組,

5.1.2檔案型別和訪問權限(事物屬性)

  • 檔案型別

    • d:檔案夾 -:普通檔案(源代碼,圖片,動靜態庫,可執行程式) 
      l:軟鏈接(類似Windows的快捷方式) 
      b:塊設備檔案(例如硬碟、光驅等) 
      p:管道檔案 
      c:字符設備檔案(例如螢屏等串口設備) 
      s:套介面檔案
      

image-20211026162805683

中間的數字是連接數

  • 基本權限

    • .讀(r/4):Read對檔案而言,具有讀取檔案內容的權限;對目錄來說,具有瀏覽該目錄資訊的權限
      ii.寫(w/2):Write對檔案而言,具有修改檔案內容的權限;對目錄來說具有創建洗掉移動目錄內檔案的權限
      iii.執行(x/1):execute對檔案而言,具有執行檔案的權限;對目錄來說,具有進入目錄的權限
      iv.“—”表示不具有該項權限
      
  • 所屬組

image-20211026163622397

  • 兩種用戶和擁有者(u),所屬組(g),其他用戶并不沖突

  • group權限設定是為了組內協作,組間進行權限控制,

  • 檔案權限三個為一組,第一組對應的是擁有者,第二組對應的是所屬組,第三組對應的其他人,

5.1.3檔案權限值的表示方法

  • 字符表示方法
linux表示說明linxu表示說明
r–只讀-w-只寫
–x僅可執行rw-可讀可寫
r-x可讀可執行-wx可寫可執行
rwx可讀可寫可執行不可讀不可寫不可執行
  • 8進制表示方法
權限符號(讀寫執行)八進制二進制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
0000

5.1.4檔案訪問權限的相關設定

  • chmod

  • 功能:設定檔案的訪問權限

  • 格式:chmod [引數] 權限 檔案名

    常用選項:

    • R -> 遞回修改目錄檔案的權限
    • 說明:只有檔案的擁有者和root才可以改變檔案的權限

chmod命令權限值的格式

①用戶表示符+/-=權限字符

  • +:向權限范圍增加權限代號所表示的權限
  • -:向權限范圍取消權限代號所表示的權限
  • =:向權限范圍賦予權限代號所表示的權限
  • 用戶符號:
    • u:擁有者
    • g:擁有者同組用
    • o:其它用戶
    • a:所有用戶

②三位八進制數字

# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

實體:

  • 去除用戶讀權限

image-20211026170636302

[ycb@VM-12-8-centos ~]$ chmod  u-r test.c #給user去掉某個權限

image-20211026170802761

image-20211026170830769

對去除讀權限的檔案進行寫要通過重定向的方式,

image-20211026171140829

  • 加上用戶讀權限

    [ycb@VM-12-8-centos ~]$ chmod u+r test.c
    

image-20211026171319084

因此類似地給所屬組(g),其他人(o)的做法都是類似的,

[ycb@VM-12-8-centos ~]$ chmod u+rw,g-w,o+r test.c
  • 關于root用戶

    image-20211026172441165

    root用戶在這里屬于other只有讀的權限,但是!超級權限用戶是不受約束的,權限是約束普通人的,

    image-20211026172551296

  • 對于目錄的權限

    •  .讀(r/4):Read對檔案而言,具有讀取檔案內容的權限;對目錄來說,具有瀏覽該目錄資訊的權限(和目錄里的file的內容有關系嗎?沒有)
      ii.寫(w/2):Write對檔案而言,具有修改檔案內容的權限;對目錄來說具有創建洗掉移動目錄內檔案的權限(和目錄里的file的內容有關系嗎?沒有)
      iii.執行(x/1):execute對檔案而言,具有執行檔案的權限;對目錄來說,具有進入目錄的權限 【面試題】
      iv.“—”表示不具有該項權限
      
    • 特別注意,查看目錄里的檔案操作是受檔案的權限約束,不是受目錄的權限約束

    • 常考面試題

      • 對目錄的ls和touch都r需要目錄的-x權限,也就是先進去目錄,如果沒有其他命令也無法實行,

image-20211026192328684


  • 以進制為方式改變權限

image-20211026194010665

image-20211026194122242

第幾個數字表示第幾組,每個組以八進制表示權限分配情況,

5.1.5檔案擁有者及檔案所屬組的改變

改變檔案的擁有者需要有權限,因為不要的東西不能隨隨便便給別人,要征得別人同意,所以需要sudo

  • chown

功能:修改檔案的擁有者

格式:chown [引數] 用戶名 檔案名

實體:

[ycb@VM-12-8-centos ~]$ sudo chown root B

image-20211026195922382

  • chgrp

功能:修改檔案或目錄的所屬組

格式:chgrp [引數] 用戶組名 檔案名

常用選項:-R 遞回修改檔案或目錄的所屬組

實體:

[ycb@VM-12-8-centos ~]$ sudo chgrp root B

image-20211026195955280

用戶和用戶組一起改變的實體:

[ycb@VM-12-8-centos ~]$ sudo chown ycb:ycb B

image-20211026200201432

5.1.6目錄粘滯位

在這樣的一種情況下,他人目錄里存在只讀的其他用戶的檔案,該用戶可以直接洗掉該檔案

image-20211026201055033

對于這個情況,針對這個情況,需要對該目錄加粘滯位

[ycb@VM-12-8-centos ~]$ sudo chmod +t T

image-20211026201433075

總結:

  1. 現象:在特定目錄下,普通用戶會受普通權限的約束,但是竟然可以刪掉別人的檔案,甚至是root
  2. 特定目錄設定粘滯位,chmod +t dir,自己只能刪自己的,【root不受限制】
    1. 注意粘滯位是給目錄設定的
  3. 在系統中的/tmp中臨時檔案保存用戶行為記錄的log,該目錄設定了粘滯位
    1. image-20211026202119335
  4. 設定粘滯位后,該目錄下的檔案只能被root,該目錄的所有者以及該檔案的所有者洗掉,

5.1.7 檔案和目錄創建的初始權限(掩碼)

檔案(普通+目錄)權限默認狀態

普通檔案的權限是666,創建目錄默認權限是777

image-20211026213905071

image-20211026213945827

凡是在umask中出現的權限的二進制1,就要在默認權限中去掉,

umask:000 000 010

普通檔案:111 111 101

目錄:111 111 101

umask也是可以修改的,

  • umask

功能: 查看或修改檔案掩碼

新建檔案夾默認權限=0666

新建目錄默認權限=0777

但實際上你所創建的檔案和目錄,看到的權限往往不是上面這個值,

原因就是創建檔案或目錄的時候還要受到 umask的影響,

假設默認權限是mask,則實際創建的出來的檔案權限是: **mask & ~umask **

格式:umask 權限值

說明:將現有的存取權限減去權限掩碼后,即可產生建立檔案時預設權限,超級用戶默認掩碼值為0022,普通用 戶默認為0002,

實體:

# umask 755
# umask //查看
# umask 044//設定

6.shell命令及運行原理

Linux嚴格意義上說的是一個作業系統,我們稱之為“核心(kernel)”,但我們一般用戶,不能直接使用kernel,

Linux 內核(kernel):

  1. 廣義上的作業系統:shell+kernel+配套的軟體(應用+驅動等)
  2. 狹義上的作業系統:指的就是內核,純的作業系統部分

而是通過kernel的“外殼”程式,也就是所謂的shell,來與kernel溝通,如何理解?

為什么不能直接使用kernel?

shell理解:

shell -外殼

從技術角度,Shell的最簡單定義:命令列解釋器(command Interpreter)主要包含:

  • 將使用者的命令翻譯給核心(kernel)處理,
  • 同時,將核心的處理結果翻譯給使用者,

image-20211026215455682

前兩者是一樣的,都是為了解決用戶使用計算機的成本!只不過解決的程度不同罷了,

對比windows GUI,我們操作windows 不是直接操作windows內核,而是通過圖形介面,點擊,從而完成我們的操作(比如進入D盤的操作,我們通常是雙擊D盤盤符.或者運行起來一個應用程式),

shell 對于Linux,有相同的作用,主要是對我們的指令進行決議,決議指令給Linux內核,反饋結果在通過內核運 行出結果,通過shell決議給用戶,

幫助理解:如果說你是一個悶騷且害羞的程式員,那shell就像媒婆,作業系統內核就是你們村頭漂亮的且有讓你心動的小花,你看上了小花,但是有不好意思直接表白,那就讓你家人找媒婆幫你提親,所有的事情你都直接跟媒婆溝通,由媒婆轉達你的意思給小花,而我們找到媒婆姓王,所以我們叫它王婆,它對應我們常使用的bash,如果小花不同意了,王婆也不會繼續幫忙找她了,

image-20211026231621798


  • 總結:
  1. 什么是shell外殼
    1. 包裹在作業系統外層的軟體層,方便用戶和OS溝通
    2. shell:接受用戶的輸入,交給OS執行,得到結果,回傳給用戶
  2. shell作用:
    1. 互動
    2. 保護作業系統
      1. 比如錯誤的指令先由shell確定正確性,再交給作業系統
  3. shell vs bash
    1. shell(媒婆)
    2. bash(王婆)
    3. shell是所有外殼的總稱,bash是一款特定的shell,

以上為感性的理解,之后會深入理解,

7.常見面試題

  1. 進入目錄對應的是哪個權限
  2. 如何處理其他用戶洗掉該用戶的檔案

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339149.html

標籤:其他

上一篇:【LeetCode.鏈表.141+142】環形鏈表,附詳細證明程序+多圖分析

下一篇:堆 的基本知識

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more