例子1 查找所有包含str字符串的文件

查找当前目录下以及下辖子目录下所有包含str字符串的文件,会列出文件名.以及该行的内容.以及行号
-n是打印行号,-r是在子目录也要查询

	grep -n "str" -r ./  

例子2 从文件中查找关键词

例如 查找包含 linux的关键词

	grep 'linux' text.txt 

例子3 从多个文件中查找关键词

	[root@localhost ~]# grep 'root' /etc/group /etc/my.cnf  
	/etc/group:root:x:0:root  
	/etc/my.cnf:user = root  

例子4 查找所有包含str字符串的文件(忽略大小写)

用 -i 搜索的时候可以忽略大小写

所有的子目录下面执行相应的查找,利用 -r 来完成

用-l是打印所有的结果

	grep -ril 'str' ./

例子5 查找文件名中含有 mail 的文件

查找在 /etc 目录下所有文件名中含有 mail 的文件

	[root@localhost ]# find /etc/ -name '*mail*'
	/etc/mail.rc
	/etc/rc.d/rc5.d/K30sendmail
	/etc/rc.d/rc4.d/K30sendmail

例子6 查找文件大小超过指定值的文件

	[root@localhost ]# find ./ -type f -size +100M
	./test.sql

例子7 最近几天被修改过的文件

	find . -mtime -2

例子8 将目标打包并压缩成一个*.tar.gz格式的文件

tar czvf target_name.tar.gz dir_or_file

例子9 解开一个*.tar.gz的压缩包内容到当前目录下

tar xzvf pakage_name.tar.gz

例子10 安装7z工具

sudo apt-get install p7zip

例子11 7z压缩

7za a xxx.7z /opt/*

例子12 7z解压

7za x test.7z

zip and unzip

zip -q -r html.zip /home/html

unzip html.zip

scp

拷贝本地文件夹的所有文件到远程机器


1、从本地复制到远程
scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file 

2、复制目录命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 

3、从远程复制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/

4、如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

sed

替换文件中的所有匹配项
sed -i 's/原字符串/替换字符串/g' filename

批量替换字符串
sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

举例:替换所有文件包含Google的文件并将该字符串修改为MichaelPan
sed -i "s/Google/MichaelPan/g" `grep Google -rl .`
https://www.cnblogs.com/linux-wangkun/p/5745584.html

du

du -sh *

查看磁盘中目录大小

https://blog.csdn.net/ouyang_peng/article/details/10414499

tail and grep

tail -n 20 error.log | grep --color -3 stream
查询error.log最后20行周包括 “stream”,并显示该行的上下3行

打包Linux可执行文件依赖so

touch pkg.sh
添加
deplist=$( ldd $1 | awk '{if (match($3,"/")){ print $3}}' )  
cp -L -n $deplist $2 

运行

./pkg.sh [可执行文件] [so拷贝目录]

批量替换字符串

替换该目录下所有“aplatform” 为 “bplatform”
find . -type f | xargs sed -i "s/aplatform/bplatform/g"

查找文件夹下文件大小最大的20个文件

find /home -type f -exec du -h {} + | sort -hr | head -20

批量修改文件名

rename [options] "s/oldname/newname/" file
比如 
rename "s/$/.txt/"  *  # 把所有的文件名都以txt结尾
rename "s/.txt/.xls/"  *  # 将 txt 改为 xls
rename "s/.txt//"  *  # 把所有以.txt结尾的文件名的.txt删掉

查看当前目录下每个子目录的文件数量

find . -maxdepth 1 -type d | while read dir; do count=$(find "$dir" -type f | wc -l); echo "$dir : $count"; done

统计当前文件夹下文件的个数,包括子文件夹里的

ls -lR|grep "^-"|wc -l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

统计当前文件夹下文件的个数

ls -l |grep "^-"|wc -l

统计当前文件夹下目录的个数

ls -l |grep "^d"|wc -l

统计内存排名前4的应用

ps aux | sort -k4,4nr | head -n 10

扫描局域网内 nmap

查看路由
ip route 
扫描路由
nmap -sP 192.168.0.0/24

curl –noproxy

curl --noproxy -v http://127.0.0.1:8080/ping

增量同步

实现本地目录拷贝到远程服务器目录同步,增量同步

rsync -avtP /opt/case dev:/opt/case

Ubuntu 企业微信安装和配置

https://github.com/zq1997/deepin-wine

env WINEPREFIX="/home/[yourname]/.deepinwine/Deepin-WXWork" /opt/deepin-wine6-stable/bin/winecfg