[전재] Linux 셸 사용법 과 기교
Linux 셸 사용법 과 기교
에 발표 하 다 기술 기교
|
댓 글 8 개
리 눅 스 셸 을 사용 하 는 것 은 나의 매일 기본 적 인 일이 지만, 나 는 자주 유용 한 셸 명령 과 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 파일 시스템 만 들 기 - ramdisk (/tmpram 디 렉 터 리 먼저 만 들 기):
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 –b 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 ' ' =
[영문 원문: Linux shell tips and tricks ]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.