前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 学习笔记之超详细基础linux命令 Part 10

Linux 学习笔记之超详细基础linux命令 Part 10

作者头像
授客
发布于 2019-09-11 13:21:41
发布于 2019-09-11 13:21:41
8350
举报
文章被收录于专栏:授客的专栏授客的专栏

Linux学习笔记之超详细基础linux命令

---------------------------------接Part 9------------------------------

find命令

方法:find [路径] [选项] 表达式

说明:从指定路径开始向下搜素满足表达式的文件或目录,不指定目录路径时查找当前目录。当查找到用户不具有执行权限的目录时,屏幕将显示“权限不够”等提示信息。

主要表达式:

-name 文件名 按文件名查找,可使用通配符

-group 组群名 查找文件的所属组群为指定组群的文件

-user 用户名 查找文件所有者为指定用户的文件

-type 文件类型 按照文件类型查找,其中d为目录文件,l为符号链接文件

-size [+][-]文件大小 查找指定大小的文件

例子:查找/etc目录中以“fs”开头的文件和目录[root权限]

[laiyu@localhost ~]$ find /etc -name fs*

find: `/etc/dhcp': Permission denied

find: `/etc/sudoers.d': Permission denied

find: `/etc/sssd': Permission denied

...

[laiyu@localhost ~]$ su

Password:

[root@localhost laiyu]# find /etc -name fs*

/etc/fstab

例子:查找当前目录中的所有符号链接文件

[laiyu@localhost ~]$ find -type l

./.xinputrc

./.kde/cache-localhost.localdomain

./.kde/tmp-localhost.localdomain

./.kde/socket-localhost.localdomain

./.pulse/8811a723d421b24ed1412d7e00000033-runtime

./file.lnk

注意:find命令将显示满足条件的所有文件,包括隐藏文件和隐藏目录。

例子:查找当前目录中所有大于10kb的文件和目录[反之:-10k则表示小于10kb]

[laiyu@localhost ~]$ find -size +10k

./.mozilla/firefox/scrsbbvc.default/cesessions/1351781697741.js

./.mozilla/firefox/scrsbbvc.default/cesessions/1352521543586.js

...

#Debain下测试

例子:在当前目录下查找名为fil2的文件,排除对当前目录下的fil目录的搜索

builder:~# ls

fil myfile

builder:~# ls -R myfile/ #说明,-R必须大写

fil2

builder:~# find . -path ./fil -prune -o -name file2 -print

builder:~# find . -path ./fil -prune -o -name fil2 -print

./myfile/fil2

builder:~# find . -path ./fil -prune -o -name fil2 -print

例子:在当前目录下查找名为tes的文件或目录,排除对Picutre目录的搜索

[root@localhost ~]# find . -path ./Pictures -prune -o -name tes -print

./tes

./tes/tes

例子:在当前目录下查找名为tes的文件或目录,排除对tes目录下的tes目录的搜索

[root@localhost ~]# find . -path ./tes/tes -prune -o -name tes -print

./tes/tes

例子:在当前目录下查找名为fil2的文件,排除对当前目录下的fil以及file目录的搜索

builder:~# ls

fil file myfile

builder:~# find . \(-path ./fil -o -path ./file \) -prune -o -name fil2 -print

find: invalid ex pression; you have used a binary operator '-o' with nothing before it.

builder:~# find . \( -path ./fil -o -path ./file \) -prune -o -name fil2 -print

./myfile/fil2

说明:\( \) ->(),,,注意括号和-path有空格分开

grep命令

方法:grep [选项] 字符串 文件列表

功能:从指定的文本文件或标准输出中查找符合条件的字符串,默认显示其所在行的内容

主要选项:

-n(number) 显示行号

-v(invert) 显示不包含指定字符串的行

-i(ignore) 查找时不区分大小写

例子:查找/etc/passwd文件中包含“laiyu”的行,并显示其行号

[laiyu@localhost ~]$ grep -n laiyu /etc/passwd

37:laiyu:x:500:500:laiyu:/home/laiyu:/bin/bash

du命令

方法:du [选项] [目录|文件]

功能:显示目录或文件大小,默认以KB为单位,参数为目录,默认递归显示指定目录及其所有子目录的大小

主要选项:

-a(all) 显示指定目录及其所有子目录和文件的大小,默认只显示目录的大小

-h(human) 以易读方式显示目录或文件的大小

-s(summarize) 只显示指定目录的大小,而不显示其子目录的大小

-b 以字节为单位列出磁盘空间使用情况

-k 以1024字节为单位列出磁盘空间使用情况。

-c 最后再加上一个总计(系统缺省设置)。

-l 计算所有的文件大小,对硬链接文件,则计算多次。

-x 跳过在不同文件系统上的目录不予统计。

[laiyu@localhost ~]$ du -sh /home/laiyu

53M /home/laiyu

小知识: du /etc | sort -nr | more

sort 的参数 -nr 表示要以数字排序法进行反向排序,因为我们要对目录大小做排序,所以不可以使用 human-readable 的大小输出,

不然目录大小中会有 K、M 等字样,会造成排序不正确。

文件归档与压缩

归档与压缩文件的Shell命令

1.tar命令

格式:tar [选项] 归档/压缩文件 [目录或文件列表]

功能:将多个文件或目录归档为tar文件,如果使用相关选项还可压缩归档文件。

备注:建议使用tar归档时,让归档文件中包含一个子目录,解压归档文件时,子目录会被产生,所有文件都会放在这个目录里。也就是说把

所有文件都放到一个子目录下,然后归档该子目录

备注:tar会把文件的拥有者和权限存在备份文件中,并且保留完整的目录结构,符号链接,物理链接,所以使用tar可以说是在同一操作系统

上拷贝或者搬移整个树状目录的最好方法。

主要选项说明:

-c(create) 创建归档压缩文件

-r 向归档/压缩文件追加文件和目录

-t(list) 显示归档/压缩文件的内容

-u(update) 更新归档或压缩文件

-x(extract) 还原归档或压缩文件中的文件和目录

-v(verbose) 显示命令的执行过程(可以同时用两个v选项,以显示更多的信息)

-z(gzip) 采用gzip方式压缩/解压缩归档文件

-j 采用bzip2方式压缩/解压缩归档文件

-f tar命令的必需选项

例:将/ecc目录下的所有conf文件归档为etc.tar文件

[laiyu@localhost ~]$ tar -cf etc.tar /etc/*.conf

tar: Removing leading `/' from member names

tar: /etc/autofs_ldap_auth.conf: Cannot open: Permission denied

tar: /etc/libaudit.conf: Cannot open: Permission denied

tar: /etc/sudo-ldap.conf: Cannot open: Permission denied

tar: Exiting with failure status due to previous errors

[laiyu@localhost ~]$ ls | grep etc

etc

etc.tar

例子:etc.tar中添加文件

[laiyu@localhost ~]$ tar -rf etc.tar testfile

例子:将/etc目录下的所有conf文件归档为etc.tar.gz文件

[laiyu@localhost ~]$ tar -cf etc.tar.gz /etc/*.conf

tar: Removing leading `/' from member names

tar: /etc/autofs_ldap_auth.conf: Cannot open: Permission denied

tar: /etc/libaudit.conf: Cannot open: Permission denied

tar: /etc/sudo-ldap.conf: Cannot open: Permission denied

tar: Exiting with failure status due to previous errors

[laiyu@localhost ~]$ ls | grep etc

etc

etc.tar

etc.tar.gz

例子:将文件file归档压缩为file.tgz文件

[laiyu@localhost ~]$ tar -czvf file.tgz file

例子:查看etc/tar.gz文件的内容

[laiyu@localhost ~]$ tar -tf etc.tar.gz #注意这里的f选项不可少

etc/asound.conf

etc/cas.conf

etc/cgconfig.conf

etc/cgrules.conf

etc/cgsnapshot_blacklist.conf

etc/dnsmasq.conf

...

etc/yum.conf

...

注:归档/压缩操作时,系统会保留文件和目录的路径,并将绝对路径变为相对路径

例:将etc.tar文件中的yum.conf文件还原到当前目录

[laiyu@localhost ~]$ tar -xf etc.tar etc/yum.conf

tar: etc/yum.conf: Cannot open: File exists

tar: Exiting with failure status due to previous errors

[laiyu@localhost ~]$ tar -xf etc.tar test/yum.conf

tar: test/yum.conf: Not found in archive

tar: Exiting with failure status due to previous errors

[laiyu@localhost ~]$ cd test

[laiyu@localhost test]$ mkdir etc

[laiyu@localhost test]$ ls

etc file file1 linux

[laiyu@localhost test]$ tar -xf etc.tar etc/yum.conf

tar: etc.tar: Cannot open: No such file or directory

tar: Error is not recoverable: exiting now

[laiyu@localhost test]$ mv ../etc.tar .

[laiyu@localhost test]$ ls

etc etc.tar file file1 linux

[laiyu@localhost test]$ tar -xf etc.tar etc/yum.conf

[laiyu@localhost test]$ ls | grep etc

etc

etc.tar

[laiyu@localhost test]$ ls etc/

yum.conf

说明:由于进行归档/压缩操作采用的是相对路径,所以还原某个文件时必须使用相对路径。

1.tar: etc/yum.conf: Cannot open: File exists出现该错误的原因是源目录的权限问题,比如源目录是root创建的,其它用户没写的权限,而当前操作者是普通用户laiyu,因为其他用户没写的权限,这样一来,写操作就没权限执行了。

2.如果你想把压缩文件解压到某个目录下,则先进入该目录,然后tar [选项] 压缩/归档文件 或tar [选项] 压缩/归档文件 压缩/归档文件中的首目录 (注:这里的首目录形如上面例子中的etc,可以是已经存在的或不存在的)或者 tar [选项] 压缩/归档文件 压缩/归档文件中的首目录/文件名,总之,形式要和压缩包对应

也就是说,你创建时文件名采用了路径的形式,如tar -cf etc.tar /etc/*,那么当你解压时,可以这样:tar -xf etc.tar 或 tar -xf etc.tar etc 或 tar -xf etc.tar etc/yum.conf

注意:etc前不能加/,,加了则变成根目录下的etc目录了,为绝对路径

例子:将etc.tar.gz文件的所有文件还原到/tmp目录

[laiyu@localhost ~]$ tar -xzf etc.tar.gz

gzip: stdin: not in gzip format 说明这貌似因为创建时使用tar -cf ,没用tar -czf,,,所以解压时也不能用

tar: Child returned status 1

tar: Error is not recoverable: exiting now

[laiyu@localhost ~]$ cd /tmp

[laiyu@localhost tmp]$ pwd

/tmp

[laiyu@localhost tmp]$ tar -xvf ../home/laiyu/etc.tar.gz

etc/asound.conf

etc/cas.conf

...

[laiyu@localhost ~]$ cd /tmp/

[laiyu@localhost tmp]$ ls | grep etc

etc

[laiyu@localhost tmp]$ ls etc/

asound.conf krb5.conf prelink.conf

cas.conf latrace.conf readahead.conf

cgconfig.conf ld.so.conf reader.conf

cgrules.conf libuser.conf request-key.conf

cgsnapshot_blacklist.conf logrotate.conf resolv.conf

dnsmasq.conf ltrace.conf rsyslog.conf

dracut.conf mke2fs.conf sestatus.conf

elinks.conf mtools.conf smartd.conf

fprintd.conf nfsmount.conf sos.conf

gai.conf nsswitch.conf sysctl.conf

grub.conf ntp.conf Trolltech.conf

gssapi_mech.conf numad.conf updatedb.conf

host.conf oddjobd.conf warnquota.conf

idmapd.conf openct.conf yp.conf

kdump.conf pm-utils-hd-apm-restore.conf yum.conf

说明:也就是说要解压到哪个目录就先进入到那个目录,然后解压

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
CodeQL进行JAVA代码审计(1) --- XXE漏洞的挖掘
XXE就是XML外部实体注入。当允许引用外部实体时,通过构造恶意内容,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。
半月弧
2020/04/27
3.5K2
CodeQL进行JAVA代码审计(1) --- XXE漏洞的挖掘
【SDL实践指南】Fortify控制流巧用之XXE规则调试记录
在Fortify执行静态代码扫描时会加载默认规则和自定义规则目录下的自定义规则内容,输出结果中不仅有默认规则的众多的安全问题还会有自定义规则扫描出来的问题,如果我们想要只扫描我们自定义的规则那么就得重新进行二次扫描,基于此背景我们可以借助Fortify protal的接口来执行静态代码扫描并且附加相关的参数来丢弃对默认规则的导入,在使用自定义扫描规则执行静态代码扫描之初我们需要去按需自定义静态代码的扫描规则,本篇文章主要记录近期编写、调试关于XXE漏洞静态代码扫描规则中的历程,主要包括规则定义、规则使用、规则优化、误报处理、规则输出等环节
Al1ex
2025/02/19
1070
【SDL实践指南】Fortify控制流巧用之XXE规则调试记录
Java 中文官方教程 2022 版(四十)
本课程专注于 XML 的流式 API(StAX),这是一种基于 Java 技术的流式、事件驱动、拉取解析的 API,用于读取和写入 XML 文档。StAX 使您能够创建快速、相对易于编程且具有轻量级内存占用的双向 XML 解析器。
ApacheCN_飞龙
2024/05/24
2030
从最近的微信支付看XXE漏洞
先说下写这篇文章的初衷吧,最近微信支付java_sdk刚爆发了一次xxe漏洞,然后领导赶快用自家的静态代码审计工具做了审计(这里我就不报名字,本来可以帮公司推广下产品是很好的,但我怕本文过于基础会被各位大佬喷出翔来,到时候有辱“司”门就真是罪过罪过了)。
FB客服
2018/07/31
1.2K0
从最近的微信支付看XXE漏洞
Java安全编码实践总结
Java作为企业主流开发语言已流行多年,各种java安全编码规范也层出不穷,本文将从实践角度出发,整合工作中遇到过的多种常见安全漏洞,给出不同场景下的安全编码方式。
FB客服
2020/07/15
1.6K0
Java安全编码实践总结
【漏洞简析】weblogic CVE-2019-2647等相关XXE漏洞分析
按照惯例,Oracle发布了4月份的补丁,详情见链接(https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html#AppendixFMW)一看就是一堆漏洞,高危的还好几个。
绿盟科技安全情报
2019/10/24
8120
【漏洞简析】weblogic CVE-2019-2647等相关XXE漏洞分析
Java 审计之XXE篇
在以前XXE漏洞了解得并不多,只是有一个初步的认识和靶机里面遇到过。下面来 深入了解一下该漏洞的产生和利用。
全栈程序员站长
2022/07/13
6720
谈谈微信支付曝出的漏洞
昨天(2018-07-04)微信支付的SDK曝出重大漏洞(XXE漏洞),通过该漏洞,攻击者可以获取服务器中目录结构、文件内容,如代码、各种私钥等。获取这些信息以后,攻击者便可以为所欲为,其中就包括众多媒体所宣传的“0元也能买买买”。
美的让人心动
2018/07/30
1K0
谈谈微信支付曝出的漏洞
Java代码审计汇总系列(二)——XXE注入
OWASP Top 10中的另一个注入漏洞是XML外部实体注入(XXE),它是在解析XML输入时产生的一种漏洞,漏洞原理和黑盒挖掘技巧见之前的文章:XML外部实体(XXE)注入原理解析及实战案例全汇总,这里从代码层角度挖掘XXE漏洞。
Jayway
2019/11/12
2.6K0
Java面试之 OOAD & UML
答:UML 是标准建模语言;常用图包括:用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。
全栈程序员站长
2022/08/04
3320
WebLogic CVE-2019-2647~2650 XXE漏洞分析
Oracle发布了4月份的补丁,详情见链接(https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html#AppendixFMW)
Seebug漏洞平台
2019/05/13
1.1K0
WebLogic CVE-2019-2647~2650 XXE漏洞分析
从JDK源码来看XXE的触发原理和对应的防御手段
这个JDK中内置的类是一种的DOM型的解释器,该种Parser的特点是将完整的xml文档内容加载到树结构中去,然后我们通过遍历结点来获取我们需要的内容。
FB客服
2023/02/10
5060
从JDK源码来看XXE的触发原理和对应的防御手段
微信支付工具类
微信支付工具类 WechatPayXmlUtil 点击查看代码 import org.w3c.dom.Document; import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; /** * 2018/7/3
化羽羽
2022/11/14
5560
java最新漏洞_JavaMelody XXE漏洞(CVE-2018-15531)分析
JavaMelody是一款在生产和QA环境中对JAVA应用以及应用服务器(Tomcat、Jboss、Weblogic)进行监控的工具,可以通过图表给出监控数据,方便研发运维等找出响应瓶颈、优化响应等。
全栈程序员站长
2022/09/08
2.2K0
XXE修复方案参考
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142448.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
6730
CVE-2017-12629 - Apache Solr XXE & RCE 漏洞分析
Versions Affected Apache Solr before 7.1.0 with Apache Lucene before 7.1 Elasticsearch, although it uses Lucene, is NOT vulnerable to this. Description ​ Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该
风流
2018/06/07
2.6K0
Android 创建与解析XML(二)—— Dom方式
Dom方式创建XML,应用了标准xml构造器 javax.xml.parsers.DocumentBuilder 来创建 XML 文档,需要导入以下内容
阳光岛主
2019/02/19
6770
Spring周边:XML
DOCTYPE 声明为文档提供一个空间,通过引用外部文件、通过直接声明或通过这两种方式来标识其根元素和文档类型定义 (DTD)。DOCTYPE 声明可以包含下列内容:
WEBJ2EE
2019/10/24
1.9K0
Spring周边:XML
XXE漏洞那些事儿(JAVA)
之前我们学习了DocumentBuilder这个XML解析类的使用方法,还展示了如何读取本地文件以及利用XXE外带数据,当然,也简单的提到了相应的防御方法,这一章,我们将学习其他一些JAVA中常用的XML解析方法以及编码规范
tnt阿信
2020/08/05
1.2K0
XXE漏洞那些事儿(JAVA)
Java面试系列21-xml
1.xml有哪些解析技术?区别是什么? 有DOM,SAX,STAX等 DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析
Java帮帮
2018/03/19
7300
相关推荐
CodeQL进行JAVA代码审计(1) --- XXE漏洞的挖掘
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档