Linux基礎(一)
網絡配置
- 執行
指令–>Network configuration–>Device configuration–>eth0(暫時選擇DHCP)。實質是修改網卡的配置檔案/etc/sysconfig/network-scripts/ifcfg-eth0内容。setup
- 執行
擷取ip 。ifup eth0
- ifconfig eth0檢視擷取的ip 。
- 主機ping通即可。
- 将/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT=no改為ONBOOT=yes
指令
- mkdir 建立目錄 -p 連續建立目錄 -v顯示目錄建立過程
- ls 檢視檔案清單 -l 長格式 -d 目錄
- cd 切換目錄
- pwd 列印工作目錄 -L 輸出$PWD變量值 -P 輸出實體目錄路徑,忽略連結
- touch 無檔案則建立,有檔案則更新時間戳 -a 隻更新通路時間 -m 隻更新修改時間
# 檢視檔案詳細屬性 stat hello.txt
-
建立或覆寫檔案。echo 'i am study'>hello.txt
追加echo 'i am study'>>hello.txt
-
亦可輸入多行資料到檔案cat >hello
cat >>hello<<EOF HELLO EOF # 其中EOF可以用任何成對字元替代,用于辨別結束
- xargs 從标準輸入擷取内容建立和執行指令 -n 分組
- cp 拷貝 -r 拷貝目錄 -a 相當于-pdr -p 連同檔案的屬性一起複制過去
- mv 移動
- rm 删除 -f 強制删除 -r 删除目錄
- find 查找 -type 檔案類型(f 檔案) -name 檔案名 -mtime 按修改時間查找
find /data -type f -name 'hello' # 使用find删除檔案 find /data -type f -name "hello" -exec rm {} \; find /data -type f -name "*.txt" |xargs rm -f # 删除15天以前的日志檔案 find /log -type f -name "*.log" -mtime +15 |xargs rm -f
- grep 過濾 -v 排除
# 輸出時排除包含“hello” 的行 grep -v hello hello.txt cat hello.txt |grep -v hello # 輸出包含“hello” 的行 grep hello hello.txt # 比對包含21的行,并列印該行之後9行 grep 21 -A 9 hello # -B 除比對一行外,顯示該行前面n行 # -A 除比對一行外,顯示該行後面n行 # -C 除比對一行外,顯示該行前後各n行
- head 讀取檔案頭部資料,預設10行
- tail 讀取檔案尾部資料,預設10行
- alias 檢視别名
# 屏蔽别名 \ls /bin/ls # 删除别名 unalias ll # 添加别名(不要在=周圍加空格) alias haha='cal' # 指令行處理别名,重新開機系統後失效 # 定義别名永久生效的檔案 # 全局生效 /etc/profile # 目前使用者生效 ~/.bashrc
- seq 序列
seq 100 seq 2 2 100 seq 100 >hello head -30 hello|tail -10 # -s 指定分隔符 seq -s '-' 10
- sed stream eidtor 流編輯器,實作對檔案的增删改查替換
sed -n '21,30'p hello # -n 取消預設輸出 # p 列印,與引号之間不能有空格 # 列印第21行 sed -n '21'p hello # 列印最後一行 sed -n '$'p hello # 替換内容 sed -i 's#hello#ni hao#g' hello # -i 修改檔案内容,不加隻影響輸出 # s 查找替換 # g 與s聯合使用,表示對目前行全局比對替換(不加隻每行替換第一個) # 分隔符,可以用其他字元替換 find /test -type f -name '*.sh'|xargs sed -i 's#hello#ni hao#g' sed -i 's#hello#ni hao#g' `find /test -type f -name '*.sh'` # 先執行``中的内容
- awk
awk 'NR>20&&NR<31' hello awk 'NR==30' hello
- history 檢視指令曆史
- uname 檢視系統資訊 -m 檢視多少位系統 -a 全部資訊 -r 核心發行版
- tree 以樹的形式顯示目錄内容 -a 顯示所有檔案 -d 隻顯示目錄 -f 顯示完整路徑 -i 不顯示樹枝 -F 目錄後顯示/
# 安裝 yum -y install tree # 預設以目前目錄為起點列出樹 # 隻顯示一層 tree -L 1
特殊符号
###重定向符号
# > 或1> 輸出重定向:把前面輸出的東西輸入到後面的檔案中,會清除檔案原有内容。
# >> 或1>> 追加輸出重定向:把前面輸出的東西追加到後面的檔案尾部,不會清除檔案原有内容。
# 0< 或< 輸入重定向:輸入重定向用于改變指令的輸入,後面指定輸入内容,前面跟檔案名。
# 0<< 或<< 追加輸入重定向:後跟字元串,用來表示“輸入結束”,也可用ctrl+d來結束輸入。
# 2> 錯誤重定向:把錯誤資訊輸入到後面的檔案中,會删除檔案原有内容。
# 2>> 錯誤追加重定向:把錯誤資訊追加到後面檔案的尾部,不會删除檔案原有内容。
# 說明:
# 1、箭頭的指向代表資料的流向
# 2、數字說明:
# 1.标準輸入(stdin): 代碼為0。
# 2.标準正常輸出(stdout):代碼為1。
# 3.标準錯誤輸出(stderr):代碼為2。
#例子
xargs -n 2 <hello
echo hello 1>a.txt 2>b.txt
#标準輸出和錯誤輸出到一個檔案寫法
echo hello >a.txt 2>&1
echo hello &>a.txt
其他特殊符号
| 管道
{} 生成字元或數字序列
\ 轉義字元
/ 根目錄
! !+字母 表示調出最近一次以此字母開頭的指令;!! 表示使用最近一次操作;!+數字 表示調出曆史的第n條指令;取反
echo {a..z}
mkdir -p /data/{11,12}/test
find . -type f -name 'hello'
# ! 指令取反
find . -type f ! -name 'hello'
# -o 或 -a 與
find . -type f -name 'hello' -o -name 'haha'
常用快捷鍵
tab 指令補全
ctrl+c 終止目前指令或程式
ctrl+d 退出目前使用者環境,相當于exit,logout
ctrl+l 清屏 相當于clear
ctrl+a 光标到開頭
ctrl+e 光标到結尾
ctrl+u 清理光标前面内容
ctrl+k 清理光标後面内容
ctrl+r 搜尋指令
ctrl+s 挂起
ctrl+q 解除挂起
檢視指令幫助
- [指令] --help 适用于一般指令,非内置指令
- man [指令] 适用于一般指令
- help [指令] 内置指令
- info [指令] 适用于一般指令
切換語言環境
LANG=en