如果你想在当前目录下 查找"hello,world"字符串,可以这样:
grep -rn "hello,world" *
* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
下面是一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:
\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\ grep '\ '^':指匹配的字符串在行首, '$':指匹配的字符串在行尾, 2,xargs配合grep查找 find -type f -name '*.php'|xargs grep 'GroupRecord' 二、 文档开头或末尾—linux vim命令跳转到文档开头或末尾 gg:命令将光标移动到文档开头 G:命令将光标移动到文档末尾 :set number 显示行号:set nonmember 关闭行号显示 :set list 查看tab键回车等字符 三、 四、Git Git log 按q 退出 git blame 文件|grep "hello" 查该文件中hello的提交记录 it fetch origin master && git reset --hard origin/master git blame build.sh | grep "function retry_functio" | awk '{print $2}' | awk -F "(" '{print $2}' git add 修改的文件,例如git add file 删除文件,则git rm 修改的文件 git commit -m "新增权限管理页面、跳转、更新fe环境部署文件" git push origin master:refs/for/master git push origin HEAD:refs/for/branch-name git commit --amend -m "new comment" 只下载某个文件 git archive --format=tar --prefix=./ --remote=下载地址 分支 路径/要下载的文件 | tar xf - 五、 输入yw就复制了,再按下p就是 粘贴 应用:https://blog.csdn.net/duowan110ss110ss/article/details/30056693?utm_source=blogxgwz2 六、 查看服务器iP地址:hostname -i 七、删掉进程号: ps aux | grep agent.jar | grep d3xxxx | awk '{print $2}' | xargs kill 八、tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName 例如:tar czvf resultReport1.tar resultReport1 解压: tar -zxvf ./text.tar.gz -C /home/app/test/ 将text.tar.gz 解压到 /home/app/test/ (绝对路径)下 Linux下的压缩解压缩命令详解及实例 实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip 九、 修改profile文件,指向新的python版本 在终端中输入:open ~/.bash_profile 此时会弹出.bash_profile文件,在该文件的最后面添加以下代码:alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7" 原文链接:https://blog.csdn.net/u011368551/article/details/99968325 十、软链接:https://www.jianshu.com/p/853ffec37540 linux下的软链接类似于windows下的快捷方式 ln -s a b中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录 如上面的示例,当我们执行命令 cd /gamestat/的时候 实际上是进入了 /home/gamestat/ 值得注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了 删除软链接: rm -rf b 注意不是 rm -rf b/ ln a b 是建立硬链接 十一、 1、查看时间 date命令 修改系统时间 date -s 09:38:40 :设置当前时间 date -s "2020-01-18 14:00:00" 2、安装ntp yum install ntp 3、ntp 命令 ntpdate -u ntp.api.bz :网络时间同步命令 注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found -u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步; ntp常用服务器: 中国国家授时中心:210.72.145.44 NTP服务器(上海) :ntp.api.bz 十二、检查端口占用 当前展示的端口 /usr/sbin/lsof -i netstat -nultp(此处不用加端口号) netstat -anp |grep 端口号 进程: ps -aux |grep 进程名 ps -ef |grep .. 十三、sed 删掉单引号: sed -i $'s/\'//g' 双引号 操作 sed -i 's/"//g' # 修改SDK版本号 sed -in 's/versionName\ '\"'.*/versionName\ '$BUILD_VERSION'/g' build.gradle 包含双引号和变量,则双引号加转义再外加一对单引号’\”’,变量外加一对单引号 ‘$a’ sed -in 's/v\ .*/v\ '\"''$B''\"'/g' file.log 十四、自动杀掉进程 ID=`ps -ef | grep "hello" | grep -v "grep" | awk '{print $2}'` for id in $ID do kill -9 $id echo "killed $id" done 十五、修改配置后,Nginx重启: cd ~/nginx/sbin ./nginx -s reload