Linux的學習之旅
- /etc=====和主機相關的系統配置文件 edit the configure
- /home===== 用戶家目錄
- /usr======二層分層的目錄。默認是最大的。
- /dev=====設備文件
- /media======掛載點和可移動的設備,
- /mnt=====臨時掛載點
- /var=======可變化的數據,
- /lib=====基本共享庫和內核模塊
- /lib64======
- /boot======靜態文件,啟動加載器,引導計算機的相關文件
- /root=====root用戶的家目錄
- /bin/binary======基本二進制命令工具
- /sbin=====基本系統二進制命令工具
- /opt======第三方軟件包
- /tmp======臨時文件
- /srv======被你的系統服務提供的數據存放在這
- /run======7在/下,6在/var下 是系統運行中的一些數據
- /sys=====存放硬件相關信息
- /proc======= 存放 的是進程信息,對應的是內存數據。內存中的壯態信息。是一個虛擬內存。
Centos7和Centos6的一級目錄的區別
centos 7:/run
centos 6:/var/run /lost-found /misc /net /selinux
lost-found=======在6裏面,只要是分區下都有這個目錄
有點像收容所,比如說系統運行過程中,忽然斷電,有些文件因為斷電的原因導致它無法識別原來是在哪個目錄下,找不著了,不知道自己在哪了。就會回到這個目錄
systemctl start autofs======只是臨時啟動,手工啟動
systemctl enable autofs======開機時自動啟動
/misc下的cd目錄也可以掛光盤。
/selinux========在7上沒有這個目錄而已,但功能有
Linux哲學思想
- 一切皆文件
- 小型單一用途的程序
- 組合小程序完成復雜任務
- 盡量避免捕獲用戶接口
- 配置文件保存成純文本格式
終端Terminal
- 物理終端:系統出故障,單用戶壯態, 物理控制臺console表示為/dev/console
- 偽終端:用CRT連,Xshell。 /dev/pts/#
- 虛擬終端:一個主機模擬多個終端。默認是1-6. /dev/tty#
- 串行終端:通過串行線連接自己的電腦。(像思科華為連在自己的上機上) /dev/ttyS#
- ……
終端相關命令
tty:顯示當前的終端
Whoami命令
whoami: 顯示當前登錄有效用戶
who: 系統當前所有的登錄會話
w: 系統當前所有的登錄會話及所做的操作
命令幫助
Whatis 顯示命令的簡短描述
使用數據庫
剛安裝後不可立即使用
makewhatis | mandb制作數據庫
whatis cal 或 man -f cal
如果剛裝好系統和剛運行,敲whatis這個命令是不會顯示的。要依賴數據庫
whatis cmd=======告訴你這個命令是幹什麽的
數字後帶P的和開發相關,運維不用管
whatis要顯示命令的簡單說明要依賴數據庫
內部命令:help COMMAND
man bash
外部命令:
(1) COMMAND --help
COMMAND -h
(2) 使用手冊(manual)
man COMMAND
(3) 信息頁
info COMMAND
(4) 程序自身的幫助文檔
README
INSTALL
ChangeLog
(5) 程序官方文檔
官方站點:Documentation
(6) 發行版的官方文檔
(7) Google
示例
date--help
Usage:date[OPTION]...[+FORMAT]or: date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
- []表示可選項
- CAPS或<>表示變化的數據
- ...表示一個列表
- x |y| z的意思是“x或y或z“
- -abc的意思是-a -b –c
- { } 表示分組
man命令
man命令幫助的文件手冊頁放在/usr/share/man
幾乎每個命令都有man的“頁面”
man頁面分組為不同的”章節“統稱為Linux手冊
man命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁並顯示
中文man需安裝包man-pages-zh-CN
whereis cmd=======查出命令所在的路徑以及man幫助相關文檔的路徑(是在man的配置文件裏查看)
查出的文檔是壓縮的文件,不能直接打開。用man命令打開時,自動幫你解壓縮以文檔的形式展現出來。
為什麽一敲man就能把幫助打開呢???實際上它打開的是對應的man幫助文檔。從一個路徑裏去搜。
這有一個潛在的問題:將來我們自己手工去裝一個三方軟件,結果把man幫助放在了自己編寫的一個目錄下,man幫助就打不開了,自己需要手工的添加一條路徑到man的配置文件裏去。
man幫助一般查外部命令
外部命令它是磁盤上的一個文件
安裝這個外部命令的時候,還會自動安裝一些man幫助的文檔
當我們man外部命令的時候,是從文檔裏列出的信息。
man章節
1:用戶命令
2:系統調用
3:C庫調用
4:設備文件及特殊文件
5:配置文件格式
6:遊戲
7:雜項
8:管理類命令
9:Linux內核API
幫助手冊中的段落說明:
NAME 名稱及簡要說明
SYNOPSIS 用法格式說明]
[] 可選內容
<> 必選內容
a | b二選一
{ }分組
...同一內容可出現多次
DESCRIPTION 詳細說明
OPTIONS 選項說明
EXAMPLES 示例
FILES 相關文件
AUTHOR 作者
COPYRIGHT版本信息
REPORTING BUGS bug信息
SEE ALSO 其它幫助參考
man 幫助
查看man手冊頁 man [章節] keyword
列出所有幫助 man -a keyword
搜索man手冊 man -k keyword 列出所有匹配的頁面
使用whatis數據庫
相當於whatis man -f keyword
打印man幫助文件的路徑 man –w [章節] keyword
man幫助 /string向下搜索 ?string向上搜索 n同向 N反向
info幫助 n下p上 u向上移一層
命令的歷史
命令歷史文件保存你輸入的命令歷史。可以用它來重復執行命令
登錄shell時,會讀取命令歷史文件中記錄下的命令~/.bash_history
登錄進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
重復前一個命令有4種方法
!! Ctrl+p !! !-1
語法格式
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg...]
- -c 清內存,
- -d n 清除第n個命令
- n 顯示最近n條歷史
- -a 追加本次 會話新執行的命令到歷史文件
- -r 歷史文件附加到歷史列表,是累加,
- -w 保存歷史列表到指定歷史文件中
- -n 歷史文件未讀的行 讀到時歷史列表中
- -p cmd 內存不記,後面的命令加上單引號命令才執行
- -s cmd 可以做假
命令歷史的$環境變量
HISTSIZE:命令歷史記錄的條數
HISTFILE:指定歷史文件,默認為~/.bash_history
HISTFILESIZE:命令歷史文件記錄歷史的條數HISTTIMEFORMAT=“%F %T “ 顯示時間
*HISTIGNORE=“str1:str2:…“** 忽略str1命令,str2開頭的歷史
控制命令歷史的記錄方式:
環境變量:HISTCONTROL
ignoredups默認,忽略重復的命令,連續且相同為“重復”
ignorespace忽略所有以空白開頭的命令
ignoreboth相當於ignoredups, ignorespace的組合
erasedups刪除重復命令
export 變量名=“值”
存放在/etc/profile或~/.bash_profile
Linux的學習之旅