Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Día de Ruru

20230803 TIL 리눅스 명령어 정리 본문

TIL

20230803 TIL 리눅스 명령어 정리

공대루루 2023. 8. 4. 03:37

ls

현재 위치의 파일, 폴더 확인

cd를 통헤서 폴더를 이동한 후 ls를 입력하면 각 위치의 파일, 폴더를 출력한다

자주 사용하는 옵션
-l : 파일들을 나열할 때 자세하게 출력
-a : 경로안의 모든 파일을 나열
-R : 위치한 디렉토리의 하부 디렉토리까지 모두 출력
-h : 파일 크기를 해석하기 편하게 출력
-r : 출력 결과를 내림차순으로 정렬
-t : 수정 시간을 기준으로 정렬

ls -shalt

현재 위치에 있는 모든 파일과 디렉토리의 목록을 보여주며, 파일 크기를 블록크기 단위로 표시하고, 숨겨진 파일을 포함하며 긴 형식으로 파일 정보를 표시하고 수정 시간 순서로 정렬하여 보여줌

-s: 파일 크기를 표시할 때 블록 크기 단위로 표시합니다.
-h: 파일 크기를 보기 쉬운 형식으로 표시합니다. (예: KB, MB 등)
-a: 숨겨진 파일과 디렉토리를 포함하여 모든 파일을 표시합니다.
-l: 긴 형식으로 파일 정보를 표시합니다. (권한, 소유자, 그룹 등)
-t: 파일들을 수정 시간 순서로 정렬하여 표시합니다.

ll (ls -l)

현재 위치에 있는 파일과 디렉토리의 긴 형식으로 목록을 보여주는 명령어이며 권한, 소유자, 그룹, 파일크기, 수정날짜, 파일의 이름을 표시한다.
아래 사진처럼 ls -shalt와 유사해보이지만 ll의 경우 사용자 정의 별칭으로 동작하며 특정시스템에서만 동작할 수 있고, ls -shalt는 명시적으로 입력하여 사용하는 것이기 때문에 리눅스 및 유닉스 시스테므이 대부분에서 작동한다.

왼쪽이 ls -shalt 오른쪽이 ll

df -h

파일 시스템의 디스크 사용 현황을 보기 쉬운 형식으로 표시한다. -h 옵션은 human-readable 을 의미한다.
파일 시스템의 디바이스, 전체 용량, 사용중인 용량, 사용가능한 용량, 사용중인 용량의 백분율, 파일 시스템이 마운트된 디렉토리 를 표시한다.
서버 관리나 디스크 사용량 모니터링에 사용하며 사용 가능한 디스크 공간을 신속하게 확인할 수 있다.

du (du [OPTION]... [FILE]...)

디스크 사용량 확인하는데 사용되며, 파일과 디렉토리의 용량을 표시한다.

-h 또는 --human-readable: 용량을 보기 쉬운 형식(KB, MB, GB 등)으로 표시
-s 또는 --summarize: 전체 용량만 표시하고, 디렉토리와 하위 디렉토리의 세부 정보를 표시 X
-c 또는 --total: 모든 디렉토리 및 파일의 용량을 합산한 총 용량
-k, --kilobytes: 용량을 킬로바이트(KB) 단위로 표시
-m, --megabytes: 용량을 메가바이트(MB) 단위로 표시
-g, --gigabytes: 용량을 기가바이트(GB) 단위로 표시
-B <block-size>, --block-size=<block-size>: 블록 크기를 지정하여 표시
-x 또는 --one-file-system: 다른 파일 시스템을 건너뛰고 현재 파일 시스템에서만 용량을 계산

du [targetDir] -d [level] -h 로 사용하면
targetDir 의 원하는 하위 디렉토리 레벨까지의 용량을 보기 쉬운 형식으로 표시한다.

df 와 du의 차이점

  • df는 리눅스 시스템 전체의 디스크 사용량을 확인하며 du 는 특정 디렉토리를 기준으로 디스크 사용량을 확인한다
  • df 와 du는 디스크에 대한 계산 방법의 차이가 있다.
    → df는 파일 시스템의 디스크 블록을 조회하여 총 값과 자유 블록의 수를 계산하며(파일시스템의 정보 기준) du는 파일 트리를 따라 이동하면서 stat()*이라는 시스템 호출을 이용하여 각각의 디렉토리, 심볼릭 링크**, 파일에 할당된 블록의 수를 더하여 계산한다.
    *stat → 디렉토리나 파일이 상세 정보 출력
    **심볼릭 링크 : 링크를 연결하여 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크 : 윈도우의 바로 가기와 비슷한 개념
  • df와 du의 용량 차이가 많이 나는 경우
    • 파일 디스크립터가 열린 상태에서 파일이 삭제된 경우 : 해당 프로세스 재시작 혹은 시스템 재부팅 시 해결 가능
    • dirty buffer 용량 : df는 dirty buffer에 있는 용량을 계산에 포함하지만 du는 포함하지 않아서 생기는 문제
      → sync 명령어로 dirty buffer를 비우면 해결 가능
    • 삭제되지 않고 반환되지 않은 파일이 많다면 df 이 값이 더 크게 나올 수 있으며 spare 파일이 많다면 du가 더 많이 나올 수 있다.
      → lsof -n | grep deleted 로 해결 가능 (일부 파일이 삭제되었지만 여전히 프로세스에 의해 열려 있으면 용량 차이가 생길 수 있다.)

ssh (ssh [OPTIONS] [USER@]:HOST)

원격 시스템에 로그인할 때 사용 사용자 이름을 -i 로 지정할 수 있다.

sh -c

셀 명령을 실행하는데 사용되는 옵션이다. -c 옵션은 명령어를 직접 실행하거나, 스크립트 파일을 실행할 때 사용한다.

sh -c "echo Hello, World!"

shutdown

시스템 종료할 때 사용, reboot 나 halt에 비해 다양한 시스템 종료 옵션을 제공한다.

-k : 실질적인 shutdown을 하는게 아니라 모든 사용자에게 경고 메세지만 전송
-h : 시스템 shitdown 후 시스템 종료
-r : 시스템 shutdown 후 시스템 재 시작
-f : 빠른 재부팅
now : 명령어를 수행하는 순간 종료

아래 처럼 사용하면 재부팅 예약 시 사용자들에게 사유와 시간을 알릴 수 있다.

sudo shutdown [옵션] 시간 [메시지]

reboot

재부팅 할 때 사용한다. 재부팅이 안되는 경우 -f 옵션으로 강제 재부팅 할 수 있다.

sudo reboot

halt

시스템을 즉시 종료하고 전원을 끌 때 사용한다. 시스템을 강제로 종료하므로, 모든 프로세스나 서비스를 정상적으로 종료시키지 않을 수 있다. 주의가 필요! 추가 설정이나 예약 작업을 수행할 수 없다.

sudo halt

adduser

리눅스 시스템에서 새로운 사용자 계정을 생성하는 명령어

sudo adduser [사용자이름]

passwd

사용자의 암호를 변경하거나 설정할 때 사용, 뒤에 사용자 이름을 입력하지 않으면 현재 로그인 된 사용자의 암호를 변경

passwd [사용자이름]

* /etc/group
: 시스템에 등록된 사용자 그룹의 정보를 담고있는 파일

* /etc/sudoers
: 사용자가 sudo 명령을 사용하여 다른 사용자의 권한으로 명령을 실행할 수 있도록 하는 권한 설정 파일

vim

리눅스에서 사용하는 텍스트 편집기

1. 파일 열기 vim [파일 이름]
2. 입력모드 i
3. 저장하고 종료 :wq
4. 종료 :q
5. 복사 yy
6. 붙여넣기 p

chown : 파일 소유권과 그룹 변경

chown [option] [owner] [파일 및 디렉토리]

chmod : 파일 권한 변경

chmod [option] [mode] [file]
👉 주요 옵션
-v : 모든 파일에 대해 모드가 적용되는 진단 메세지 출력
-f : 에러 메세지 출력하지 않음
-c : 기존 파일 모드가 변경되는 경우만 진단 메세지 출력
-r : 지정한 모드를 파일과 디렉토리에 대해 재귀적으로 적용

모드 파라미터 작성 법
→ 모드 파라미터는 여러개의 문자를 조합해서 만들 수 있다.

👉 모드에서 사용되는 문자들
u,g,o,a → 차례로 소유자, 그룹, 그 외 사용자, 모든 사용자
+, -, = → 차례로 현재 모드에 권한 추가, 권한 제거, 권한 지정
r,w,x → 차례로 읽기 권한, 쓰기 권한, 실행 권한

예를 들어 파일을 소유한 사용자에 대해 읽고 쓸 수 있는 권한을 지정 하려고 한다면 u(사용자)=(권한 지정)r(읽기 권한)w(쓰기 권한) 이기 때문에 u=rw 라고 작성하면 된다.

chmod와 chown 을 하는 이유

리눅스는 여러 사용자들이 사용할 수 있는 운영체제이다. 그렇기 때문에 다른 사람이 내 파일에 접근해서 삭제하거나 변형하는 문제가 발생할 수 있다. 이런 것들을 방지하기 위해 권한을 설정할 수 있게 되어 있다.
현재 위치에서 존재하는 파일들의 자세한 사항을 확인할 때 사용하는 ll이나 ls -shalt를 사용하면 가장 앞에 표시되는 문자가 permission 에 관련된 부분이다. ex. drwxrwxr-x , -rw-rw-r— 등

맨 앞의 글자는 파일의 타입(- 파일. d 디렉토리 l 링크 ..) 2~4필드는 소유주의 권한, 5~7필드는 그룹의 권한, 8~10필드는 나머지의 권한을 나타낸다. r (읽기) w (쓰기) x (실행) - (권한없음)

'TIL' 카테고리의 다른 글

20240114 TIL  (0) 2024.01.14
20230815 TIL Docker CI/CD 구축하기(2)  (0) 2023.08.21
20230812 TIL Docker CI/CD 구축하기(1)  (0) 2023.08.15
Comments