Linux 상용 명령 지식 축적(지속 업데이트)
평소에 대부분 자바 와 관련 된 개발 작업 을 하지만 매일 리 눅 스 시스템 을 접 합 니 다.특히 Mac 을 사용 한 후에 매일 검은색 배경 명령 행 환경 에서 일 합 니 다.자신의 기억력 이 좋 지 않 고 유용 한 리 눅 스 명령 이 좋 지 않 은 기억 이 많 습 니 다.이 제 는 나중에 볼 수 있 도록 정리 해 보 겠 습 니 다.
기본 조작
Linux 끄 기,다시 시작
#
shutdown -h now
#
shutdown -r now
시스템,CPU 정보 보기
#
uname -a
#
cat /proc/version
#
env
cat /proc/cpuinfo
# cpu, cpu
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# cpu,
cat /proc/cpuinfo | grep physical | uniq -c
# CPU 32bit 64bit , 32bit CPU 64bit
getconf LONG_BIT
# 0, 64bit . lm long mode, lm 64bit
cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
소프트 연결 만 들 기
ln -s /usr/local/jdk1.8/ jdk
rpm 관련
# rpm
rpm -qa | grep
sshkey
# sshkey
ssh-keygen -t rsa -C [email protected]
#id_rsa.pub home/username/.ssh/authorized_keys , (.ssh 700, authorized_keys 600)
명령 이름 바 꾸 기
# .bash_profile
alias ll='ls -alF'
동기 서버 시간
sudo ntpdate -u ntp.api.bz
백그라운드 실행 명령
# , nohup.out
nohup xxx &
# ,
nohup xxx > /dev/null &
# ,
nohup xxx >out.log 2>&1 &
강제 활성 사용자 종료
# . TTY
pkill -kill -t [TTY]
명령 경로 보기
which
프로 세 스 모든 열기 최대 fd 수 보기
ulimit -n
dns 설정
vim /etc/resolv.conf
nslookup,도 메 인 이름 경로 표 보기
nslookup google.com
최근 로그 인 정보 목록
# 5
last -n 5
고정 IP 설정
ifconfig em1 192.168.5.177 netmask 255.255.255.0
프로 세 스 에 불 러 온 환경 변 수 를 봅 니 다.
# cd /proc ,
ps eww -p XXXXX( )
프로 세 스 트 리 보기 서버 프로 세 스 찾기
ps auwxf
프로 세 스 시작 경로 보기
cd /proc/xxx( )
ls -all
# cwd
사용자 추가,sudo 권한 설정
#
useradd
passwd
# sudo
vim /etc/sudoers
#
# root ALL=(ALL) ALL
# ALL=(ALL) ALL
xxx 를 포함 하 는 모든 프로 세 스 이름 을 강제로 닫 습 니 다.
ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9
디스크,파일,디 렉 터 리 관련 작업
vim 조작
#normal g , x , y
:%s/x/y/g
#normal
0 # ( 0)
$ #
shift + g #
gg #
#
:set nu
#
:set nonu
#
/xxx( ) # , n
?xxx( ) #
읽 기 전용 파일 을 열 고 수정 후 저장 해 야 할 때(사용자 전환 없 이 저장 할 수 있 는 방식)
# normal
:w !sudo tee %
디스크,파일 디 렉 터 리 기본 정보 보기
#
mount
#
df
#
du -H -h
# , ,
du -sh *
wc 명령
#
wc -l filename
# word
wc -w filename
#
wc -L filename
#
wc -c
상용 압축,압축 풀기 명령
압축 명령
tar czvf xxx.tar
zip -r xxx.zip
압축 해제 명령
tar zxvf xxx.tar
#
tar zxvf xxx.tar -C /xxx/yyy/
unzip xxx.zip
파일 소속 사용자,사용자 그룹 변경
chown eagleye.eagleye xxx.log
cp, scp, mkdir
#
cp xxx.log
#
cp -f xxx.log
#
cp -r xxx( ) yyy( )
#
scp -P ssh [email protected]:/home/username/xxx /home/xxx
#
mkdir -p /xxx/yyy/zzz
# , test,main java, resources
mkdir -p src/{test,main}/{java,resources}
두 파일 을 비교 하 다
diff -u 1.txt 2.txt
로그 출력 바이트 수,성능 테스트 에 사용 가능
# , , “.” , , .
tail -f xxx.log | pv -bt
특수 문자 보기,제거
#
cat -v xxx.sh
#
sed -i 's/^M//g’ env.sh , ^M: : ctrl+v+enter
시스템 원인 으로 인 한 파일 의 특수 문 자 를 처리 합 니 다.
#
cat file.sh > file.sh_bak
# file.sh , , ctrl + d
cat > file1.sh
# vim
:set fileencodings=utf-8 , w ( ) utf8 ,
:set fileformat=unix
# mac dos2unix
find . -name "*.sh" | xargs dos2unix
tee,방향 을 바 꾸 는 동시에 화면 에 출력
awk ‘{print $0}’ xxx.log | tee test.log
검색 관련
grep
# , xxx
grep -v xxx
#
grep -v '^$'
# 2,
grep -n “^$” 111.txt
# abc
grep -n “^abc” 111.txt
#
grep 'xxx' -n xxx.log
#
grep 'xxx' -c xxx.log
# ,
grep 'xxx' -i xxx.log
awk
# ':' , user
awk -F ':' '{if ($5 ~ /user/) print $0}' /etc/passwd
# ( )( )
awk -v RS='character' 'END {print --NR}' xxx.txt
find 검색 명령
# .mysql
find /home/eagleye -name '*.mysql' -print
# /usr , 3 。
find /usr -atime 3 –print
# /usr , 5 。
find /usr -ctime 5 –print
# /doc , jacky 、 j 。
find /doc -user jacky -name 'j*' –print
# /doc , ja ma 。
find /doc \( -name 'ja*' -o- -name 'ma*' \) –print
# /doc , bak , 。-exec ,rm ,{ } ,“\;” 。
find /doc -name '*bak' -exec rm {} \;
네트워크 관련
어떤 프로 세 스 가 이 포트 를 사 용 했 는 지 보기
lsof -i:port
이 컴퓨터 ip 주소 가 져 오기
/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
iptables
# iptables
service iptables status
# ip
iptables -I INPUT -s ***.***.***.*** -j DROP
# IP, :
iptables -D INPUT -s ***.***.***.*** -j DROP
: -I Insert( ),-D Delete( )。 ,INPUT ,***.***.***.*** IP,DROP 。
# 9090
/sbin/iptables -I INPUT -p tcp --dport 9090 -j ACCEPT
# 、 、
/etc/init.d/iptables status
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart
nc 명령,tcp 디 버 깅 이기
# endpoint TCP , data
nc 192.168.0.11 8000 < data.txt
#nc , , received_data
nc -l 8000 > received_data
# , -k
nc -lk 8000
tcpdump
# dump 12301 tcp
tcpdump -i em1 tcp port 12301 -s 1500 -w abc.pcap
추적 네트워크 경로
# traceroute udp , -I icmp
traceroute -I www.163.com
# ttl 3
traceroute -M 3 www.163.com
#
traceroute -p 8080 192.168.10.11
ss
#
ss -l
# socket
ss -pl
# tcp socket
ss -t -a
# UDP Socekt
ss -u -a
# SMTP
ss -o state established '( dport = :smtp or sport = :smtp )'
# HTTP
ss -o state established '( dport = :http or sport = :http )'
X
ss -x src /tmp/.X11-unix/*
socket
ss -s
:netstat /proc PID ,ss /proc/net 。 ss netstat
netstat
# ip ,
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s
", a, S[a]);++I}printf("%-20s %s
","TOTAL_IP",I);for(a in s) printf("%-20s %s
",a, s[a]);printf("%-20s %s
","TOTAL_LINK",N);}'
# ,
# CLOSED:
# LISTEN:
# SYN_RECV: ,
# SYN_SENT: ,
# ESTABLISHED:
# FIN_WAIT1:
# FIN_WAIT2:
# ITMED_WAIT:
# CLOSING:
# TIME_WAIT:
# LAST_ACK:
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
# time_wait
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
링크 ux 성능 명령 모니터링
top
F O , a-z , 。 R
열명
속뜻
PID
프로 세 스 id
PPID
부모 프로 세 스 id
RUSER
Real user name
UID
프로 세 스 소유자 id
USER
프로 세 스 소유자 의 사용자 이름
GROUP
프로 세 스 소유자 의 그룹 이름
TTY
프로 세 스 를 시작 하 는 터미널 이름 입 니 다.터미널 에서 시작 하지 않 은 프로 세 스 는?
PR
우선 순위
NI
nice 값.마이너스 는 높 은 우선 순 위 를 나타 내 고,플러스 는 낮은 우선 순 위 를 나타 낸다.
P
마지막 으로 사용 하 는 CPU 는 다 중 CPU 환경 에서 만 의미 가 있 습 니 다.
%CPU
마지막 으로 업 데 이 트 된 CPU 시간 은 백분율 입 니 다.
TIME
프로 세 스 가 사용 하 는 CPU 시간 합계,단위 초
TIME+
프로 세 스 가 사용 하 는 CPU 시간 합계,단위 1/100 초
%MEM
프로 세 스 가 사용 하 는 물리 적 메모리 백분율
VIRT
프로 세 스 가 사용 하 는 가상 메모리 총량,단위 kb.VIRT=SWAP+RES
SWAP
프로 세 스 가 사용 하 는 가상 메모리 의 크기,단위 kb.
RES
프로 세 스 가 사용 하 는 물리 적 메모리 크기,단위 kb.RES=CODE+DATA
CODE
실행 가능 코드 가 사용 하 는 물리 적 메모리 크기,단위 kb
DATA
실행 가능 코드 이외 의 부분(데이터 세그먼트+스 택)이 사용 하 는 물리 적 메모리 크기,단위 kb
SHR
공유 메모리 크기,단위 kb
nFLT
페이지 오류 횟수
nDRT
마지막 으로 지금까지 수 정 된 페이지 수 를 기록 합 니 다.
S
프로 세 스 상태.D=끊 을 수 없 는 수면 상태,R=운행,S=수면,T=추적/정지,Z=좀 비 진행
COMMAND
명령 행
WCHAN
이 프로 세 스 가 잠 을 자고 있 으 면 잠 자 는 시스템 함수 이름 을 표시 합 니 다.
Flags
작업 표지,sched.h 참조
dmesg,시스템 로그 보기
dmesg
iostat,디스크 IO 상황 모니터링
iostat -xz 1
# r/s, w/s, rkB/s, wkB/s: ( )。 , 。
# await:IO , 。 , , IO 。 , 。
# avgqu-sz: 。 1, ( )。
# %util: 。 , 60, IO ( IO )。 100%, 。
# , 。 , IO , , 、 。
free,메모리 사용 현황
free -m
eg:
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
Mem :
total : 1002M
used : 769M
free : 232M
shared , 0
buffers Buffer : 62M
cached Page :421M
:total(1002M) = used(769M) + free(232M)
(-/+ buffers/cache):
(-buffers/cache) used :286M ( Mem used – buffers – cached)
(+buffers/cache) free : 715M ( Mem free + buffers + cached)
-buffers/cache , +buffers/cache .
sar,네트워크 삼투 상태 보기
# sar 。 , ,
sar -n DEV 1
#
# sar TCP , :
# active/s: TCP , connect TCP ;
# passive/s: TCP , accept TCP ;
# retrans/s: TCP ;
# TCP , , 。TCP ,
sar -n TCP,ETCP 1
vmstat,주어진 시간 에 CPU 사용률 모니터링,메모리 사용,가상 메모리 상호작용,IO 읽 기와 쓰기
# 2 2 , 1 ( )
vmstat 2 1
eg:
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 3499840 315836 3819660 0 0 0 1 2 0 0 0 100 0
0 0 0 3499584 315836 3819660 0 0 0 0 88 158 0 0 100 0
0 0 0 3499708 315836 3819660 0 0 0 2 86 162 0 0 100 0
0 0 0 3499708 315836 3819660 0 0 0 10 81 151 0 0 100 0
1 0 0 3499732 315836 3819660 0 0 0 2 83 154 0 0 100 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.