Linux中用find命令找出隐藏文件和目录

[root@localhost log]# find /t -name ".*" -printf
find: missing argument to `-printf'
[root@localhost log]# find /t -name ".*" -print
/t/home/drosen/.emacs
/t/home/drosen/.bash_logout
/t/home/drosen/.bash_profile
/t/home/drosen/.bashrc
/t/home/drosen/.screenrc
/t/home/drosen/.bash_history
/t/usr/doc/bind-8.2.2_P5/bog/.cvsignore
/t/usr/doc/pmake-2.1.34/tests/.purify
/t/usr/doc/samba-2.0.6/docs/yodldocs/.cvsignore
/t/usr/doc/ucd-snmp-4.1.1/local/.cvsignore
/t/usr/lib/perl5/5.00503/i386-linux/.packlist
/t/usr/lib/perl5/site_perl/5.005/i386-linux/auto/MD5/.packlist
/t/usr/lib/perl5/site_perl/5.005/i386-linux/auto/mod_perl/.packlist
/t/usr/lib/linuxconf/install/gnome/.directory
/t/usr/lib/linuxconf/install/gnome/.order
/t/usr/man/man1/..1.gz
/t/usr/man/.Ci
/t/usr/man/.p
/t/usr/man/.a
/t/usr/bin/.gitaction
/t/usr/games/.bash_history
/t/usr/share/git/.gitrc.aixterm
/t/usr/share/git/.gitrc.common
/t/usr/share/git/.gitrc.hft
/t/usr/share/git/.gitrc.hpterm
/t/usr/share/git/.gitrc.hp
/t/usr/share/git/.gitrc.iris-ansi-net
/t/usr/share/git/.gitrc.ansi
/t/usr/share/git/.gitrc.iris-ansi
/t/usr/share/git/.gitrc.linux
/t/usr/share/git/.gitrc.console
/t/usr/share/git/.gitrc.mach
/t/usr/share/git/.gitrc.minix
/t/usr/share/git/.gitrc.sun-cmd
/t/usr/share/git/.gitrc.eterm
/t/usr/share/git/.gitrc.generic
/t/usr/share/git/.gitrc.pc3
/t/usr/share/git/.gitrc.sun
/t/usr/share/git/.gitrc.thix
/t/usr/share/git/.gitrc.vt102
/t/usr/share/git/.gitrc.vt420
/t/usr/share/git/.gitrc.screen
/t/usr/share/git/.gitrc.vt100
/t/usr/share/git/.gitrc.vt125
/t/usr/share/git/.gitrc.vt200
/t/usr/share/git/.gitrc.vt201
/t/usr/share/git/.gitrc.vt220
/t/usr/share/git/.gitrc.vt240
/t/usr/share/git/.gitrc.vt300
/t/usr/share/git/.gitrc.vt320
/t/usr/share/git/.gitrc.vt400
/t/usr/share/git/.gitrc.xterm-debian
/t/usr/share/git/.gitrc.dtterm
/t/usr/share/git/.gitrc.rxvt
/t/usr/share/git/.gitrc.xterm-color
/t/usr/share/git/.gitrc.xterms
/t/usr/share/git/.gitrc.xterm
/t/var/lib/news/.news.daily
/t/var/spool/at/.SEQ
/t/tmp/.font-unix
/t/tmp/.bash_history
/t/etc/.pwd.lock
/t/etc/skel/.emacs
/t/etc/skel/.bash_logout
/t/etc/skel/.bash_profile
/t/etc/skel/.bashrc
/t/etc/skel/.screenrc
/t/lib/modules/2.2.14-5.0/.rhkmvtag
/t/root/.Xdefaults
/t/root/.bash_logout
/t/root/.bash_profile
/t/root/.bashrc
/t/root/.cshrc
/t/root/.tcshrc
/t/root/.bash_history
/t/root/.ssh
/t/.bash_history
/t/.automount
[root@localhost log]#
 以上的输出是我正在研究的一台被黑的机器的景象硬盘中输出的结果,可以清晰的看到很多有价值的东西。

详细分析这个被入侵的系统的方法我以后会慢慢写出来的来帮助大家一起提高技术。

### Linux 中用于定位文件所在目录命令Linux 系统中,`find` 命令是一个强大的工具,可以用来搜索特定条件下的文件目录。它可以根据名称、类型、大小、修改时间等多种属性来筛选目标文件目录[^1]。 #### 使用 `find` 查找文件所在的目录 以下是通过 `find` 命令查找指定文件并显示其路径的方法: ```bash find /path/to/search -name "filename" ``` - `/path/to/search`: 表示从哪个根目录开始搜索。如果是整个系统范围内的搜索,可以用 `/` 或者 `$HOME` 来限定用户的家目录- `-name "filename"`: 指定要查找的目标文件名。支持通配符匹配,例如 `"*.txt"` 可以找到所有的 `.txt` 文件[^1]。 为了忽略大小写差异,可改用 `-iname` 替代 `-name`: ```bash find /path/to/search -iname "FILENAME" ``` #### 进一步优化搜索结果 如果只想获取文件所在的目录而不关心具体文件本身,可以通过管道传递到 `dirname` 工具处理输出的结果: ```bash find /path/to/search -name "filename" | xargs dirname ``` 或者直接利用正则表达式提取父级路径部分: ```bash find /path/to/search -type f -name "filename" -printf '%h\n' ``` 这里 `%h` 是格式化字符串的一部分,表示打印出命中项所属的上层目录位置[^1]。 #### 防止误入不必要的子树结构 当某些特殊场景下存在不想深入探索的大规模嵌套层次时(比如挂载点),应该考虑加入 `-prune` 参数控制递归行为[^2]: ```bash find /path/to/search \( -path "/path/to/exclude*" -o -path "." \) -prune -o -name "filename" -print ``` 上述例子中的逻辑组合允许排除掉不希望涉及的具体分支之外其他地方继续正常检索操作[^2]。 --- ### 总结 综上所述,在 Linux 下寻找某个已知名字却不知道确切存储地点的情况之下,“find”无疑是最佳解决方案之一;同时配合恰当参数设置还能有效提升效率减少干扰信息量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值