文件操作之 cp
1.将当前目录下的file文件,复制到/tmp/目录下,并重新命名file_copy
[root@Eva ~]# cp file /tmp/file_copy
2.将file1复制到/tmp目录下
[root@Eva ~]# cp file1 /tmp/ #常用
[root@Eva ~]# cp file1 /tmp/file1 #不常用
- 在文件拷贝的过程中保持原有属性不发生变化
[root@Eva ~]# cp -p file /tmp/
#因为拷贝时权限问题,拷贝的文件会变成当前用户的权限,所以加上 -p 保证拷贝属性不变
4.如何拷贝一个文件夹,并且文件夹有很多子文件
[root@Eva ~]# cp /etc/ /tmp/
cp: omitting directory '/etc/'
[root@Eva ~]# cp /etc/ /tmp/ -r
5.拷贝不同路径下的文件至同一个目录下
# -v 是显示详情过程
[root@Eva ~]# cp file1 /etc/hostname/etc/hosts /opt/ -v
'file1' -> '/opt/file1'
'/etc/hostname' -> '/opt/hostname'
'/etc/hosts' -> '/opt/hosts'
6.拷贝不同路径下的不同文件+不同的目录至同一个位置
[root@Eva ~]# cp -rp file1 oldboy1/ file /etc/mnt/ /opt/
[root@Eva ~]# ls /opt/
etc file file1 mnt oldboy1
7.在复制中频繁触发重复复制,提示确认操作。
[root@Eva ~]# \ cp -r /etc/ /opt/
[root@Eva ~]# /bin/cp -r /etc/ /opt/
8.扩展项
[root@Eva ~]# cp {file,file-bak} -v
'file' -> 'file=bak'
[root@Eva ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens32.ifcfg-ens32-bak}
文件管理:查看文件内容
1.cat
[root@Eva ~]# cp /etc/passwd ./pass #复制一个文件之后用
[root@Eva ~]# cat pass #查看文件所有内容,从头盗文
[root@Eva ~]# cat -n pass #查看一个文件有多少行
[root@Eva ~]# cat -A pass #查看文件的特殊符号
[root@Eva ~]# cat >> test.txt <<<EOF #关键字
1
2
3
4
EOF #首位呼应就好,文字具体是什么不重要
[root@Eva ~]# cat test.txt
1
2
3
4
2.less 、more
[root@Eva ~]# less /etc/services #使用光标上下翻滚,空格进行翻页,q退出
[root@Eva ~]# more /etc/services #使用回车上下翻动,空格进行翻页,q退出
3.head
[root@Eva ~]# head pass #查看头部内容,默认前十行
[root@Eva ~]# head -n5 pass #查看头部5行。使用-n指定行数
[root@Eva ~]# ps aux | head -5
4.tail pass #查看文件尾部十行(默认)
[root@Eva ~]# tail -20 /var/log/secure
[root@Eva ~]# tail -f /var/log/message #if 查看文件尾部的变化
grep #过滤、筛选、匹配
1.过滤pass文件中root相关的行
[root@Eva ~]# grep 'root' pass
2.过滤pass文件中,以root开头的行
[root@Eva ~]# grep '^root"pass
3.过滤pass文件中,匹配以bash结尾的行
[root@Eva ~]# grep 'root$' pass
4.显示行号
[root@Eva ~]# grep -n 'bash$' pass
5.拓展了解
[root@Eva ~]# grep -n -A 2 'Failed' /var/log/secure
#匹配 /var/log/secure中Failed字符串,并打印他下行2行
[root@Eva ~]# grep -n -B 2 'Failed' /var/log/secure
#匹配 /var/log/secure中Failed字符串,并打印他上行2行
[root@Eva ~]# grep -n -C 2 'Failed' /var/log/secure
#匹配 /var/log/secure中Failed字符串,并打印他上下行2行
6.过滤出包含ftp的行
[root@Eva ~]# grep 'ftp' pass
7.过滤出除了ftp之外的所有
[root@Eva ~]# grep -v 'ftp' pass
8.忽略大小写
[root@Eva ~]# grep -i 'ftp' pass
9.过滤pass中以syns结尾,或者ftp相关的,并且不分大小写
[root@Eva ~]# grep -Ei "sync$|ftp" pass