基本命令二
阿新 • • 發佈:2018-06-18
表達式 基本 upd 修改 tar.xz 沒有 自己 硬件時間 OS 基本命令二
date、find、tar、zip、gzip、bzip2、xz
date:
date:查看系統時間
hwclock:查看硬件時間
date +%F:2017-04-11
date +%Y%m%d:20170411
date ‘+%F %T‘:2018-06-10 17:59:09
date +%s -d 20170411:表示2017-04-11距離1970-01-01 00:00:00有多少秒
設置時間:date -s +format
# date -s "20150303 10:10:10"
# date -s "11:11:11 20150505"
時間同步:hwclock -w:(hwclock --systohc) 以系統時間為準
hwclock -s:(hwclock --hctosys) 以硬件時間為準
ntpdate ip地址 :同步網絡時間
# ntpdate 10.1.1.254s
時間服務:chronyd
/etc/chrony.conf
# yum install chrony
# systemctl start chronyd
# date +%F -d "30 days":查看30天以前是幾月幾日
# date +%F -d "30 days ago":查看30天以後是幾月幾日
# touch $(date +%Y%m%d).log
cal 查看日歷
# cal 26 3 2017
文件查找:
命令查找: which command whereis command whatis command 簡單解釋
任意文件查找:
1、locate 基於數據庫查找,速度快,不精確,會略臨時目錄 /tmp ,/var/tmp
/var/lib/mlocate/mlocate.db
/etc/cron.daily/mlocate.cron
updatedb 更新數據庫
2、find 基於磁盤查找,精確的,磁盤讀寫 i/o消耗,cpu開銷相對較大
find path -option 關鍵字
find path -option 關鍵字 [ -exec|-ok..] shell command \;
path:eg :/ /etc /dev
option:
-name:按名字查看
-iname:忽略大小寫
-type:按文件的類型 : f(文件) d (目錄)b(塊設備) c(字符)
s(socker) p(管道) l(連接)
-size:+ - eg:-size +3M:大於3M
-perm:按權限 eg:-perm 777
-atime:
-mtime: -n(n天以內) +n(n天以前) n(n當天) 不包含n那一天
-ctime:
-user:屬主查找
-nouser:屬主查找(沒有屬主)
-group:屬組查找
-nogroup:屬組查找(沒有屬組)
-regex:正則表達式
動作:
-print:默認 打印
-ls:列出來
-delete:刪除
-exec:後面接command 直接執行不提示
-ok:後面接command 提示(交互式)
| :將上一命令所執行的結果作為下一個命令的輸入
xargs:將上一命令所執行的結果作為下一個命令的參數
-t:先打印出來
-i:作為一整行
eg:# find /etc -name ‘*.conf‘
# find ./ -mtime +3 -exec cp {} /tmp/* \;
# find ./ -type f |xargs -ti mv {} {}.bak
###########################################################
打包壓縮工具:
zip gzip bzip2 xz 壓縮
tar 打包
zip:壓縮多個文件(將多個文件壓縮為一個) --------------------------->*.zip
zip 壓縮後的文件 需要壓縮的文件 (使用絕對路徑時目錄也會被壓縮)
-r:遞歸壓縮(同時壓縮目錄下的文件)
unzip 需要解壓的文件
-d:指定解壓後的路徑
gzip:壓縮單個文件;壓縮速度快;壓縮率低;cpu開銷相對較低 -------------------------->*.gz
gzip 需要壓縮的文件 (可以是多個文件)
gunzip 需要解壓的文件 = gzip -d 需要解壓的文件
gzip -r dir:將目錄下的文件壓縮
gzip -c 需要壓縮的文件file1 > 壓縮後的文件file2:(保留源文件不被改變)
bzip2:壓縮單個文件;壓縮速度慢;壓縮率高;cpu開銷相對較高 ---------------------->*.bz2
bzip2 需要壓縮的文件 (可以是多個文件)
bunzip2 需要解壓的文件 = bzip2 -d 需要解壓的文件
-k:保留源文件
xz:壓縮單個文件;解壓速度快;壓縮時間較長;cpu開銷相對較大 ---------------------->*.xz
xz 需要壓縮的文件 (可以是多個文件)
unxz 解壓縮 = xz -d
-k:保留源文件
tar:打包壓縮工具 ---------------------------------------->*.tar
tar 選項 打包壓縮後的文件 需要打包壓縮的文件
-c:創建tar包
-f:指定tar包(文件)[一般放到所有參數最後]
-v:顯示詳細信息
-z:調用gzip工具壓縮 xxx.tar.gz
-j:調用bzip2工具壓縮 xxx.tar.bz2
-J:調用xz工具壓縮 xxx.tar.xz
-t:查看tar包內容 -tf
-r:往tar包裏讀取文件/追加文件
-C:指定解壓後的路徑
-x:解壓縮
-P:
註意:
1、盡可能使用相對路徑
2、-f參數盡可能放到所有參數後面
# tar -cvf /tmp/xxx.tar /boot
# tar czvf /tmp/xxx.tar.gz /etc/*
課堂練習:
1、將自己的系統時間修改為2020-10-10 11:11,並寫到cmos中
2、通過時間同步服務器(10.1.1.254)同步自己的系統時間,同時同步硬件時間
3、找出根下所有塊設備文件,並將標準輸出及標準錯誤重定向到/tmp/find.txt文件中
4、找出/etc/下面以.conf結尾的文件並將其復制到/home/backup目錄中
# find /etc -name *.conf -type f -exec cp {} /home/backup/ \;
# find /etc -name ‘*.conf‘ -type f|xargs -i cp {} backup/
5、將/home/backup下的所有文件全部打包壓縮到/tmp/系統日期(2017-10-10).tar.gz
# tar -czvf /tmp/$(date -d ‘183 days‘ +%F).tar.gz backup/*
6、將/tmp/2017-10-10.tar.gz文件解壓到/tmp/test目錄中,並打包成20170410.tar
# tar xf 2017-10-10.tar.gz -C test/
# tar -cf $(date +%Y%m%d).tar backup/
7、將/tmp/find.txt文件追加到20170410.tar文件中
# tar -rP /tmp/find.txt -f 20170410.tar
基本命令二