Linux學習筆記三

文件系統
1.一個文件具備兩類數據
元數據 metadata
數據 data
索引中的信息爲元數據,例如文件名,大小
索引指向的信息爲數據
文件一定會佔據空間,而且必定有文件名,可是文件名不佔這個文件的空間,相似與人名不會長在身上,屬於外圍屬性
目錄索引也是也是文件,特殊的文件
2.文件名的命名規則
(1)文件名嚴格區分字符大小寫,如file File 是不一樣的兩個文件
(2)文件名可以使用 / 之外的任意字符,而且不建議使用特殊字符
(3)文件名的長度,最長不能超過255個字符
(4)全部以 . 開頭的文件,皆爲隱藏文件。
3.關於字符/ 表示意義
(1)根目錄
(2)路徑分隔符
4.路徑有兩類
絕對路徑:從根目錄上起始的路徑
相對路徑:從當前目錄起始的路徑
5.當前目錄
也叫作工做目錄 working directory
查看當前目錄的路徑 命令是 pwd
表示方式: ./
6.上一級目錄的表示方式 . .
7.關於外部命令的運行過程,以及緩存
因爲命令的可執行文件存在某個目錄中
命令 ls 爲例
輸入ls後,shell程序會在PATH環境變量中存儲的路徑,逐一尋找匹配,變量中的各個路徑用冒號隔開,直到找到匹配的可執行文件
可是此尋找匹配的操做,只有在第一次執行ls命令是進行,由於第一次執行後,會將該命令的正確路徑記錄下來,放到緩存中(緩存教師內存的一段空間)
shell搜尋到的外部命令的路徑結果,會緩存至KV存儲中(鍵值存儲)shell

命令 hash     能夠查看KV(key-value)的內容
            命令 hash -r   能夠清除緩存中的全部內容

            爲何要清除呢?由於有時候緩存中的內容已經失效,不能對應
            當第一次執行命令後,該命令的可執行文件的路徑會記錄到緩存中,可是咱們手動將可執行文件移動位置後,緩存的內容沒有改變,執行該命令,會報錯,沒法執行
            即便咱們移動到位置仍然在PATH環境變量中的路徑中,可是不執行尋找過程,因此只看緩存,而緩存已經不正確,因此須要清除

8.關於history命令
它有什麼做用?相關的環境變量是什麼?有哪些有用的選項?緩存

管理歷史命令
                當用戶登陸Linux系統後,以後操做的全部命令,都在緩存中保存
                此時  .bash_history中沒有內容。
                可是當用戶退出後,緩存中的命令會自動保存到 .bash_history文件中
                第二次登錄 執行命令,退出後,會追加到 .bash_history中

                選項
                history  -a  執行後,將新操做的命令,追加到文件中,不須要退出登陸

                history  -d  編號      
                              執行這個命令後,會刪除歷史命令文件中這個編號所對應的命令

                history -c 清除命令歷史

                快捷操做
                 !編號      這個命令,能夠直接調用命令歷史中 編號對應的命令,如!25   意爲執行歷史命令中編號25的命令
                 !字符     這個命令,能夠直接調用命令歷史中最近一個以該字符開頭的歷史命令,如 !string  
                 !!  這個命令,執行上一條命令
                 注意:命令歷史的空間是有限的
相關文章
相關標籤/搜索