硬件驅動php
進程管理java
內存管理python
網絡管理shell
安全管理數據庫
文件管理apache
服務器OS:RHEL, CentOS, Windows Server, AIX編程
桌面OS:Windows 10,Windows 7,Mac OS,Fedoraubuntu
移動設備OS:Android, IOS, YunOS緩存
ABI描述了應用程序與OS之間的底層接口,容許編譯好的目標代碼在使用兼容ABI的系統中無需改動就能運行安全
API定義了源代碼和庫之間的接口,所以一樣的源代碼能夠在支持這個API的任何系統中編譯
EEE在操做系統上定義的一系列API標準
POSIX兼容的程序可在其它POSIX操做系統編譯執行
Windows: EXE, .dll(dynamic link library),.lib
Linux: ELF, .so(shared object), .a
機器語言:0和1
彙編語言:和機器語言一一對應,與硬件相關的特有代碼、驅動程序開發
系統級應用、驅動程序
應用級程序開發
System: Bell Lab
AIX (IBM)
Solaris (SUN)
HP-UX (HP)
BSD: (BSRG)Berkeley System Distribution
NetBSD
OpenBSD
FreeBSD
貝爾實驗室,麻省理工,通用電氣發起
Ken Thompson 彙編語言 B語言
Dennis Ritchie C語言
Berkeley Software Distribution 伯克利大學
HP-UNIX IBM AIX 「不對學生提供源碼」 收回版權
Andrew S. Tanenbaum荷蘭阿姆斯特丹自由大學計算機科學系
完整的類UNIX操做系統
Linux內核+ GNU工具
如:CentOS,Ubuntu,Android
OpenSuse桌面
每18個月發行一個新版本
CentOS:兼容RHEL的格式
中標麒麟:中標軟件
Fedora:每6個月發行一個新版本
GPLv2, GPLv3, LGPL(lesser) :通用公共許可 copyleft
Apache: apache
BSD: bsd
Mozilla
Apache
MIT
[root@localhost ~]#
# 管理員 $ 普通用戶
[root@localhost ~]#echo $PS1
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
\e \033 \u 當前用戶
\h 主機名簡稱 \H 主機名
\w 當前工做目錄 \W 當前工做目錄基名
\t 24小時時間格式 \T 12小時時間格式
\! 命令歷史數 \# 開機後命令歷史數
提請shell程序找到鍵入命令所對應的可執行程序或代碼,並由其分析後提交給內核分配資源將其運行起來
help 內部命令列表
enable cmd 啓用內部命令
enable –n cmd 禁用內部命令
enable –n 查看全部禁用的內部命令
查看路徑:which -a |--skip-alias ; whereis
type COMMAND
-f: 強制,不調用shutdown
-p: 切斷電源
shutdown [OPTION]... TIME [MESSAGE]
-r: reboot
-h: halt
-c:cancel
TIME:無指定,默認至關於 +1
now: 馬上,至關於+0
+m: 相對時間表示法,幾分鐘以後;例如 +3
hh:mm: 絕對時間表示,指明具體時間
whoami: 顯示當前登陸有效用戶
who: 系統當前全部的登陸會話
w: 系統當前全部的登陸會話及所作的操做
-E (默認)不支持 \ 解釋功能
-n 不自動換行
-e 啓用 \ 字符的解釋功能
u 顯示變量
echo "$VAR_NAME「 變量會替換,弱引用
echo '$VAR_NAME‘ 變量不會替換,強引用
把一個命令的輸出打印給另外一個命令的參數
echo "This system's name is $(hostname) "
This system's name is server1.example.com
echo "i am `whoami` "
i am root
打印重複字符串的簡化形式
echo file{1,3,5}
file1 file3 file5
rm -f file{1,3,5}
echo {1..10}
echo {a..z}
echo {000..20..2}
內部命令:
外部命令:bash根據PATH環境變量定義的路徑,自左而右在每一個路徑搜尋以給定命令名命名的文件,第一次找到的命令即爲要執行的命令
用戶給定的字符串只有一條唯一對應的命令,直接補全
不然,再次Tab會給出列表
把用戶給出的字符串當作路徑開頭,並在其指定上級目錄下搜索以指定的字符串開頭的文件名
若是唯一:則直接補全
不然:再次Tab給出列表
-c: 清空命令歷史
-d offset: 刪除歷史中指定的第offset個命令
n: 顯示最近的n條歷史
-a: append, 追加本次會話新執行的命令歷史列表至歷史文件
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-p: 展開歷史參數成多行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表後
、
man bash
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
{ } 表示分組
MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
man [章節] keyword
man –a keyword
man -k keyword 列出全部匹配的頁面
使用 whatis 數據庫
man –f keyword
man –w [章節] keyword
space, ^v, ^f, ^F: 向文件尾翻屏
b, ^b: 向文件首部翻屏
d, ^d: 向文件尾部翻半屏
u, ^u: 向文件首部翻半屏
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 y or ^Y or ^P or k or ^K:向文件首部翻一行
q: 退出
#:跳轉至第#行
1G: 回到文件首部
G:翻至文件尾部
以KEYWORD指定的字符串爲關鍵字,從當前位置向文件尾部搜索;不區分字符大小寫;
n: 下一個
N:上一個
以KEYWORD指定的字符串爲關鍵字,從當前位置向文件首部搜索;不區分字符大小寫;
n: 跟搜索命令同方向,下一個
N:跟搜索命令反方向,上一個