文件管理 --> 創(chuàng)建 移動(dòng) 刪除 復(fù)制
cp復(fù)制
????#選項(xiàng):
????????# -v:詳細(xì)顯示命令執(zhí)行的操作
????????# -r: 遞歸處理目錄與子目錄
????????# -p: 保留源文件或目錄的屬性
????#1.將當(dāng)前目錄下的file文件,復(fù)制到/tmp/目錄下,并重新命名為file_copy
????????[root@oldboyedu ~]# cp file /tmp/file_copy
????????[root@oldboyedu ~]# ls /tmp/file_copy
????????/tmp/file_copy
#2.將file1復(fù)制到/tmp目錄下,
????????[root@oldboyedu ~]# cp file1 /tmp/
????????[root@oldboyedu ~]# cp file1 /tmp/file1 #這種很少使用
#3.在拷貝文件的過(guò)程中,如何保持文件原有的屬性不發(fā)生變化
????????-rw-r--r--. 1 root root 0 Jul 29 10:07 file
#第一次修改
????????-rwxrwxrwx. 1 root root 0 Jul 29 10:03 file
#第二次修改
????????-rwxrwxrwx. 1 adm adm 0 Jul 29 10:03 file
#在拷貝的過(guò)程中,文件權(quán)限和身份都發(fā)生變化了
????????[root@oldboyedu ~]# cp file /tmp/
????????[root@oldboyedu ~]# ll /tmp/file
????????-rw-r--r--. 1 root root 0 Jul 29 10:11 /tmp/file
#在拷貝過(guò)程中加上-p參數(shù),保存文件原有的屬性
????????[root@oldboyedu ~]# cp -p file /tmp/
????????[root@oldboyedu ~]# ll /tmp/file
????????-rwxrwxrwx. 1 adm adm 0 Jul 29 10:03 /tmp/file
#4.如何拷貝一個(gè)文件夾,并且文件夾中有很多的子文件, -r遞歸復(fù)制
(文件夾===目錄)
????????[root@oldboyedu ~]# cp /etc/ /tmp/
????????cp: omitting directory ‘/etc/’
????????[root@oldboyedu ~]# cp /etc/ /tmp/ -r
#5.拷貝不同路徑下的不同文件至同一個(gè)目錄下? -v是顯示詳細(xì)過(guò)程
????????[root@oldboyedu ~]# cp file1? /etc/hostname? /etc/hosts /opt/ -v
????????‘file1’ -> ‘/opt/file1’
????????‘/etc/hostname’ -> ‘/opt/hostname’
????????‘/etc/hosts’ -> ‘/opt/hosts’
#6.拷貝不同路徑下的不同文件+不同的目錄 至同一個(gè)位置,怎么辦?
????????[root@oldboyedu ~]# cp -rp file1 oldboy1/ file /etc/ /mnt/ /opt/
????????[root@oldboyedu ~]# ls /opt/
????????etc? file? file1? mnt? oldboy1
#7.在復(fù)制過(guò)程中頻繁觸發(fā)重復(fù)復(fù)制,提示確認(rèn)操作?
????????[root@oldboyedu ~]# \cp -r /etc/ /opt/
????????[root@oldboyedu ~]# /bin/cp -r /etc/ /opt/
#8.擴(kuò)展項(xiàng)
????????[root@oldboyedu ~]# cp {file5,file5-bak} -v
????????‘file5’ -> ‘file5-bak’
????????[root@oldboyedu ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens32,ifcfg-ens32-bak}
文件管理之:查看文件內(nèi)容(cat less more head tail grep ...)
#------cat
????????[root@oldboyedu ~]# cp /etc/passwd ./pass
????????[root@oldboyedu ~]# cat pass #查看文件的所有內(nèi)容,從頭到尾
????????[root@oldboyedu ~]# cat -n pass #查看一個(gè)文件有多少行-n
????????[root@oldboyedu ~]# cat -A pass ##查看文件的特殊符號(hào),比如文件中存在tab鍵
#cat擴(kuò)展使用,創(chuàng)建一個(gè)文件,并往里寫入內(nèi)容
????[root@oldboyedu ~]# cat >> test.txt <<EOF #EOF代表開始
????????test1
????????test2
????????test3
????EOF #EOF 代表結(jié)束
????[root@oldboyedu ~]# cat test.txt
????????test1
????????test2
????????test3
#------less桥滨、more
????????# less /etc/services #使用光標(biāo)上下翻動(dòng)财忽,空格進(jìn)行翻頁(yè),q退出
????????# more /etc/services #使用回車上下翻動(dòng)晶框,空格進(jìn)行翻頁(yè),q退出
#------head
????????[root@oldboyedu ~]# head pass #查看頭部?jī)?nèi)容,默認(rèn)前十行
????????[root@oldboyedu ~]# head -n5 pass #查看頭部5行皮迟,使用-n指定
????????[root@oldboyedu ~]# ps aux | head -5 #了解
#------tail
????# tail pass #查看文件尾部默認(rèn)十行
????????[root@oldboyedu ~]# tail -20 /var/log/secure
????????[root@oldboyedu ~]# tail -f /var/log/messages #-f查看文件尾部的變化
????????[root@oldboyedu ~]# tailf /var/log/messages #查看文件尾部的變化
????????[root@oldboyedu ~]# ps aux | tail -5 #了解
#------grep過(guò)濾文件內(nèi)容
#1. 過(guò)濾出pass文件中的root相關(guān)的行
????????????[root@oldboyedu ~]# grep "root" pass
????????????root:x:0:0:root:/root:/bin/bash
????????????operator:x:11:0:operator:/root:/sbin/nologin
#2.過(guò)濾pass文件中,匹配以root開頭的行
????????[root@oldboyedu ~]# grep "^root" pass
????????root:x:0:0:root:/root:/bin/bash
#3.過(guò)濾pass文件中,匹配以bash結(jié)尾的行
????????[root@oldboyedu ~]# grep "bash$" pass
????????root:x:0:0:root:/root:/bin/bash
????????jack:x:1000:1000::/home/jack:/bin/bash
#4.顯示行號(hào)
????????[root@oldboyedu ~]# grep -n "bash$" pass
????????1:root:x:0:0:root:/root:/bin/bash
????????23:jack:x:1000:1000::/home/jack:/bin/bash
#5.擴(kuò)展了解
????# grep -n -A 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的下2行
?# grep -n -B 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上2行
????# grep -n -C 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串
#6.過(guò)濾出包含ftp的行
????????[root@oldboyedu ~]# grep "ftp" pass
????????ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#7.過(guò)濾除了ftp的行,其他的全部顯示
????????[root@oldboyedu ~]# grep -v "ftp" pass
#8.忽略大小寫方式
????????[root@oldboyedu ~]# grep -i "ftp" pass
????????ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#9.過(guò)濾pass文件中以sync結(jié)尾的,或者ftp相關(guān)的行,打印出來(lái).同時(shí)不區(qū)分大小寫
????????# grep -Ei "sync$|ftp" pass
????????#grep篩選的目標(biāo),會(huì)將整行打印出來(lái).
##grep相關(guān)練習(xí)題
????0、顯示當(dāng)前pass文件中,root桑寨、adm或ftp用戶相關(guān)的信息
????[root@oldboyedu ~]# grep -E "^root|^ftp|^adm" pass
????root:x:0:0:root:/root:/bin/bash
????adm:x:3:4:adm:/var/adm:/sbin/nologin
????ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
1伏尼、顯示/proc/meminfo文件中以不區(qū)分大小的s開頭的行;[root@oldboyedu ~]# grep -i "^s" /proc/meminfo
2尉尾、顯示/etc/passwd中以nologin結(jié)尾的行;[root@oldboyedu ~]# grep "nologin$" /etc/passwd
3烦粒、顯示/etc/inittab中以#開頭,而后又跟了任意字符的行代赁;[root@oldboyedu ~]# grep -n "^# .*" /etc/inittab
????????. 代表任意單個(gè)字符 [a-z] [A-Z] [0-9]
????????* 表示所有
????????.* 代表所有的任意字符
今日總結(jié):
????文件命令? cp????cat????less????more????head????tail????tailf????grep
明天:
????文件的下載 wget curl
????文件的上傳 rz sz #不支持拷貝文件夾
????文件內(nèi)容進(jìn)行 排序 sort ,去重uniq, 統(tǒng)計(jì)
????文件的截取 cut awk sed ....