>백엔드 개발 >PHP 튜토리얼 >Linux 셸에서 일반적으로 사용되는 73개 명령 요약

Linux 셸에서 일반적으로 사용되는 73개 명령 요약

高洛峰
高洛峰원래의
2017-02-07 17:08:001718검색

머리말

Linux 쉘을 사용하는 것은 일부 프로그래머에게는 매일 기본적인 작업이지만 유용한 쉘 명령과 기술을 잊어버리는 경우가 많습니다. 물론, 명령을 기억할 수 있지만 이를 사용하여 특정 작업을 수행하는 방법을 기억할 수는 없습니다. 일부 사용에는 Linux 시스템에 추가 소프트웨어를 설치해야 한다는 점에 유의해야 합니다. 아래에서는 별로 설명할 것이 없으니, 자세한 내용을 살펴보겠습니다.

원격 포트가 bash에 열려 있는지 확인하세요.

echo >/dev/tcp/8.8.8.8/53 && echo "open"

Let 프로세스 전송 백그라운드로 이동:

Ctrl + z

프로세스를 포그라운드로 가져오기:

fg

생성 임의의 16진수(여기서 n은 문자 수):

openssl rand -hex n

현재 셸의 파일에서 명령 실행:

source /home/user /file.name

처음 5자 자르기:

${variable:0:5}

SSH 디버그 모드:

ssh -vvv user@ip_address

pem 키가 있는 SSH:

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 파일

하드 디스크 테스트 쓰기 속도:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

테스트 하드 드라이브 읽기 속도:

hdparm -Tt /dev/sda

텍스트의 md5 해시 가져오기:

echo -n "text" md5sum

xml 형식 확인:

xmllint --noout file.xml

tar.gz를 새 디렉토리에 추출:

tar zxvf 패키지 .tar.gz -C new_dir

curl을 사용하여 HTTP 헤더 정보 가져오기:

curl -I http://www.example.com

파일 또는 디렉터리의 타임스탬프 수정(YYMMDDhhmm):

touch -t 0712250000 파일

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 "DOMAINuser" //dc.domain.com/share/test/dir

에서 명령을 실행합니다. 기록(100번째 줄):

!100

Unzip:

unzip package_name.zip -d dir_name

여러 줄 입력 텍스트(종료하려면 CTRL + d):

cat > test.txt

빈 파일 만들기 또는 기존 파일 지우기:

> ; test.txt

Ubuntu NTP 서버와 시간 동기화:

ntpdate ntp.ubuntu.com

netstat를 사용하여 모든 tcp4 수신 포트를 표시합니다.

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

qcow2 이미지 파일 변환:

qemu-img Convert -f qcow2 -O raw 정밀 서버-cloudimg-amd64-disk1.img 정밀 서버-클라우드img-amd64-disk1.raw

파일 실행 반복적으로 출력 표시(기본값은 2초에 한 번):

watch ps -ef

모든 사용자 목록:

getent passwd

읽기/쓰기 모드에서 루트 마운트:

mount -o remount,rw /

디렉토리 마운트(링크를 사용할 수 없는 경우):

mount --bind / source /destination

동적 업데이트 DNS 서버:

nsupdate <

recursive 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 캐시 | awk '/[0-9]/{ print $4" MB" }'

Vim을 열고 파일 끝으로 이동합니다.

vim + some_file_name

지정된 브랜치(마스터)를 Git 복제합니다:

git clone git@github.com:name/app.git -b master

Git에서 다른 Branch로 전환(개발):

git checkout development

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 -maxlength 1 -type d -empty

test.txt 파일 가져오기:

< 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 전체 단어:

grep -w "name" test .txt

상승된 권한이 필요할 때 파일에 텍스트 추가:

echo "some text" | sudo tee -a /path/file

모든 종료 신호 매개변수 나열:

kill -l

bash 기록에서 마지막 세션 기록 비활성화:

kill -9 $$

네트워크 검색 열린 포트의 경우:

nmap -p 8081 172.20.0.0/16

git 이메일 설정:

git config --global user. .com"

게시되지 않은 커밋이 있는 경우 master와 동기화하려면:

git pull --rebase Origin master

"txt"를 포함하는 모든 파일 해당 파일 이름은 /home/user 디렉토리로 이동됩니다:

find -iname "*txt*" -exec mv -v {} /home/user ;

표시 파일을 나란히 배치:

test.txt test1.txt 붙여넣기

셸의 진행률 표시줄:

pv data.log

netcat을 사용하여 Graphite 서버로 데이터 보내기:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

은 탭을 공백으로 변환합니다.

test.txt 확장 > test1.txt

bash 기록 건너뛰기:

< space >cmd

이동 이전 작업 디렉터리로 이동:

cd -

큰 tar.gz 파일(각각 100MB)을 분할하고 다시 병합합니다.

split –b 100m / path/to/large/archive /path/to/output/files cat files* > archive

curl을 사용하여 HTTP 상태 코드 가져오기:

cur -sL -w " %{http_code}\n" www.example.com -o /dev/null

MySQL 보안 설치를 강화하기 위해 루트 비밀번호 설정:

/usr /bin/mysql_secure_installation

Ctrl + c가 작동하지 않는 경우:

Ctrl +

파일 소유자 가져오기:

stat -c %U 파일. txt

차단 장치 목록:

lsblk -f

파일 이름 끝에 공백이 있는 파일 찾기:

find . -type f -exec egrep -l " +$" {} ;

파일 이름에 탭 들여쓰기 문자가 있는 파일 찾기

find - type f -exec egrep -l $'t' {} ;

가로선을 인쇄하려면 "="를 사용하세요. 모두 선택하고 메모에 복사하세요.

printf '%100sn' tr ' ' =

요약

이 글의 내용이 모두의 공부나 업무에 조금이나마 도움과 편의가 되었으면 좋겠습니다. 메시지를 남겨서 소통할 수 있습니다.

리눅스 셸에서 일반적으로 사용되는 73가지 명령을 요약한 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.