> 或 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字段,表示每十分鐘執行一次。