centos 管道符取第一行_CentOS 7 文件操作命令
[TOCM]
在 CentOS 7 系统中对文件操作的一些命令。
1. 创建一个文件
使用touch命令创建文件。例如,在/data目录下创建一个test.txt文件。
创建test.txt文件:
touch/data/test.txt
查看/data目录下刚刚创建的文件:
ls-l/data/
2. 编辑文件
使用vi命令编辑/data/test.txt文件。vi 是一种编辑器。
vi/data/test.txt
按下i键,进入编辑模式。内容编写完毕后,按下Esc键,退出编辑模式。然后,退出并保存,请依次按下:wq三个键,并回车。
关于退出编辑文件,有 4 个命令:
:q 退出。用于未修改文件内容,直接退出。
:wq 退出并保存。
:q! 强制退出不保存。用于已修改文件内容,而不希望被保存。
:wq! 强制退出并保存。
其中w为英文 write ;q 为英文 quit 。
3. 查看文件内容
使用cat命令来查看文件中的内容。
cat/data/test.txt
4. 写入文件
使用echo命令与>>追加重定向符号,将内容写入某个文件内的最后一行。
echoHellosophia>>/data/test.txt
如果想一次性写入多行到文件,使用如下方法。
cat>>/data/test.txt<
Hello
World
!
EOF
5. 复制文件或目录
使用cp命令,英文全称为 copy 。
把test.txt文件,复制到/tmp/目录。
[root@centos7~]#cp/data/test.txt/tmp/
[root@centos7~]#ls-l/tmp/
total16
-rw-r--r--.1root root127Apr1720:13test.txt
-rw-------.1root root0Apr1020:12yum.log
[root@centos7~]#
把test.txt文件,复制到当前所在目录,使用特殊符号.代表当前目录。
# 查看当前所在目录
[root@centos7~]#pwd
/root
# 复制 test.txt 文件到当前所在目录
[root@centos7~]#cp/root/data/test.txt.
# 查看当前所在目录文件列表
[root@centos7~]#ls-l
total12
-rw-------.1root root1707Apr1020:32anaconda-ks.cfg
drwxr-xr-x.2root root4096Apr1720:23data
-rw-r--r--.1root root127Apr1811:18test.txt
[root@centos7~]#
使用cp命令,备份文件。将test.txt文件备份为test.txt.bak。
[root@centos7~]#cp/data/test.txt/data/test.txt.bak
[root@centos7~]#ls-l/data
total12
-rw-r--r--.1root root127Apr1718:52test.txt
-rw-r--r--.1root root127Apr1720:23test.txt.bak
[root@centos7~]#
使用cp -r命令,复制目录。
参数 -r 为递归复制。复制目录及目录里面的内容。
参数 -p 复制时保持文件属性不变。
参数 -a 为复制所有。与参数 -pdr 等价。
将/data/目录复制到/tmp/目录。
[root@centos7~]#cp-r/data/ /tmp/
[root@centos7~]#ls-l/tmp/
total20
drwxr-xr-x.2root root4096Apr1720:31data
-rw-r--r--.1root root127Apr1720:13test.txt
-rw-------.1root root0Apr1020:12yum.log
[root@centos7~]#
6. 移动文件或目录
使用mv命令,英文全称为 move 。
把/data/目录移动到/root/目录。
[root@centos7~]#mv/data/ /root/
[root@centos7~]#ls-l/root/
total8
-rw-------.1root root1707Apr1020:32anaconda-ks.cfg
drwxr-xr-x.2root root4096Apr1720:23data
[root@centos7~]#
把/data/目录,移动到当前所在目录,使用特殊符号.代表当前目录。
# 查看当前所在目录
[root@centos7~]#pwd
/root
# 把 /data/ 目录,移动到当前所在目录。
[root@centos7~]#mv/data/.
[root@centos7~]#ls-l
total12
-rw-------.1root root1707Apr1020:32anaconda-ks.cfg
drwxr-xr-x.2root root4096Apr1811:33data
-rw-r--r--.1root root127Apr1811:18test.txt
[root@centos7~]#
把/root/test.txt文件,移动到/root/data目录下。使用特殊符号.代表当前目录。
[root@centos7 data]#pwd
/root/data
[root@centos7 data]#mv/root/test.txt.
[root@centos7 data]#ls-l
total4
-rw-r--r--.1root root127Apr1811:18test.txt
[root@centos7 data]#
7. 删除文件或目录
使用rm命令删除文件或目录,默认无法删除目录,它的英文全称为 remove 。
参数
描述
-r
递归删除
-f
强制删除
删除/tmp/目录下的test.txt文件。
[root@centos7~]#rm/tmp/test.txt
rm:remove regular file‘/tmp/test.txt’?y
输入y确定删除。如果不想被询问是否删除,则加参数-f删除文件。
[root@centos7~]#rm-f/tmp/test.txt
使用rm -rf命令,删除/tmp/目录下的/data/目录。
[root@centos7~]#rm-rf/tmp/data/
8. 查找文件或目录
使用find命令,查找文件或目录。
参数
描述
-type
查找类型。f 为文件 file,d 为目录 directory 。
-name
查找名称。可以使用 * 作为通配符,匹配名称。
在/root/data/目录中,查找test.txt文件。如果找到了,则输出文件位置。没找到则无输出。
[root@centos7~]#find/root/data/-type f-name"test.txt"
/root/data/test.txt
[root@centos7~]#
在/root/目录中,查找名字为data的目录。如果找到了,则输出目录位置。没找到则无输出。
[root@centos7~]#find/root/-type d-name"data"
/root/data
[root@centos7~]#
使用*作为通配符,匹配名称。
[root@centos7~]#find/root/-type d-name"dat*"
/root/data
[root@centos7~]#
find命令与管道|配合使用。管道的意思是,|前面的命令执行成功后,交给后面的命令再执行。
# 查找 *.txt 文件名,并显示详细列表。
[root@centos7~]#find/root/data/-type f-name"*.txt"|xargs ls-l
-rw-r--r--.1root root10Apr1719:44/root/data/num.txt
-rw-r--r--.1root root127Apr1718:52/root/data/test.txt
# 查看两个文件内容
[root@centos7~]#find/root/data/-type f-name"*.txt"|xargs cat
Hellosophia!
Helloabc!
Helloabc!
12345
[root@centos7~]#
9. 在文件内容中筛选出指定内容
方法 1,使用grep命令,筛选文件指定内容。
参数
描述
-v
排除指定内容。
在test.txt文件内容中,找到包含he的内容。
[root@centos7~]#cat/root/data/test.txt
test
hello
world
[root@centos7~]#grep"he"/root/data/test.txt
hello
[root@centos7~]#
在test.txt文件内容中,查找不包含he字符的内容。
[root@centos7~]#cat/root/data/test.txt
test
hello
world
[root@centos7~]#grep-v"he"/root/data/test.txt
test
world
[root@centos7~]#
方法 2,使用awk命令,筛选文件指定内容。
在test.txt文件内容中,找到包含he的内容。
[root@centos7~]#awk'/he/'/root/data/test.txt
hello
[root@centos7~]#
注意,使用一对单引号'和斜杠/。
在test.txt文件内容中,查找不包含he字符的内容。
[root@centos7~]#awk'!/he/'/root/data/test.txt
test
world
[root@centos7~]#
注意,使用叹号!表示取反。
方法 3,使用sed命令,筛选文件指定内容。
使用sed命令,获取test.txt文件内容,删除包含he字符的行。
[root@centos7~]#sed'/he/d'/root/data/test.txt
test
world
[root@centos7~]#
其中参数'/he/d'表示删除包含he的选项行。最后结果是,不包含he的行。
10. 获取文件内容的前几行
使用head命令,取出文件的前几行,默认取出前 10 行。
参数
描述
-n数字
表示取出前几行。例如 -n2 表示取出前 2 行。
-数字
表示取出前几行。例如 -2 表示取出前 2 行。
使用head -n2命令,取出test.txt文件的前 2 行。
[root@centos7~]#head-n2/root/data/test.txt
test
hello
[root@centos7~]#
11. 获取文件内容的最后几行
使用tail命令,取出文件最后几行,默认取出最后 10 行。
参数
描述
-n数字
表示取出最后几行。例如 -n2 表示取出最后 2 行。
-数字
表示取出最后几行。例如 -2 表示取出最后 2 行。
[root@centos7~]#tail-n2/root/data/test.txt
8
9
[root@centos7~]#
12. 获取文件某一行,或连续几行
题目:有一个test.txt文件,共有 100 行,要求显示出文件中的第 50 行至第 60 行内容。
使用seq命令,给test.txt文件写入 100 行内容。
[root@centos7~]#seq100>/data/test.txt
方法 1,使用sed命令
获取文件第 50 行内容。
[root@centos7~]#sed-n'50p'/data/test.txt
50
sed命令默认输出文件全部内容。使用参数-n取消默认输出,'50p'表示只输出第 50 行内容。
获取文件第 50 到 60 行内容。
[root@centos7~]#sed-n'50,60p'/data/test.txt
50
51
52
53
54
55
56
57
58
59
60
[root@centos7~]#
把参数改成'50,60p'即可。
方法 2,使用head和tail命令
首先,使用tail命令获取倒数 50 行。
[root@centos7~]#tail-50/data/test.txt
然后,使用|管道加head命令,获取第 50 到 60 行内容。
[root@centos7~]#tail-50/data/test.txt|head-10
51
52
53
54
55
56
57
58
59
60
方法 3,使用awk命令
获取文件第 50 行内容。
[root@centos7~]#awk'NR==50'/data/test.txt
50
参数中NR表示行号,==表示等于。
获取文件第 50 到 60 行内容。
[root@centos7~]#awk'NR==50,NR==60'/data/test.txt
50
51
52
53
54
55
56
57
58
59
60
参数中添加NR==60,限定行号范围,从第 50 行到第 60 行的内容。
13. 修改文件名
例如:把abc.txt文件重命名为abc123.txt。
注意,这是文件重命名,不是移动文件
可以使用mv命令,必须保证abc123.txt文件是不存在的,正是因为文件不存在,所以在使用mv命令时,直接重命名了该文件。
# 创建一个文件
[root@node01]#touch abc.txt
[root@node01]#ll
-rw-r--r--.1root root0Jan2916:19abc.txt
# 修改文件名
[root@node01]#mv/abc.txt/abc123.txt
[root@node01]#ll
-rw-r--r--.1root root0Jan2916:19abc123.txt
另外,重命名目录名称,也是可以使用mv命令的。链接:修改目录名
(完)
centos 管道符取第一行_CentOS 7 文件操作命令相关推荐
- centos 管道符取第一行_Linux用户组管理及用户权限及管道符应用
一.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. ]# who | cut -d ' ' -f1 | sort -u who:显示所有已经登录用户的用户名 ...
- 致远OA表单自定义函数(取上一行金额)
需求探讨 前期,在我开始分享自定义函数时,有同事就建议小编研究一下取重复表上一行金额的自定义函数. 解决办法:主表中控件取出明细表金额数组,然后利用当前行的行号计算出上一行的行号,最后查找数组中对应行 ...
- 当前行取上一行或者下一行数据作为独立列
当前行取上一行或者下一行数据作为独立列 Lead over 函数可以获取当前行的后第N行作为独立列 Lag over 函数可以获取当前行的前第N行作为独立列 注 : orcle才有上两个函数 , my ...
- excel利用公式取最后一行单元格内容
我们在数据处理中经常会涉及到去数据的前几行.后几行这样的操作.在excel中,取前几个单元格,我们可以直接写"=A1"这样的函数去取数.但是取最后一行的话,则不能写成"= ...
- Excel技巧—如何从重复行中取某一行
点赞再看,养成习惯:吃一堑,长一智. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Exce ...
- python读取文件第一行_python读取文件首行和最后一行
python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...
- CentOS使用sudo提示用户不在sudoers文件中的解决方法
CentOS使用sudo提示用户不在sudoers文件中的解决方法 参考文章: (1)CentOS使用sudo提示用户不在sudoers文件中的解决方法 (2)https://www.cnblogs. ...
- intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法
intellij idea的TFS拉取项目文件不完全.文件误删恢复.TFS忽略文件解决方法 参考文章: (1)intellij idea的TFS拉取项目文件不完全.文件误删恢复.TFS忽略文件解决方法 ...
- CentOS 6.3开机自动挂载磁盘和文件夹
http://blog.csdn.net/daydreamingboy/article/details/8278841 CentOS 6.3开机自动挂载磁盘和文件夹 CentOS服务器可能有多个磁盘, ...
最新文章
- hdu 3046(最小割)
- 区块链应用 | 用区块链颠覆视频直播,与视频卡顿、缓冲说再见!
- 网络开源框架之libev使用实例
- 【Java面经】非科班渣硕面经
- node --- 一个很好用的包json-server
- 【PhotoScan精品教程】任务一:新建工程、导入照片、设置坐标系、导入控制点(POS)、自由空三
- linux下重启weblogic
- iOS学习笔记03-UITableView
- 联想小新增加固态硬盘后安装不了系统_4千价位也能面面俱到?小新Air14 2020锐龙版体验测试...
- get,post网络请求
- S3C2440 进行微秒级、毫秒级延时函数
- Python学习之路-NLP(人物提取)
- solaris9 x86安装oicq过程,sparc也行
- android 语音和输入法按钮切换,android 切换系统语言,输入法也随之切换
- ios swift收起键盘
- mysql造1000万数据_MySQL制作具有千万条测试数据的测试库
- Keil MDK5 详细安装教程
- 深度可分离卷积(计算过程及代码实现)
- Failed to load response data:No data found for resource with given identifier
- 使用Origin绘制边际分布曲线(Marginal distributions plots)的思路和方法
热门文章
- python数据库增删改查_python实现数据库增删改查
- udp需要arp请求吗_当你随便浏览一个网页时,你知道背后做了多少工作吗?
- 提示错误“'=' not supported between instances of 'range' and 'int'”
- 深度学习框架TensorFlow(3.变量)
- 电气论文实现:从大规模用户中找出异常用电用户
- python 安装第三方包
- 字典类型处理函数及方法实例解析
- VTK:平行坐标视图用法实战
- OpenCASCADE:拓扑 API之3D模型Defeaturing
- wxWidgets:wxSocketEvent类用法