随笔 - 424  文章 - 0  评论 - 89  阅读 - 48万

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包的文件内容

 

ll | grep -i dms    用于列出当前目录下的文件,并通过 grep 过滤出包含字符串 dms 的条目,且忽略大小写。

 

 

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

 

测试一个网址通不通可以这样:     curl http://127.0.0.1:8043

测试一个接口通不通:         curl -X POST http://vcardtest.tenkent.com/virtualcard-rest/outApi/ahnj/dataSync

要查看百度首页的源代码:          在命令行中输入curl https://www.baidu.com,它就会返回百度首页的 HTML 代码

curl可以模拟各种 HTTP 请求方法,如 GET、POST 等:

对于 GET 请求,上面查看网页内容的例子就是一个典型的 GET 请求,它用于获取服务器上的资源。
对于 POST 请求,假设要向一个服务器端的脚本发送数据,可以使用curl -X POST -d "param1=value1&param2 = value2" [URL]。
其中-X POST指定请求方法为 POST,-d选项用于指定要发送的数据,数据格式一般是键值对的形式,用&连接不同的键值对。
例如,向一个本地运行的测试服务器http://localhost:3000/api/submit发送用户注册信息username=testuser&password=testpass,可以使用
curl -X POST -d "username=testuser&password=testpass" http://localhost:3000/api/submit。

 

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

 

13.less

less a.txt         显示文件内容

less -N a.txt         显示文件内容,带行号

less 命令默认不显示行号,可以使用 -N 选项显示行号

 

14.netstat

netstat 命令用于显示网络状态。

netstat -an | grep 9443          查看9443端口的启动情况

 

15.sftp

以登录sftp服务器,并且下载文件为例:

[csii@localhost staffInfo]$ sftp aduser@10.0.0.5
sftp> cd /ODSFILE/HRP/PUB
sftp> ls
sftp> get ODS.FILE_1208_0X03_TXT_20240920.ok
sftp> get ODS.FILE_1208_0X03_TXT.txt
sftp> quit

如果是下载文件夹:

get -r folderName

 

16.date

查看服务器时间:date

修改服务器时间:date -s '2024-10-31 14:48:00'     如果权限不允许的话,前面加sudo

 

17.lscpu

lscpu用于显示有关cpu架构信息,它从sysfs和/proc/cpuinfo中收集并显示CPU的重要信息,包括其数量、核心、CPU家族、模型、缓存大小等。这个命令对于理解你的系统的CPU特性非常有用,特别是在需要优化应用程序以利用CPU架构特性时。

 

18.top          

参考博客:https://www.jianshu.com/p/bdd6f08ee1a5

Linux top命令用于实时显示进程的动态,是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

top  可选参数

第一行为任务队列信息
top - 19:26:14 当前时间
up 462 days, 1:49, 系统已运行时间
1 user, 当前登录用户数
load average: 0.09, 0.05, 0.05 系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

第二行为进程信息
Tasks: 641 total, 进程总数
1 running, 正在运行的进程数
640 sleeping, 休眠的进程数
0 stopped, 停止的进程数
0 zombie 僵尸进程数

第三~六行为cpu信息,使用1打开查看所有cpu,当前服务器为6%Cpu0 : 1.7 us, 0.3 sy, 0.0 ni, 97.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st
%Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu0 :
1.7 us, 用户空间占用CPU百分比
0.3 sy, 内核空间占用CPU百分比
0.0 ni, 用户进程空间内改变过优先级的进程占用CPU百分比
97.6 id, 空闲CPU百分比
0.0 wa, 等待输入输出的CPU时间百分比
0.0 hi, 硬件CPU中断占用百分比
0.0 si, 软中断占用百分比
0.3 st 虚拟机占用百分比

第七行为物理内存
KiB Mem : 单位kb
14871080 total, 物理内存总数
1030044 free, 空闲内存空间大小
2584280 used, 已使用物理内存大小
11256756 buff/cache 用作内核缓存的内存量

第八行为置换内存
KiB Swap: 单位kb
4194300 total, 交换区总量
3406820 free, 空闲交换区总量
787480 used. 已使用交换区大小
11790572 avail Mem 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

第九行
进程信息区统计信息区域的下方显示了各个进程的详细信息,默认显示
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND(各参数含义见下交互f指令)

 

 

19.linux修改挂载路径  

例子:

将/dev/datavg/data_lv设备下的挂载点/home/yyglb/pisces/  修改为新的挂载点/share_files

操作步骤:

1.备份/etc/fstab文件,cp /etc/fstab  /etc/fstab.bak

2.编辑/fstab文件,将设备下原来的挂载点/home/yyglb/pisces/修改为/share_files

/dev/datavg/data_lv    /share_files       xfs       defaults     0 0

3.卸载当前挂载点/home/yyglb/pisces/:

sudo umount /home/yyglb/pisces

4.重新挂载:

sudo mount /dev/datavg/data_lv  /share_files/   或者:sudo mount /share_files/

5.验证:df -h

注意:

  • 确保新的挂载点目录为空,否则挂载后原有内容会被隐藏。

  • 修改 /etc/fstab 时要小心,错误的配置可能导致系统无法启动

 

fstab文件解读:

/etc/fstab 是 Linux 系统中用于定义文件系统挂载信息的配置文件。系统启动时会根据该文件自动挂载指定的文件系统。以下是 /etc/fstab 文件的详细解读:

<设备或UUID> <挂载点> <文件系统类型> <挂载选项> <dump备份标志> <fsck检查顺序>

1. 设备或UUID
指定要挂载的设备或分区的标识。
可以是设备路径(如 /dev/sda1)或 UUID(如 UUID=1234-5678)。
使用 UUID 更可靠,因为设备路径可能会变化。

2. 挂载点
指定文件系统的挂载路径(挂载点)。
必须是一个已存在的目录。

3. 文件系统类型
指定文件系统的类型。
常见的文件系统类型包括:
ext4:Linux 常用的文件系统。
xfs:高性能文件系统。
vfat:FAT32 文件系统。
ntfs:Windows NTFS 文件系统。
swap:交换分区。
nfs:网络文件系统。
auto:自动检测文件系统类型。

4. 挂载选项
指定挂载时的选项,多个选项用逗号分隔。
常见的选项包括:
defaults:默认选项(包括 rw, suid, dev, exec, auto, nouser, async)。
rw:以读写模式挂载。
ro:以只读模式挂载。
noexec:禁止执行文件。
nosuid:禁止 SUID 和 SGID 权限。
nofail:挂载失败时不报错(适用于非关键文件系统)。
user:允许普通用户挂载。
auto:系统启动时自动挂载。
noauto:系统启动时不自动挂载


总结
/etc/fstab 用于定义文件系统的挂载信息。
每行包含 6 个字段:设备/UUID、挂载点、文件系统类型、挂载选项、dump 标志、fsck 顺序。

 

 

 

 

 

 

 

 

 

----

 

posted on   有点懒惰的大青年  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2021-10-10 @Autowired用法详解
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示