운영 명령
find / -type f -name "*.log" | xargs grep "ERROR"
find ./ -type f ! -name "*.log"|xargs grep "a"
ps -ef |grep nginx # nginxp pid
netstat -apn|grep ${pid} # pid
sudo cp -p -r /var/lib/mysql /var/lib/mysql_3302
를 수정해야 합니다scp -r -P10087 [email protected]:/tmp/folder/ /tmp/
grep "^[^#;\t].*$" /etc/supervisord.conf
redis-cli KEYS "pattern" | xargs redis-cli DEL
redis-cli -n 2 sadd uu_os_pkgs `cat ~/tmp/uu_pkgs.txt`
tail access.log -n 20000|awk '{print $7}'|sort|uniq -dc|sort -n
grep -r --include=\*.py User
cat chn_app_rec.log|awk '{if ($1=="2017-02-12" && $5==2000973 && $8==2110000) print $0}'|wc -l
cat access.log |awk '{if ($7 ~ /rec\/app\/detail\/xmqy2110000.html/ && $4 ~ /12\/Feb/) print $0}' > /tmp/2-12-rec.log
awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100
은 약간의 전환 방법(awk의 수조로 누적):cat xx.log| awk '/14\/Mar\/2018:(19)/{ print $4"###"$7}'|awk -F "###" '{s[$1]++} END {for (k in s) print k, s[k]}'|sort -n -k 1
cat /data/log/nginx/tg.ouwan.com.access.log|awk '{print $7}'|sort|uniq -c |sort -n |tail
cat /data/log/nginx/tg.ouwan.com.access.log|cut -d " " -f 7 |sort|uniq -c |sort -n |tail
# awk print $7 url
# cut -d , -f , awk
awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100
cat xx.log|awk '{print $1}'|sort|uniq -c |sort -n -k 1|awk '{if($1 > 500) print $0}'
cat access.log |awk '{if ($7 ~ /api\/wechat/ && $9 != "200") print $1}'|sort|uniq -c|sort -nr -k 1
tail /data/log/nginx/api.mobi.ouwan.com.access.log -n 5000 | awk '/[0-9]\.[0-9]{3}$/{print $NF, $7}'|cut -d "?" -f 1|awk '{url[$2]+=$1;url_count[$2]++}; END {for (k in url) print "url: " k, "time_consume: "url[k], "request_count: " url_count[k], "avg_time_consume: " url[k]/url_count[k]}'
컨텐트 내보내기
url: /essay/nativeEssayByHostId/ time_consume: 0.257 request_count: 3 avg_time_consume: 0.0856667
url: /test/user/nativeFollowCommunityList/ time_consume: 1.361 request_count: 15 avg_time_consume: 0.0907333
url: /mission/nativeGetCouponReward/ time_consume: 0.208 request_count: 4 avg_time_consume: 0.052
url: /mission/nativeMissionSignin/ time_consume: 7.021 request_count: 43 avg_time_consume: 0.163279
url: /user/nativeMyInfo/ time_consume: 89.307 request_count: 1127 avg_time_consume: 0.0792431
url: /test/user/nativeMyInfo/ time_consume: 28.502 request_count: 15 avg_time_consume: 1.90013
ss -ant|awk '{s[$1]++} END {for (k in s) print k, s[k] }'
netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}' # $NF ;NF
netstat -an | awk '{print $6}' | sort | uniq -c | sort -rn
CLOSE-WAIT 4
ESTAB 130
TIME-WAIT 64
LISTEN 64
SYN-SENT 3
State 1
awk '{print NR " == " $0}' /etc/passwd
통계적 IP:
IP
81 101.226.62.17
51 101.226.233.156
.....
head -c 10M < /dev/urandom > /var/log/log-file
#
grep -E 'pattern1.*pattern2' filename
cat chn_app_rec.log|grep -E '2017-02-13.*2000973.*2104006'
# p1&&p2 || p1&&p3
grep -E 'pattern1.*pattern2|pattern1.*pattern3' filename
cat chn_app_rec.log|grep -E '2017-02-13.*2000973.*2098000|2017-02-15.*2000973.*2098000'
# or 1
grep 'pattern1\|pattern2' filename
# or 2
grep -E 'pattern1|pattern2' filename
# or 3
grep -e pattern1 -e pattern2 filename
# and
grep -E 'pattern1.*pattern2' filename
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename
grep 링크http://www.thegeekstuff.com/2011/10/grep-or-and-not-operators/
find ./ |xargs grep keyword
#
# :
find /( ) -name ' ' -type d
# :
find /( ) -name -print
ps ax o user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm,group,gid
ps ax o user,gid,pgid,pid,ppid,group,start,time,command|grep owan_web
ps o 형식 상세 보기:http://blog.csdn.net/shuanghujushi/article/details/51814447프로세스 사용자, 그룹, 명령 보기: ps -eo "%U %G %a" | grep nginx
rm `ls *.txt|egrep -v test.txt`
또는 rm `ls *.txt|awk '{if($0 != "test.txt") print $0}'`
여러 파일 제외rm `ls *.txt|egrep -v '(test.txt|fff.txt|ppp.txt)'`
rm -f `ls *.log.1|egrep -v '(access-2010-09-06.log|error-2010-09-06.log)'`
rm -f `ls *.log|egrep -v '(access-2010-09-06.log|error-2010-09-06.log)'`
grep -rl
: 예를 들어 저는 마후린을 마후린마로 바꾸고 명령을 실행합니다. sed-i's/마후린/마후린마/g''grep 마후린-rl/www'일정 개발 과정에서 어떤 변수 이름을 다른 변수 이름으로 수정하는 상황을 겪을 수 있습니다. 만약에 이 변수가 국부 변수라면vi는 충분히 감당할 수 있지만 만약에 어떤 전역 변수라면그리고 많은 파일에서 사용되었는데, 이때vi를 사용하는 것은 현명하지 못한 선택이다.모든 파일에 지정된 문자열을 한 번에 수정할 수 있는 간단한 셸 명령을 제공합니다. grep "abc"* - R | awk - F:'{print $1}'| sort | uniq | xargs sed - i's/abc/abcde/g'# -a , ; -e , ssh , ,ssh user@
rsync -avP -e "ssh -p 10087" /data/bak/2017-08-29_17-32-35 10.13.114.111:/data/
#
rsync -vzrtopg --progress -e "ssh -p 10087" /tmp/ssl.tar [email protected]:/home/ymserver/
rsync -vzrtopg --progress -e ssh --delete [email protected]:/www/* /databack/experiment/rsync
출처:http://man.linuxde.net/rsync
comm
참조 입력 리디렉션
sed
sed 기본적으로 파일 읽기 sed 's/^[^#]/#/g'
문제:grep나sed로 문자열이 포함되지 않은 줄을 찾아서 바꾸면?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.