day04--文件管理之文件的复制,查看

-------------文件管理之cp复制-----------------

#选项:

     # -v:详细显示命令执行的操作

    # -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.在拷贝文件的过程中,如何保持文件原有的属性不发生变化

[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参数,保存文件原有的属性

[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.在复制过程中频繁触发重复复制,提示确认操作?

[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}

--------------文件管理之:查看文件内容(cat,tac,less, more ,head tail tailf grep ...)

#------cat查看文件

[root@oldboy--day01 ~]# cp /etc/passwd ./pass

[root@oldboy--day01 ~]# cat pass        #查看文件的所有内容,从头到尾

[root@oldboy--day01 ~]# cat -n pass    #查看一个文件有多少行  -n

[root@oldboy--day01 ~]# cat -A pass   #查看文件的特殊符号,比如文件中存在tab键

#cat扩展使用,创建一个文件,并往里写入内容

[root@oldboy--day01 ~]# cat >> test.txt <<EOF    #EOF代表开始

test1

test2

test3

EOF      #EOF 代表结束

[root@oldboy--day01 ~]# cat test.txt

test1

test2

test3

#---------less,more

less和more都是查看大文件,只不过more会显示查看的百分比

# more  #按空格可翻页查看文件内容,按q可退出

# less /etc/services #使用光标按行上下翻动,空格进行翻页,q退出

# more /etc/services #回车按上下翻动,空格进行翻页,q退出

#-------head

head  #查看文件头部内容,默认前10行

[root@oldboy--day01 ~]# head pass  #查看文件头部内容,默认查看文件头十行内容

[root@oldboy--day01 ~]# head  -n5 pass  #查看文件头部5行内容,使用-n指定

#----------tail

# tail pass #查看pass文件尾部内容,默认为尾部10行

tail #查看文件尾部内容,默认最后十行

[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过滤文件内容

   grep  #过滤文件内容

#1.过滤出pass文件中的root相关行

[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结尾的行

[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结尾的,或者与ftp相关的行打印出来,同时区分大小写

[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相关的练习题

0.显示当前pass文件中,root,adm或者ftp用户相关的信息

[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文件中以不区分大小写的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结尾的行

[root@oldboy--day01 ~]# grep "nologin$" /etc/passwd

3.显示/etc/inittab中以3开头,而后又跟了任意字符的行

[root@oldboy--day01 ~]# grep -n "^# .*" /etc/inittab

(1) .  代表任意单个字符

(2) *    表示所有

(3) .* 代表所有的任意字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值