Linux Shell 의 작은 기술 로 수집

8826 단어 LinuxShell잔재주
원 격 포트 가 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 파일 시스템 C 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 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 ' ' =

좋은 웹페이지 즐겨찾기