Linux 셸 보기 드 문 용법 과 기교

리 눅 스 셸 을 사용 하 는 것 은 나의 매일 기본 적 인 일이 지만, 나 는 자주 유용 한 셸 명령 과 l 기 교 를 잊어버린다.물론 명령 은 기억 할 수 있 지만 특정 임 무 를 수행 하 는 방법 을 기억 할 수 있다 고 는 말 할 수 없다.그래서 저 는 한 텍스트 파일 에 이런 용법 을 기록 하고 제 Dropbox 에 넣 었 습 니 다. 지금 은 이 파일 을 공유 하 겠 습 니 다.이 파일 은 계속 업데이트 하 겠 습 니 다.주의해 야 할 것 은 리 눅 스 시스템 에 추가 소프트웨어 를 설치 해 야 하 는 용법 이 있다 는 것 이다.
UPDATE: November 25, 2013
원 격 포트 가 bash 에 열 렸 는 지 확인 하기:
echo >/dev/tcp/8.8.8.8/53 && echo "open"

프로 세 스 를 배경 으로 이동 시 키 기:
Ctrl + z

프로 세 스 를 프론트 데스크 톱 으로 이동:
fg

무 작위 16 진수 생 성, n 은 문자 수:
openssl rand -hex n

현재 셸 에서 파일 의 명령 을 실행 합 니 다:
source /home/user/file.name

이전 5 글자 캡 처:
${variable:0:5}

SSH debug 모드:
ssh -vvv user@ip_address

SSH with pem key:
ssh user@ip_address -i key.pem

wget 으로 완전한 사이트 디 렉 터 리 구 조 를 캡 처 하여 로 컬 디 렉 터 리 에 저장 합 니 다.
wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

한 번 에 여러 개의 디 렉 터 리 만 들 기:
mkdir -p /home/user/{test,test1,test2}

하위 프로 세 스 를 포함 하 는 프로 세 스 트 리 목록:
ps axwef

war 파일 생 성:
jar -cvf name.war file

하 드 디스크 기록 속도 테스트:
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

하 드 디스크 읽 기 속도 테스트:
hdparm -Tt /dev/sda

텍스트 의 md5 hash 가 져 오기:
echo -n "text" | md5sum

xml 형식 검사:
xmllint --noout file.xml

tar. gz 를 새 디 렉 터 리 로 추출 합 니 다:
tar zxvf package.tar.gz -C new_dir

curl 로 HTTP 헤더 정보 가 져 오기:
curl -I http://www.example.com

파일 이나 디 렉 터 리 를 수정 할 시간 스탬프 (YYMMDDhhmm):
touch -t 0712250000 file

wget 명령 으로 ftp 다운로드 실행:
wget -m ftp://username:password@hostname

무 작위 암호 생 성 (예 는 16 글자 길이):
LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

파일 을 빠르게 백업 합 니 다:
cp some_file_name{,.bkp}

Windows 공유 디 렉 터 리 에 접근:
smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

기록 에 있 는 명령 을 실행 합 니 다 (여 기 는 100 번 째 줄 입 니 다).
!100

압축 풀기:
unzip package_name.zip -d dir_name

여러 줄 텍스트 입력 (CTRL + d 종료):
cat > test.txt

빈 파일 을 만 들 거나 기 존 파일 을 비 웁 니 다:
> test.txt

Ubuntu NTP server 와 동기 화 시간:
ntpdate ntp.ubuntu.com

모든 tcp 4 감청 포트 를 netstat 로 표시 합 니 다:
netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

qcow 2 미 러 파일 변환:
qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \
                                 precise-server-cloudimg-amd64-disk1.raw

파일 을 반복 해서 실행 하여 출력 을 표시 합 니 다 (결 성 은 2 초 에 한 번 입 니 다).
watch ps -ef

모든 사용자 목록:
getent passwd

Mount root in read/write mode:
mount -o remount,rw /

디 렉 터 리 마 운 트 (링크 를 사용 할 수 없 는 경우):
mount --bind /source /destination

동적 업데이트 DNS 서버:
nsupdate < <EOF
update add $HOST 86400 A $IP
send
EOF

grep 모든 디 렉 터 리 재 귀적:
grep -r "some_text" /path/to/dir

이전 10 개의 가장 큰 파일 을 보 여 줍 니 다:
lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

남 은 메모리 보이 기 (MB):
free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'

Vim 을 열 고 파일 끝까지 건 너 뛰 기:
vim + some_file_name

Git 클론 지정 지점 (master):
git clone [email protected]:name/app.git -b master

Git 을 다른 지점 으로 전환 (develop):
git checkout develop

Git 브 랜 치 삭제 (myfeature):
git branch -d myfeature

Git 원 격 분기 삭제
git push origin :branchName

Git 은 새 지점 을 원 격 서버 로 보 냅 니 다.
git push -u origin mynewfeature

과거 기록 의 마지막 cat 명령 인쇄:
!cat:p

기록 에서 마지막 cat 명령 실행:
!cat

/home/user 의 모든 빈 하위 디 렉 터 리 찾기:
find /home/user -maxdepth 1 -type d -empty

test. txt 파일 의 50 - 60 줄 내용 가 져 오기:
< test.txt sed -n '50,60p'

마지막 명령 을 실행 합 니 다 (마지막 명령 이 mkdir/root/test 라면 다음 명령 이 실 행 됩 니 다: sudo mkdir/root/test):
sudo !!

임시 RAM 파일 시스템 을 만 듭 니 다.
mount -t tmpfs tmpfs /tmpram -o size=512m

Grep whole words:
grep -w "name" test.txt

권한 을 올 려 야 할 경우 파일 에 텍스트 추가 하기:
echo "some text" | sudo tee -a /path/file

모든 kill signal 인자 목록:
kill -l

bash 기록 에서 마지막 세 션 기록 금지:
kill -9 $$

네트워크 검색 열 린 포트 찾기:
nmap -p 8081 172.20.0.0/16

git 이메일 설정:
git config --global user.email "[email protected]"

To sync with master if you have unpublished commits:
git pull --rebase origin master

모든 파일 이름 에 'txt' 가 들 어 있 는 파일 을/home/user 디 렉 터 리 로 옮 깁 니 다.
find -iname "*txt*" -exec mv -v {} /home/user \;

파일 을 줄 별로 나란히 표시 하기:
paste test.txt test1.txt

셸 의 진도 표시 줄:
pv data.log

netcat 를 사용 하여 Graphite server 에 데 이 터 를 보 냅 니 다.
echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

tabs 를 빈 칸 으로 변환 하기:
expand test.txt > test1.txt

Skip bash history:
< space >cmd

이전 작업 목록 으로 가기:
cd -

부피 가 큰 tar. gz 파일 (각각 100 MB) 을 나 누 어 병합 합 니 다.
split �Cb 100m /path/to/large/archive /path/to/output/files
cat files* > archive

curl 로 HTTP status 코드 가 져 오기:
curl -sL -w "%{http_code}\
" www.example.com -o /dev/null

루트 비밀번호 설정, MySQL 보안 설치 강화:
/usr/bin/mysql_secure_installation

Ctrl + c 가 잘 안 될 때:
Ctrl + \

파일 소유자 가 져 오기:
stat -c %U file.txt

블록 장치 목록:
lsblk -f

파일 이름 끝 에 빈 칸 이 있 는 파일 찾기:
find . -type f -exec egrep -l " +$" {} \;

파일 이름 에 tab 들 여 쓰기 가 있 는 파일 을 찾 습 니 다.
find . -type f -exec egrep -l $'\t' {} \;

"="로 가로줄 인쇄 하기:
printf '%100s
' | tr ' ' =

좋은 웹페이지 즐겨찾기