Linux

[리눅스] 기본 명령어 전체 정리

neck392 2024. 5. 21. 19:58

01. 기본 명령어

리눅스 명령 사용법

 

 

  • date : 날짜와 시간을 출력
  • clear : 화면을 지움
  • man : 명령 사용 방법을 화면에 출력
  • passwd [인자] : 사용자 계정의 비밀번호를 변경

 

02. 디렉터리와 파일 사용법

디렉터리 관련 명령

 

pwd

 

  • 기능 : 현재 디렉토리 위치 확인(절대 경로 출력)
  • 형식: pwd

 

cd [디렉터리] 

  • 기능 : 지정한 디렉터리로 이동
  • 형식 : cd

 

ls

  • 기능: 디렉터리의 내용을 출력
  • 형식: ls [옵션] [디렉터리or파일]

<옵션>

-a : 숨김 파일을 포함하여 모든 파일의 목록을 출력

-l : 파일의 상세 정보 출력

-F : 파일의 종류 표시(*: 실행 파일, /:디렉터리, @: 심볼릭 링크)

-L : 심볼릭 링크 파일의 경우 원본 파일의 정보 출력

-R : 하위 디렉터리의 목록까지 출력

 

 

rmdir

  • 기능: 디렉터리 삭제
  • 형식: rmdir [옵션] [디렉터리]

<옵션>

-p : 지정한 디렉터리 삭제한 후에 해당 디렉터리의 부모 디렉터리가 빈 디렉터리일 경우 부모 디렉터리도 자동으로 삭제

 


 

파일 관련 명령

 

cat

  • 기능: 파일 내용을 출력
  • 형식: cat [옵션] [파일]

<옵션>

-n : 행 번호를 붙여서 출력

 

 

less

  • 기능: 파일 내용을 화면 단위로 출력(more을 개선)
  • 형식: less [파일]

 

tail

  • 기능: 파일 뒷부분의 몇 행을 출력
  • 형식: tail [옵션] [파일]

<옵션>

+행 번호 : 지정한 행부터 끝까지 출력

-숫자 : 화면에 출력할 행의 수 지정(기본 값은 10)

-f : 파일 출력을 종료하지 않고 주기적으로 계속 출력

 

 

cp

  • 기능: 파일이나 디렉터리를 복사
  • 형식: cp [옵션] [파일1or디렉터리1] [파일2or디렉터리2]

 

<옵션>

-i : 파일2가 이미 존재하면 덮어쓸 것인지 물어봄

-r : 디렉터리를 복사할 때 지정

 

 

mv

  • 기능: 파일 또는 디렉터리를 이동하거나 이름을 변경
  • 형식: mv [옵션] [파일1or디렉터리1] [파일2or디렉터리2]

<옵션>

-i : 파일2(디렉터리2)가 존재하면 덮어쓸 것인지 물어봄

 

 

rm

  • 기능: 파일을 삭제
  • 형식: rm [옵션] [파일or디렉터리]

<옵션>

-i: 파일을 정말 삭제할 것인지 확인

-r: 디렉터리를 삭제할 때 지정

 

 

ln

  • 기능: 파일의 링크 생성
  • 형식: ln [옵션] [원본 파일] [링크 파일]

<옵션>

-s : 심볼릭 링크 파일 생성

 

 

touch

  • 기능: 기존에는 접근 / 수정 시간을 변경해주는 기능이나 실무에서 파일을 생성하는 데 자주 사용
  • 형식: touch [-acm] [-r ref_file | -t time] [파일]

<옵션>

-a : 접근 시간만 변경

-m : 수정 시간만 변경

-t [[CC]YY]MMDDhhmm[.ss] : 시간 직접 입력

 

 

grep

  • 기능: 지정한 패턴이 포함된 행을 찾음
  • 형식: grep [옵션] [패턴] [파일]

<옵션>

-i : 대문자 / 소문자를 모두 검색

-l : 지정한 패턴이 포함된 파일명을 출력

-n : 행 번호를 출력

 

 

find

  • 기능: 지정한 위치에서 검색 조건에 맞는 파일을 찾음
  • 형식: find [경로] [검색 조건] [동작]

<검색 조건>

-name filename : 파일명으로 검색

-type 파일 종류 : 파일 종류로 검색

-user loginID : 지정한 소유자가 소유한 모든 파일 검색

-perm 접근 권한 : 지정한 사용 권한과 일치하는 파일 검색

동작 -exec 명령 {} \; : 검색된 파일에 명령을 실행

-ok 명령 {} \; : 사용자의 확인을 받아서 명령을 실행

-print : 검색된 파일의 절대 경로명을 화면에 출력(기본 동작)

-ls : 검색 결과를 긴 목록 형식으로 출력

 

 

whereis

  • 기능: 지정된 경로에서 명령의 바이너리 파일이나 매뉴얼 파일의 위치를 찾는다.
  • 형식: whereis [옵션] [파일]

<옵션>

-b : 바이너리 파일만 검색

-m : 매뉴얼 파일만 검색

-s : 소스 파일만 검색

 

 

which

  • 기능: 명령 파일의 위치를 찾아서 그 경로나 앨리어스를 출력
  • 형식: which [명령]

 

03. 문서 편집

vi 사용법

 

vi

  • 기능: 지정한 파일을 편집, 파일명을 지정하지 않으면 빈 파일이 열리고, 이 빈 파일의 파일명은 별도로 지정 가능
  • 형식: vi [파일]

 

마지막 행 모드

명령키 기능
:q vi에서 작업한 것이 없을 때 그냥 종료
:q! 작업한 내용을 저장하지 않고 종료
:w [파일명] 작업한 내용을 저장, 파일명을 지정하면 다른 파일로 저장
:wq, :wq! 작업한 내용을 저장하고 vi를 종료

 

 

명령 모드

명령키 기능
ZZ(shift + zz) 작업한 내용을 저장하고 vi를 종료

 

 

명령 모드에서 입력 모드 전환

명령키 기능
i 현재 커서 자리에 입력
a 현재 커서 다음 자리에 입력
o 커서가 위치한 행의 다음 행에 입력

 

 

커서 이동 명령키

명령키 기능
h 커서를 한 글자 왼쪽으로 이동
j 커서를 한 행 위로 이동
k 커서를 한 행 아래로 이동
l 커서를 한 글자 오른쪽으로 이동

 

 

내용 수정 명령키

명령키 기능
r 커서가 위치한 글자를 다른 글자로 수정
cc 커서가 위치한 행의 내용을 모두 수정
C 커서 위치부터 행의 끝까지 수정

 

 

내용 삭제 명령키

명령키 기능
x, #x 커서 위치의 글자를 삭제, #에는 삭제할 글자 수 지정
dd, #dd 커서 위치의 행을 삭제, #에는 삭제할 단어 수 지정
D(shift + d) 커서 위치부터 행의 끝까지 삭제

 

 

이전 명령 취소

명령키 기능
u 명령을 취소
U 해당 행에서 한 모든 명령을 취소

 

 

복사하기, 잘라내기, 붙이기 명령키

명령키 기능
yy, #yy 커서가 위치한 행을 복사, #에는 복사할 행의 수 지정
p 커서가 위치한 행의 아래쪽에 붙임
P 커서가 위치한 행의 위쪽에 붙임
dd, #dd 커서가 위치한 행을 잘라둠 = 삭제, #에는 잘라둘 행의 수 지정

 


 

 

04. 셸 사용법

셸 기본 사용법

 

chsh

  • 기능: 사용자 로그인 셰를 바꿈
  • 형식: chsh [옵션] [사용자명]

<옵션>

-s shell : 지정하는 셸(절대 경로)로 로그인 셸을 바꿈

-l : /etc/shells 파일에 지정된 셸을 출력

 

 

echo

  • 기능: 화면에 한 줄의 문자열을 출력
  • 형식: echo [-n] [문자열]

<옵션>

-n : 마지막에 줄 바꿈을 하지 않음

 

 

printf

  • 기능: 자료를 형식화하여 화면에 출력
  • 형식: printf [형식] [인수]
  • 옵션: 형식은 %d, \n 등 C 언어의 printf 함수의 형식을 지정

입출력 방향 변경

 

>

  • 기능: 파일을 리다이렉션(덮어쓰기)
  • 형식: 명령 > 파일명

 

>>

  • 기능: 파일에 내용을 추가
  • 형식: 명령 >> 파일명

 

2>

  • 기능: 표준 오류 메시지를 파일에 저장
  • 형식: 명령 2> 파일명

 

<

  • 기능: 표준 입력을 변경
  • 형식: 명령 < 파일명

엘리어스와 히스토리

 

alias

  • 기능: 엘리어스(별명)를 생성
  • 형식: alias 이름='명령'

 

unalias

  • 기능: 앨리어스 삭제
  • 형식: unalias 앨리어스

 

history

  • 기능: 히스토리(명령 입력 기록)을 출력
  • 형식: history

프롬프트 설정

 

echo $PS1 입력하면 환경 변수 PS1에 프롬프트로 사용할 문자열을 출력해주는데 저희 그냥 그걸로 계속 쓰도록 해요.

'Linux' 카테고리의 다른 글

리눅스 간단 정리  (0) 2024.05.27
[리눅스] 셸 사용 명령어  (0) 2024.05.22
[리눅스] 문서 편집 명령어(vi)  (0) 2024.05.22
[리눅스] 파일 사용 명령어  (0) 2024.05.22
[리눅스] 디렉터리 사용 명령어  (0) 2024.05.22