Día de Ruru
20230803 TIL 리눅스 명령어 정리 본문
ls
현재 위치의 파일, 폴더 확인
자주 사용하는 옵션
-l : 파일들을 나열할 때 자세하게 출력
-a : 경로안의 모든 파일을 나열
-R : 위치한 디렉토리의 하부 디렉토리까지 모두 출력
-h : 파일 크기를 해석하기 편하게 출력
-r : 출력 결과를 내림차순으로 정렬
-t : 수정 시간을 기준으로 정렬
ls -shalt
현재 위치에 있는 모든 파일과 디렉토리의 목록을 보여주며, 파일 크기를 블록크기 단위로 표시하고, 숨겨진 파일을 포함하며 긴 형식으로 파일 정보를 표시하고 수정 시간 순서로 정렬하여 보여줌
-s: 파일 크기를 표시할 때 블록 크기 단위로 표시합니다.
-h: 파일 크기를 보기 쉬운 형식으로 표시합니다. (예: KB, MB 등)
-a: 숨겨진 파일과 디렉토리를 포함하여 모든 파일을 표시합니다.
-l: 긴 형식으로 파일 정보를 표시합니다. (권한, 소유자, 그룹 등)
-t: 파일들을 수정 시간 순서로 정렬하여 표시합니다.
ll (ls -l)
현재 위치에 있는 파일과 디렉토리의 긴 형식으로 목록을 보여주는 명령어이며 권한, 소유자, 그룹, 파일크기, 수정날짜, 파일의 이름을 표시한다.
아래 사진처럼 ls -shalt와 유사해보이지만 ll의 경우 사용자 정의 별칭으로 동작하며 특정시스템에서만 동작할 수 있고, ls -shalt는 명시적으로 입력하여 사용하는 것이기 때문에 리눅스 및 유닉스 시스테므이 대부분에서 작동한다.
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 |