根文件系統基礎介紹
程序編譯方式:
動態編譯:在程序編譯需要時調用庫文件,移到別的系統上程序無法執行,具有依賴性;
靜態編譯:在程序編譯時複製需要的庫文件,可移動,
進程的類型:
與終端相關:就是通過終端啓動的
與終端無關:操作引導自己運行啓動
操作系統的組成:
靜態:kernel ,application
文件系統:FHS(Filesystem Hierarchy Standard) 層次結構
從 / 開始,/下面的是一級目錄,然後其他分區關聯在/ 下面的的目錄是二級目錄;
構成了一個從/開始的目錄樹;
/bin:所有用戶可用的基本程序文件
/sbin:管理員使用的的工具程序
/boot:引導啓動加載文件
/dev:設備文件及特殊文件
b:塊設備 隨機(硬盤)
c:字符設備 線性,有時序的 (鍵盤)
/etc:主機特有的配置文件
/home:用戶的家目錄
/lib:基本的共享庫和內核模塊
libc.so.*:動態鏈接的c庫
ld*:運行時鏈接器
modules:用於存放內核模塊的目錄
/lib64:64位系統特有的存放64位共享的路徑
/media:便攜式掛載點,cdrom,floppy
/mnt:其他文件系統的臨時掛載點
/opt:附加應用程序的安裝位置:可選路徑;
/srv:爲服務提供的數據;
/tmp:臨時文件存放
/usr:全局共享的只讀數據路徑:
bin ,sbin
lib ,lib64
include:c程序頭文件:
share:命令手冊和自帶文檔等架構特有的文件的儲存位置
locale:另一個層級目錄:
X11r6:x-Windows程序的安裝位置
src:程序源碼文件的儲存位置
/usr/local:讓系統管理員安裝本地應用程序:或第三方的程序、
/var:可變化的文件如日誌
/proc:虛擬文件系統信息,爲內核和進程存儲相關信息:多爲內核參數。
/sys:比proc更爲理想的訪問內核數據的途徑;主要作用爲管理Linux設備提供一種統一模型的接口;
2.Linux系統上的文件類型:
ls命令可以查看
-(f):常規文件
d:目錄文件
b:塊設備,以塊爲單位,進行的隨機訪問
c:字符設備,線性,有時序的
major:主設備號,表示設備類型
number次設備號;同類型設備的不同個設備
l:符號鏈接文件,類似Windows的快捷方式,軟鏈接文件
p:命名管道文件
s:套接字文件;(TT?)
3.基本命令:
命令類型:
外部命令
內部命令
type COMMAND:查看命令是內還是外
內部:是builtin
外部:顯示文件路徑或者顯示它的命令別名
想運行原命令可使用\command,
命令別名:
~]#alias 查看當前系統上的命令的別名的
定義命令別名:
~]#alias name=command
作用範圍是當前登錄的shell
撤消:~]#unalias name
which 命令:
顯示命令的完整路徑
which [options] progranmname
--skip-alias:忽略別名
whereis命令:
顯示手冊頁、二進制、
whereis [options] name
-b:僅搜二進制程序路徑
-m:僅顯示手冊頁
who命令:
查看當前誰在登錄
-b:系統此次啓動的時間
-r:運行級別
w命令:
類似於who命令
4.bash的基本特性:
命令歷史:shell進程會在其會話中保存提交執行過的命令
~]#history 查看執行過的命令
[root@localhost ~]# echo $HISTSIZE
1000 可保存命令歷史的條數
.bash_history 保存的歷史文件
[root@localhost ~]# echo $HISTFILESIZE
1000 命令歷史文件大小
history:
history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg
[arg...] Display or manipulate the history list.
-cclear the history list by deleting all of the entries
刪除所有條目從而清空歷史列表
-d offsetdelete the history entry at offset OFFSET.
偏移量 從指定位置刪除歷史列表
-aappend history lines from this session to the history file
將當前繪畫的歷史行追加到歷史文件中
-nread all history lines not already read from the history file
從歷史文件中讀取所有未被讀取的行
-rread the history file and append the contents to the history
list 讀取歷史文件並將內容追加到歷史列表中
-wwrite the current history to the history file
and append them to the history list
將當前歷史寫入到歷史文件中並追加到歷史列表中
-pperform history expansion on each ARG and display the result
without storing it in the history list
對每一個ARG參數展開歷史,顯示結果,不儲存歷史列表中
-sappend the ARGs to the history list as a single entry
以單條記錄追加ARG到歷史列表中
調用歷史列表中的命令
[root@localhost ~]# !2 再一次執行命令歷史列表中的第2條命令
[root@localhost ~]# !! 在一次執行上一次命令
[root@localhost ~]# !he 執行歷史列表中最近一次以he開頭的命令
[root@localhost ~]# !?he 執行歷史列表中最近一次含有he字符的命令
重複前一個命令,幾種方法:
重複前一個命令使用上方向鍵,並回車執行。
按!! 並回車執行。
輸入!-1 並回車執行。
按Ctrl+p 並回車執行。
調用歷史參數
COMMAND !^:利用上一個命令的第一個參數
COMMAND !$:利用上一個命令的最後一個參數
COMMAND !*:利用上一個命令的全部參數
COMMAND !:n :利用上一個命令的第n個參數
command !n:^ 調用第n條命令的第一個參數
command !n:$ 調用第n條命令的最後一個參數
command !n:m 調用第n條命令的第m個參數
command !n:* 調用第n條命令的所有參數
命令歷史相關環節變量
顯示時間
951 2016-07-28 15:59:09 histroy
952 2016-07-28 15:59:15 history
953 2016-07-28 16:14:10 HISTTIMEFORMAT=“%F %T ”
[root@localhost ~]# HISTCONTROL=ignoredups
[root@localhost ~]# echo $HISTCONTROL
ignoredups 忽略重複的命令;連續且相同的命令
[root@localhost ~]# HISTCONTROL=ignorespace
[root@localhost ~]# echo $HISTCONTROL
ignorespace 忽略所有以空白開頭的命令
[root@localhost ~]# HISTCONTROL=ignoreboth
[root@localhost ~]# echo $HISTCONTROL
ignoreboth 是,ignoredups,ignorespace
[root@localhost ~]# HISTCONTROL=erasedups
[root@localhost ~]# echo $HISTCONTROL
erasedups 刪除重複命令
export 變量名="值“
存放在/etc/profile 或~/.bash_profile
bash的快捷鍵
Ctrl+l 清屏,相當於clear命令
Ctrl+c取消命令的執行
Ctrl-a 會移動到命令行的最前面
Ctrl-e 會移動到命令行的最後面
Ctrl-u 會刪除到行首
Ctrl-k 會刪除到行尾
arrow ctrl-b ctrl-f會向左或向右移動一個字符
Esc-b左移一個單詞
Esc-f右移一個單詞
tks