linux命令2
1.grep
zgrep QYJF03 *.zip | more 项目中使用了这个命令来查看日志中发过的含有交易码为QYJF03的报文。本来要一个一个去解压ZIP日志,然后搜索QYJF03找到对应的发送、响应报文,使用这个命令大大简化了操作,速度效率提升好多。望而生畏的
grep是linux用户用来搜索文本字符串的命令行工具。
zgrep: 用于搜索压缩文件中的字符串或模式的命令,可以用来搜索特定字符串或模式,并将结果输出到屏幕。
例子:
grep -c 'hello' example.txt 查找文件中包含“hello”的行数
grep -v 'hello' example.txt 查找文件中不包含“hello”的行
grep 'string' *.txt 搜索文件夹中所有的txt文件
grep -i 'hello' example.txt 如果要搜索时忽略大小写,可以使用-i选项
还可以在查询出来的结果中再次过滤,比如搜索参加活动的交易,且客户号为110002345的:
zgrep mktActivityJoin maketing-2024-02-03.*.log.zip | grep 110002345 | more
ps: zless 查看zip包的文件内容
2. | 管道命令
将‘|’前面命令的输出作为'|'后面的输入。例如:
ls -s|sort -nr -s 是file size,-n是numeric-sort,-r是reverse,反转,该命令列出当前目录中的文档(含size),并把输出送给sort命令作为输入,sort命令按数字递减的顺序把ls的输出排序。
ls -l | more 该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。
ls -la | less 将 ls 命令的结果 重定向到 less 来显示,而不是默认的终端
grep 20231023XXX22 bank.2023-10-25.*.log | grep -i application 在bank.2023-10-25.*.log中搜索20231023XXX22流水号,并且过滤出含有application字符串的,忽略大小写
3.输出命令
head -n 10 fileName >> a.txt 将fileName文件的前10行输出到a.txt
4.查看文件大小
du -h a.txt 查看a.txt文件大小
5.touch
touch 命令主要用于创建普通文件,用法为 touch test.txt,如果文件存在,则表示修改当前文件时间,常用参数详解如下:
用法:touch [选项] 文件 将每个文件的访问时间和修改时间改为当前时间;
不存在的文件将会被创建为空文件,除非使用-c 或-h 选项;
如果文件名为"-"则特殊处理,更改与标准输出相关的文件的访问时间;
长选项必须使用的参数对于短选项时也是必需使用的;
-a 只更改访问时间;
-c, --no-create 不创建任何文件;
-d, --date=字符串 使用指定字符串表示时间而非当前时间;
-f (忽略);
-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地;
(当系统支持更改符号链接的所有者时,此选项才有用);
-m 只更改修改时间;
-r, --reference=文件 使用指定文件的时间属性而非当前时间;
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间;
--time=WORD 使用 WORD 指定的时间:access、atime、use 都等于-a;
选项的效果,而 modify、mtime 等于-m 选项的效果;
--help 显示此帮助信息并退出;
--version 显示版本信息并退出。
请注意,-d 和-t 选项可接受不同的时间/日期格式
touch touch.txt 创建touch.txt
touch -a linux.txt 修改文件的访问时间 (-a表示access)
touch -m linux.txt 修改文件的更改时间 (-m 表示modify)
6.stat命令
[root@nie linux]# stat aa/linux.txt
文件:aa/linux.txt
大小:22 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:3400403 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 777/ UNKNOWN) Gid:( 0/ root)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2023-06-01 13:35:02.304561000 +0800
最近更改:2023-06-01 13:00:25.626698812 +0800
最近改动:2023-06-01 13:03:32.400686418 +0800
创建时间:-
stat命令用于显示文件的状态信息。
stat命令可以查看的信息包括:
文件(File):显示文件名
大小(Size):显示文件大小
块(Blocks):文件使用的数据块总数
IO块(IO Block):IO块大小
文件类型(regular file):文件类型(普通文件)
设备(Device):设备编号
Inode:Inode号
硬链接(Links):链接数
权限(Access):文件的权限
Gid、Uid:文件所有权的Gid和Uid
访问时间(access time):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
更改时间(modify time):表示我们最后一次修改文件的时间
改动时间(change time):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等
创建时间(Birth time) : 文件创建时间,crtime,不过据查此属性linux已废弃,目前状态显示结果均为-
7.echo命令
echo > filename
filename
为待创建的文件名。接着,按下Enter键即可创建一个空文件。如果想要创建一个具有内容的文件,可以使用echo
命令结合重定向符>>
,例如echo "content" >> filename
。这会在文件中添加一行文本。
8.cat命令
cat > filename
filename
为待创建的文件名,接着,按下Enter键,进入编辑模式。在编辑模式下,输入文件的内容。完成后,按下Ctrl + D
保存文件并退出编辑模式,即可创建一个具有内容的文件。如果只想创建一个空文件,可以直接按下Ctrl + D
cat filename.txt 查看文件内容
cat -n filename.txt 查看文件内容,并显示行号
9.显示行号,打开文件,按下ESC输入以下命令:
:set nu 显示行号
:set nonu 不显示行号
:set nu! 不显示行号
10.curl
转自:https://www.cnblogs.com/duhuo/p/5695256.html
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:# curl [option] [url]
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态
示例用法:
curl http://www.linux.com 执行后,www.linux.com 的html就会显示在屏幕上了,由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站
curl http://www.linux.com >> linux.html 保存访问的网页,使用linux的重定向功能保存
curl -o linux.html http://www.linux.com 可以使用curl的内置option:-o(小写)保存网页
curl -o dodo1.jpg http:www.linux.com/dodo1.JPG 利用curl下载文件。使用内置option:-o(小写)
curl -O http://www.linux.com/dodo1.JPG 使用内置option:-O(大写)。这样就会以服务器上的名称保存文件到本地
分块下载:
有时候下载的东西会比较大,这个时候我们可以分段下载。使用内置option:-r
# curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
# curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
# curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG
# cat dodo1_part* > dodo1.JPG
这样就可以查看dodo1.JPG的内容了
curl -# -O http://www.linux.com/dodo1.JPG 显示下载进度条
curl -s -O http://www.linux.com/dodo1.JPG 不会显示下载进度信息
curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/ curl不仅仅可以下载文件,还可以上传文件。通过内置option:-T来实现。这样就向ftp服务器上传了文件dodo1.JPG
11.uptime
参考博客:https://blog.csdn.net/z19861216/article/details/130881624
linux命令uptime是用来为用户提供系统从开启到当前运行uptime命令时系统已运行的时长信息,除此之外,还提了系统启动时间,当前登录用户,系统平均负载信息。
参数 | 说明 |
-h | 显示帮助信息 |
-V | 显示uptime版本信息 |
-p | 以人类可识别的方式输出系统从开机到到当前的运行时长 |
-s | 以yyyy-mm-dd HH:MM:SS格式输出系统的启动时间 |
uptime -p
uptime输出详解
10:56:51 | up 1:25 | 3 users | load average: 0.00, 0.01, 0.03 |
当前系统时间 |
系统已开机运行了多长时间 即:已运行1小时25分钟 |
当前登录用户数 即:活动用户 |
过去 1分钟、5分钟、 15 分钟内可用的系统负载的平均值 |
12.查询CPU的核心数
grep "model name" /proc/cpuinfo
grep "model name" /proc/cpuinfo | wc -l
----