1.已知/tmp目錄下已經存在test.txt檔案,如何執行命令才能把/mnt/test.txt拷貝到/tmp下覆蓋掉/tmp/test.txt,而讓linux系統不提示是否覆蓋(root許可權下)。
兩種方法
一種是在cp命令前加乙個\
另一種是用cp命令的全路徑
為什麼直接用cp,會提示是否覆蓋呢?
這就要關注alias了
alias cp='cp -i'
補充:
alias是設定指令的別名,我們可以看到cp是cp -i的別名。-i引數代表在目標檔案已經存在,在覆蓋時會先詢問。
取消別名 unalias
那麼,別名的作用:
(1)通過給危險的命令加一些保護引數,防止人為誤操作。
(2)把很多複雜的字串或命令變成乙個簡單的字串。
2.在指令碼中刪除檔案或目錄時生產環境的使用方法
①和xargs搭配用法
xargs命令是給其他命令傳遞引數的乙個過濾器,也是組合多個命令的乙個工具。
find 在/目錄下查詢檔案
-type f 查詢的型別為f(檔案)
| (管道 ) : 通過管道把前乙個命令的輸出交給後乙個命令繼續處理
補充:
find 查詢命令 -type f(檔案) -name 「名字」(按名字查詢) -mtime (按修改時間查詢)
[root@muban ~]# find /root/ -type f -name "*.log" -mtime -4
-4代表最近4天,+4代表4天以前,4代表第四天那一天
②使用find的-exec
{} : find找到的內容
-exec到 \ : 代表find額外動作的開始到結束
rm -f {} : 額外命令
; 是bash的特殊意義,就用反斜槓轉義
3.只檢視ett.txt檔案(100行)內第20到第30行的內容
生成ett檔案 seq 100 >ett.txt
[root@muban ~]# seq 100 >ett.txt
[root@muban ~]# cat ett.txt12
345...
100
三種方法:
①
[root@muban ~]# head -30 ett.txt|tail -11
2021
2223
2425
2627
2829
30
[root@muban ~]# sed -n 20,30p ett.txt
2021
2223
2425
2627
2829
30
[root@muban ~]# awk '' ett.txt
2021
2223
2425
2627
2829
30
$0一行內容,print $0 就是把符合條件的內容列印出來
補充:
sed 取各種內容
-n 取消預設輸出 p=print d=delete
head [-n] [檔名] :後面直接跟檔名,顯示檔案前十行。-n表示顯示檔案前n行。
tail [-nf] [檔名] :後面直接跟檔名,顯示檔案後十行。-n表示顯示檔案後n行。
linux基本命令 2
1.chown 將指定檔案的擁有者改為指定的使用者或組,chown 選項 所有者 組 檔案.2.chmod 檔案所有者或特權使用者才能使用該功能來改變檔案訪問模式 增加許可權 刪除許可權 重新分配許可權 u所有者 g所在組 o其它組 a所有使用者 預設 chmod u x file 給file的所有...
Linux基本命令練習(3)
參考實驗樓課程linux 命令例項練習 which 命令的作用是,在 path 變數指定的路徑中搜尋可執行檔案的所在位置。它一般用來確認系統中是否安裝了指定的軟體。which 可執行檔名稱 which gcc 確認是否安裝了 gcc返回 gcc安裝路徑 echo shell 命令檢視當前使用的 sh...
Linux基本命令練習 3
1.把當前目錄及其子目錄下所有以副檔名.sh結尾的檔案中包含.hostlist.txt的字串全部替換為.idctest iplist。find type f name sh xargs sed i s hostlist.txt idctest iplist g xargs 用於把find ls的輸出...