Linux學習(一)
阿新 • • 發佈:2018-01-15
重新 可用 ctrl nali 文本 小寫 文件已存在 lock water 目錄
1.歷史發展
2.Linux入門
3.使用幫助
4.文件管理
5.重定向和管道
一、歷史發展
1.發展歷史進程
2.入門基礎知識
二、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 別名 取消所有別名 nano /etc/bashrc 對所有用戶將別名保存 nano ~/.bashrc 對當前用戶將別名保存 ‘command’ ; “\command” 原命令與別名一樣,執行原命令 /path/command(外部命令) 命令執行語法 - 短選項 例如 -p -- 長選項 例如 --help ; 連接符 前一條命令執行結束再執行下一條命令 \ 命令換行符 多個選項以及多參數和命令直接使用空白字符分隔
5.簡單命令
date時間 date +%Y 年 +%m 月 +%d 日 +%H 小時 +%M 分 +%S 秒 +%w 星期 +%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 +f 向右移動一個單詞
+b 向左移動一個單詞
+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的幫助
4.使用本地幫助文檔
/user/sharel/doc
5.官網在線
6.其他網站搜索
四、文件管理
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
Linux學習(一)