目錄
1.Linux入門
2.使用幫助
3.文件管理
4.重定向和管道
一、Linux入門
1.用戶登錄
root用戶 超級用戶,接近完整的系統控制 除非必要不要登錄 #
普通用戶 權限有限 $
2.終端 terminal
tty 顯示當前終端
3.shell介紹
接收用戶輸入的命令送去內核執行,人機交互的語言
echo $SHELL 顯示當前的shell的類型
cat /etc/shells 顯示當前系統所使用的所有shell
4.執行命令
命令提示符prompt
[root@localhost~]#
echo $PS1 顯示當前的提示符格式
PS1=’\[\e[31m\][\u@\h\W]\\$\[\e[0m\] ‘ 改變提示符
{顏色 31m-38m}
輸入命令後回車執行命令
shell中可執行的命令
內部命令
enable 顯示所有已激活的內部命令
enable command 激活被禁用的內部命令
enable |wc -l 顯示激活中的內部命令的數量
enable -a 顯示所有內部命令
enable -a |wc -l 顯示所有內部命令的數量
enable -n 顯示所有被禁用的內部命令
enable -n command 禁用某個內部命令
外部命令
whereis; which -a | -- skip - alias
hash 緩存(執行外部命令)
hash 顯示所有被hash的命令路徑
-l 顯示所有被hash的命令路徑,包含別名
-d 別名 刪除指定別名的hash路徑
-r 清空所有的hash
-t 別名 顯示指定別名的hash路徑
-p 路徑 別名 手工增加一條hash
執行一條命令時的查找順序
別名→內部命令→外部命令→hash→PATH
type 區別命令類型
type command 顯示命令類型
alias 別名
alias 顯示所有的別名信息
unalias -a 別名 取消所有別名
/etc/bashrc 對所有用戶將別名保存
~/.bashrc 對當前用戶將別名保存
命令執行語法
- 短選項 例如 -p
-- 長選項 例如 --help
; 連接符 前一條命令執行結束再執行下一條命令
\ 命令換行符
多個選項以及多參數和命令直接使用空白字符分隔
5.簡單命令
date時間
date +%Y 年
+%m 月
+%d 日
+%H 小時
+%M 分
+%S 秒
+%w 星期 (0表示星期日)
+%A 顯示星期全名
+%F 年-月-日
+%T 時:分:秒
date 月日時分年[.秒] 改時間格式
date -s ‘年-月-日 時:分:秒’ 更改時間
hwclock 硬時間
clock 軟時間
clock -s 將軟時間寫入硬時間 關機是自動進行
-w 將硬時間寫入軟時間 開機時自動進行
cal -y 日曆
nano 編輯內容
poweoff/init0 關機
reboot/init 6 重啓
shutdown -r 重啓
-h 關機
time 指定時間關機
-c 取消關機計劃
whoami 顯示當前用戶名
who an /are/is 任意字符 顯示當前的終端信息
who 顯示所有終端信息
w 顯示所有終端的詳細信息及所做的操作
screen
下載
screen -s 會話名 創建指定名的screen會話
-x 會話名 加入已創建的screen會話
-ls 查看所有已打開的screen會話
echo
echo $() 或 `` 引用命令執行的結果
echo {} 重複字符的簡化形式
echo $(()) 或 $[] 進行運算
echo ${} 或 "$變量名" 劃定變量名的起止範圍
6.tab鍵 補全
7.命令行歷史
!n 重複某條歷史(此處n爲數字)
↑ 重複上一條命令
!string 重複前一個以“string”開頭的命令
!?string 重複前一個包含“string”的命令 string 字符串
history的命令
history 查詢歷史記錄
history -c 清空當前的所有歷史記錄
history -dn 刪除某條歷史(此處n爲數字)
history -a 將當前終端新執行的命令寫入歷史記錄文件 (默認爲~/.bash_history)
history -w /path/filename.txt 將歷史記錄寫入指定文件
調用歷史參數
要重新調用前一個命令中最後一個參數:
!$
Esc, .(點擊Esc鍵後鬆開,然後點擊 . 鍵)
Alt+ .(按住Alt鍵的同時點擊 . 鍵)
8.bash快捷鍵
ctrl + l 清屏
+ o 執行當前命令 並重新顯示本命令
+ s 鎖定屏幕 仍可以運行
+ q 解鎖
+ c 強制結束
+ z 暫停命令(fg可以再切換回來,bg可以查看當前終端後臺有多少暫停的程序)
+ a 光標起到命令行首
+ e 光標移到命令行尾
+ u 刪除光標之前的內容
+ k 刪除光標之後的內容
ctrl+shift+c 複製選中的文本
ctrl+shift+v 把文本粘帖到當前光標處
Alt +r 刪除全部內容
+N 提示輸入指定字符[後輸入]後,重複顯示該字符N次(N表示具體的數字)
三、使用幫助(獲取幫助的能力覺得了技術的能力)
1.whatis
僅能提供命令基本的介紹。不提具體用法。
whatis command 基於數據庫的查找
man -f comman 優點:檢索速度快
缺點:缺乏實時性
makewhatis 在CentOS6
mandb 在CentOS7
2.--help
3.man info
man 統稱爲Linux手冊,常用於命令參考
man cmd 查看此cmd的幫助
q 退出man
info 適合通用文檔參考
info cmd 查看此cmd的幫助
四、文件管理
1.文件系統結構元素
Linux系統文件區分大小寫
元數據 metadata 數據 data
2.創建 查看文件
pwd 當前目錄路徑
pwd -P 當前目錄爲軟鏈接時,顯示其源目錄
oldpwd 上一次目錄路徑
cd 改變目錄
cd .. 切換到父目錄
cd 切換到當前目錄
ls 查看目錄
ls -a 顯示所有文件
ls -l 長列出
ls -R 遞歸
ls -ld 顯示指定目錄的詳細信息
ls -1 豎顯示
ls -S 按文件大小降序
ls -T 按修改時間從新到舊
ls -u 按訪問時間
ls -U 按文件存放的先後順序
ls -X 按文件後綴排序
ls -i 顯示inode號
stat
atime 讀取文件內容 訪問時間
三個時間戳 mtime 改變文件內容 修改時間
ctime 元數據發生改變 改變時間
touch創建文件
touch filename
當文件不存在時,則創建filename
當文件已存在時,則更新全部時間戳
touch -t [YY]MMDDhhmm[.ss] filename
touch -a 改變 atime ctime
touch -m 改變 mtime ctim
touch -c 文件存在更新全部時間,不存在不創建文件
文件通配符
* 匹配零個或多個字符
? 匹配任何單個字符 *
[0-9] [a-z] [A-Z]
^ 託字符 除了
[:upper:] 大寫字母
[:lower:] 小寫字母
[:alpha:] 大小寫字母
[:alnum:] 字母和數字
[:space:] 水平或垂直空白字符
[:blank:] 空格
3.複製 轉移 刪除文件
cp複製
cp A B
cp -i 覆蓋前提示
cp -n 不覆蓋 注意順序
cp -r -R 遞歸
cp -a 歸檔
cp -d 不復制原文件只複製鏈
cp -p 複製所有的
cp -v 顯示覆制的過程
cp -f 有權限 覆蓋在創建
mv -i 覆蓋前提示
-f 強制覆蓋
rm -i 刪除前提示
-f 強制刪除
-r 刪除目錄
rename .txt .doc* .txt
4.目錄操作
tree 顯示目錄樹
-d 只顯示目錄
-L n 只列出指定層級的目錄(此處n爲數字)
-P通配符 只列出匹配到的文件和所有的目錄
mkdir 創建目錄
-p 一次性創建多級目錄
-v 創建時顯示詳細信息
-m 創建時直接設置權限
rmdir 刪除空目錄
-p 一次性刪除多級空目錄
-v 顯示刪除的詳細信息
5.inode
128字節 64(類型,權限,鏈接數,大小,UID,GID,時間,其他信息)
索引節點 cp rm mv
6.軟鏈接硬鏈接
ln filename linkname 不能跨分區
ln -s filename linkname 可以跨分區 源被刪除 鏈接也不可用
file 確定類型,顯示文件名
-b 查看文件類型時不顯示文件名
-f 列出文件中文件的文件類型
-f /path/filename 文件中每個文件路徑一行。從而可批量查看多個文件的類型
-F 符號 按指定符號做爲分隔符輸出 默認是 :
-L 當查詢的對象爲軟鏈接時,顯示源文件的類型
--help 查詢在線幫助
五、重定向和管道
1.三種I/O設備
指令+數據
Input 讀入數據 Output 輸出數據
stdin 標準輸入 stdout 標準輸出 stderr 標準錯誤
2.把I/O重定向入文件
> 正確輸出
文件不存在時直接創建新文件
存在時 > 直接覆蓋 >> 追加
2>錯誤輸出
&>全部輸出
2>&1錯誤結果轉化正確
1>&2 正確的轉化錯誤
()合併多個程序
3.tr 轉換和刪除
tr -c 選取字符集的補集
-d 刪除
-s 連續重複的字符以一個字符表示
<< EOF
>EOF 終止符
4.使用管道鏈接命令
| 管道符 使用前加空格
連接命令 cmd1 | cmd2 | cmd3
將正確的結果傳遞給管道
錯誤的結果通過 2>&1 ; |& 傳遞結果
組合多種工具
less 一頁一頁查看
ls -l /etc | less
mail 通過mail發送輸出
echo “test mail” | mail -s “test user”
5.tee 重定向到多個目標
tee -a 追加
command1 |tee [-a] file |command2