第三天上課內容&總結


執行命令自己的三種方式 es6

\COMMANDshell

'COMMAND'數據庫

經過which查 用絕對路徑執行命令vim


wKioL1eY0IXxU4yxAAEOgSMHIJM499.jpg



man 也有文件路徑,centos

man的配置文件  /etc/man.config  (centos6.8)緩存

/etc/man_db.conf  (centos7.2)安全

wKiom1eY0IjQRfpDAAEZK-osspM627.jpg


像執行一個man  ls  命令  他怎麼找到ls 的第一章節幫助呢?bash

正常狀況下是咱們能夠經過whereis ls 執行查看ls的幫助文件的路徑以下圖,ide


wKioL1eY0IjyqO_fAAAbNM9QunQ392.png


該文件是放在/usr/share/man下面的,在man的配置文件中設定了man命令的PATH路徑(能夠經過vim /etc/man.config)ui


         wKiom1eY0ImwxjDhAABA4fRBOzY766.png




vim  /etc/man_db.conf  (centos7.2)

wKioL1eY0IqiD1eTAABiQwgYpyQ664.jpg


man ls 命令一執行,就會根據配置文件下的路徑去找對應ls命令文件的幫助文件(由於外部命令的幫助文件均放在以上的路徑下)


靜態庫文件.a

動態庫.so

2,3,9開發相關的,不須要了解


wKioL1eY0IvgoBBNAACqUK4FDjQ585.jpg

whatis 查看命令的基本幫助,能夠知道man的章節

whatis 數據庫默認是不存在的,剛裝完系統可能會沒有,centos6.8執行命令makewhatis (centos7.2執行mandb)

man -a  COMMAND 選項列出該命令的全部的章節,看完一個後q鍵退出進入下一個章節



wKiom1eY0IyBZTTVAABQSE76bGU713.jpg


man  -f 至關於whatis

wKiom1eY0I7glkFnAACXMgO3pbM660.jpg


man搜索是重點

對於內部命令來講,若是用help 查找命令幫助文檔不全的化,能夠到bash裏面去找,man bash 

打開後,裏面存放的是bash的相關內容,以及內部命令的幫助文檔

man -k password 在whatis數據庫裏面查找全部包含password字符(string)的信息


wKioL1eY0I_gY_a-AADp9fUjc3s533.jpg

wKiom1eY0JHxfLMDAAEoMZlh4yw540.jpg


shutdown -h

wKioL1eY0JLShMblAAB9JMmxp00396.jpg


運行shutdown -h 9:54 "system will halt"後,centos6.8會出現一直運行該命令,作不了其餘事,可是centos7.2能夠經過按回車鍵,就能夠繼續操做,若該命令後面加一個& 代表在後臺運行該命令,不會影響繼續操做

wKiom1eY0JSBSK0WAACvchOcRLk020.jpg



wKioL1eY0JTBDIbnAAArRwUCIF0216.png


第一種方法,直接修改.bash_profile(查一下該文件是幹什麼用的)

/etc/profile:此文件爲系統的每一個用戶設置環境信息,當用戶第一次登陸時,該文件被執行.
並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:爲每個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該
文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件.

~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登陸時以及每次打開新的shell時,該
該文件被讀取.
~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件.

wKiom1eY0JbT6xrzAACBOXPO0x0536.jpg


  第二種方法就是 修改配置文件/etc/issue  


                    wKioL1eY0JaRmD9WAAAduELuojs411.png


就是上述\r  \m  參數怎麼查找呢???

經過man幫助,

wKioL1eY0JfSwrXPAABfv1r1JPQ279.png

而後 再man 8 mingetty(7.2找不到相應的幫助)

找到相應的\   

而後再修改/etc/issue配置文件便可

wKiom1eY0JnRB-GPAABweS74HuE739.png


history

historysize存放在/etc/profile 文件(能夠修改歷史命令的條數)是針對全部用戶的

以前的命令歷史是放在一個.bash_history的文件裏,當前登陸的用戶使用的命令歷史是放在內存中的,須要exit正常退出(不正常退出會丟失數據),則內存的內容會寫到上述文件裏,再此查看就能夠查到

不一樣用戶的歷史不同的

文件是當前用戶的home下的.bash_history


wKiom1eY0JqCbkQuAABtDSkdbx0132.jpg


!shut 執行以shut開頭的命令歷史,執行最近的


wKioL1eY0JvCya9oAACG39j_bWg600.jpg




wKioL1eY0Jui-bJQAAA5u9ZzQes614.jpg


!!表示上一條命令

ctrl+p調用上一條命令

利用上下鍵

!-1

以上四種方式均爲執行上一條命令

ctrl+r  string  搜索最近的包含string的歷史

按esc鬆手再按點號 快捷鍵找出上一條命令執行的參數

!$也能夠(多個參數的化,!$調用的是最後一個參數,$的含義是命令的結束)

alt+.   alt+點號在虛擬機上能夠(Xshell不行)

!^  調用第一個參數

!:N調用第幾個參數

!*調用全部的參數


wKiom1eY0J2BGKqnAADfhM1Nq9Y953.jpg

修改本身的用戶的HISTSIZE=0   到當前用戶的 ~/.bash_history文件裏面修改

修改全部人的  到/etc/profile


wKioL1eY0J7yo4rVAAB6qUcMkPY065.jpg



先刪文件再修改歷史

history -c 至關於將HISTSIZE=0(僅對當前有效),退出夠仍會記錄1000條

history -d 刪除指定行數的命令

history  -a 將內存的歷史命令寫到歷史文件中,正常退出登陸就能夠,不想退出就執行-a選項


wKioL1eY0J-h5A8DAABIl4H5tUk251.jpg


兩個比較,來理解,好比從新開一個終端而且是同一個用戶登陸,這時候執行一些命令後,而後執行history -a  

將當前的歷史列表放在了歷史文件中了,而後再回到以前的終端,使用history -r 選項他會從新讀歷史文件,而後把歷史文件的內容附加到當前的歷史列表裏,無論有沒有重複的,使用history會發現歷史列代表顯增長不少,而使用history -n 的化,一樣他也去讀歷史文件,可是他會和本身當前的歷史列表作比較,不會重複讀取,只會把本身沒有的歷史附加到當前的歷史列表中



wKiom1eY0J-BpxobAAAk3guzvxk964.jpg


若是我記不得命令歷史文件叫什麼了

直接使用history -w XXX



wKioL1eY0KCzTWGIAAAqswYHrK8659.png

能夠僞造歷史

或者修改文件


wKiom1eY0KGQZdQVAAAi18OOhW4454.jpg

執行 history -s rm -rf /

並不會執行後面的命令,可是會把後面的命令寫到歷史列表裏面,至關於僞造



echo $HISTFILE查看當前用戶的歷史文件路徑

找到以後也能夠利用nano修改

wKiom1eY0KKBH0wkAAB6yE2gE1s975.jpg



若是內部命令的help不夠詳細,就到man bash

而後用/string查找字符串

wKioL1eY0KOhDfbIAAC2_ADxRss395.jpg



(配置文件)新增並修改歷史文件,用nano編輯,不用默認的./.bash_history文件存放歷史wKiom1eY0KTS7fdwAAATQQXptek292.png






wKioL1eY0KXgKXOTAADJM1bdxgs864.jpg

wKiom1eY0KehygenAADUDQVakW8972.jpg

注意是反向單引號`hostname`的用法




wKioL1eY0KnDsMc9AAGw7hTa6Vg604.jpg

忽略以空格開頭的命令歷史


wKiom1eY1LCgZtnlAAAY0N6EOWw580.jpg不論是否連續出現重複的命令就要刪除


上述變量若是須要對當前用戶或者全部用戶永久生效 須要到配置文件中增長鬚要的功能(/etc/profile或~/.bash_profile)

export 變量名=「值」  會將該變量變爲環境變量

以上變量從 man bash 裏面搜HISTCONTRL 查看幫助

用help history 查詢幫助內容不夠詳細

wKioL1eY1LKDc2AeAAFM7m_VZM0743.jpg

HISTCONTROL  多個參數用冒號隔開

wKioL1eY1LOjzW5nAABbaIRqm4U100.jpg


reset 命令結束亂碼界面

wKiom1eY1LXjSxE-AAEMDlf9REU884.jpg


文件系統



centos 6,7和以前老版本的文件的安全性問題  


老版本里面的普通用戶登陸查看PATH路徑是找不到sbin的是屬於管理類的命令,正常狀況下是不能執行的沒有足夠的權限,可是有個缺陷就是使用絕對路徑,我不用去找你的PATH路徑,直接絕對路徑是能夠執行管理類的命令

可是6,7在這已經作出改善,儘管PATH路徑有/sbin 的路徑,你用普通用戶是執行不了管理命令的

centos6和7目錄結構共有的是屬於標準目錄結構

不是共有的,就不屬於標準的目錄結構

查看內核文件的大小/boot


塊設備 隨機訪問  biock ,有緩存

character 字符設備 順序訪問,無緩存

空設備

spacer.gif

/dev/null   /dec/zero

相關文章
相關標籤/搜索