上週五學習的課程 週六週日半學半玩 也沒弄
下午要講新課了 說一下上週五學的
移動 mv
把/data 移動到 /root目錄下面
mv /data/ /root/ 移動之後以後源文件不存在
mv 修改文件名 重命名
mv oldboy.txt oldgirl.txt 把oldboy.txt 修改爲 oldgirl.txt
備份文件 cp
cp 進入要改文件的目錄
cp oldboy.txt oldboy.txt.bak
刪除目錄 rm
rm -rf /data
-f 強制刪除 -r遞歸刪除
最好把-rf 放在最後 以免誤刪
rm /data -rf
find 命令
查找出 root 中 名字是 oldboy.txt的文件
find /root -type f -name "oldboy.txt"
查找 root 格式 普通文件 名字爲 xxxxxx
查找出root下 所有結尾爲 .txt 的文件 並詳細顯示出來
find /root -type f -name "*.txt" |xargs ls -l
find 接管道的時候 後面要加xargs |xargs 固定格式
cd
cd.. 進入上一級目錄
cd. 進入當前目錄
grep 過濾
先創建環境
mkdir -p /data
cat >/data/test.txt<<EOF
test
liyao
oldboy
EOF
請給出輸出test.txt文件內容時,不包含oldboy字符串的命令。
方法1
grep -v "oldboy" /data/test.txt
-v參數 反選
方法2
[root@oldboyedu50 data]# head -n2 /data/test.txt
test
liyao
[root@oldboyedu50 data]# head -2 /data/test.txt
test
liyao
#head 顯示文件的前幾行內容 默認顯示前10行
#tail 顯示文件的最後幾行內容 默認顯示最後10行
#顯示文件最後一行
[root@oldboyedu50 data]# tail -1 /data/test.txt
oldboy
-n幾 顯示幾行 也可以省略n 直接 -幾
方法3 awk
[root@oldboyedu50 data]# awk '/oldboy/' /data/test.txt 取帶有 oldboy 的行
oldboy
[root@oldboyedu50 data]# awk '!/oldboy/' /data/test.txt 不顯示帶有 oldboy 的行 !反選
test
liyao
方法4 sed
[root@oldboyedu50 data]# sed '/oldboy/d' /data/test.txt 取不帶有oldboy的行 加d 反選
test
liyao
sed 加d 反選 跟grep -v awk加! 一個性質
請用一條命令創建目錄 /oldboy/test
mkdir -p /oldboy/test
-p 創建多層目錄
只查看ett.txt文件(共100行)內第20到第30行的內容
[root@oldboyedu50 data]# seq 10 顯示1-10行
1
2
3
4
5
6
7
8
9
10
seq 40 >/data/ett.txt 顯示40行 追加到文件中
#方法1 head + tail
[root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11 先取頭30行 然後取後11行 head或tail不加-幾時 默認前十或後十行
20
21
22
23
24
25
26
27
28
29
30
#顯示文件的第30到40行
head -40 /data/ett.txt |tail -11
tail -11 /data/ett.txt
#方法2 sed 取行
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
#-n 取消默認輸出(sed命令不會把文件內容都顯示出來)
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
[root@oldboyedu50 data]# sed -n '20p' /data/ett.txt
20
[root@oldboyedu50 data]# sed -n '20,30p' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
#方法3 awk
[root@oldboyedu50 data]# awk 'NR==3' /data/ett.txt
3
[root@oldboyedu50 data]# # 'NR行號 等於 3'
[root@oldboyedu50 data]# awk 'NR==20,NR==30' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
週五主要講了 三劍客如何取行 和一些參數 簡單總結一下
awk
awk '!/xxxx/' /data
! 反選
'NR==10' 取行
sed
sed 加d 反選
-n 取消默認輸出
3p 取第三行
grep
grep -v 反選
head 默認顯示前十行
tail 默認顯示後十行