返回含abc的匹配行:
zgrep "abc" application.log
在多个文件中查找:*.txt或者{}.txt
grep 'linux' {a,b}.txt
先返回含Exception的匹配行再返回含Hulu的匹配行,也就是同时含这两次的匹配行:
zgrep "Exception" */application*.log | grep "Hulu" 在application log中含Exception以及Hulu
按文件统计出现行数 -c
grep -c 'linux' *.txt
统计全部文件总行数=次数:
zgrep "Exception" */application*.log | grep "Hulu" | wc -l 数出现次数
关键词也可以为正则表达式:
vim中 /main 搜索main关键字,可以带正则表达式:如Time=[\d]{4,4}\.[\d]* ms
按键盘n表示下一个搜索结果,按键盘N表示上一个搜索结果。
grep也可以带正则表达式:grep -c 'Time=[\d]{4,4}\.[\d]* ms' *service
grep 'linux\|win' a.txt
grep -c 'Time=[\d]{4,4}\.[\d]* ms' *service| sort | uniq -c | sort -rn |head 按文件统计词频且按大到小排序
grep是行匹配,而awk是词匹配(按空格)
打印所有行的第一个词(默认按空格划分),其他词不输出
awk '{print $1}' a.txt
自定义分隔符,如逗号
awk -F',' 'print $2' a.txt
排序
sort -r 递降排序结果
sort -u 去重且排序
进程操作 | |
netstat -tupln | grep 1066 | 得到要终结进程的id |
kill -9 16085 | 删除进程by id |
ps aux | grep 1066 | 查看谁在用1066端口 |
查找操作 | |
grep -color=auto "the" foo.txt | [文件内容]在某一个文件查找某字符串并打印结果行 -i 大小写敏感 -A 打印后几行 -B 前几行 -C 周围几行 -P 匹配正则表达式 "url=.*?;" 问号表示分号不加入匹配结果 -o 只显示匹配string -c 匹配结果行数 或|wc -l -v 不含某字符串 -n 显示行号 grep -r "the" * 递归在所有文件中查找某字符串 grep -A 3 -i "moon" foo.txt 在某一个文件查找一个字符串并打印紧接的3行 | head 查看前10行 | sed "s/my/your/" 替换(用your替my) |
find . -iname "odin-get" | [文件名]搜索文件名通过名字 find ./Test -user kk 搜索文件名通过用户 |
文件操作 | |
less foo.txt | 高效率打开大文件。CTRL+F下一页,CTRL+B上一页. SHIFT+G文件底部 |
cat > foo.txt | 创建文件。CTRL+D保存文件 |
cat foo.txt | 查看文件 |
vim foo.txt | 创建/编辑一个文件 /main 搜索main关键字 i/insert 插入模式,ESC退出插入模式 :q 或者Ctrl+z+q不保存退出 :wq 保存退出 |
rm foo.txt | 删除文件 |
mv -i foo.txt Test/foo.txt | 移动/重命名文件 |
cp -i foo.txt Test/foo.txt | 复制一个文件 |
scp ~/a.txt jiajicen@vtasters.com:~/a.txt | 复制一个文件到另一个host |
scp -r jiajicen@vtasters.com:~/test ~/test | 复制一个文件夹到另一个host. test文件夹不需要预先创建 |
tail -f app.log | 即时打印最新的log,方便同步debug |
目录操作 | |
cd .. | /root/Docements 绝对路径 ./path 当前目录 ../path 父目录 ~/Desktop 根目录/Users/kk/Desktop ~john/bin 用户目录/Users/john/bin |
ls -ltr | -ltr 按时间排序 -lh 显示大小权限 -alh 显示隐藏文件 |
pwd | 显示当前目录 |
mkdir Test | 创建目录 |
rm -r Test | 删除目录 |
环境变量 | |
export PATH="/home/Application/Java/bin:$PATH" | 加入环境变量到内存,然后执行source加入到硬盘再重启命令行。 一次性操作为export PATH=$PATH:/home/Application/Java/bin >> ~/.bash_profile |
source ~/.bash_profile (Mac) | 加入到硬盘。Linux为~/.zshrc |
echo $HOME | 打印某环境变量 |
which java | 得到某个命令如java路径,也是查找在~/.zshrc此命令的路径 |
系统操作 | |
clear | 清屏 |
sudo reboot | 重启 |
sh abc.sh | 执行一个程序,可能需要先提高权限chmod +x abc.sh 有时需要加点如./mvn才能执行,通过加入到.bash_profile可以避免 |
su Java | su=sudo, 用超级用户执行程序。 |
ssh vtasters.com | 远程登录 |
nslookup | 通过IP查找其hostname |
agrep 文件每个block以EOF结束,agrep可以block查找
zshrc文件:
~/.zshrc
alias vm01="ssh ubuntu@172.31.29.246"
然后
echo "alias vps='ssh -X user@example.com'" >> ~/. zshrc
source ~/.zshrc
就可以输入vm01登录
Linux文件权限:
Linux权限为读写执行r, w, x.
Linux权限粒度为拥有者u,群组g,其他组o。
4,2,1表示读、写、执行权限。rwx=4+2+1=7, rw=4+2=6, rx=4+1=5
chmod 777 file.txt (<=> chmod u=rwx, g=rwx, o=rwx)
chmod 600 file.txt (<=> chmod u=rw, g=---, o=---)
查看字符
先copy到这个网站得到它的ascii码
然后查找
ssh问题
尝试ssh到某个host得到此错误Could not resolve host name但可以ping
No comments:
Post a Comment