2018-11-26
> 或 1>> 追加重定向 把資訊追加到檔案的結尾
或 1> 重定向符號 先清空檔案內容 追加新的內容
2>> 錯誤追加重定向 錯誤資訊被追加到檔案內容
2> 錯誤重定向 先清空檔案內容 錯誤資訊被追加到檔案內容
< 或 0< 輸入重定向 從某個檔案中讀取資料
<< 或 0<< 追加輸入重定向
<< 追加輸入重定向
向檔案中追加多行
cat >>/data/oldboy.txt<<EOF
I
am
studying
linux
EOF
mv:用於檔案的移動、複製或者更改名字。相關引數如下:
- -f :force強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋
2.-i :若目標檔案已經存在,就會詢問是否覆蓋
3.-u :若目標檔案已經存在,且比目標檔案新,才會更新
注:該命令可以把一個檔案或多個檔案一次移動一個資料夾中,但是最後一個目標檔案一定要是“目錄”。- mv file1 file2 file3 dir # 把檔案file1、file2、file3移動到目錄dir中
- mv file1 file2 # 把檔案file1重新命名為file2
rm命令:用於刪除檔案或者目錄。
- -f :就是force的意思,忽略不存在的檔案,不會出現警告訊息
- -i :互動模式,在刪除前會詢問使用者是否操作
- -r :遞迴刪除,最常用於目錄刪除,它是一個非常危險的引數
例如:
- rm -i file # 刪除檔案file,在刪除之前會詢問是否進行該操作
- rm -fr dir # 強制刪除目錄dir中的所有檔案
/etc/小結:
/etc/目錄為linux系統的預設的配置檔案及服務啟動命令的目錄
1./etc/sysconfig/network-scripts/ifcfg-eth0 【網絡卡配置檔案】
- /etc/resolv.conf 【DNS的配置檔案】
- /etc/sysconfig/network 【主機名配置檔案】
- /etc/hosts 【IP地址與域名對應關係】
- /etc/fstab 【開機自動掛載】
- /etc/rc.local 【開機自啟動】
- /etc/inittab 【執行級別的配置檔案】
- /etc/profile 【環境變數 別名】
- /etc/bashrc 【別名】
- /etc/issue 【檔案內容使用者登陸前顯示】
- /etc/motd 【檔案內容使用者登陸後顯示】
- /etc/sysconfig/i18n 【修改字符集】
第4章 找出/app/logs 下面以.log結尾的7天之前的檔案 顯示詳細資訊(ls -l) (3種方法)
1.find /app/logs/ -type f -name ".log" -mtime +7 -exec ls -l {} \;
2.find /app/logs/ -type f -name ".log" -mtime +7|xargs ls -l
單引號 雙引號 反引號區別:
單引號 : 所見即所得 單引號裡面的內容會原封不動的輸出
找出/app/logs 下面 以.log結尾的檔案(不區分大小寫) 打包備份/tmp/log.tar.gz (2種方法)
- find /app/logs/ -type f -iname ".log" |xargs tar zcf /tmp/log-xargs.tar.gz
2.tar zcf /tmp/log-kuohao.tar.gz `find /app/logs/ -type f -iname ".log"`
如何把/data目錄下所有包含oldboy的目錄(可能目錄的目錄的目錄裡還有oldboy目錄) 目錄都打包出來。要求:解壓打包後的目錄結構不能改變 。
- find /data -type d -name "oldboy" |xargs tar zcf /tmp/oldboy.tar.gz
- find /data -type d -name "oldboy" -exec tar zcf /tmp/oldboy.tar.gz {} +
- tar zcf /tmp/oldboy.tar.gz
find /data -type d -name "oldboy"
tar zcf /tmp/oldboy.tar.gz $(find /data -type d -name "oldboy")
請列出linux下面常用的打包工具並寫出相應的壓縮解壓引數。
tar zcf 建立壓縮包 或zcvf
xf 解壓 或 zxvf
tf 檢視 或 ztf
-C 解壓到指定目錄
--exclude 排除
--exclude-from或-X 根據檔案內容排除檔案
zip -r 壓縮目錄
將/data目錄下的修改時間是7天以前,並且大於100k的檔案複製到/tmp目錄下
- find /data/ -mtime +7 -size +100k -exec cp {} /tmp/ \;
2.find /data -type f -mtime +7 -size +100k |xargs cp -t /tmp
3.find /data -type f -mtime +7 -size +100k |xargs -i cp {} /tmp
現將檔案b.txt中的所有123替換成def,請問如何實現?
sed 's#123#def#g' b.txt
/var/log/messages 系統日誌
/var/log/secure 使用者登陸資訊日誌
/etc/fstab 開機自動掛載
/etc/hosts 解析主機名(域名)
/etc/rc.local 開機自啟動
/etc/profile 別名 環境變數
/var/spool/cron/root 定時任務的配置檔案
chown命令改變某個檔案或目錄的所有者和所屬的組
mkdir -p /oldboy/test 建立目錄/oldboy/test
touch /oldboy/test/oldboy{01..5}.txt 在目錄下建立5個檔案 (3)
chown oldboy.oldboy /oldboy/test/ 將目錄/oldboy/test的屬主和屬組改為oldboy (4)
crond是linux系統中用來定期執行命令或指定程式任務的一種服務或軟體。
通過crontab我們可以在固定的間隔時間執行指定的系統指令或script指令碼。時間間隔的單位是分鐘,小時,日,月,周及以上的任意組合(注意:日和周不要組合)
使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個欄位代表一項設定,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute hour day month week command 順序:分 時 日 月 周
· minute: 表示分鐘,可以是從0到59之間的任何整數。
· hour:表示小時,可以是從0到23之間的任何整數。
· day:表示日期,可以是從1到31之間的任何整數。
· month:表示月份,可以是從1到12之間的任何整數。
· week:表示星期幾,可以從0到7之間的任何整數,這裡的0或7代表星期日。
· command:要執行的可以是系統命令,也可以是自己編寫的指令碼檔案。
在以上各個欄位中,還可以使用以下特殊字元 :
· 星號():代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
· 逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9”
· 中槓(-):可以用整數之間的中槓表示一個整數範圍,例如“2-6”表示“2,3,4,5,6”
· 正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如/10,如果用在minute欄位,表示每十分鐘執行一次。