본문 바로가기
CS/Linux

리눅스 구조 & 명령어

by JHyun0302 2023. 8. 27.
728x90

리눅스 : 커널 & 애플리케이션으로 구성

 

 

 

커널(Kernal) : 운영체제의 핵심

  • 하드웨어 관리 : 메모리 관리, 프로세스 관리, 파일 시스템 관리, 입출력(I/O) 관리, 프로세스 간 통신(IPC) 관리
  • 어플리케이션이 커널을 통해 하드웨어를 제어할 수 있도록 하는 시스템 콜(system call) 제공
             시스템 콜의 예: open, read, write, stat, unlink
  • 하드웨어를 제어하는데 사용되는 프로그램인 디바이스 드라이버를 포함

 

 

 

애플리케이션

 

쉘(shell) : 애플리케이션의 명령을 해석하는 명령어 해석기

         ex) Bash, Zsh, Fish

 

 

 

 

 

리눅스 디렉토리 구조

 

 

 

 

 

 

  • 파일: 일반 파일, 디렉토리, 디바이스도 파일로 취급
  • 스트림: 데이터의 흐름
  • 프로세스: 프로세서(CPU)를 사용하여 실행중인 프로그램

 

 

 

 

 


리눅스 명령어

 

 

man 명령어 : 리눅스 명령어 찾기 도움말

→ man [Section number] command

 

Section Content
1 쉘 명령어 & 유틸리티
2 시스템 콜
3 라이브러리 함수

 

 

 

 

 

which 명령어 : 명령어의 위치 표시

which java

 

whereis 명령어 : 명령어 위치, 명령어와 관련된 설정 및 소스파일 ... 표시

whereis java

 

data 명령어 : 현재 날짜 & 시간 표시

date

 

clear 명령어 : 화면 지우기

clear

 

history 명령어 : 실행했던 명령어 표시

history

 

history를 통해 특정 명령어 선택

!!         //가장 최근 명령어 실행
!number    //number에 해당하는 명령어 실행

 

password 명령어 : user pw 변경

password

 

whoami 명령어 : 사용자 이름 표시 (= echo %User)

hostname 명령어 : 호스트 이름 표시

whoami
echo $User
hostname

 

sudo 명령어 : 관리자 권한으로 명령어 실행

sudo 명령어

 

시스템 종료 및 재부팅 명령어

halt                 //시스템 종료 
poweroff             //시스템 종료  
shutdown             //1분 후 시스템 종료

shutdown -c          //shutdown 명령 취소 
reboot               //시스템 재부팅

 

du 명령어 : 디렉토리와 하위 디렉토리의 디스크 사용량 확인

du 디렉토리
  •  '-h' 옵션 : 파일크기를 (K, M, G) 단위로 바꿔줌
  • '-s' 옵션 : 선택한 디렉토리만 사용량 확인

 

cd 명령어

cd 디렉토리

 

. 현재 위치
.. 상위 디렉토리
~ 홈 디렉토리
- 이전 디렉토리

 

※ 참고 :  intellij에서 절대경로 찾는 단축키 (Command + Shift + C) 

디렉토리 클릭 → (Command + Shift + C) → terminal → cd + (Command + V)

 

 

echo 명령어 : 홈 디렉토리 확인

echo $HOME

 

pwd 명령어 : 현재 위치 경로 표시

pwd

 

mkdir 명령어 : 디렉토리 생성

mkdir 디렉토리
  •  '-p'옵션 : 하위 디렉토리까지 생성

 

rmdir 명령어 : 디렉토리 삭제

rm 명령어 : 파일 삭제

rmdir 디렉토리
  • 'rm -rf'옵션 : 디렉토리와 그 하위 디렉토리까지 삭제

 

ls 명령어

ls [옵션] [파일 or 디렉토리]

 

option content
-l 파일 속성 출력
-a 숨긴 파일 출력
-h 파일 크기 (K, M, G) 단위로 출력
-r 역순 출력
-t 마지막 변경 날짜 순 출력
-F 실행파일(*), 디렉토리(/), 심볼릭 링크(@) 각각 끝에 추가
-R 해당 디렉토리 및 하위 디렉토리 모두 출력

 

 

파일 종류

character content
- 일반 파일
b 블록 디바이스 파일
c 문자 디바이스 파일
d 디렉토리
l 심볼릭 링크 파일
p or = named pipe
s 유닉스 도메인 소켓

 

 

권한

character 권한 8진수 2진수
r read 4 100
w write 2 010
x execution 1 001
- 없음 0 000

 

 

chmod 명령어 : 권한 설정

chmod 퍼미션 파일 or 디렉토리

ex. chmod 777 test.txt

 

chown 명령어 : 파일 소유자와 소유그륩 설정

chown 소유자 파일
chown :소유그룹 파일
chown 소유자:소유그룹 파일

 

chgrp 명령어 : 파일 소유그룹 설정

chgrp 소유그룹 파일

 

touch 명령어 : 크기 0인 파일 생성

touch 파일명

 

cp 명령어 : 파일 복사

cp 원본파일 복사 위치(디렉토리)

 

 

다른 이름으로 복사

cp test.txt test/test2.txt
  • '-r' 옵션 : 디렉토리 복사

 

 

mv 명령어 : 파일 및 디렉토리 이동

mv 파일 이동할 디렉토리

 

 

파일명 변경

mv test.txt rename.txt

 

 

cat 명령어 : 파일 내용 화면에 출력

cat 파일

 

more 명령어 : 파일 내용 한 화면씩 출력

more 파일
  • enter 키 : 한 줄씩 넘김
  • space 키 : 다음 장

 

head 명령어 : 파일의 처음 n줄 출력

head -n 파일

ex) head -5 test.txt

 

tail 명령어 : 파일의 마지막 n줄 출력

tail -n 파일

ex. tail -5 test.txt

 

'-f' 옵션 : 실시간으로 파일 내용 출력

tail -f 파일

 

grep 명령어 : 파일 내 검색어 검색

grep 검색어 파일

ex. grep hello test.txt
  • '-r' 옵션 : 하위 디렉토리까지 검색
  • '-n' 옵션 :검색어가 있는 행번호 출력

 

find 명령어 : 파일 검색

find 검색 위치 -name 찾고자 하는 파일명

ex. find ~/ -name test.txt

 

명령어 >> 명령어 : 출력 방향 (모니터 → 파일)

//파일 목록을 test.txt 안에 저장
ls >> test.txt
  • 이미 파일 존재하면 뒤에 내용 추가됨

 

 

명령어 > 명령어

  • '명령어 >> 명령어' 와 비슷함
  • 이미 파일이 존재하면 지우고 덮어씀

 

 

명령어 < 명령어 : 입력 방향 (키보드 → 파일)

 

 

명령어 | 명령어 : pipe

ls -arlth | more

 

 

파일 묶음

tar -cvf test.tar text

 

 

파일 묶음 해제

tar -xvf test.tar

 

 

파일 압축 & 압축 해제

zip -r test.zip test //test 디렉토리를 test.zip으로 압축
unzip test.zip //test,zip 압축해제

 

 

반응형

'CS > Linux' 카테고리의 다른 글

Process & Signal  (0) 2023.08.29
디렉토리 관리 관련 함수  (0) 2023.08.29
파일 관리 관련 함수  (0) 2023.08.29
Func (File System & File Input/Output)  (0) 2023.08.29
텍스트 에디터(vi)  (0) 2023.08.28