一些技巧
- ctrl+alt+f1切換至指令行模式
- ctrl+alt+f7切換至圖形界面
-
指令行編輯:
光标跳轉
ctrl+a 行首
ctrl+e 行尾
ctrl+d 删除
ctrl+u 删除光标至行首的内容
ctrl+k 删除光标至行尾的内容
ctrl+l 清屏
-
指令曆史使用:
!n 執行指令曆史中第n條指令
!-n 倒數第n條指令
!!執行上一條指令
!sring 執行指令曆史中最近一次比對的曆史指令
!$ 引用上一次指令中最後一個參數
-
指令别名
隻在目前shell的聲明周期有效,shell關閉,失效;同一個賬号,多個終端,也無效
alias cls=‘clear’
alias 直接輸入,可以顯示目前所有的别名
-
指令替換
把指令中某個子指令替換為其執行結果
echo "The current directory is $(pwd)"
touch ./file-$(date +%F-%H-%M-%S).txt
ualias
-
bash 支援的引号
` `:指令替換
"":弱引用,可以實作變量替換
'':強引用,不完成變量替換
-
檔案名通配,globbing
*:任意長度的任意字元
?:比對任意單個字元,至少有一個
[]:比對指定範圍内的任意單個字元
[:space:] 空白字元
[:punct:] 标點符号
[:lower:] 小寫字母
[:upper:] 大寫字母
[:alpha:] 大小寫字母
[:digit:] 數字
[:alnum:] 數字和大小寫字母
man 7 grep
[^]:比對指定範圍外的任意字元
常識的東西
/etc 配置檔案
/home 使用者家目錄
/root 管理者家目錄
/lib 庫檔案,核心子產品檔案modules
靜态庫,動态庫
/media 移動裝置挂載點
/mnt 挂載點目錄 臨時檔案挂載點
/opt 可選目錄,用于安裝第三方程式目錄
/proc 核心映射檔案
/sys 跟硬體裝置相關屬性映射檔案
/tmp 臨時檔案
/var 可變化的檔案
/bin 可執行檔案,使用者指令
/sbin 管理指令
/usr 全局共享的隻讀檔案
/usr/bin
/usr/sbin
/usr/lib
/usr/local/bin
/usr/local/sbin
/usr/local/lib
常用指令
ls
1.-l 長格式
- --- --- ---
-:普通檔案
b:塊檔案
c:字元檔案
d:目錄
l:符号連結檔案
p:管道指令檔案
s:套接字檔案
檔案權限 3位一組 r(4) w(2) x(1) --- user group otherime
檔案硬連結數
檔案的屬主(owner)
檔案的屬組(group)
檔案的大小(size),機關位元組
時間戳(timestamp),這裡最近一次被修改的時間
通路:access
修改:modify,修改内容
改變:change,metadata,改變中繼資料(屬性)
2.-h:機關轉換
3.-a:顯示以.開頭的隐藏檔案
4.-d:顯示目錄自身屬性
5.-i:index node,inode,顯示索引節點号
6.-r:逆序顯示檔案
7.-R:遞歸顯示
man
獲得指令幫助
内部指令 help ---
外部指令 command---
指令手冊 man 部指令使用man時,對應的是bash
分章節:
1.使用者指令 whatis 檢視指令在哪個章節
2.系統調用
3.庫使用者
4.特殊檔案(裝置檔案)
5.檔案格式 解釋某個指令的配置檔案
6.遊戲
7.雜項
8.管理指令(/sbin /bin)
[]可選
<>必選
....可以出現多次
()分組
man使用:
向後一屏,space
向前一屏,b
向後一行,enter
向前一行,k
查找:
/keyword 向後
多個結果的時候
n 下一個
N 上一個
?keyword 向前查找
文本處理
cut
-d 指定分隔符,預設是空格
-f 指定要顯示字段
sort 預設是按ASCII升序,自左往右
-n 按照數值大小排序
-r 逆序
-t 指定分割符
-k 以哪個字段為關鍵字進行排序
-u 排序後,相同的行隻顯示一次
-f 忽略字元大小寫
uniq 隻有相鄰行,字元一樣才認為是重複
-d 報告重複行,是哪個
-D 所有重複的行
-c 顯示某一行重複次數
wc(word count)
預設統計:行 單詞數 位元組數
-c 位元組數
-w 單詞數
-l 行數
-L 最長的一行包含多少字元
tr 用于轉換或删除字元,逐個字元進行處理,并非直接處理單詞
tr ‘a-z’‘A-B’将小寫轉換成大寫
tr -d ‘ab’删除字元集中出現的所有字元
指令曆史
history
-c 清空指令曆史
-d 删除指定行或者開始之後的行 -d 100 ,-d 100 10
-w 儲存指令曆史到曆史檔案中
使用者管理
useradd [options] username
-u UID(>500 不能重複) useradd -u 1000 user1
-g GID(基本組,必須存在) useradd -g mygroup user2
-G GID (附加組,可以有多個)
-c “comment”
-d /path/to/somedirectory指定家目錄
-s 指定shell的路徑 useradd -s /bin/bash user3
$SHELL用于儲存目前使用者的預設shell
-m -k 強行建立家目錄,并将/etc/skel 下的配置檔案複制過去
-r 添加一個系統使用者,預設沒有家目錄
id檢視使用者賬号的屬性資訊 -u -g -G -n
finger 檢索使用者資訊 finger username
userdel 預設不删除家目錄
-r 删除使用者的同時删除家目錄
修改賬号屬性資訊
usermod
-u UID
-g GID
-a -G GID額外指定附加組(沒有-a會覆寫原有的附加組)
-c
-d -m指定新的家目錄,并 移動檔案到新的家目錄下去
-s 修改shell
-l 修改登入名稱
-e 指定過期時間
-L lock
-U unlock
chsh username修改使用者預設shell
chfn username 修改注釋資訊
密碼管理
passwd [username]
--stdin echo “redhat”| passwd --stdin user2
-l lock
-u unlock
-n 最小密碼期限
-d 删除密碼
pwck 檢查使用者賬号的完整性
檔案查找
locate 非實時,模糊比對,查找時根據系統檔案資料庫進行
updatedb 手動生成檔案資料庫
find 實時,精确,支援衆多标準
find 超找路徑 查找标準 查找到以後的處理運作
比對标準:
-name ‘FIlENAME’區分大小寫
-iname 不區分大小寫
-regex pattern 基于正規表達式進行檔案名查找
-user USERNAME根據屬主查找
-group GROUPNAME 根據屬組查找
-uid UID
-gid GID
-nouser 查找沒有屬主檔案
-nogroup 查找沒有屬組的檔案
-type 【f d c b l p s】
-size #k #M #G
-mtime
-ctime
-atime
-mmin【+|-】#
-cmin 【+|-】#
-amin 【+|-】#
-perm mode
/mode 有一位比對就行
-mode完全比對
組合條件
-a and
-o or
-not !
運作:
-print 顯示
-ls 類似ls -l 的形式顯示每一個檔案的詳細
-ok command {} find / -size +1M -exec echo {}
-exec command {}
轉載請注明出處:http://www.cnblogs.com/tla001/
一起學習,一起進步