본문 바로가기
기타

자주쓰는 리눅스 커맨드

by hotelshoe 2024. 5. 7.
반응형

내가 보려고 만든 리눅스 커맨드 모음

 

팀 단위 작업을 하다 보니 우분투 서버를 사용하는데 매번 찾기 귀찮고 해서 따로 정리해 보려고 한다.

 

※ 필요한 커맨드에 대해 ctr + f 로 찾아서 활용

 

(아무래도 제 기준으로 작성되었다보니 부족한 부분도 많고 일부 생략되거나 잘못되었을 수 있지만 참고용으로 활용하면 좋겠습니다.)


 

경로 이동

cd [경로]

 

- 옵션

.. 상위 디렉토리 이동
- 이전 경로로 이동
~ 홈 디렉터리로 이동
~[유저명] 특정 유저의 디렉터리로 이동

 


 

디렉토리/파일 이동

 

mv [옵션] [이동할 파일/폴더] [이동할 경로]

(예시)
mv -v testdir /home/user1/
# testdir 폴더를 /home/user1/ 의 위치로 이동시키고 작업 내용을 출력

 

- 옵션

-b 대상 파일을 덮어쓸 경우, 기존 파일을 백업
-f 대상 파일이 이미 존재할 경우, 사용자에게 확인을 요구하지 않고 덮어씀
-i 대상 파일이 이미 존재할 경우, 덮어쓰기 전에 사용자에게 확인을 요청
-n 대상 파일이 이미 존재할 경우, 덮어쓰지 않음
-u 원본 파일이 대상 파일보다 새로울 때만 덮어씀
-v 이동 또는 이름 변경 작업의 상세 내용을 출력

 


 

디렉토리/파일 복사

cp [옵션] [복사할 폴더/파일] [복사할 경로]

(예시)
cp -rvf testdir /home/user1/
# 현재 위치의 testdir 폴더를 /home/user1/ 의 경로에 복사시키고 파일이 이미 존재할 경우 파일을 덮어씌움, 작업내역을 출력

 

- 옵션

-a 파일을 아카이브 모드로 복사
-b 대상 파일을 덮어쓸 경우, 기존 파일을 백업
-f 대상 파일이 이미 존재할 경우, 사용자에게 확인을 요구하지 않고 덮어씀
-i 대상 파일이 이미 존재할 경우, 덮어쓰기 전에 사용자에게 확인을 요청
-l 심볼릭 링크가 아닌 하드 링크를 만듬
-n 대상 파일이 이미 존재할 경우, 덮어쓰지 않음
-r 디렉토리를 복사할 때 사용(하위 디렉토리와 파일들도 모두 복사)
-u 원본 파일이 대상 파일보다 새로울 때만 복사
-v 복사 작업의 상세 내용을 출력

 


 

디렉토리 생성

 

mkdir [옵션] [생성할 디렉토리 이름]

 

- 옵션

-m 퍼미션설정
-p 필요시 상위디렉토리 생성
-v 디렉토리 생성시 메시지 출력
-z selinux security context 설정

 

- 기타 : 하위 디렉토리 여러개 생성

mkdir [디렉토리명]/{하위 디렉토리명1, 하위 디렉토리명2, 하위 디렉토리명3, ...}

 


 

파일 압축/해제 (TAR, ZIP)

1) .tar

(압축)
tar [옵션] [생성할 압축파일명.tar] [대상폴더]

(예시)
tar -cvf test.tar /home/user1/data1
(해제)
tar [옵션] [해제할 압축파일명.tar]

(예시)
tar -xvf test.tar

 

2) .tar.gz

tar [옵션] [생성할 압축파일명.tar.gz] [대상폴더]

(예시)
tar -zcvf test.tar.gz /home/user1/data1

 

3) .zip

zip [옵션] [생성할 압축파일명.zip] [대상파일]

(예시)
zip -r test.zip ./*

 

 

 

- 옵션

c 새 아카이브를 생성
x 아카이브에서 파일을 추출
x tar 아카이브에서 파일 추출. (파일 풀 때 사용)
t 아카이브의 내용을 나열
v 진행 중인 작업을 자세하게 출력
f 파일 이름을 지정
z gzip을 사용하여 압축하거나 압축을 풀 때 사용
j bzip2를 사용하여 압축하거나 압축을 풀 때 사용
J xz를 사용하여 압축하거나 압축을 풀 때 사용

 


 

스크린

 

screen [옵션]

 

- 옵션

-S [세션이름] 새로운 screen 세션 생성
-ls 현재 실행중인 screen 세션 출력
-r 기존 세션 재연결

 

자주 쓰는 사용법

1) 스크린 생성

screen -S [세션명]

(예시)
screen -S test

 

2) 스크린 종료

exit

3) 기존 스크린 접속

screen -r [세션명]

(예시)
screen -r test

 

용량확인

 

1) df

df [옵션] [파일]

(예시)
df -h testdir

# testdir 폴더의 파일 시스템에 대해 KB/MB/GB 단위로 출력

 

- 옵션

-a 파일 시스템의 모든 항목을 표시
-h 가독성을 위해 크기를 사람이 읽을 수 있는 형식(K, M, G)으로 표시
-H 1000 단위를 기준으로 사람이 읽을 수 있는 형식으로 표시
-i 디스크 공간 대신 inode 사용량을 표시
-k 크기를 킬로바이트 단위로 표시
-l 로컬 파일 시스템만 표시
-m 크기를 메가바이트 단위로 표시
-T 파일 시스템의 유형을 표시

 

 

2) du

du [옵션] [파일명/디렉토리]

(예시)
du -sh *

# 현재 경로의 모든 파일에 대한 용량을 KB/MB/GB 단위로 출력

 

- 옵션

-a 파일 시스템의 모든 항목을 표시
-h 가독성을 위해 크기를 사람이 읽을 수 있는 형식(K, M, G)으로 표시
-H 1000 단위를 기준으로 사람이 읽을 수 있는 형식으로 표시
-s 지정한 파일 또는 디렉토리의 총 사용량만 출력
-c 결과의 마지막에 총합을 출력

 


 

파일/폴더 소유자 변경

 

chown [옵션] [소유자:그룹] [파일/디렉토리]

(예시)
chown -R user01:user01 testdir

# testdir 폴더 및 파일들의 소유자를 user01로 변경

 

- 옵션

-c 변경된 항목만 보고
-f 오류 메시지를 표시하지 않음
-v 처리된 항목의 변경 내용을 자세히 출력
-R 지정한 디렉토리와 그 하위 항목들을 모두 변경

 


 

파일/폴더 접근권한(퍼미션) 변경

 

1) 기본

chmod [옵션] [모드] [파일/디렉토리]

(예시)
chmod -R 775 testdir

# testdir 폴더 및 파일들의 권한을 775로 변경

 

- 모드

User / Group / Others 순서
4 읽기 권한 (read)
2 쓰기 권한 (write)
1 실행 권한 (execute)

 

 

2) 기호표현식

chmod [옵션] [사용자종류][기호][모드] [파일/디렉토리]

(예시)
chmod a+r test.txt

# test.txt 파일의 권한에 대해 모든 사용자에게 읽기 권한 부여

- 사용자종류

u 소유자 (user)
g 그룹 (group)
o 기타 사용자 (others)
a 모든 사용자 (all, ugo)

 

- 기호

+ 권한 추가
- 권한 제거
= 권한 설정

 

- 모드

r 읽기 권한 (read)
w 쓰기 권한 (write)
x 실행 권한 (execute)

 

 

- 옵션

-R 지정한 디렉토리와 그 하위 항목들을 모두 변경
-v 처리된 항목의 권한 변경 내용을 자세히 출력
-c 변경된 항목에 대해서만 자세히 출력

 


 

기타 - 휴지통 비우기

rm -rf ~/.local/share/Trash/files/*

기타 - 접속자 기록 보기 (서버)

last -f /var/log/wtmp

(상위 5개만)
last -5f /var/log/wtmp

 

반응형

댓글