검색어를 입력해 주세요.
Engineering / 18 12월 2020
The Essential Bash Cheat Sheet

기초

명령에 대한 도움말

help nano # "nano"명령에 대한 간략한 요약
man nano # "nano"명령에 대한 자세한 정보

파이프

a | b # 파이프 : 명령 출력을 b 명령 입력에 삽입
a > file.txt # 명령 a의 출력을 file.txt에 저장 (덮어 쓰기)
a >> file.txt # 명령 a의 출력을 file.txt에 저장 (추가)
echo " 안녕하세요! " | xargs echo # 첫 번째 명령의 출력을 두 번째 명령의 인수로 삽입

출력 필터링

명령의 출력이 너무 긴 경우도 있습니다.이 경우, more또는 less명령을 사용하여 페이지로 분할 하거나 grep을 사용하여 특정 단어 또는 문장이 포함 된 행을 출력할 수 있습니다.

cat verylongfile.txt | more # 페이지에서 분할 된 verylongfile.txt의 내용을 표시
cat verylongfile.txt | less # 스크롤 및 뒤로 탐색을 지원하는 페이지로 분할 된 verylongfile.txt의 내용을 표시
cat verylongfile.txt | grep " I love you " # " I love you " 문자열이있는 줄을 표시

화면 청소

clear # 콘솔 청소

시스템

시스템에 대한 정보

uname -a # 시스템에 대한 정보(예: 아키텍처, 아키텍처)를 출력
sudulshw #(리눅스만 해당) 모든 하드웨어 구성 요소를 나열
sudulshw - short #(Linux만 해당) 요약 테이블을 하드웨어 구성 요소와 함께 나열
lscpu #(Linux만 해당) CPU에 대한 정보 표시
lsusb #(Linux만 해당) 플러그된 USB 장치를 나열
date # 현재 날짜 및 시간 출력

실행중인 프로세스

ps # 터미널 세션에서 지금 실행중인 프로세스를 보여줌
ps aux # 컴퓨터에서 실행중인 모든 프로세스를 보여줌
htop # 터미널에 활동 모니터를 표시

게시물 이미지

Linux의 htop 명령

사용자 변경

su # 현재 사용자를 루트로 변경
su- # 현재 사용자 및 지역 변수를 루트로 변경
su maria # 현재 사용자를 "maria"로 변경
sudo nano # root 사용자로 "nano"명령을 실행

클립 보드에 복사하여 붙여 넣기

# Linux
echo " 안녕 내 친구! " | xclip # copy "Hello my friend!" 클립 보드에
xclip -o >> pasted_text.txt # 클립 보드의 내용을 텍스트 파일에 붙여 넣기

# macOS
echo " 안녕 내 친구! " | pbcopy # copy "안녕하세요!" 클립 보드에
pbpaste >> pasted_text.txt # 클립 보드의 내용을 텍스트 파일에 붙여 넣기

변수 및 경로

echo "헬로" # 헬로 인쇄 콘솔
echo $USER # 콘솔에서 변수 USER의 값을 인쇄

env # 모든 환경 변수를 인쇄
set #모든 지역 변수를 인쇄

MY_Friends(MY_FRIENDS) # 로컬 변수 MY_Friends(MY_Friends)를 생성
MY_Friends(친구들) = $MY_Friends: John:Anna # 값어치 'John'과 'Anna'를 MY_Friends에 연결
export MY_Friends #로컬 변수를 환경 변수로 생성
unset MY_Friends #변수 MY_Friends를 삭제
alias clone_my_repo = " git clone http://verylongurl.com "  # 별칭 생성
export PATH = $ PATH : / home / john / myprogram # 경로에 / home / john / myprogram 디렉토리 추가

which nano # 는 "nano"의 실행 파일이 어디에 있는지 보여줌
whereis nano # 는 "nano"의 실행 파일, 매뉴얼, 소스 코드 등이 어디에 있는지 보여줌

파일 및 디렉토리

현재 디렉토리 변경

pwd # 현재 디렉토리 가져오기

cd # 현재 디렉토리를 홈 디렉토리로 변경
cd /bin # 현재 디렉토리를 /bin으로 변경
cd .. # 상위 디렉토리로 이동

디렉토리 내용 나열

ls # 현재 디렉터리에 있는 파일 및 디렉터리 목록
ls/bin # /bin의 파일 및 디렉터리 목록
ls -l # 상세 정보(크기, 날짜...)
ls -a # 숨김 파일 및 디렉터리 표시
ls -ld # 현재 디렉터리(파일 아님)에 대한 정보 표시
ls my* # my로 시작하는 파일 목록

tree # 현재 디렉터리를 트리형식으로 표시

디렉토리 생성

mkdir movies # 현재 디렉토리 안에 "movies"라는 폴더를 만듬
mkdir -p movies / genres / scifi # "movies"라는 폴더를 만들고 "genres"폴더 안에 "scifi"폴더를 만듬

복사, 이동 및 제거

rmdir movies # 빈 디렉토리 영화 제거
rm -rf movies # 영화와 그 파일의 디렉토리 제거
rm file1.txt # file1.txt 파일 제거

mv /home/michael/myfile.txt /home/john/important.txt  # / home / michael에서 / home / john으로 파일 이동
cp /home/michael/myfile.txt /home/john/important.txt  # / home / michael에서 / home / john으로 파일 복사
cp -R letters / memories / # "memories"폴더 안에 "letters"폴더의 내용을 복사
cp -R letters ~ / Desktop # "letters"폴더를 데스크탑에 복사

권한 및 소유자

chmod 777 script.sh # script.sh 파일의 권한 변경
chmod + x script.sh # script.sh 파일을 실행 가능하게 만듬
chown guille script.sh # "script.sh"파일의 소유자를 "guille"사용자로 변경
./script.sh # script.sh 실행

파일 검색

find . -name hello.txt # 현재 디렉토리에서 "hello.txt"라는 파일을 찾음
find / home / joe / Downloads -name * .pdf # 다운로드 폴더에서 PDF 파일을 찾음
find / -executable -atime -10 # 10 분 전에 액세스 한 루트 디렉토리에서 실행 파일을 찾음
find ~ -newer reference.txt # "reference.txt"파일 다음에 편집 된 홈 디렉토리에서 파일을 찾음

파일의 SHA256 체크섬 계산

# Linux
sha256sum file.txt # 파일에 대한 SHA256 체크섬 계산
echo -n " foobar " | sha256sum # "foobar"라는 단어에 대한 SHA256 체크섬을 계산

# macOS
shasum -a 256 file.txt # 파일에 대한 SHA256 체크섬 계산
echo -n " foobar " | shasum -a 256 # "foobar"라는 단어에 대한 SHA256 체크섬을 계산

TAR / ZIP 파일 압축 및 압축 해제

# tar/ untar
tar -cvzf myfile.tar myfolder # "myfile.tar"파일에서 "my_folder"폴더를 압축
tar -xvzf myfile.tar # 현재 디렉토리에있는 myfile.tar 파일의 압축 해제
tar -C / opt / abc -xvzf myfile.tar # / opt / abc에있는 myfile.tar 파일의 압축 해제

# Zip/ unzip
zip -r myfile.zip myfolder # "myfile.zip"파일에서 "my_folder"폴더 압축
unzip myfile.zip # 현재 디렉토리에서 myfile.zip 파일의 압축 해제

자유 공간

df -k . # 현재 디렉토리의 여유 공간
df -k # 마운트 된 모든 볼륨의 여유 공간

게시물 이미지

내 컴퓨터의 여유 공간

파일 읽기

# grep : 줄로 필터링
grep 455 sales.txt # 455가 있는 줄을 인쇄

# cut : 일부 열 표시
cut -f 3 sales.txt # 세 번째 열만 인쇄
cut -f 2-3 sales.txt # 두 번째 및 세 번째 열만 인쇄
cut -c 9-19 sales.txt # 각 줄에 대해 9 번째부터 19 번째 문자까지만 인쇄
cut -f 1 -d ' ; ' clients.txt # clients.txt 파일은'; '를 사용합니다. 구분 기호 대신 탭

# awk : cut과 동일하지만 구분 기호가 더 많고 필터가 더 많으며 계산적으로 더 복잡
awk ' {print $ 3} ' sales.txt # 세 번째 열만 인쇄
awk ' {print $ 2 ","$ 3} ' sales.txt # 두 번째 및 세 번째 열을 쉼표로 구분하여 인쇄
awk ' {print $ 2 + $ 3} ' sales.txt # 두 번째와 세 번째 열의 합계를 인쇄
AWK ' 길이 ($ 0)> 20 ' sales.txt #은 길이가 긴 20 자 그 라인을 인쇄
AWK ' $ 2> 100 ' sales.txt # 번째 컬럼의 값이 100보다 큰 그 라인을 프린트

# wc
wc sales.txt # 텍스트 파일의 줄, 단어 및 문자 수를 인쇄
ls -1 | wc # 현재 디렉토리에있는 각 파일의 줄, 단어 및 문자 수를 인쇄

# sort : 알파벳 기준에 따라 파일 줄을 정렬
sort sales.txt # 파일 라인 정렬
sort -r sales.txt # 줄을 역순으로 정렬
sort -R sales.txt # 무작위 순서로 라인 정렬
종류 -t $ ' \ t ' -k 3N, 3 sales.txt의 # 종류의 라인 숫자에 따라 3 열

# uniq : 파일의 반복되지 않거나 중복 된 줄을 연속적으로 표시
uniq hello.txt # 연속 된 중복 줄을 건너 뜀
uniq -d hello.txt # 연속 된 중복 행만 표시
uniq -u hello.txt # 중복되지 않은 줄만 표시
uniq -c hello.txt # 각 행에 대해 복제 횟수 표시

Copyright © 2020 eloicube inc. All rights reserved.