常見os和各操做系統特色linux
Linux啓動過程shell
第一階段:BIOS 硬件自檢(POST,有問題會發出不一樣含義的蜂鳴)——啓動順序(排在第一的儲存設備)vim
第二階段:主引導記錄 第1-446字節:調用操做系統的機器碼xcode
第447-510字節:分區表(partition table)緩存
第511-512字節:主引導記錄簽名(0x55和0xAA)安全
第三階段:硬盤啓動網絡
第四階段:操做系統 控制權交給操做系統後,內核首先被載入內存less
Linux基本命令socket
目錄管理 文件操做 文本查看命令 用戶管理 權限管理 ui
系統設置命令 磁盤管理命令 網絡通訊命令 備份壓縮 通用命令
vi命令
i 進入編輯模式 esc退出編輯 wq保存退出 q!強制退出 文件不會被保存
o 跳到下一行 空行 a當前光標右移 s刪掉字符 backspace 左移
vi 帶兩個文件名 編輯兩個文件 :n切換到下一個文件 :N返回上一個文件
命令模式(command mode /通常模式)按「ESC」進入
文本輸入模式(input mode /編輯模式)
末行模式(last line mode/指令命令模式)也稱ex轉義模式,執行完自動回到命令模式
vi 文件名 若是文件存在,則直接進入,若是不存在,則表示新建一個文件
vi +2 文件名 進入文件的第二行
末行模式下,ctrl+6 切換兩個文件
vim -o 文件1 文件2 分橫屏
vim -O 文件1 文件2 分豎屏
複製粘貼:yy複製一行 p粘貼 nyy複製n行
剪切刪除:dd刪除一行 ndd刪除光標後的n行
以上兩種是在命令模式下
%s所有文檔 1,10表示1至10行 替換:%s/源/目標替換/g 顯示行號:set un(末行模式)
rm命令
rm-rf 強制刪除,不詢問
rm -i 刪除文件或目錄給予提示
wc命令
wc -c 統計字節數
-m統計字符數
-l統計行數
-L打印最長行的長度
-w統計字數(帶有空白)
文本查看命令
cat 顯示文件內容,能夠同時顯示多個文件,一次全顯示
-n 顯示行數
-b 顯示行數,可是空白不顯示
head 輸入文件最前面的幾行
-行數 文件名
more 分頁顯示 q退出
-num 每頁顯示多少行
+num 從第幾行開始顯示
tail 用的最多 從尾部讀取指定行數 不加-n默認顯示10條
tail -f -n 50 filename 動態查看文件後50條記錄
less 分頁瀏覽,能夠向前,向後翻頁
p 退出 d 下翻頁 u 上翻頁
Find命令 命令在目錄結構中搜索文件,並執行指定操做
find -name 按照文件名查找
-perm 按照文件權限
-user 按照文件所屬的用戶查找
-group 按照文件所屬的組查找
-mtime -n/+n 按照文件的更改時間,-n表示更改時間距如今n天內,+n表示前
-type 查找某一類型的文件 d 目錄 l 軟鏈接 f 文件 c 字符設備 b 塊設備
能夠多條件組合 如,find ./ -size -1M -o -mtime 0 或 find ./ -not -type f
查詢文件大小小於1M或者文件的修改時間在24H內
sort命令
sort 文件名 正序
sort -r 文件名 倒序
Grep命令
grep -c 只輸出匹配行的計數
-i 不區分大小寫
-h 查詢多文件時不顯示文件名
-l 查詢多文件只輸出包含匹配字符的文件名
-n 顯示匹配行及行號
-s 不顯示不存在或無匹配文本的錯誤信息
-v 顯示不包含匹配文本的全部行
參數能夠重疊使用
通配符
* 匹配任意字符 ?匹配任意1字符 [] 匹配括號內的 [-] -匹配範圍
stat命令
stat 文件名 查看文件的建立時間,修改時間和更改權限時間
用戶目錄管理命令
/etc/passwd 用戶帳號相關信息 /etc/group 組帳號相關信息
/etc/shadow 用戶密碼及相關屬性 /etc/gshadow 組密碼及相關屬性
useradd tester1 添加用戶tester1 (也能夠倒過來 adduser tester1 )
-f 緩存天數 指定在密碼過時後多少天當即關閉該帳號
-g 羣組 指定用戶所屬的羣組
-G 羣組 指定用戶所屬的附加羣組
-m 自動創建用戶的登入目錄
-M 不要自動創建用戶的登入目錄
-n 取消創建以用戶名稱爲名的羣組
-r 創建系統帳號
-s shell 指定用戶登入後所使用的shell
-u UID 指定用戶ID
-p 加密型的密碼,查看使用tail -1 /etc/shadow
passwd tester1 對tester1 用戶設置密碼
不能太簡單(連續兩次enter,強制進入) 重置次數不能超過三次
設置密碼建議:
使用數字、大寫字母、小寫字母及特殊字符至少3種
使用非規律密碼且夠長
按期更換
cat /etc/passwd 查看全部用戶
cat /etc/passwd | grep tester1 將tester1過濾出來
每一個冒號就是一個分割點 總共有7個字段
名稱 密碼 UID GID 對用戶的信息說明(註釋) 用戶的家目錄 用戶的shell
cat /etc/shadow | grep tester1
名稱 密碼 最後更密碼的時間(從1970.1.1開始) 密碼變動鎖定天數 密碼使用期限
密碼變動前警告期 密碼過時寬限時間 帳號失效日期 保留字段
usermod 修改用戶帳號
-c 備註 修改用戶帳戶的備註文字
-d 登入目錄 修改用戶登入時的目錄
-e 有效期限 修改帳號的有效期限
-f 緩存天數 修改在密碼過時後多少天關閉該帳號
-g 羣組 修改用戶所屬的羣組
-G 羣組 修改用戶所屬的附加羣組
-l 帳號名稱 修改用戶帳號名稱
-L 鎖定用戶帳號名稱
-s shell 修改用戶登陸後使用的shell
-u UID 修改用戶ID
-U 解除密碼鎖定
userdel 刪除用戶帳號
-r 帳號 刪除用戶帳號及home目錄,不加參數僅刪除用戶帳號
groupadd 創建用戶組
-g ID號 組名 指定組ID號
-o 容許建立ID重複的用戶組
-r 建立系統用戶組 低於499系統帳號
使用/etc/group 便可查詢組員
groupmod 更改羣組識別碼或名稱
-g 羣組識別碼 設置欲使用的羣組識別碼
-o 重複使用羣組識別碼
-n 新羣組名稱 設置欲使用的新羣組名稱
Linux用戶類型ID分配: UID(user ID) GID(group ID)
系統管理員ID:0(root用戶ID)
普通用戶ID:1-655
系統用戶ID:1-499(CentOS 6)1-999(CentOS 7)
登陸用戶ID:500~ (CentOS 6)100~ (CentOS 7)
groupdel 刪除羣組
須要先將羣組中的用戶刪除才能刪除羣組
Linux權限管理
ls-l
-a 顯示全部
-F 在每一個輸出行追加文件類型標識符,文件爲普通文件時不輸出任何符
*表示具備可執行權限的普通文件 /表示用@表示符號連接 |表示命令管道FIFO =表示sockets套數字
-file-type 與F相同,可是不顯示「*」
-k 以kB顯示文件大小
-l 以長格式顯示內容列表
chmod 修改文件權限
chmod 權限 文件名 便可修改
+ 添加指定權限
- 刪除指定權限
如,[root@localhost]$ chmod u+x* 文件名 修改文件擁有者權限
[root@localhost]$ chmod g+rx* 文件名 修改文件所屬組的權限
chown 修改文件全部者和所屬組
-R 遞歸修改,修改目錄及其子目錄
全部者:所屬組 都改 :所屬組 只改組 全部者 只改全部者
chgrp 修改所屬用戶組
同上,可是修改所屬用戶組比較方便,樓上修改用戶組須要加:
diff 比較兩個文件的不一樣
diff 文件1 文件2
-u 文件1 文件2(合併格式) ---表示變更前的 +++表示變更後的 以@爲首尾分界
-c 文件1 文件2(上下文格式) +後者文件比前者多 —後者比前者少 !二者有差異的行
history 能夠查找歷史命令
history | grep ‘find’ 從歷史命令中查找特定的命令
file 文件名 檢測文件類型
which 查找命令是否存在及命令的存放位置,只能夠查找PATH
whereis 只用於搜索程序名 且只搜索二進制文件、man文件(-m)和源代碼文件(-s)
alias(系統設置命令)
[root@localhost]$ alias rm= ‘rm -i’ 給命令起別名 別名放前面
[root@localhost]$ unalias rm 刪除別名
echo (系統設置命令)
顯示文本行或變量取值 或者把字符串輸入到文件中
對於linux系統,必須使用-e是轉義符生效
\c 不換行 \t製表符 \n換行
e.g echo -e 「hello\tboy」 輸出 hello boy
echo 「\ 「\」 「 輸出「」 輸出特殊字符須要用\(轉義符號)
export(系統設置命令)
設置環境變量 var_name=value;export var_name
查看環境變量取值 echo $var_name
刪除某個變量 unset var_name (只會從當前用戶進程中刪除,不會從/etc/profile刪除)
source 腳本名 是變量生效
cmp
cmp 文件1 文件2 比較兩個文件是否有差別,如有差別會標明第一個不一樣和編號
-c或print-chars 除標明差別的十進制也顯示該字符所對應的字符
-i 字符數 指定一個數目
-l或verbose 標出不同的地方
-s或-quiet或-silent 不顯示錯誤信息
內容上以多的做爲基準來比較,輸出少的,空行也算字符
diff顯示內容,cmp顯示差別處,如有相同的則不會顯示