3.1 cat:合并文件或查看文件内容
cat 命令
1.查看文件内容 例如:cat file.txt,这是cat最基本的功能之一
2.把多个文件合并成一个 例如:cat filel.txt file2.txt > newfile.txt
3.创建编辑新文件 例如:输入cat>filel.txt,后面接要编辑的内容,使用快捷键Ctrl+d或Ctrl+c可结束编辑,此功能应用不多,了解即可
4.非交互式的编辑或追加内容到文件尾部
这是生产工作中最重要的一个应用了,所以必须要熟练掌握,这里先给一个命令格式:
cat>>file.txt<<EOF
I love linux
EOF 5.清空文件内容 例如:使用cat /dev/null>file.txt命令就可以把文件内容清空,但是文件还是存在的,
这个功能生产工作中也会用到
cat命令的参数选项及说明
cat >cat.txt<<EOF
welcome to learn linux
love linux forever
EOF #<==这里要按回车才能结束,另外,EOF必须成对出现,但也可以用别的成对标签来替换。例如:lewen字符标签,默认情况下,结尾的EOE必须要顶格写。 cat >cat.txt<<-EOF #<==如果cat后面使用了-符号,则结尾的EOF可以不用顶格,但要用tab缩进。 welcome to learn linux love linux forever,my blog\'s site is http://www.wenyule.top EOF 执行过程
[root@cs6-mini ~]# cat >cat.txt<<EOF
>
>
> welcome to learn linux
>
> love linux forever,my blog\'s site is http://www.wenyule.top
>
>
>bye
> EOF
[root@cs6-mini ~]# cat cat.txt welcome to learn linux love linux forever,my blog\'s site is http://www.wenyule.top bye
[root@cs6-mini ~]# cat -n cat.txt
1
2
3 welcome to learn linux
4
5 love linux forever,my blog\'s site is http://www.wenyule.top
6
7
8 bye
[root@cs6-mini ~]# cat -b cat.txt 1 welcome to learn linux 2 love linux forever,my blog\'s site is http://www.wenyule.top 3 bye
执行cat命令,带-E选项
[root@cs6-mini ~]# cat -E cat.txt
$
$
welcome to learn linux$
$
love linux forever,my blog\'s site is http://www.wenyule.top$
$
$
bye$ #<=说明:从上面的例子可以看出,-E选项就是把文件结尾的隐藏结束标识符$符号显示出来。即使是空行,结尾也是有结束标识符的,这一点大家要注意
[root@cs6-mini ~]# cat -A cat.txt
$
$
welcome to learn linux$
$
love linux forever,my blog\'s site is http://www.wenyule.top$
$
$
bye$
[root@cs6-mini ~]# cat -e cat.txt
$
$
welcome to learn linux$
$
love linux forever,my blog\'s site is http://www.wenyule.top$
$
$
bye$
执行cat 命令,带-s选项
[root@cs6-mini ~]# cat -s cat.txt welcome to learn linux love linux forever,my blog\'s site is http://www.wenyule.top
#由于-s选项的原因,变成一个空行了。
bye
[root@cs6-mini ~]# grep -v "^$" cat.txt
welcome to learn linux
love linux forever,my blog\'s site is http://www.wenyule.top
bye
执行cat命令编辑新文件
[root@cs6-mini ~]# cat > cat.txt
hi,here is linux os [root@cs6-mini ~]# cat cat.txt
hi,here is linux os
执行cat命令连接并显示多个文件
[root@cs6-mini ~]# cat test1.txt test2.txt
test1 file
test2 file
利用cat实现一键优化Linux系统脚本
#!/bin/bash
/bin/cp /etc/sysctl.conf /etc/sysctl.conf.'date +%F_%T' #<==备份 sysctl.conf
cat>>/etc/sysctl.conf<<EOF #<修改sysctl.conf
#added by lewen at 2019 start
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#end
EOF
sysctl -p &>/dev/null #<==加载sysctl.conf
[root@cs6-mini ~]# vim opt_sysctl.sh
[root@cs6-mini ~]# sh opt_sysctl.sh
[root@cs6-mini ~]# tail -16 opt_sysctl.sh
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#end
EOF
sysctl -p &>/dev/null #<==加载sysctl.conf
利用cat在脚本中显示帮助菜单
[root@cs6-mini scripts]# cat exportfs_usage.sh
#!/bin/bash exportfs_usage()
{
cat <<END
USAGE:$0 {start|stop|monitor|status|validate-all}
END
}
exportfs_usage [root@cs6-mini scripts]# sh exportfs_usage.sh
USAGE:exportfs_usage.sh {start|stop|monitor|status|validate-all}
利用cat在脚本中显示内容选择菜单
[root@cs6-mini scripts]# cat menu.sh
#!/bin/bash
menu(){
cat <<END
1.[apple]
2.[pear]
3.[banana]
4.[cherry]
5.[orange]
please select one that you like:
END
}
menu
[root@cs6-mini scripts]# sh menu.sh
1.[apple]
2.[pear]
3.[banana]
4.[cherry]
5.[orange]
please select one that you like:
[root@cs6-mini scripts]# cat menu.sh
#!/bin/bash
menu(){
cat <<-END
1.[apple]
2.[pear]
3.[banana]
4.[cherry]
5.[orange]
please select one that you like:
END
}
menu
[root@cs6-mini scripts]# sh menu.sh
1.[apple]
2.[pear]
3.[banana]
4.[cherry]
5.[orange]
please select one that you like:
利用cat连接多文件合并Web集群日志
cat web01_access20130522.log log_web02access_20130522.log > web_access20130522.log
cat web_access20130522.log
利用cat 命令实现一键MySQL主从同步
cat |mysql -uroot -p'oldboy'<<EOF
CHANGE MASTER TO
MASTER_HOST='10.0.0.16'
MASTER_PORT=3306,
MASTER_USER='lewenrep',
MASTER_PASSWORD='lewenrep',
MASTER_LOG_file='mysql-bin.000025',
MASTER_LOG_POS=4269;
EOF
3.1 cat:合并文件或查看文件内容的更多相关文章
- cat 合并文件或查看文件内容
1.命令功能 cat 合并文件或者查看文件内容. 2.语法格式 cat option file 参数说明 参数 参数说明 -n 打印文本,并显示每行行号并且空白行也同样包括 -b 与-n用法 ...
- shell 命令 文件查看ls,复制cp,移动mv,查看文件内容cat more less,查看文件信息 file
1. 查看文件 ls ls -l 查看文件详细信息 ls -a 查看所有文件(包含隐藏文件) ls -lh 带单位显示文件大小 ls -i 查看文件的节点号(相当身份证唯一) 2 ...
- Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...
- Linux命令: 向文件写内容,编辑文件,保存文件,查看文件,不保存文件
1.找到要编辑的文件 2.敲 vi t1.txt ,显示文件内容(vim命令) 3.敲 i,最下面变成INSERT 4.编辑自己想要的内容 5a.敲ESC:wq回车 5b.如果不想保存文件在时敲ES ...
- Linux学习---新建文件,查看文件,修改权限,删除
过程:在一个文件夹下面新建一个文件,然后查看文件,再修改权限,运行,最后删除 1.新建文件: touch Test.sh 补充:新建文件有好多种方式,一般用mkdir(创建目录,即文件夹).touc ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- c# 根据文件流查看文件真实格式
今天在做图片注册的功能的时候,测试提出一个问题:将随便一个非图片文件将后缀名改为jpg或其他,上传时应检验图片合法性.然后同事给提供了根据文件流前两个字节判断文件真实格式的思路,代码如下: publi ...
- 通过javascript在网页端解压zip文件并查看压缩包内容
WEB前端解压ZIP压缩包 web前端解压zip文件有什么用: 只考虑标准浏览器的话, 服务器只要传输压缩包到客户端, 节约了带宽, 而且节约了传输时间, 听起来好像很厉害的说: 如果前端的代 ...
随机推荐
- centos7.4 卸载python2.7.5安装python3.6.3版本
CentOS 中默认安装了 2.7的Python,为了使用新版 python,可以对旧版本进行升级.但是由于很多基本的命令.软件包都依赖旧版本,比如:yum等.所以,在更新 Python 时,建议不要 ...
- synchronized锁由浅入深解析
一:几种锁的概念 1.1 自旋锁 自旋锁,当一个线程去获取锁时,如果发现锁已经被其他线程获取,就一直循环等待,然后不断的判断是否能够获取到锁,一直到获取到锁后才会退出循环. 1.2 乐观锁 乐观锁,是 ...
- PostMessage xss学习和挖掘
PostMessage xss很有趣,在国外出现了很多次,国内src/众测从没遇到过,挖到过.可能境界还不够,有机会再去试试.好几年前记得心血来潮学过一次,都是半知半解,后来因为重要性不高,不了了之了 ...
- 从苏宁电器到卡巴斯基第14篇:我在苏宁电器当营业员 VI
我也过了一把讲师的瘾 由于iPhone已经成为了我们的主推产品,因此苏宁要求手机专区的每一个人,不论是自营还是厂促,都要对iPhone非常了解才可以.于是,督导也没有事先通知我,就直接让我给手机专区的 ...
- AppScan扫描器的用法
目录 AppScan 软件功能 建立一次基础的扫描 AppScan AppScan是一款非常好用且功能强大的Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,AppS ...
- Portswigger web security academy:HTTP request smuggling
HTTP request smuggling 目录 HTTP request smuggling HTTP request smuggling, basic CL.TE vulnerability H ...
- 每天一道面试题LeetCode 01 -- 两数之和
Two Sum 两数之和 Given an array of integers, find two numbers such that they add up to a specific target ...
- Day004 Scanner对象
Scanner对象 作用 我们可以通过Scanner类来获取用户的输入 所属包 java.util.Scanner java 工具类下 基本语法 Scannner s=new Scanner( ...
- 【实用小技巧】spring与springmvc自动扫描包重复的问题解决
spring对应配置文件为: <!-- 配置自动扫描的包,此时要排除Controller --> <context:component-scan base-package=" ...
- @JsonFormat 格式化时间 时出现时间不准确问题
今天突然报个问题,简单来说说就是数据库某一字段的记录时间为 14点,然而展示到前台却是 6点 我腚眼一看,postman测试的数据也是6点 然而idea查出来的并不是6点 再仔细一瞅idea实体类的时 ...