搜索命令grep、find和压缩命令tar、7za
例子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