我们继续学习Linux
1. 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 {} ;
sdfd
2. pwd
Linux中用pwd命令来查看当前工作目录的完整路径。
简单得说,每当你在终端进行操作时,你都会有一个当前工作目录,现在就用pwd来列出当前的工作目录
pwd命令使用介绍: 命令格式:pwd [选项]
命令功能:查看当前工作目录的完整路径
命令的常用参数选项说明:
一般情况下不带任何参数
如果目录是链接时,pwd -P显示出实际路径,而非使用连接(link)路径。
一般常用的情景
1
列出当前的目录
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
为什么要介绍这个命令,因为这个命令对于渗透的来说是个重要的命令,比如你发现了某个Linux服务器有个远程命令执行漏洞,你就可以通过给这个漏洞传一个pwd来查看当前这个漏洞脚本程序的工作目录
sdfd
3. 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