執行命令自己的三種方式 es6
\COMMANDshell
'COMMAND'數據庫
經過which查 用絕對路徑執行命令vim
man 也有文件路徑,centos
man的配置文件 /etc/man.config (centos6.8)緩存
/etc/man_db.conf (centos7.2)安全
像執行一個man ls 命令 他怎麼找到ls 的第一章節幫助呢?bash
正常狀況下是咱們能夠經過whereis ls 執行查看ls的幫助文件的路徑以下圖,ide
該文件是放在/usr/share/man下面的,在man的配置文件中設定了man命令的PATH路徑(能夠經過vim /etc/man.config)ui
vim /etc/man_db.conf (centos7.2)
man ls 命令一執行,就會根據配置文件下的路徑去找對應ls命令文件的幫助文件(由於外部命令的幫助文件均放在以上的路徑下)
靜態庫文件.a
動態庫.so
2,3,9開發相關的,不須要了解
whatis 查看命令的基本幫助,能夠知道man的章節
whatis 數據庫默認是不存在的,剛裝完系統可能會沒有,centos6.8執行命令makewhatis (centos7.2執行mandb)
man -a COMMAND 選項列出該命令的全部的章節,看完一個後q鍵退出進入下一個章節
man -f 至關於whatis
man搜索是重點
對於內部命令來講,若是用help 查找命令幫助文檔不全的化,能夠到bash裏面去找,man bash
打開後,裏面存放的是bash的相關內容,以及內部命令的幫助文檔
man -k password 在whatis數據庫裏面查找全部包含password字符(string)的信息
shutdown -h
運行shutdown -h 9:54 "system will halt"後,centos6.8會出現一直運行該命令,作不了其餘事,可是centos7.2能夠經過按回車鍵,就能夠繼續操做,若該命令後面加一個& 代表在後臺運行該命令,不會影響繼續操做
第一種方法,直接修改.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)時,執行該文件.
第二種方法就是 修改配置文件/etc/issue
就是上述\r \m 參數怎麼查找呢???
經過man幫助,
而後 再man 8 mingetty(7.2找不到相應的幫助)
找到相應的\
而後再修改/etc/issue配置文件便可
history
historysize存放在/etc/profile 文件(能夠修改歷史命令的條數)是針對全部用戶的
以前的命令歷史是放在一個.bash_history的文件裏,當前登陸的用戶使用的命令歷史是放在內存中的,須要exit正常退出(不正常退出會丟失數據),則內存的內容會寫到上述文件裏,再此查看就能夠查到
不一樣用戶的歷史不同的
文件是當前用戶的home下的.bash_history
!!表示上一條命令
ctrl+p調用上一條命令
利用上下鍵
!-1
以上四種方式均爲執行上一條命令
ctrl+r string 搜索最近的包含string的歷史
按esc鬆手再按點號 快捷鍵找出上一條命令執行的參數
!$也能夠(多個參數的化,!$調用的是最後一個參數,$的含義是命令的結束)
alt+. alt+點號在虛擬機上能夠(Xshell不行)
!^ 調用第一個參數
!:N調用第幾個參數
!*調用全部的參數
修改本身的用戶的HISTSIZE=0 到當前用戶的 ~/.bash_history文件裏面修改
修改全部人的 到/etc/profile
先刪文件再修改歷史
history -c 至關於將HISTSIZE=0(僅對當前有效),退出夠仍會記錄1000條
history -d 刪除指定行數的命令
history -a 將內存的歷史命令寫到歷史文件中,正常退出登陸就能夠,不想退出就執行-a選項
兩個比較,來理解,好比從新開一個終端而且是同一個用戶登陸,這時候執行一些命令後,而後執行history -a
將當前的歷史列表放在了歷史文件中了,而後再回到以前的終端,使用history -r 選項他會從新讀歷史文件,而後把歷史文件的內容附加到當前的歷史列表裏,無論有沒有重複的,使用history會發現歷史列代表顯增長不少,而使用history -n 的化,一樣他也去讀歷史文件,可是他會和本身當前的歷史列表作比較,不會重複讀取,只會把本身沒有的歷史附加到當前的歷史列表中
若是我記不得命令歷史文件叫什麼了
直接使用history -w XXX
能夠僞造歷史
或者修改文件
執行 history -s rm -rf /
並不會執行後面的命令,可是會把後面的命令寫到歷史列表裏面,至關於僞造
echo $HISTFILE查看當前用戶的歷史文件路徑
找到以後也能夠利用nano修改
若是內部命令的help不夠詳細,就到man bash
而後用/string查找字符串
(配置文件)新增並修改歷史文件,用nano編輯,不用默認的./.bash_history文件存放歷史
注意是反向單引號`hostname`的用法
忽略以空格開頭的命令歷史
上述變量若是須要對當前用戶或者全部用戶永久生效 須要到配置文件中增長鬚要的功能(/etc/profile或~/.bash_profile)
export 變量名=「值」 會將該變量變爲環境變量
以上變量從 man bash 裏面搜HISTCONTRL 查看幫助
用help history 查詢幫助內容不夠詳細
HISTCONTROL 多個參數用冒號隔開
reset 命令結束亂碼界面
文件系統
centos 6,7和以前老版本的文件的安全性問題
老版本里面的普通用戶登陸查看PATH路徑是找不到sbin的是屬於管理類的命令,正常狀況下是不能執行的沒有足夠的權限,可是有個缺陷就是使用絕對路徑,我不用去找你的PATH路徑,直接絕對路徑是能夠執行管理類的命令
可是6,7在這已經作出改善,儘管PATH路徑有/sbin 的路徑,你用普通用戶是執行不了管理命令的
centos6和7目錄結構共有的是屬於標準目錄結構
不是共有的,就不屬於標準的目錄結構
查看內核文件的大小/boot
塊設備 隨機訪問 biock ,有緩存
character 字符設備 順序訪問,無緩存
空設備
/dev/null /dec/zero