linux 常用命令总结

Linux常用命令精要

目录

软件安装修复依赖关系

zip压缩与解压缩

批量压缩当面目录下面的文件夹:

unzip解压缩: unzip xx.zip

创建目录:

复制文件夹覆盖:

接使用rm命令,若删除目录则必须配合选项"-r",例如:

find 查找

查找目录名

trtexec工具ONNX转engine 命令换行

Linux下查看某一进程占用的内存


软件安装修复依赖关系

sudo apt --fix-broken install

zip压缩与解压缩

zip -r mydata.zip mydata #压缩mydata目录

批量压缩当面目录下面的文件夹:

find . -type d -maxdepth 1 -execdir zip -q -r '{}.zip' '{}' \;

unzip解压缩: unzip xx.zip

解压到目录 xx: unzip xx.zip -d xx

回收站

~/.local/share/Trash/files

创建目录:

1 mkdir,创建一个空目录。

比如:mkdir test

判断目录为空再创建目录:

cd /data/local/tmp

dir_name=faceid
if [ ! -d $dir_name ];then
   mkdir -p $dir_name
fi

2 mkdir -p,创建多级目录,比如:mkdir -p a/b。创建多级目录。

3 mkdir -m 777 d

创建权限为777的目录

4 命令参数。

-m mode=模式,设定权限(类似chmod)。

-p parents 递归创建目录。

-v verbose 每次创建目录都显示信息。

复制文件夹覆盖:

复制文件夹:

cp -r /home/packageA /home/packageB

mv的时候,如果目标文件夹有数据,不支持移动,不会合并,解决方法:

rsync -av /source/ /destination/

接使用rm命令,若删除目录则必须配合选项"-r",例如:

rm test.txt
rm -r filework

  删除当前目录下的所有文件及目录:

rm -r *

  删除目录下所有文件,包含子目录:

rm -rf file/access

  文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

创建多级目录: mkdir -p a/b/c

1.删除文件夹 rm -rf model

2.删除所有文件夹和文件夹的子文件:rm -rf *

find 查找

1. 查找当前目录和子目录下所有 go 文件

$ find . -name *.go

2. 在 etc 目录下,查找大写字母开头的 txt 文件

$ find /etc -name "[A-Z]*.txt" -print

3. 在当前目录下查找不是 out 开头的 txt 文件

$ find . -name "out*" -prune -o -name "*.txt" -print

4. 在当前目录除 git 子目录外查找 txt 文件

$ find . -path "./git" -prune -o -name "*.txt" -print

5. 找出某个文件的所有硬链接,ls 命令 -i 选项可以查看文件的 inode 号

$ ls -i 1.txt
138956 1.txt
$ find . -num 138956

查找目录名

find /shared_disk/models -type d -name "stable-diffusion-2-inpainting"

命令行很长,换行:

2."\"  +ENTER 就可以实现换行

trtexec工具ONNX转engine 命令换行

首先说明,我用的模型是一個動態模型,內部需要設置

--minShapes=input:1x1x80x92x60  
--optShapes=input:2x1x80x92x60 
--maxShapes=input:10x1x80x92x60 

min batch=1

opt batch =2

max batch =10

其次,我用的int8量化;量化需要設置calib文件夾;

比如:

D:\Download\TensorRT-8.2.1.8.Windows10.x86_64.cuda-11.4.cudnn8.2\TensorRT-8.2.1.8\bin\trtexec \
--onnx=dynamic.onnx \
--minShapes=input:1x1x80x92x60 \
--optShapes=input:2x1x80x92x60 \
--maxShapes=input:10x1x80x92x60 \
--workspace=5632
--int8 \
--best \
--calib=D:\PATIENT_DICOM \
--saveEngine=soft.engine \
--buildOnly

Linux下查看某一进程占用的内存

一、Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id
ps -ef|grep nacos


可以看到nacos进程为461,现在可以使用如下命令查看内存:

top -p 461


这样可以动态实时的看到CPU和内存的占用率,然后,按q键回到命令行

二、直接使用ps命令查看内存情况
ps -aux|grep nacos


第一个标注的地方是CPU和内存占用率,后面的1413148是物理内存使用量,单位为k,此时,nacos大约占用1413M内存,也即是1.4G的内存。

三、查看进程的status文件
cat /proc/461/status


VmRSS对应的值就是物理内存占用,大约和上面查询的一致。

另外,还可以通过top命令动态查看内存占用

四、根据free命令查看总体内存使用情况
free -m
free -g

<think>好的,我现在需要回答用户关于Tomcat 9.0 Connector配置的问题。用户提供了几个配置参数,如relaxedPathChars、relaxedQueryChars、useBodyEncodingForURI和URIEncoding,并希望确认给定的配置代码是否适用于Tomcat 9.0,同时需要示例和兼容性说明。 首先,我要回忆Tomcat 9的文档。Tomcat 9的Connector配置在server.xml中,通常使用HTTP/1.1或APR协议。用户给出的示例配置中使用了Http11AprProtocol,这需要APR库支持,而Tomcat 9确实支持这个协议,但需要正确安装APR库,否则可能无法启动。 接下来看用户提供的配置代码,里面有几个参数需要检查。比如executor="tomcatThreadPool",这在Tomcat 9中是合法的,前提是定义了该Executor。port、protocol等属性都是基础配置,没有问题。然后检查用户提到的特定参数: 1. relaxedPathChars和relaxedQueryChars:这两个参数在Tomcat 7.0.73之后引入,用于放宽URL中对路径和查询字符的校验。Tomcat 9继续支持这些参数,允许用户指定哪些字符不被转义,例如允许一些特殊字符如^、`等,这在处理非标准URL时有用。需要确认用户是否需要这些字符,否则默认设置即可。 2. useBodyEncodingForURI:这个参数在Tomcat中用于指定是否使用请求体的编码来处理URI查询参数,默认为false。当设置为true时,会覆盖URIEncoding的设置。Tomcat 9支持此参数,但需要注意如果同时设置URIEncoding和useBodyEncodingForURI=true,后者可能覆盖前者,需要根据文档说明正确配置。 3. URIEncoding:这个参数设置URI查询参数的解码字符集,默认是ISO-8859-1。用户示例中设置为UTF-8,这在Tomcat 9中是有效的,可以正确处理UTF-8编码的URL参数。但要注意,useBodyEncodingForURI设置为true时,URIEncoding可能被忽略,需参考引用[2]中的说明。 然后,用户提供的示例配置里还有compression相关设置,如compression="on"和compressionMinSize="1024",这些在Tomcat 9中也是支持的,但需要注意compressibleMimeType的默认值是否符合需求。另外,acceptCount、maxThreads等参数需要结合线程池配置,确保Executor正确配置,否则可能不会生效。 还需要检查协议配置,protocol="org.apache.coyote.http11.Http11AprProtocol"在Tomcat 9中有效,但必须安装APR和OpenSSL库,否则启动会报错。如果用户没有安装,应建议改用NIO或NIO2协议,如HTTP/1.1的默认NIO实现。 总结用户的问题,需要给出一个适用于Tomcat 9的Connector配置示例,包含提到的参数,并解释每个参数的兼容性和注意事项。同时指出用户提供的示例是否适用,可能需要调整的地方,如APR依赖、参数组合的影响等。 最后,根据用户提供的引用内容,特别是引用[2]和[5]中关于URIEncoding和useBodyEncodingForURI的说明,强调这些参数的正确使用方式,避免配置冲突。例如,如果同时设置了useBodyEncodingForURI=true和URIEncoding,实际可能以useBodyEncodingForURI为准,需要根据应用需求决定如何配置。</think>根据Tomcat 9.0的官方文档和配置特性,以下是适用于Tomcat 9.0的Connector配置示例及关键参数解析: ### 标准Connector配置示例(Tomcat 9.0兼容) ```xml <Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" redirectPort="8443" acceptCount="900" maxThreads="200" URIEncoding="UTF-8" relaxedPathChars="[]|{}^\`"<>" relaxedQueryChars="[]|{}^\`"<>" useBodyEncodingForURI="true" compression="on" compressionMinSize="1024" disableUploadTimeout="true" enableLookups="false"/> ``` ### 关键参数兼容性说明 1. **relaxedPathChars / relaxedQueryChars** - 用于放宽URL路径/查询参数的字符校验规则,支持特殊字符如`^`、`{`、`}`等 - 自Tomcat 7.0.73+引入,Tomcat 9.0完全兼容[^2][^5] - 需用HTML实体编码表示特殊字符(如`<`需写为`<`) 2. **useBodyEncodingForURI** - 当设置为`true`时,URI查询参数解码优先使用请求头`Content-Type`中的编码,而非`URIEncoding` - 默认值为`false`,Tomcat 9.0保持对该参数的支持[^2][^5] 3. **URIEncoding** - 定义URI查询参数的默认解码字符集(默认`ISO-8859-1`) - 若`useBodyEncodingForURI="true"`,此参数会被覆盖[^2] 4. **protocol="Http11AprProtocol"** - 需APR库支持(需安装`tomcat-native`和OpenSSL) - 若未安装APR,建议改用`Http11Nio2Protocol`(默认协议) ### 原配置代码的兼容性分析 - **兼容部分** `URIEncoding="UTF-8"`、`compression`、`acceptCount`等基础参数在Tomcat 9.0中仍有效[^1][^5] - **需验证部分** 1. `executor="tomcatThreadPool"`需在`<Executor>`标签中明确定义线程池 2. `Http11AprProtocol`需服务器安装APR库,否则启动报错[^3] ### 推荐优化方向 1. **性能调参** - 根据实际负载调整`maxThreads`(建议500-800)和`acceptCount`(建议与`maxThreads`一致)[^5] - 启用NIO2协议以提升并发能力:`protocol="org.apache.coyote.http11.Http11Nio2Protocol"` 2. **安全增强** ```xml <!-- 禁止高风险符号 --> relaxedQueryChars="-" relaxedPathChars="-" ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值