Hacker基础之Linux篇——基础Linux命令三

我们继续学习Linux

find

find命令用来在指定目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的目录名。


如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并且将查找到的子目录和文件全部进行显示。

find命令使用介绍:
命令格式:find [目录] [选项] [-print] [-exec -ok command] {} \
命令功能:用于在文件树种查找文件,并作出相应的处理
命令的常用参数选项说明:
-print     [将查找到的文件输出到标准输出]
-exec command {} \;    [将查到的文件执行command操作, {} 和 \; 之间有空格]
-ok    [在操作前要询用户]
-name filename    [查找名为filename的文件]
-perm    [按执行权限来查找]
-user username    [按文件的拥有者来查找]
-group groupname     [按组来查找]
-mtime -n +n    [按文件更改时间来查找文件,-n指n天以内,+n指n天以前]
-atime -n +n     [按文件访问时间来查]
-ctime -n +n     [按文件创建时间来查找文件,-n指n天以内,+n指n天以前]
-nogroup     [查无有效属组的文件,即文件的属组在/etc/groups中不存在]
-nouser     [查无有效属主的文件,即文件的属主在/etc/passwd中不存]
-newer f1 !f2     [查更改时间比f1新但比f2旧的文件]
-type b/d/c/p/l/f    [查找块设备(b)、目录(d)、字符设备(c)、管道(p)、符号链接(l)、普通文件(f)]
-size n[c]     [查长度为n块[或n字节]的文件]
-depth     [查找递归的目录深度]
-fstype    [查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到]
-mount     [查文件时不跨越文件系统mount点]
-follow    [如果遇到符号链接文件,就跟踪链接所指的文件]
-cpio    [对匹配的文件使用cpio命令,将他们备份到磁带设备中]
-prune   [忽略某个目录]

一般常用的几种用法和情景:

1.将目前目录及其子目录下所有延伸档名是.c的文件列出来

find . -name "*.c"

2.将目前目录其其下子目录中所有一般文件列出

find . -type f

3.将目前目录及其子目录下所有最近 20 天内更新过的文件列出

find . -ctime -20

4.查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问

find /var/log -type f -mtime +7 -ok rm {} ;

5.查找前目录中文件属主具有读、写权限,并且文件所属组的用户其他用户具有权限的文件

find . -type f -perm 644 -exec ls -l {} ;

6.为了查找系统中所有文件长度为0普通文件,并列出它们的完整路径

find / -type f -size 0 -exec ls -l {} ;

pwd

Linux中用pwd命令来查看当前工作目录的完整路径。 


简单得说,每当你在终端进行操作时,你都会有一个当前工作目录,现在就用pwd来列出当前的工作目录

pwd命令使用介绍:
命令格式:pwd [选项]
命令功能:查看当前工作目录的完整路径
命令的常用参数选项说明:
    一般情况下不带任何参数
    如果目录是链接时,pwd -P显示出实际路径,而非使用连接(link)路径。 

一般常用的情景

1.列出当前的目录

[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd 
/opt/soft

为什么要介绍这个命令,因为这个命令对于渗透的来说是个重要的命令,比如你发现了某个Linux服务器有个远程命令执行漏洞,你就可以通过给这个漏洞传一个pwd来查看当前这个漏洞脚本程序的工作目录

cat

cat命令用于连接文件并打印到标准输出设备上

cat命令使用介绍:
命令格式:cat [选项] [文件名]
命令功能:cat命令用于连接文件并打印到标准输出设备上
命令的常用参数选项说明:
-n --number     [由1开始对所有输出的行数编号]
-b --number-nonblank    [和-n相似,只不过对于空白行不编号]
-s --squeeze-blank    [当遇到有连续两行以上的空白行,就代换为一行的空白行]
-E --show-ends    [在每行结束处显示$]
-T --show-tabs    [将 TAB 字符显示为^I]
-A, --show-all   [等价于-vET]

常用的情景就是对于要查看的文件比较小,而且不希望对文件进行误更改的时候

1.textfile1的文档内容加上行号后输入textfile2这个文档里。注意这里是>,这个符号的意思是覆盖源文件中的内容

cat -n textfile1 > textfile2
2. textfile1 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里


这里注意和上面区分,这里是>>,两个,表明不覆盖原文件,而是在源文件的末尾增加


cat -b textfile1 textfile2 >> textfile3

3.清空/etc/test.txt文档内容

cat /dev/null > /etc/test.txt
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值