###目錄管理
FHS:文件層次標準
操作系統自身運行使用的
/bin: 存放可執行的二進制程序,管理員和普通用戶都可以使用
/sbin:管理員才能執行的命令
運行正常功能的程序存放位置
/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:可選目錄,但通常用來安裝第三方軟件
/proc:所顯示的文件都不是文件,僞文件系統,運行中的內核參數的映射
/sys:僞文件系統,系統級別的用於配置硬件設備相關的參數
/srv:爲服務提供數據存放位置的
/tmp:臨時文件系統:默認存放30天
/usr:shared 所有遵循協議的系統都可以使用,readonly 只讀
/usr/include:頭文件存放位置
/var:經常發生變化的文件
/var/log
/var/lock
/var/run
/var/cache
###命令的區分
basename 顯示當前目錄的基名
dirname 顯示當前目錄的目錄名
bash中,命令分爲:
內部命令:在bash中內部實現的命令叫做內置命令
外部命令:在文件系統上的某個位置有一個與命令名稱對應的可執行文件
<!-- 如何判斷內部還是外部:使用type命令-->
命令分析
shell 事先通過一個變量(PATH)設定好了多個路徑,當用戶輸入命令時,shell會自動到這些路徑(由左向右)下查找與命令名稱相同的可執行文件
hash 用來保存以前曾經執行過的命令,以哈希表的方式保存,可以通過hash來查看
查看一個可執行程序的具體路徑:使用 which+程序名來查看
命令的格式:
command options arguments
命令 選項 參數
選項: 用來調整命名執行特性的;
選項可以有多個;多個選項之間必須以空格分隔
短選項 - char ;
長選項 -- word
短選項可以合併:長選項一般不可以合併;
有些選項需要有參數
命令參數:命令的作用對象
有些命令可以帶多個參數:
各參數間需要使用空格分開;
查看某關鍵字在那些段落有使用幫助
whatis Keyword 精確查找
提示:如果whatis的數據庫尚未生成,可以使用makewhatis手動進行
man -k keyword 模式查找
###文件和目錄管理類的命令
目錄:
當前所在的目錄:工作目錄
用戶起始的目錄:家目錄,主目錄
切換目錄
cd ~[username]
~: 家目錄
-: 回到上一次所在的目錄
路徑:
. 當前目錄
.. 父目錄
pwd: 顯示當前目錄
mkdir:創建目錄
-p:先創建父目錄
-v:顯示詳細信息
rmdir:刪除空目錄
-p:只能刪除一線單的目錄
shell的引用:
‘’: 強引用,變量替換不會進行
"":弱引用,能夠執行變量替換
``:命令替換,引用命令的執行結果,另外一種方式$()
**命令行展開:能夠把一個特殊字符換成別的字符
{,}展開爲多個條目**
變量替換:${變量名}
echo 顯示
###獲取幫助
內置命令:
#help 命令名字
列如: help cd
外部命令:
#命令 --help
#man 命令(先解壓後顯示)
裏面有很多段落:
NAME 簡要使用幫助說明 名字
SYNOPSIS 使用格式
DESCRIPTION: 詳細功能描述
OPTIONS : 選項
EXAMPLES:
DESCRIPTION:
使用幫助中命令格式中的字符意義:
[]:可選的部分
{a|b}:分組,a和b作爲一個使用單元來使用
|:或者,只能選其一
<>:必不可少的部分
...:同類內容可以出現多個
man的簡要使用機制
翻屏:
空格鍵:向文件尾部翻一屏
b:向文件首部翻一屏
回車鍵:向文件尾部翻一行
k:向文件首部翻一行
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
1G:第一行
G:最後一行
文本搜索:
/keyword : 順向,向文件尾部搜索
查看下一個被匹配到的
n 跟搜索命令方向一致
N 跟搜索命令方向相反
?keyword : 逆向,向文件首部搜索
q:退出
補充:man其實能爲命令(普通命令、管理命令)、程序的配置文件格式、系統調用、庫調用、遊戲及其他不便歸類的文件提供幫助手冊
man命令的分段機制:
1:用戶命令:
2:系統調用
3:庫調用
4:設備文件
5:文件格式
6:遊戲
7:雜項
8:管理命令
#info 命令:獲取在線文檔
#很多應用程序自帶的有文檔: /usr/share/doc/
ChangeLog INSTALL README
#google:
linux filetype:ppt 特定格式
keyword site:magedu.com
#Redhat官方文檔
www.redhat.com/docs
**程序由 二進制文件,庫文件,配置文件,幫助文件**
###系統管理類的命令:
將語言設置爲en
export LANG=en
shutdown
shutdown [option]...TIME
-r :重啓
-h :關機
-c :取消重 或關機命令
時間格式:
now
+#:#分鐘以後
hh:mm
reboot 重啓
poweroff 斷電
half 關機
###日期時間管理
date 顯示當前系統時間
date MMDDhhmm[cc]YY.ss
date [+FORMAT] 設置時間
%Y:四位年份
%y:兩位年份
%m:月
%M:分鐘
%d:日
%h:英文簡寫的月
%H:時
%S:秒
%s:現在距離1970年1月1號0點0分(unix元年)的秒數,timestamp(時間戳)
%D:月/日/年
%F:年-月-日
%T:時:分:秒
hwclock
-s: 以硬件時鐘爲準 --hctosys
-w:以軟件時鐘爲準 --systoh
硬件時鐘:主板上的時鐘
軟件時鐘:開機時讀取硬件時鐘
cal 日曆
##shell的特性之三:命令歷史
bash默認會保持此前執行過的命令列表
使用上下箭頭鍵可以翻看此前執行過的命令 .bash_history
history:
!數字:執行history中第數字條的命令
!!:上一條命令
!-數字:表示執行命令列表中的倒數第數字條命令
!$:執行上個命令中的最後一個參數:ESC,.
!string:執行命令列表中的最近一次以string開頭的命令
-d 數字 刪除第數字條記錄
-c 清空history列表
-a:追加當前回話的命令到歷史列表中去
-n:讀取所有在回話列表中的 但是不在當前回話列表中的
命令歷史相關的環境變量
HISTSIZE:歷史命令中可以保存的個數
HISTFILE: 歷史命令保存的文件
HISTFILESIZE:歷史文件中可以保存的命令個數
HISTCONTROL:控制命令歷史的生成機制
ignoredups:忽略記錄重複的命令,連續的相同命令
ignorespace:以空格開頭的命令不會被記錄
ignoreboth:同時具有上面兩種特性
補充:Linux文件系統的另一個特性:以點開頭的文件爲隱藏文件 通過ls -a 查看
shell中的變量賦值
變量名=值
注意:變量在賦值是不能再前面帶$
變量名只能包含字母、數字和下劃線,並且不能以數字開頭
變量名區分大小寫
儘量能見名知義