-------------文件管理之cp復制-----------------
#選項:
? ? ?# -v:詳細顯示命令執(zhí)行的操作
? ? # -r: 遞歸處理目錄與子目錄
? ?# -p: 保留源文件或目錄的屬性
#1.將當前目錄下的file文件,復制到/tmp/目錄下,并重新命名為file_copy
[root@oldboy--day01 ~]# cp file /tmp/file_copy
[root@oldboy--day01 ~]# ls /tmp/file_copy
/tmp/file_copy
#2.將file1復制到/tmp目錄下,
[root@oldboy--day01 ~]# cp file1 /tmp/
[root@oldboy--day01 ~]# cp file1 /tmp/file1? ? #這種很少使用
#3.在拷貝文件的過程中,如何保持文件原有的屬性不發(fā)生變化
[root@oldboy--day01 ~]# cp file /tmp/
[root@oldboy--day01 ~]# ll? /tmp/file
-rw-r--r--. 1 root root 0 Jul 29 15:03 /tmp/file
#在拷貝過程中加上-p參數(shù),保存文件原有的屬性
[root@oldboy--day01 ~]# cp -p file /tmp/
[root@oldboy--day01 ~]# ll /tmp/file
-rw-r--r--. 1 root root 0 Jul 29 14:57 /tmp/file
#4.如何拷貝一個文件夾,并且文件夾中有很多的子文件, -r遞歸復制? (文件夾===目錄)
[root@oldboy--day01 ~]# cp /etc/ /tmp/
cp: omitting directory ‘/etc/’
[root@oldboy--day01 ~]# cp /etc/ /tmp/ -r
#5.拷貝不同路徑下的不同文件至同一個目錄下? -v是顯示詳細過程
[root@oldboy--day01 ~]# cp file1? /etc/hostname? /etc/hosts /opt/ -v
‘file1’ -> ‘/opt/file1’
‘/etc/hostname’ -> ‘/opt/hostname’
‘/etc/hosts’ -> ‘/opt/hosts’
#6.拷貝不同路徑下的不同文件+不同的目錄 至同一個位置,怎么辦?
[root@oldboy--day01 ~]# cp -rp file1 oldboy1/ file /etc/ /mnt/ /opt/
[root@oldboy--day01 ~]# ls /opt/
etc? file? file1? mnt? oldboy1 ?#同時查看file ,file1, mnt,oldboy1這幾個文件
#7.在復制過程中頻繁觸發(fā)重復復制,提示確認操作?
[root@oldboy--day01 ~]# \cp -r /etc/ /opt/ ?# ? / ?去除原有的別名屬性,只保留當前屬性
[root@oldboy--day01 ~]# /bin cp ?-r /etc/ /opt/
#8.擴展項
[root@oldboy--day01 ~]# cp {file5,file5-bak} -v
‘file5’ -> ‘file5-bak’
[root@oldboy--day01 ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens32,ifcfg-ens32-bak}
--------------文件管理之:查看文件內(nèi)容(cat,tac,less, more ,head tail tailf grep ...)
#------cat查看文件
[root@oldboy--day01 ~]# cp /etc/passwd ./pass
[root@oldboy--day01 ~]# cat pass ? ? ? ?#查看文件的所有內(nèi)容,從頭到尾
[root@oldboy--day01 ~]# cat -n pass ? ?#查看一個文件有多少行? -n
[root@oldboy--day01 ~]# cat -A pass ? #查看文件的特殊符號,比如文件中存在tab鍵
#cat擴展使用,創(chuàng)建一個文件,并往里寫入內(nèi)容
[root@oldboy--day01 ~]# cat >> test.txt <<EOF? ? #EOF代表開始
test1
test2
test3
EOF ? ? ?#EOF 代表結(jié)束
[root@oldboy--day01 ~]# cat test.txt
test1
test2
test3
#---------less,more
less和more都是查看大文件,只不過more會顯示查看的百分比
# more? #按空格可翻頁查看文件內(nèi)容,按q可退出
# less /etc/services #使用光標按行上下翻動,空格進行翻頁,q退出
# more /etc/services #回車按上下翻動,空格進行翻頁,q退出
#-------head
head? #查看文件頭部內(nèi)容,默認前10行
[root@oldboy--day01 ~]# head pass? #查看文件頭部內(nèi)容,默認查看文件頭十行內(nèi)容
[root@oldboy--day01 ~]# head? -n5 pass? #查看文件頭部5行內(nèi)容,使用-n指定
#----------tail
# tail pass #查看pass文件尾部內(nèi)容,默認為尾部10行
tail #查看文件尾部內(nèi)容,默認最后十行
[root@oldboy--day01 ~]# tail -20 /var/log/secure
[root@oldboy--day01 ~]# tail -f /var/log/messages ? ?#-f查看文件尾部的變化
[root@oldboy--day01 ~]# tailf /var/log/messages ? ? ?#查看文件尾部的變化
#--------grep過濾文件內(nèi)容
? ?grep? #過濾文件內(nèi)容
#1.過濾出pass文件中的root相關(guān)行
[root@oldboy--day01 ~]# grep "root" pass
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#2.過濾pass文件中,匹配以root開頭的行
[root@oldboy--day01 ~]# grep "^root" pass
root:x:0:0:root:/root:/bin/bash
#3.過濾pass文件中以bash結(jié)尾的行
[root@oldboy--day01 ~]# grep "bash$" pass
root:x:0:0:root:/root:/bin/bash
ttt:x:1000:1000::/home/ttt:/bin/bash
jack2:x:1001:1001::/home/jack2:/bin/bash
#4.顯示行號
[root@oldboy--day01 ~]# grep -n "bash$" pass
1:root:x:0:0:root:/root:/bin/bash
22:ttt:x:1000:1000::/home/ttt:/bin/bash
23:jack2:x:1001:1001::/home/jack2:/bin/bash
#5.擴展了解
#grep -n -A 2 "Failed" /var/log/secure ? ?#查找/var/logsecure文件中Failed字符串,并同時打印他的下兩行
#grep -n -B 2 "Failed" /var/log/secure ? ? ? ? #查找/var/logsecure文件中Failed字符串,并同時打印他的上兩行
#grep -n -C 2 "Failed" /var/log/secure ? ? ? ? #查找/var/logsecure文件中Failed字符串,并同時打印他的上下兩行
#6.過濾出包含ftp的行
[root@oldboy--day01 ~]# grep "ftp" pass
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#7.過濾出了ftp的行,其他的全部顯示
[root@oldboy--day01 ~]# grep -v "ftp" pass
#8.忽略大小寫,過濾包含ftp的行
[root@oldboy--day01 ~]# grep -i "ftp" pass
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#9.過濾文件中以sync結(jié)尾的,或者與ftp相關(guān)的行打印出來,同時區(qū)分大小寫
[root@oldboy--day01 ~]# grep -iE "sync$|ftp" pass
sync:x:5:0:sync:/sbin:/bin/sync
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
##grep相關(guān)的練習題
0.顯示當前pass文件中,root,adm或者ftp用戶相關(guān)的信息
[root@oldboy--day01 ~]# grep -E "root|adm|ftp" pass
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
1.顯示/proc/meminfo文件中以不區(qū)分大小寫的s開頭的行
[root@oldboy--day01 ~]# grep -i "^s" /proc/meminfo
SwapCached:? ? ? ? ? ? 0 kB
SwapTotal:? ? ? 1048572 kB
SwapFree:? ? ? ? 1048572 kB
Shmem:? ? ? ? ? ? ? 9684 kB
Slab:? ? ? ? ? ? ? 60244 kB
SReclaimable:? ? ? 24332 kB
SUnreclaim:? ? ? ? 35912 kB
2.顯示/etc/passwd中以nologin結(jié)尾的行
[root@oldboy--day01 ~]# grep "nologin$" /etc/passwd
3.顯示/etc/inittab中以3開頭,而后又跟了任意字符的行
[root@oldboy--day01 ~]# grep -n "^# .*" /etc/inittab
(1) .? 代表任意單個字符
(2) *? ? 表示所有
(3) .* 代表所有的任意字符