HeYStRanGeR
article thumbnail

(23.03.20 ~ )

리눅스 명령어 정리하기

linux 명령어는 명령어를 입력하고 한칸을 띄우고 옵션을 입력한다.

한칸 띄우는 것을 토큰이라고도 한다.

 


exit : 로그인한 쉘 종료 (bash)

logout :  로그아웃 (bash)

passwd : 비밀번호 변경하기

 

 

who  : 누가 해당 ssh 서버에 접속했는지 출력

who | wc : 접속한 총 사람 수 출력

 

whoami : 현재 로그인한 사용자 ID 출력

id -un : 현재 로그인한 사용자 ID 출력

 

tty : 현재 kernel과 연결된 가상 터미널 장치 출력

- 접속할 때마다 번호는 달라질 것

 

pwd : 현재 위치 출력

date : 실제 날짜와시간이 아니고, server의 날짜와 시간을 출력

time : 어떤 코드를 실행하는데 얼마나 걸렸나를 출력

 


man 명령어 : 해당 명령어의 옵션들을 보여줌. 상세 설명서 느낌

- man cd -> 안나옴. 왜냐? cd명령어가 bash에 빌트인 된 것이기 때문. help 명령어를 사용하면 상세 설명 나옴. 근데 help로도 안나온다면? 해당 명령어가 설치될 때 메뉴얼이 함께 설치되지 않은 것임.

 

which 명령어 : 해당 명령어가 어디에 있는지

- which ls -> /bin/ls

- which vi -> /usr/bin/vi

- which whoami -> /usr/bin/whoami

- which cd -> 안나옴. 왜냐? cd는 시스템 유틸리티에 있는게 아니라 bash에 빌트인된 명령어임. 즉, cd는 shell이 있어야 사용가능한 명령어임.

 


ls : 디렉토리 나열

ls -a : 숨김 파일도 보여줌

ls -A : .와 .. 제외하고 보여줌

ls -l : 리스트 형태로 자세하게 보여줌 (long)

ls -al : a, l 옵션 합한 것 -> 숨김파일도 함께 리스트 형태로 자세하게 보여줌

ls -R : 하위 디렉토리까지 보여줌

ls -F : 실행파일은 *, 경로는 /  등으로 뒤에 표시해준다.

  (-> 파일 뒤에 / 붙어있으면 디텍토리 파일, * 붙어있으면 실행파일)

ls -d : 지정경로의 최상위 디렉토리만 보여줌

ls 디렉토리명 : 디렉토리 안에 있는 디렉토리 보여줌

ls 디렉토리명/* : 디렉토리 안에 있는 모든 디렉토리와 그 하위 디렉토리를 보여줌 (모든 것을 보여줌)

 

mkdir : 디렉토리 생성

 

rmdir : 디렉토리 삭제 

  (비어있는 디렉토리가 아니면 오류난다)

 

rm: 디렉토리 혹은 파일 삭제

rm -r : 해당 디렉토리와 그 하위의 것들 모두 삭제 (재귀적 r)

rm -d : 해당 디렉토리만 삭제하는데, 빈 디렉토리 일 경우만 가능함

  (rm 명령어는 무조건 -r 이나 -d 명령어가 있어야함)

rm -f : 모든 오류를 무시하고 강제로 그냥 삭제해 버림

 

cd : 해당 경로로 들어가기  (bash)

 

echo : 텍스트 / 문자열 출력

echo ~ : ~ (tilda)에 해당하는 경로 출력

 

clear: 터미널 기록 지우기

 


cc 파일명 : c 파일 컴파일하기

 

.파일명 : 실행파일 실행하기 

- 만약 a.out 실행하고자 하면, .a.out이 아니라 ./a.out이라고 하는 것을 추천함 (/넣기)

 


cp : 복붙하기

cp 파일1 파일2 : 파일1을 복사하여 파일2라는 파일 만들어서 붙여넣기

cp 파일1 디렉토리: 파일1을 디렉토리 안에 복붙

cp -a : 속성까지 그대로 복붙하는 것 (기존 파일의 modified time 이런것들)

cp -r : 디렉토리 전체 복붙 

  (cp -r 디렉1 디렉2)

 

file : file type을 식별한다. 

 

mv : file을 옮겨주거나, 혹은 file의 이름을 바꾼다.

mv 디렉1 디렉2 : 디렉1의 이름을 디렉2로 바꿈 (디렉2가 없는 디렉토리일 경우)

mv 디렉1 디렉2 : 디렉1을 디렉2로 옮김 (디렉2가 존재하는 경우)

mv 디렉1/* 디렉2 : 디렉1의 하위의 파일들을 전부 디렉2로 옮김 (디렉1은 빈디렉으로 남아있음)

mv 파일 디렉 : 파일을 디렉으로 옮김

mv 파일1 파일2 디렉: 파일1, 파일2 두개의 파일을 디렉으로 옮김

 

cat : 파일의 내용 출력

- cat 명령어 사용했는데, 만약 해당 파일이 없다면, 해당 파일이 없다는 에러가 stderr에 출력됨.

- cat 명령어 사용했는데, 만약 해당 파일이 있다면, 파일의 내용이 stdout에 출력됨.

cat 파일이름1 > 파일이름2 : 파일이름1안의 내용이 파일이름2라는 파일에 적힌다. 

   (>가 아니라 0> , 1> , 2> 를 사용해도 된다. 0: stdin, 1:stdout, 2:stderr)

 


grep : 파일안에 문자 검색

grep 문자열 파일명 : 해당 파일안에 찾고자하는 문자열 검색

grep 문자열 파일명 | wc -l : 해당 파일안에 찾고자 하는 문자열의 횟수 출력

 

find : 파일명 검색

find . -name 파일명 : .(현재디렉토리) 밑의 디렉토리에서 해당 파일명 검색

 


du : 디렉토리 별 디스크 사용량 출력

du -h : 사람이 알 수 있는 단위로 출력

 


w : 로그인 사용자가 무엇을 하고 있는지 보여줌

 

ps : 현재 실행 중인 프로세스 목록과 상태를 보여줌

ps - l : 상사하게 보여줌

ps ; ls : 

  (PID는 프로세스 식별번호이고, PPID는 parent의 PID이다)

 

sleep : 실행되는 동안 foreground running 됨 (프롬포트에 아무것도 안뜨는 것)

-> 이 상태를 kill 하려면 ctrl + c  (background에서도 없애는 것)

-> 이 상태를 stop 하려면 ctrl + z  (background에는 남아있음)

-> foreground running 되지 않고 사용하게 하려면 괄호치고 & 사용하기

 

jobs : 실행한 프로그램에 대해서 확인하는 것

bg %숫자 : 숫자에 해당하는 프로그램을 background로 실행하기

fg %숫자 : 숫자에 해당하는 프로그램을 foreground로 실행하기


기타 내용

. 는 현재 디렉토리

~는 tilda 라고 한다. echo ~ 를 통해서 ~가 어떤 경로인지 확인할 수 있다. 

 

728x90
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!