Linux系统下常用的查找文件命令,可以方便地根据文件名、文件类型、文件大小等条件来查找指定文件。以下是一些常用的find示例:
find / nsme “*.log”目录下查找所有以.log结尾的文件
[root@localhost ~]# find / -name "*.log"
/root/cmatrix-1.2a/config.log
/var/log/tuned/tuned.log
/var/log/audit/audit.log
/var/log/anaconda/anaconda.log
/var/log/anaconda/X.log
/var/log/anaconda/program.log
/var/log/anaconda/packaging.log
/var/log/anaconda/storage.log
/var/log/anaconda/ifcfg.log
2. 根据文件类型查找文件,某个目录下查找所有的Shell脚本文件
[root@localhost ~]# find / -type f -name "*.sh"
/boot/grub2/i386-pc/modinfo.sh
/etc/profile.d/colorgrep.sh
/etc/profile.d/which2.sh
/etc/profile.d/less.sh
/etc/profile.d/colorls.sh
/etc/profile.d/256term.sh
/etc/profile.d/lang.sh
/etc/profile.d/vim.sh
/etc/dhcp/dhclient-exit-hooks.d/azure-cloud.sh
3. 根据文件大小查找文件
在某个目录下查找所有大小不超过1MB的文件
[root@localhost ~]# find /etc -size -1M
/etc/crypttab
/etc/environment
/etc/exports
/etc/motd
/etc/subgid
/etc/subuid
/etc/sysconfig/run-parts
/etc/cron.deny
/etc/selinux/targeted/semanage.read.LOCK
/etc/selinux/targeted/semanage.trans.LOCK
/etc/selinux/targeted/contexts/files/file_contexts.subs
/etc/security/opasswd
/etc/.pwd.lock
4. 根据时间戳查找文件
假设你需要在某个目录下查找最近7天内修改过的文件
[root@localhost ~]# find /etc/passwd -type f -mtime -7
/etc/passwd
5. 组合多个条件查找文件
在目录下查找所有大小超过0MB并且最近7天内修改过的.conf文件,可以运行以下命令:
[root@localhost ~]# find /etc -type f -size +0M -mtime -7 -name "*.conf"
/etc/resolv.conf
/etc/yum/pluginconf.d/langpacks.conf
/etc/X11/xorg.conf.d/00-keyboard.conf
/etc/nsswitch.conf
/etc/sysctl.conf
/etc/kdump.conf
/etc/vconsole.conf
/etc/locale.conf
是一款流式文本编辑器,通常被用来编辑文本文件、数据流以及管道输入等。作为运维工程师,我们可以使用sed来快速处理文本数据。以下是sed的一些常见用法:
创建一个文件夹 写入内容
1.替换文本
[root@localhost ~]# sed -i 's/2345/6789/g' sdfg
[root@localhost ~]# cat sdfg
dfghj
asdfd
6789
sdfg
sdfvb
Hello World
s是sed命令中的替换命令,'/'之间的字符串指代需要被替换的内容,第二个'/'之间的字符串则是用于替换原始字符串的内容,g表示全局匹配替换
2.插入 a是sed命令中代表插入命令,2a表示在第二行之后插入,wwwwww是需要插入的字符串。
[root@localhost ~]# sed -i '2a wwwwww' sdfg
[root@localhost ~]# cat sdfg
dfghj
asdfd
wwwwww
6789
sdfg
sdfvb
Hello World
3.删除
2,4表示删除第二行至第三行的文本数据,d是sed命令中的删除命令。
[root@localhost ~]# sed -i '2,3d' sdfg
[root@localhost ~]# cat sdfg
dfghj
6789
sdfg
sdfvb
Hello World
awk命令:awk命令可以用来处理文本文件中的数据。例如,要将文件/etc/passwd中的所有用户的shell更改为/bin/bash,可以使用以下命令:
awk -F: '{OFS=":"; $7="/bin/bash"} {print}' /etc/passwd > /tmp/passwd && sudo mv /tmp/passwd /etc/passwd
3. echo命令:echo命令可以用来将文本输出到文件中。例如,要将文本“Hello World”添加到文件~/test.txt的末尾,可以使用以下命令:
echo "Hello World" >> ~/test.txt