소프트웨어 개발자, 데이터 과학자, IT 인프라 관리자 또는 전문 기술자가 되든 간에 Linux와 MacOS에서 터미널을 사용하는 방법을 아는 것은 필수적입니다. 문제는 기억해야 할 명령어가 너무 많다는 것입니다. 엄청난 기억력이 없으면 인터넷에서 Linux 명령이나 해당 명령을 자주 검색해야 합니다.
귀중한 시간을 벌기 위해 MySQL과 Docker 치트시트를 가져와서 오늘 가장 흔하고 유용한 셸 명령을 공유하겠습니다.
cp 에 대한 명령을 기억하지 못하십니까? Learn more regarding paras online casino. mkdir명령에는 어떤 옵션 이 있습니까? 몇 가지 도움을 찾으십시오.
cp
mkdir
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을 사용하여 특정 단어 또는 문장이 포함 된 행을 출력할 수 있습니다.
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를 입력하여 작업의 초점을 복구하십시오
clear
clear # 콘솔 청소
다음 명령을 사용하면 컴퓨터에 대한 모든 세부 정보를 쉽게 얻을 수 있습니다.
uname -a # 시스템에 대한 정보(예: 아키텍처, 아키텍처)를 출력 sudulshw #(리눅스만 해당) 모든 하드웨어 구성 요소를 나열 sudulshw - short #(Linux만 해당) 요약 테이블을 하드웨어 구성 요소와 함께 나열 lscpu #(Linux만 해당) CPU에 대한 정보 표시 lsusb #(Linux만 해당) 플러그된 USB 장치를 나열 date # 현재 날짜 및 시간 출력
다음 명령은 시스템에서 실행중인 모든 프로세스의 개요를 제공합니다. macOS 및 일부 Linux 배포판에는 htop이 설치되어 있지 않습니다 . 사용하기 전에 기본 패키지 관리자 ( macOS의 Homebrew )를 사용하여 설치해야합니다.
htop
ps # 터미널 세션에서 지금 실행중인 프로세스를 보여줌 ps aux # 컴퓨터에서 실행중인 모든 프로세스를 보여줌 htop # 터미널에 활동 모니터를 표시
터미널 창을 열면 입력 한 모든 명령이 현재 사용자와 함께 실행됩니다. 그러나 권한있는 사용자로 실행해야하는 경우가 많으므로 셸에서 사용자간에 전환하는 방법을 아는 것이 중요합니다.
su # 현재 사용자를 루트로 변경 su- # 현재 사용자 및 지역 변수를 루트로 변경 su maria # 현재 사용자를 "maria"로 변경 sudo nano # root 사용자로 "nano"명령을 실행
텍스트를 선택하고 Ctrl + C 또는 Ctrl + V를 눌러 터미널에서 텍스트를 복사하고 터미널에 붙여 넣을 수 있습니다 . 그러나 경우에 따라 클립 보드에 직접 액세스 할 수 있습니다. 아래에서 볼 수 있듯이 Linux이든 macOS이든 이보다 쉬울 수는 없습니다!
# Linux echo " 안녕 내 친구! " | xclip # copy "Hello my friend!" 클립 보드에 xclip -o >> pasted_text.txt # 클립 보드의 내용을 텍스트 파일에 붙여 넣기 # macOS echo " 안녕 내 친구! " | pbcopy # copy "안녕하세요!" 클립 보드에 pbpaste >> pasted_text.txt # 클립 보드의 내용을 텍스트 파일에 붙여 넣기
두 가지 방법으로 컴퓨터 셸에서 변수를 정의 할 수 있습니다. 실시간으로 (터미널에 해당 명령을 입력하여) 또는 .bashrc홈 디렉토리 의 파일에 정의하여 영구적으로 유지합니다.
.bashrc
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입니다. 긴 명령을위한 명령어입니다. 만드는 방법을 살펴 보겠습니다.
alias
alias clone_my_repo = " git clone http://verylongurl.com " # 별칭 생성
모르는 사람들을 위해 경로는 시스템이 실행 파일을 찾을 디렉토리 목록이므로 위치를 알 필요없이 이름 만 입력하여 실행할 수 있습니다. 다음 명령을 사용하여 경로에 폴더를 추가하고 실행 파일이있는 디렉토리를 가져올 수 있습니다.
export PATH = $ PATH : / home / john / myprogram # 경로에 / home / john / myprogram 디렉토리 추가 which nano # 는 "nano"의 실행 파일이 어디에 있는지 보여줌 whereis nano # 는 "nano"의 실행 파일, 매뉴얼, 소스 코드 등이 어디에 있는지 보여줌
파일 시스템의 디렉토리 사이를 이동하려면 cd명령 사용 방법 만 알면 됩니다.
cd
pwd # 현재 디렉토리 가져오기 cd # 현재 디렉토리를 홈 디렉토리로 변경 cd /bin # 현재 디렉토리를 /bin으로 변경 cd .. # 상위 디렉토리로 이동
이 ls명령은 디렉토리 내의 파일 및 폴더와 그 속성을 표시하는 데 필수적인 도구입니다.
ls
ls # 현재 디렉터리에 있는 파일 및 디렉터리 목록 ls/bin # /bin의 파일 및 디렉터리 목록 ls -l # 상세 정보(크기, 날짜...) ls -a # 숨김 파일 및 디렉터리 표시 ls -ld # 현재 디렉터리(파일 아님)에 대한 정보 표시 ls my* # my로 시작하는 파일 목록 tree # 현재 디렉터리를 트리형식으로 표시
폴더를 만들고 싶습니까? 그런 다음 mkdir명령을 사용하십시오 .
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및 chown각각 을 사용하여 파일 또는 디렉토리의 권한과 소유자를 변경합니다 .
chmod
chown
chmod 777 script.sh # script.sh 파일의 권한 변경 chmod + x script.sh # script.sh 파일을 실행 가능하게 만듬 chown guille script.sh # "script.sh"파일의 소유자를 "guille"사용자로 변경 ./script.sh # script.sh 실행
Contacts.json 파일이 어디에 있는지 기억 나지 않습니까? 폴더 안의 모든 PDF 파일을 나열 하시겠습니까? find명령어로 이 작업 및 기타 작업을 수행할 수 있습니다.
find
find . -name hello.txt # 현재 디렉토리에서 "hello.txt"라는 파일을 찾음 find / home / joe / Downloads -name * .pdf # 다운로드 폴더에서 PDF 파일을 찾음 find / -executable -atime -10 # 10 분 전에 액세스 한 루트 디렉토리에서 실행 파일을 찾음 find ~ -newer reference.txt # "reference.txt"파일 다음에 편집 된 홈 디렉토리에서 파일을 찾음
인터넷에서 소프트웨어를 다운로드 할 때 터미널에서 수행하기 매우 쉬운 SHA 체크섬을 확인하여 올바르게 다운로드되었는지 확인하는 것이 좋습니다.
# 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명령은 모든 질문에 대한 답을 가지고있다.
df
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 # 각 행에 대해 복제 횟수 표시