第二周內(nèi)容


1、描述Linux發(fā)行版的系統(tǒng)目錄名稱命名規(guī)則以及用途。

????Linux系統(tǒng)基礎目錄的命名法則:

????????????-? 嚴格區(qū)分大小寫

????????????- 目錄也是文件,在同一路徑下,兩個文件不能同名

????????????- 支持使用除 / 以外的任意字符

????????????- 最長字符不能超過255個字符

? ? ? Linux 根下目錄及用途

? ? ? ? ? ? ? ?/bin? 存放二進制可執(zhí)行文件(ls,cat,mkdir等),常用命令一般都在這里

????????????????/etc? 配置文件

????????????????/home 用戶家目錄

????????????????/root 超級用戶(系統(tǒng)管理員)的主目錄

????????????????/sbin 存放二進制可執(zhí)行文件,超級權限用戶才能訪問

????????????????/dev? 設備文件

????????????????/mnt? 臨時文件系統(tǒng)的安裝點

????????????????/boot 存放用于系統(tǒng)引導時使用的各種文件

????????????????/lib? 存放跟文件系統(tǒng)中的程序運行所需要的共享庫及內(nèi)核模塊

????????????????/var? 用于存放運行時需要改變數(shù)據(jù)的文件

2. 描述文件的元數(shù)據(jù)信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?

元數(shù)據(jù)信息包含:

????File:文件名

????Blocks:文件所占塊個數(shù)

????IO Block:每個數(shù)據(jù)塊的大?。▎挝唬築)

????regular file:普通文件(此處顯示文件的類型)

????Inode:文件的Inode號,文件的索引節(jié)點號

????Links:硬鏈接次數(shù)

????Access:權限

????Uid:(屬主id/屬主名)

????Gid:(屬組id/屬組名)

????Context:文件所在的環(huán)境

????Access:最近訪問時間

????Modify:數(shù)據(jù)改動時間

????Change:元數(shù)據(jù)改動時間

????Creat/Birth:文件創(chuàng)建時間

查看文件的元數(shù)據(jù)的方法:

????stat命令: 查看文件的元數(shù)據(jù)

????語法:stat FILE…

????Stat? /etc/passwd

[root@dcy-test ~]# stat rm.sh

? File: ‘rm.sh’

? Size: 108? ? ? Blocks: 8? ? ? ? ? IO Block: 4096? regular file

Device: 801h/2049d Inode: 8460798? ? Links: 1

Access: (0755/-rwxr-xr-x)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2019-12-31 11:56:37.908776011 +0800

Modify: 2019-12-31 11:56:29.836669331 +0800

Change: 2019-12-31 11:56:29.857669609 +0800

Birth: -

文件的三個時間戳詳細介紹如下:

????????atime:訪問時間:讀一次文件的內(nèi)容,這個時間就會更新。比如more、cat等命令。ls、stat命令不會修改atime

mtime:修改時間:修改時間是文件內(nèi)容最后一次被修改的時間。比如:vim操作后保存文件。ls -l列出的就是這個時間

ctime:狀態(tài)改動時間。是該文件的inode節(jié)點最后一次被修改的時間,通過chmod、chown命令修改一次文件屬性,這個時間就會更新。文件的時間戳修改需要用touch命令進行修改,touch命令格式如下:

**touch命令: touch - change file timestamps**

????? touch [OPTION]… FILE… 需要注意的是Changetime無法指定進行修改,在atime以及mtime修改后,ctime自動進行更新。

? -c: 指定的文件路徑不存在時不予創(chuàng)建;

? -a: 僅修改access time;

? -m:僅修改modify time;

? -t STAMP

? [[CC]YY]MMDDhhmm[.ss]

[root@dcy-test ~]# touch -a 20200303 rm.sh

[root@dcy-test ~]# stat rm.sh

? File: ‘rm.sh’

? Size: 108? ? ? Blocks: 8? ? ? ? ? IO Block: 4096? regular file

Device: 801h/2049d Inode: 8460798? ? Links: 1

Access: (0755/-rwxr-xr-x)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: unconfined_u:object_r:admin_home_t:s0

Access: 2020-03-05 10:24:54.669800961 +0800

Modify: 2019-12-31 11:56:29.836669331 +0800

Change: 2020-03-05 10:24:54.669800961 +0800

Birth: -

3. 總結軟硬連接的區(qū)別,并用實例操作說明

? ? 軟連接:其實就是新建立一個文件,這個文件就是專門用來指向別的文件的(和windows 下的快捷方式的接近的意思)。軟鏈接產(chǎn)生的是一個新的文件,但這個文件的作用就是專門指向某個文件的,刪了這個軟連接文件,那就等于不需要這個連接,和原來的存在的實體原文件沒有任何關系,但刪除原來的文件,則相應的軟連接不可用(cat那個軟鏈接文件,則提示“沒有該文件或目錄”)

? ? 硬連接:硬鏈接實際上是為文件建一個別名,鏈接文件和原文件實際上是同一個文件是不會建立inode的,ls -i 文件查看indoe,他只是在文件原來的inode link count域再增加1而已,也因此硬鏈接是不可以跨越文件系統(tǒng)的。相反是軟連接會重新建立一個inode,當然inode的結構跟其他的不一樣,他只是一個指明源文件的字符串信息。一旦刪除源文件,那么軟連接將變得毫無意義。而硬鏈接刪除的時候,系統(tǒng)調(diào)用會檢查inode link count的數(shù)值,如果他大于等于1,那么inode不會被回收。因此文件的內(nèi)容不會被刪除。

?

| 軟連接與硬連接的區(qū)別 :?

? ? ? 軟連接: 可跨設備;會創(chuàng)建新的inod;軟鏈接的訪問屬性是l,且訪問權限不能設置,只能是777,真正的權限取決于源文件;不能對目錄進行創(chuàng)建 ;移動或刪除目標文件或目錄,連接失敗 。
? ? ?硬連接:?不可跨設備;?不會創(chuàng)建inode,和原文件inode一樣 ;硬鏈接的訪問屬性和源文件一模一樣;能對目錄進行創(chuàng)建;移動或刪除目標文件或目錄,不影響連接文件

? ?[root@dcy-test ~]# touch 1.txt

? [root@dcy-test ~]# ll? 1.txt

? -rw-r--r--. 1 root root 0 Mar? 5 11:33 1.txt

? [root@dcy-test ~]# ln 1.txt /tmp/2.txt

? [root@dcy-test ~]# ll 1.txt

? -rw-r--r--. 2 root root 0 Mar? 5 11:33 1.txt

? [root@dcy-test ~]# ll /tmp/2.txt

? -rw-r--r--. 2 root root 0 Mar? 5 11:33 /tmp/2.txt

? [root@dcy-test ~]# ls -i 1.txt? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看文件inode存儲塊

? 8758773 1.txt

? [root@dcy-test ~]# ls -i /tmp/2.txt

? 8758773 /tmp/2.txt

? [root@dcy-test ~]#


? [root@dcy-test ~]# ln -s a.txt b.txt

? lrwxrwxrwx. 1 root root 5 Mar? 5 11:40 b.txt -> a.txt

? [root@dcy-test ~]# echo "1" > a.txt

? [root@dcy-test ~]# cat a.txt

? 1

? [root@dcy-test ~]# cat b.txt

? 1

? [root@dcy-test ~]# ll b.txt

? ```

4.linux 上文件管理類命令有哪些,其常用 的使用方面及其相關示例演示

1.? ls? 列出指定目錄下的內(nèi)容格式

? ls [option] [file]?

? ? ? option: -a? 所有文件包括隱藏文件

? ? ? ? ? ? -A:顯示除.和..之外的所有文件

? ? ? ? ? -i? 查看文件inode號

? ? ? ? ? -l,--long:顯示文件的詳細屬性信息 等于? ll 命令

? ? ? ? -h:對文件大小進行單位換算,可能影響精度

? ? ? -d:查看目錄本身而非其內(nèi)部的文件

? ? ? -r:逆序顯示文件

? ? ? -R:遞歸顯示文件

? ? file

? ? ? file 文件1? 查看文件的屬性 ?

? ? [root@dcy-test ~]# file a.txt

? ? a.txt: ASCII text

? ? [root@dcy-test ~]# file /etc/passwd

? ? /etc/passwd: ASCII text

? ? cat? 文件? ? #查看文件內(nèi)容,從開顯示至尾部? ? ? -n:給顯示的文本行編號

? ? tac? 文件? ? #查看文件內(nèi)容,從尾部顯示至頭部,倒序查看;

? ? head? 文件? ? #查看文件頭部開始默認顯示10行

? ? ? -n #:顯示文本頭n行內(nèi)容?

? ? ? 例:head -5 /etc/passwd? == head -n5 /etc/passwd --顯示文件頭5行內(nèi)容

? ? tail? 顯示文本內(nèi)容,默認顯示后10行

? ? ? 格式:tail [OPTION]... [FILE]...

? ? -n #:顯示文本后#行內(nèi)容

? ? -f:查看文件尾部內(nèi)容結束后不退出,跟隨顯示新增的行

? ? ? 例:tail -8 /etc/passwd --顯示文件后8行內(nèi)容

? ? cp? 源文件? 目標文件? 復制文件工具

? ? ? 格式:單源復制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在則創(chuàng)建,存在則覆蓋)

? ?    多源復制:cp [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)

? ? ?? ?   -i:交互式復制,即覆蓋前提醒用戶確認

? ? ?? ? ? ? -f:強制覆蓋目標文件

? ? ?? ? ? ? -r,-R:遞歸復制目錄

? ? ?? ? ? ? 示例:cp -if /data/[1-3].txt /data/test? ? #test必須為目錄,把三個文件一起復制到test中

? ? ? cp /tmp/1.txt /tmp/a.txt? /data/

? ? ?? ? ? ? cp -r /data /practice? ? ? #把data目錄及目錄下的內(nèi)容一起復制到practice中

? ? mv? 單個文件或多個文件? ? 單個文件或目標目錄

? ? ? 源文件是多個文件時,目標文件應為目錄

? ? ? mv? /tmp/1.txt /tmp/a.txt? /data/

? ? rm? [選項] [文件或目錄]

? ? ? -r? 表示刪除目錄 ;? -f? 強制刪除不提醒;- i? 提示,默認已加了-i選項;

? ? ? ? ? rm -rf? /tmp/cp? ?

? ? mkdir [選項] 目錄名? 創(chuàng)建目錄命令? ? -p: 遞歸創(chuàng)建

? [root@dcy-test ~]# mkdir /tmp/cp ; mkdir? -p /tmp/a/{a,b}

? [root@dcy-test ~]# mkdir -p /tmp/test/{a,b}/{c,d}

? [root@dcy-test ~]# tree /tmp/test/

? ? /tmp/test/

? ? ├── a

? ? │?? ├── c

? ? │?? └── d

? ? └── b

? ? ? ? ├── c

? ? ? ? └── d

? ? cd? ? 切換目錄命令

? ? ? 示例:cd ..:切換到上級目錄

? ? ? ? cd ~:切換回自己的家目錄

? ? ? ? cd -:在上一次目錄與當前目錄直接來回切換

?? ? ? ? pwd:顯示當前目錄

5.復制/etc/profile 至/tmp目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符

[root@dcy-test ~]# cp /etc/profile /tmp/

[root@dcy-test ~]# sed -i 's/^[[:space:]]\+//g' /tmp/profile # +表示前面[]里的重復1次或多次

[root@dcy-test ~]# cat /tmp/profile

6. ###### 在vim中設置tab縮進為4個字符

? ```

? vim /etc/vimrc

? set tabstop=4? ?

? ```

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 什么是shell shell 是一個命令語言解釋器(command-language interpreter)。 ...
    Arteezy_Xie閱讀 1,149評論 0 0
  • 基本命令-2 壓縮和歸檔 打包: 即歸檔,類似于旅游之前收拾行李 壓縮: 為了減少占用的磁盤空間,可以做備...
    崔千易閱讀 1,055評論 0 0
  • 1.Linux上的文件管理類命令,其常用的使用方法及其相關示例演示 文件與目錄的管理上,不外乎顯示屬性、 拷貝、刪...
    whamai閱讀 338評論 0 0
  • Linux啟動過程 1.開機自檢BIOS 2.MBR引導 3.GRUB菜單 4.加載內(nèi)核 5.運行init進程 6...
    康樂_SH閱讀 547評論 0 0
  • Linux發(fā)行版的系統(tǒng)目錄名稱命名規(guī)則及用途Linux系統(tǒng)基礎目錄的命名法則: 1、遵循FHS(Filesyste...
    L星Y閱讀 387評論 0 0

友情鏈接更多精彩內(nèi)容