linux基礎_1
shell基礎_1
用戶與內核進行交互時,shell作爲兩者間的翻譯官,即命令解釋器 顯示當前登錄用戶所用shell # echo $SHELL /bin/bash 提示符 默認提示符: [root@centos6 ~] # echo $PS1 [\u@\h \W]\$ \u: 當前登錄用戶名 \h: 主機名第一部分 \W: 當前所在目錄名 設置提示符 [root@centos6 ~]# PS1="[\u@\H(yxq) \w]\$ " [root@centos6(yxq) ~]$ cd /etc/ [root@centos6(yxq) /etc]$ \H: 主機名全稱 \w: 當前所在路徑 設置持久化 # vim /etc/bashrc PS1="[\u@\H(yxq) \w]\$ " shell中操作特性: 中斷操作: ctrl+c 強制中斷 ctrl+d 正常中斷 ';' : 命令連接符(將多個命令依次運行) 例: sleep 1;ls '\': 換行符(換行輸入)
shell基礎_2
內部命令 echo echo [options] STRING -n 不附加換行符 -E 不啓用轉義字符(默認) -e 啓用轉義字符 \a 發出警報聲 \b 退格 \n 新行 \r 移至行首,當不換行 \t tab history 顯示或操作命令歷史列表 用戶登錄時讀取.bash_history,登出時寫入history的緩存內容至.bash_history history 列出命令歷史列表 -c 清空命令歷史列表 -r 讀取命令歷史文件並附加至當前命令歷史列表 -a 將當前命令歷史列表附加至.bash_history文件中 -n 讀取歷史文件中尚未讀取的所有歷史記錄 變量: HISTSIZE: 命令歷史可緩存最大行數 HISTSIZEFILE: history文件保存最大行數 命令引用 $()或`` 例: # echo yxq-$(date +%F) yxq-2015-08-29 # echo `which pwd` /usr/bin/pwd 運算 $(()),$[] 例: # echo $[2+1] 3 # echo $((2+1)) 3 變量引用 ${},"$STRING" 例: # n=sadan # echo www.${n}space.com www.sadanspace.com # n=1 # echo "$n"bbb 1bbb 命令行展開 {} 例: # echo /a/{b,c} /a/b /a/c 數字序列生成方法 {#..#} 例: # echo {1..10} 1 2 3 4 5 6 7 8 9 10 seq 例: # seq 1 5 1 2 3 4 5 TAB使用 實現命令補全,路徑補全 當其唯一時,一次TAB可補全,不唯一時,兩次TAB顯示列表 bash快捷鍵 ctrl + a 光標跳至行首 ctrl + e 光標跳至行尾 ctrl + u 刪除當前光標至行首 ctrl + k 刪除當前光標至行尾 alt+num STRING 指定字符串重複次數 幫助命令 whatis 根據whatis數據查詢命令的簡介信息 語法格式: whatis COMMAND 數據庫文件: /var/cache/man/whatis 根據本地環境構建數據庫文件: makewhatis 優勢: 查詢速度快 劣勢: 無法實時更新 help: 內部命令: help COMMAND 外部命令: COMMAND -h| --help man man COMMAND man -k COMMAND 模糊匹配顯示相關命令章節 man # COMMAND 查看指定命令的指定章節 使用操作 j 上移一行 k 下移一行 f 向下翻一頁 b 向上翻一頁 /KEYWORD 查詢關鍵字 n: 向下查找關鍵字 N: 向上查找關鍵字 q 退出
文件目錄結構
FHS /bin : 普通用戶可執行二進制文件 /sbin : 管理員可執行二進制文件 /lib,/lib64: 庫文件,內核模塊 /boot : 引導文件,內核文件 /dev : 設備文件 /home : 用戶家目錄 /var : 存放可變數據 /etc : 配置文件 /tmp : 臨時目錄 /usr : 全局共享可讀 /srv : 系統上運行服務用到的數據文件 /media,/mnt : 臨時掛載目錄 /proc : 用於輸出內核與進程相關信息的虛擬文件系統 /sys : 用於輸出當前系統上與硬件相關信息的虛擬文件系統
文件類型
- : 普通文件 d : 目錄文件 l : 鏈接文件 c : 字符設備文件 d : 塊設備文件 s : socket文件 p : 管道文件
相當路徑和絕對路徑
. 當前目錄 .. 上一級目錄 相對路徑: 從當前路徑開始到指定路徑 絕對路徑: 從/開始到指定路徑