linux基礎入門

linux基礎入門

  • linux是一門開源穩定性高實用的全文本的操作系統,一般實用于服務器,我們國家大多數互聯網公司采用的是Cent OS,說起Cent Os 那他和 紅帽(Red Hat)公司的關聯那就大了,好了不啰嗦了下面正式開始我們的基礎的講解。
  • linxu 基礎入門首先是命令,要對命令的了解,活學,活用,當然還有他的當然和發展史等等,但是篇我們說的是命令,正所謂,萬丈高樓從低起,我們要先打好基,才能成為高手,童鞋們讓我們一起加油吧。

內部命令

  • 內部命令那什么叫內部命令,內部命令就是基于shenll 里面的命令,用來執行操作,所以我給稱他為內部命令。
    shenll可以說他是個翻譯,我們要和計算機說話肯定需要東西來翻譯啊,我們又不是搞編程的,我們又不認識代碼,這時候shell就出來了。
    shell分很多種我們默認用的是bash, 可以用 cat /etc/shells 來查看計算機里面的shell 種類,在可以用 echo /etc/$SHELL來查看你的系統用的什么shell,當然我們默認用的是bash,我們當然說的就是bash啦。
    -bash實際上是一個文件,真實存在于系統里面,可以用ls /bin/bash 來查看路徑,他會顯示綠色,綠色表示是可以執行文件,綠色都是可執行的,他是一個程序,用 ll /bin/bash命令可以查看bash 的大小,bash命令是我們系統運行了,會自動啟動,所以一開始我們就能執行。
  • 那我們怎么知道那些命令是內部命令? , 這樣的話,我們用cd 這個常用的命令來試試 。
  • 在命令行輸入: type cd ,執行命令以后他會顯示cd is a shell builtin千萬要注意空格哦:builtin的意思是內置或內鍵的意思,這表示他輸入內部命令。
    -type這個命令表示可以幫我們判斷命令的類型。
  • 那外部命令是什么樣子,那我們用ifconfig 這個命令是用來查看本機的ip 的 輸入:type ifconfig他會顯示 ifconfig is/usr/sbin/ifconfig他顯示的是一個路徑,那表示他不是bash自帶的了,他已經獨立出來了,這種就表示他是一個外部命令。
  • shell是分好幾種類型的如:sh,bash,nologin,csh,tcsh,等等,每種shell內置的內部命令都不用,但是有些命令在里面也是相同的,這表示內部命令依賴于shell類型。`
  • 那系統種中有多少種內部命令或多少個內部命令,那我們可以用 help 命令 來查看,這樣他會顯示,系統所有的內部命令,用enable 也可以列出所有的內部命令。
  • 那怎么去禁用內部命令,可以用 :enable -n后面是命令 , 這樣可以禁用命令,禁用命令就是不允許他用了,但是有些命令就算禁用了,但是他也存在于外部命令,存在也外部命令的意思就是他,在外部也有這個命令如 :echo這個命令就算把他禁用了他在外部也有這個命令他一樣可以執行。
  • 那這樣就有了個優先級之分 ,到底是外部命令還是內部命令,誰先使用,那肯定是內部命令,那為什么不是外部命令,原因很簡單,因為bash開機的時候已經集成在內存里面了,而外部命令還在磁盤里面,內存比硬盤速度快多了,那原理上是不是很合理,其實系統上就是這么設定的。
  • 那怎么去開機禁用的命令 :enable 后面接命令,其實就是把-n 去掉這就是啟用內部命令。
  • 其實我們怎么看命令既是外部又是內部命令?我們可以用 : type -a 后面接命令 可以查這個命令是否是外部又屬于內部,我們還可以用 :type -P 選項 后面接命令 , 這樣可以查出命令的路徑,假如什么都不顯示,這表示這個命令沒有外部命令,沒有外部命令他就不顯示路徑。
  • 那怎么顯示那些命令被禁用了,我們可以用: enable -n 選項 后面不接命令來查看,輸入命令以后會顯示所有被禁用的內部命令,而且用 enable -n 選項 后面接命令 , 還可以一次禁用多個命令,當然 enable后面接命令 還可以支持啟用多個命令。
  • 最后還告訴大家哥小秘密哦:enable還可以自己禁用自己哦,但是童鞋們不要擔心,因為我們用的都是命令行界面所以只有重新打開命令行界面就可以了,他會重新啟用bash,我們又可以用了,哈哈。

外部命令

  • 外部命令,我們在上面用 type看了他是一個一個的路徑,既然是路徑那就表示他是存在于磁盤里面,也就是硬盤,外部命令既然是一個一個的路徑,那我們輸入命令的時候我們好像沒輸入路徑吧,那他是怎么運行的? ,他是怎么找到這個文件的,磁盤文件這么多他不可能一個一個去找吧,那他是怎么執行的,怎么找到路徑的?。
  • 外部命令有什么命令來查看,我們可以用:which后面加命令,可以來查看外部命令的路徑,一般專用他來查看外部命令的路徑,他和type 很有相似之處,用:which -a 選項 他會把$PATH里面所有的和命令相同的路徑全找出來,有時候用他會現實出來不是我們想要的東西,其實是別名,他的功能就是查看別名,后面我會介紹。
  • 還有一個命令 :whereis后面接命令列出外部命令和一些文檔命令 后面在來介紹。
  • 其實他是依賴于PATH變量命令:echo $PATH可以找到PATH變量的路徑,他們會一個一個路徑里面找,找不到的話他們就報錯了,注意這些路徑不在內存里面哦,但是他們執行過后就緩存在內存里面了 ,緩存了以后他就不需要在去硬盤找PATH變量里面找了,大家注意每個版本的PATH變量都不同哦。

系統別名

  • 別名也就是小名吧,作用是把很長的路徑給他定義一個別名以后,用最短的時間來執行。
  • 那怎么定義別名,比如:alias cdnet='cd /etc/sysconifg/network-scripts/' 這個路徑長吧,我以后只要輸入 cdnet就會直接切換到 :etc/sysconfig/network-scripts:這個目錄下面這樣不是很方便嗎。
  • 我們用alias 這個命令可以列出系統里面所有的別名,里面有我們已經定義好的別名和系統自帶的別名,每個版本系統定義的別名都不同。
  • 但是我們只樣定義的別名都只是臨時的想要永久定義別名需要去修改家目錄下面的一個文件叫:.bashrc這個文件去修改這樣才能修改別名,就算以后退出終端了,別名一樣可以用。
  • 但是我們是修改文件的,所以我們這個別名不會馬上生效和臨時的別名不同,需要我們用:. .bashrc來執行 這樣才能馬上執行我們修改的別名。
  • 我們這個別名只是修改用戶的別名哦,如果你想每個用戶都能用也稱全局別名需要修改:/etc/.bashrc修改這個文件才能每個用戶都能用這個別名。
  • 刪除別名:unalias接想刪除的別名這樣就可以刪除他了,但是這只是臨時刪除,終端退出以后,在登錄的話別名會重新加載別名,想要徹底刪除,需要去家目錄里面的: bashrc 里面去修改,當前你想要刪除全局的別名也要去:/etc/bashrc 里面才能刪除,當然nalias -a `選項可以取消全部別名,但是只是臨時的,不要緊張。

外部命令

  • 外部命令,我們在上面用 type看了他是一個一個的路徑,既然是路徑那就表示他是存在于磁盤里面,也就是硬盤,外部命令既然是一個一個的路徑,那我們輸入命令的時候我們好像沒輸入路徑吧,那他是怎么運行的? ,他是怎么找到這個文件的,磁盤文件這么多他不可能一個一個去找吧,那他是怎么執行的,怎么找到路徑的?。
  • 外部命令有什么命令來查看,我們可以用:which后面加命令,可以來查看外部命令的路徑,一般專用他來查看外部命令的路徑,他和type 很有相似之處,用:which -a 選項 他會把$PATH里面所有的和命令相同的路徑全找出來,有時候用他會現實出來不是我們想要的東西,其實是別名,他的功能就是查看別名,后面我會介紹。
  • 還有一個命令 :whereis后面接命令列出外部命令和一些文檔命令 后面在來介紹。
  • 其實他是依賴于PATH變量命令:echo $PATH可以找到PATH變量的路徑,他們會一個一個路徑里面找,找不到的話他們就報錯了,注意這些路徑不在內存里面哦,但是他們執行過后就緩存在內存里面了 ,緩存了以后他就不需要在去硬盤找PATH變量里面找了,大家注意每個版本的PATH變量都不同哦。

Hash緩存表

  • 緩存表俗稱哈希表用:hash 命令可以查看,這都是緩存到內存里面的外部命令,輸入命令以后會有英文叫hits的單詞 這其實就是這個命令執行了幾次的意思,1就是這個命令執行了一次,3就是這個命令執行了三次,當然hits在單詞里面是命中的意思 ,command這個相信大家都知道 路徑 ,命令的路徑這就是已經緩存在內存里面的命令。
  • 我們用命令hash -l 后面不接命令 可以詳細的顯示出命令的路徑和命令本身。
  • 用命令 hash -p選項 后面接路徑和命令本身如:hash -p /usr/bin/cd dd 這樣我們就給cd取了別名 叫dd 一樣可以執行 但是臨時的。
  • 刪除緩存別名如:hash -d選項 后面接你要刪除的命令 ,這樣可以刪除緩存中的命令。
  • 清空所有緩存命令是:hash -r清除所有的緩存。
  • 還有個命令是:hash -t選項這個命令是用于顯示出別名的路徑,也叫打印緩存的路徑,也就是打印出外部命令緩存到這里的路徑。

簡單小命令

  • date 查看當前系統時間
  • date 改時間格式MMDDHHmmYYYY.ss
  • MM是月 DD是號 HH小時 mm分鐘 YYYY是年 ss 是秒 ,當前改的只是內存里的時間。
  • ckock 硬件時間
  • ckock -s 把硬件時間讀取到軟件
  • hwckock -w 把軟件時間讀取到硬件時間
  • ntpdate 同步時間 但是需要同步的服務器有同步服務
  • 輸入 LANG=“zh_CH.UTF-8” 可以切換顯示中文時間
  • 輸入 LANG=“en_US.UTF-8” 可以切換為英文模式時間
  • UTF-8 是支持所有語言的
  • cal 是顯示日歷 修改時間:cal-10-2018 不要加橫杠
  • cal 顯示整年:cal 2018 最高9999年 缺點就是不能顯示農歷,有一個特殊的年 09 1752年是一個故事。
  • 時區我們可以在/etc/localtime里面改.CentOS 7里面專有個命令來查看時區,用命令timedatectl list-timezones 列出所有時區,找到我們想要改的時區,讓后我們在設置時區,用命令timedatectl set-timezone 后面接你想設置的時區,記住在timezone后面一定要加 / 斜杠或空格哦 ,這樣我們就改了時區。(注意這些命令只有CentOS 7命令才支持哦)
  • nano 文本小編輯器
  • halt ,poweroff 關機
  • reboot 重啟 -f 強制重啟 -p 切斷電源
  • shutdown 關機或重啟 -h 10分鐘后關機 -c 取消關機 假如 :shutdown -h 后面跟時間可以定制時間關機1就是1分鐘 10就是10分鐘,但是可以用-c取消關機,。
  • shutdown -h 還可以發消息關機 ,如:shutdown 18.16 "這里填寫消息" ; 他會提前15分鐘提醒你。
    echo命令
  • echo 回顯的意思也稱打印|
  • -n 不換行|
  • e 啟用字符功能
  • -a 報警 需要-e配合使用
  • \b退格的功能 |
  • \c 最后不加上換行符號
  • \n 換行且光標移至行首
  • \r 回車,即光標移至行首
  • \t 插入 rab
  • \ 插入\字符

系統時間

  • date查看當前系統時間
  • date 改時間格式MMDDHHmmYYYY.ss
  • MM是月 DD是號 HH小時 mm分鐘YYYY是年ss是秒 ,當前改的只是內存里的時間。
  • ckock硬件時間
    -ckock -s 把硬件時間讀取到軟件
  • hwckock -w 把軟件時間讀取到硬件時間
  • ntpdate 同步時間 但是需要同步的服務器有同步服務
  • 輸入 LANG=“zh_CH.UTF-8” 可以切換顯示中文時間
  • 輸入LANG=“en_US.UTF-8”可以切換為英文模式時間
  • UTF-8 是支持所有語言的
  • cal 是顯示日歷 修改時間:cal-10-2018 不要加橫杠
  • cal顯示整年:cal2018 最高9999年 缺點就是不能顯示農歷,有一個特殊的年 09 1752年是一個故事。
  • 時區我們可以在/etc/localtime里面改.CentOS 7里面專有個命令來查看時區,用命令timedatectl list-timezones列出所有時區,找到我們想要改的時區,讓后我們在設置時區,用命令timedatectl set-timezone 后面接你想設置的時區,記住在timezone后面一定要加 / 斜杠或空格哦 ,這樣我們就改了時區。(注意這些命令只有CentOS 7 命令才支持哦)
  • nano文本小編輯器
  • halt ,poweroff關機
  • reboot 重啟 -f強制重啟 -p切斷電源
  • shutdown 關機或重啟 -h 10分鐘后關機 -c取消關機 假如 :shutdown -h 后面跟時間可以定制時間關機1就是1分鐘 10就是10分鐘,但是可以用-c取消關機,。
  • shutdown -h還可以發消息關機 ,如:shutdown 18.16 "這里填寫消息" ; 他會提前15分鐘提醒你。
    echo命令
  • echo回顯的意思也稱打印|
    --n不換行|
  • -e 啟用字符功能
  • -a報警 需要-e配合使用
  • \b退格的功能 |
  • \c 最后不加上換行符號
  • \n 換行且光標移至行首
  • \r 回車,即光標移至行首
  • \t 插入 rab
  • \\插入\字符

使用幫助

  • 創建whatis數據庫,查命令資料我們有時候會出現一種情況,那就是這個命令明明沒錯但是為什么不能查,呵呵這個情況那是因為,系統剛裝他還沒把資料數據庫裝進去,剛裝的系統要過幾天系統才會把資料數據庫裝進去,所以要執行一個命令我們自己裝數據庫這個命令就是:nakewhatis這個命令才會把數據庫裝好。
  • whatis這個命令會幫我們來描述命令的用途,和章節號。
  • 內部命令幫助的用法,可以用help這個命令是專用來查內部命令的幫助格式是:help enable。
  • man是用來查外部命令的,當然他也可以來查內部命令, 在man 里面很多資料是分章節來分號的,可以用: ls /usr/share/man可以查看man:第一章是用來放用戶命令,第二章是用來放系統調用,第三章是用來放C庫調用,第四章是用來放設備文件以及特殊文件,第五章配置文件格式,第六章是用來放游戲,第七章是用來放雜項,第八章是用來放管理類的命令,第九章是用來放linux內核的API,對于我們來說只關系第一章。
  • 還有個小命令info也可以來查,但是用的少
  • 查幫的順序是先用type來查看命令,屬于外部還是內部命令,如果是外部命令,還要用shatis來查看他的章節號,然后在用在用man來查命令的資料,如果是內部命令,就用help來查他的資料,查幫助的時候有時候資料不是很全要活學,活用,多看幫助提深你的英語高度,小伙伴們一起加油吧。
  • 搜索快捷鍵 【n】是往下搜索【N】大寫N是網上搜索,也可以用/來所說,也可以用?來搜索,/斜線是默認向下搜索,? 問號默認向上搜索。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。 參考資料:1)http://baike.ba...
    Near閱讀 757評論 0 2
  • 空山新雨后,天氣晚來秋。 武漢的秋季,是一個不尷不尬的時節,淅淅瀝瀝的中雨,濕冷的風,這寒冷,似乎比冬季的更令人發...
    Mary愛笑閱讀 506評論 1 2
  • 基督山伯爵里有過這樣一句話,做了壞事的人,沒有得到相應的懲罰,就被送去了刑場。一刀下去,所有的過錯都會成為歷史,連...
    曉曉散人閱讀 486評論 0 0
  • #優秀的人不缺少愛情#讀后感 我也贊同門當戶對,那樣婚后的兩個人乃至兩個家庭幸福指數都會高。婚姻并不...
    趙月圓閱讀 381評論 0 0
  • 民謠,百度里定義為:民間流行的、富于民族色彩的歌曲。與我而言,卻藏有一顆我無處安放的心。 他沒有大曲的...
    一只失憶的貓_閱讀 358評論 0 3