計算機基礎-系統管理命令
- 一切皆文件
- 由眾多目的的單一應用程序組成:一個程序只做一件事,且做好
- 組合目的的單一的小程序完成復雜的任務
- 盡量避免跟用戶交互
- 使用文本文件保存配置信息
- 提供機制,而非策略
自由軟件的含義:
- 自由使用
- 自由學習和修改
- 自由分發
- 自由創建衍生版
shell: GUI: Windows Gnome KDE Xfce CLI: bsh csh tcsh ksh bash zsh bash 管理員:提示符 # 普通用戶:提示符 $ 環境變量: PS1:一級提示符 變量:是一段內存空間, echo:回顯 ${變量名}:引用一個變量宏: ~]# echo $PS1 [\u@\h \W]\$_ 註釋: \u:當前用戶 \h:主機名 \W:工作目錄的路徑基名目錄基本概念: 基名:當前目錄的最後一段 basename:顯示當前目錄的基名 dirname:顯示當前目錄的目錄名 /:對於linux來講,路徑分隔符 絕對路徑:從頂層開始的路徑 相對路徑:從當前位置開始的路徑 目錄:是路徑映射符linux文件系統結構:
-
層次化
根分區:在啟動的時候需要使用文件,需要載入內存,有一個分區作為起始分區,這個分區被稱為根分區 根:是由內核直接訪問的 掛載:mount /cdrom /media 卸載:umount /cdrom 家目錄:每個用戶都有自己所有操作權限的目錄,這個目錄稱之為家目錄(主目錄) 每次登陸時,一定處在某個目錄中 工作目錄:當前所處的目錄,叫做工作目錄 cd:change directory INSTANCE: cd /etcLinux文件系統的特性:
- 文件名可以使用除/意外的任意字符,但總長度不能超過255個
- 嚴格區分大小寫
如何獲取命令幫助: bash中,命令分為: 內部命令:在bash中內部實現的命令叫做內置命令 外部命令:在文件系統上的某個位置有一個與命令名稱對應的可執行文件 type:如何判斷是內部還是外部使用type命令命令的使用格式: command options arguments 命令 選項 參數 options:調整命令的執行特性的;選項可以有多個,多個選項之間必須以空格分隔 短選項:-char(字符) 長選項:--word(單詞) 註釋:兩個短選項可以合並,長選項一般不可以合並;有些選項需要有參數,有些則不需要; arguments:命令的作用對象 註釋:有些命令可以帶多個參數,各參數之間需要使用空格隔開 查看某關鍵字在那些段落有使用幫助 PATH環境變量:shell 事先通過一個變量設定好了多個路徑,當用戶輸入命令時,shell會自動到這些路徑(由左向右)以此查找與命令名稱相同的可執行文件 hash:用來保存以前曾經執行過的命令,以哈希表的方式保存,可以通過hash來查看 which:查看一個可執行程序的具體路徑; INSTANCE:which COMMAND獲取幫助: 內置命令: # help COMMAND 外部命令: # COMMAND --help man使用手冊 # man COMMAND --先解壓後顯示 man手冊段落含義: NAME:命令的名詞及簡要說明 SYNOPSIS:使用格式 OPTIONS:所支持的選項的相關說明 EXAMPLES:使用示例 DESCRIPTION:命令功能的詳細描述 NOTES:相關註意事項 FILES:相關的配置文件 SEE ALSO:相關參考 使用幫助中命令格式中的字符意義: [ ]:可選的部分 { a|b }:分組,a和b作為一個使用單元來使用 |:或者,只能選其一 <>:必不可少的部分 ...:同類內容可以出現多個 簡要使用機制 翻屏: 空格鍵:向文件尾部翻一屏 b:向文件首部翻一屏 回車鍵:向文件尾部翻一行 k:向文件首部翻一行 ctrl+d:向文件尾部翻半屏 ctrl+u:向文件首部翻半屏 1G:第一行 G:最後一行 文本搜索: /keyword : 順向,向文件尾部搜索 查看下一個被匹配到的keyword n 跟命令方向一致 N 跟命令方向相反 ?keyword:逆向,向文件首部搜索 q:退出 註釋:man其實能為命令(普通命令、管理命令)、程序的配置文件格式、系統調用、庫調用、遊戲及其他不便歸類的文件提供幫助手冊 man命令的分段機制:1-8
- 用戶命令:User Commands
- 系統調用:System calls
- 庫調用:C Library Functions
- 設備文件:Devices and Special Files
- 文件格式:File Formats and Conventions(協定)
- 遊戲:Games et. Al.
- 雜項:Miscellanea
-
管理命令:System Administration tools and Deamons
~]# whatis Keyword --精確查找keyword在man手冊中的段落 提示:如果whatis的數據庫尚未生成,可以使用makewhatis手動進行生成 ~]# man -k Keyword --模糊查找 ~]# ls /usr/share/man --查看man所收錄目錄man配置文件 Centos6:/etc/man.config Centos7:/etc/man_db.conf ~]# man -M /PATH/TO/SOMEWHERE COMMAND --到指定位置下搜索手冊並顯示之info 命令:獲取在線文檔 很多應用程序自帶的有文檔:/usr/share/doc ChangeLog INSTALL README google:google hack 一本書 linux filetype:ppt 特定格式 keyword site:magedu.comRedhat官方文檔:www.redhat.com/docs如何關機和重啟:reboot halt date hwcolck shutdown ~]# export LANG=en --將語言設置為en 系統管理類的命令 shutdown [option]... TIME
-
常用參數
-r:重啟 -h:關機 -c:取消重啟或關機命令
-
時間格式:
now +#:多少以後 --#-->分鐘 hh:mm reboot --一般情況下是調用shutdown進行關機處理 halt poweroff日期時間管理類命令date hwclock clock cal date 顯示當前系統時間 ~]# date MMDDhhmm[cc]YY.ss date [+FORMAT] FORMAT %Y:四位年份 %y:兩位年份 %m:月 %M:分鐘 %d:日 %h:英文簡寫的月 %H:時 %S:秒 %s:現在距離1970年1月1號0點0分(unix元年)的秒數,timestamp(時間戳) %D:月/日/年 %F:年-月-日 %T:時:分:秒 hwclock -s:以硬件時鐘為準 --hctosys -w:以軟件時鐘為準 --systohcLinux有兩個時鐘 硬件時鐘:BIOS time 軟件時鐘:system time attention:時鐘開機時讀取硬件時鐘 cal 日歷總結:man,info,help,date,hwclock,cal,shutdown,reboot,halt,poweroff,type,cd,which,dirname,basename,who,whatis,makewhatis,echo,hash,tty.bash的特性之二 命令行展開:能夠把一個特殊字符換成別的字符 {,}:展開為多個條目 文件和目錄管理類的命令 目錄: cd ~[username] ~:指定用戶的家目錄 cd - ##回到上一次所在的目錄 路徑 相對路徑 .:當前目錄 ..:父目錄 pwd:print working directory 顯示當前目錄 mkdir:創建目錄 -p:先創建父目錄 -v:顯示詳細信息 rmdir:刪除空目錄 -p:remove DIRECTORY and its ancestors 只能刪除一條線的單目錄 shell的引用 ‘ ‘: 強引用,變量替換不會進行 " ":弱引用,能夠執行變量替換 ` `: 命令替換,引用命令的執行結果,另外一種方式$() ${VARIABLE}:變量替換 使用 echo ${VARIABLE}顯示bash的特性之三:命令歷史 bash默認會保持此前執行過的命令列表 當前shell命令執行歷史保存在緩沖區(內存)中: 緩沖區中的命令會在shell退出時,存入文件 ~/.bash_history 使用上下箭頭鍵可以翻看此前執行過的命令;命令行中使用以下快捷鍵 !#:執行history中第#條的命令 !!:上一條命令 !-#:表示執行命令列表中的倒數第#條命令 !$:執行上個命令中的最後一個參數;同 ESC,. !string:執行命令列表中的最近一次以string開頭的命令 history命令 history是管理命令歷史,每次執行的命令都會放置在內存的緩存中,直到退出當前終端後會被保存在命令歷史文件當中。 -d:數字 刪除第數字條記錄 -c:清空history列表 -a:追加當前會話的命令到歷史列表中去 -n:讀取所有在會話列表中的 但是不在當前會話列表中的 history [n] history [-c] history [-raw] histfiles 選項與參數: n:數字,意思是『要列出最近的 n 筆命令行表』的意思! -c:將目前的 shell 中的所有 history 內容全部消除 -a:將目前新增的 history 命令新增入 histfiles 中,若沒有加 histfiles , 則默認寫入 ~/.bash_history -r:將 histfiles 的內容讀到目前這個 shell 的 history 記憶中; -w:將目前的 history 記憶內容寫入 histfiles 中! 命令歷史相關的環境變量 HISTSIZE:歷史命令中可以保存的個數 HISTFILE:歷史命令保存的文件 HISTFILESIZE:歷史文件中可以保存的命令個數 HISTCONTROL:控制命令歷史的生成機制
- ignoredups:忽略記錄重復的命令,連續的相同命令
- ignorespace:以空格開頭的命令不會被記錄
-
ignoreboth:同時具有上面兩種特性
補充:Linux文件系統的另一個特性:以點開頭的文件為隱藏文件 通過ls -a 查看shell中的變量賦值 變量名=值 註意:
- 變量在賦值是不能再前面帶$
- 變量名只能包含字母、數字和下劃線,並且不能以數字開頭
- 變量名區分大小寫
- 盡量能見名知義
-
FHS:文件層次標準 Filesystem Hierarchy Standard 操作系統自身運行使用的目錄 /bin: 存放可執行的二進制程序,管理員和普通用戶都可以使用 /sbin:管理員才能執行的命令 運行正常功能的程序存放位置 /usr:UNIX Software Resource UNIX操作系統軟件資源存放位置 /usr/bin /usr/sbin 用來存放第三方軟件的程序 /usr/local/bin /usr/local/sbin /boot:存放系統引導文件:內核、ramfs文件、bootloader(grub) /dev:設備文件存放目錄 /etc:配置文件的集中存放目錄 /etc/sysconfig:系統級別的應用 /etc/init.d:系統服務腳本 /home:普通用戶,默認在/home下有一個與其名稱同名目錄,作為用戶的家目錄 /root:管理員的家目錄 /lib,/lib64:庫文件 /media:專用掛載位置,通常用來掛載便攜式設備 /mnt:專用掛載位置,掛載額外的存儲設備 /misc:雜項,備用目錄 /opt:可選目錄,但通常用來安裝第三方軟件nesus /proc:所顯示的文件都不是文件,偽文件系統,運行中的內核參數的映射 /sys:偽文件系統,系統級別的用於配置硬件設備相關的參數 /srv:為服務提供數據存放位置的 /tmp:臨時文件系統:默認存放30天 /usr:shared 所有遵循協議的系統都可以使用,readonly 只讀 /usr/include:頭文件存放位置 /var:經常發生變化的文件 /var/log:日誌文件 /var/lock:鎖文件 /var/run:運行中的進程相關的數據,通常用於存儲進程的pid文件 /var/cache:應用程序緩存數據目錄
計算機基礎-系統管理命令