본문 바로가기
공부는 평생하는 것이다/리눅스

기초 리눅스 명령어

by IT Daily Life 2023. 12. 16.
728x90
반응형

부재 : 이건 꼭 알아야 해! 리눅스 명령어.

 

주니어 개발자의 경우 자바, 파이썬 등의 언어만 공부했지, 리눅스는 전혀 접해보지 않은 경우가 종종 있습니다. 리눅스는 GUI 방식이 아니기 때문에 명령어를 모르면 아무것도 할 수 가 없습니다. 

아래에 나와있는 몇 가지 핵심 명령어만 알고 있다면 기본적인 서버 관리 및 작업을 수행하는 데 충분합니다.

이러한 명령어들을 숙지하면 리눅스 서버에서의 기본적인 파일 및 디렉토리 관리, 권한 설정, 프로세스 확인, 디스크 관리 등의 작업을 수행하는 데 어렵지 않을 것입니다. 필요에 따라 더 고급진 명령어나 특정 도구들을 학습하면서 리눅스도 금방 능숙해질 것입니다.

 

가장 기초가 되는 명령어

1. 파일 및 디렉토리 관리

ls 명령어

> 현재 디렉토리에 있는 파일과 디렉토리의 목록을 출력합니다.

  • -a: 숨겨진 파일이나 디렉토리도 보여줍니다.
  • -l: 자세한 내용을 출력합니다. 퍼미션(권한), 포함된 파일 수, 소유자, 그룹, 파일 크기, 수정일자, 파일 이름 등을 출력합니다.
  • -S: 파일 크기 순으로 정렬하여 출력합니다.
  • -r: 거꾸로 출력합니다. (ls 명령어의 기본은 알파벳 순서입니다.)
  • -R: 하위 디렉토리까지 출력합니다.
  • -h: K, M, G 단위를 사용하여 파일 크기를 사람이 보기 좋게 표시합니다.
$ ls -al    // 명령어는 현재 디렉토리에 있는 모든 파일과 디렉토리를 자세히 보여줍니다.
$ ls -alSrh    // 명령어는 숨겨진 파일(a)까지 포함해서 파일크기(S) 역순(r) 으로 보기 좋게(h) 자세히(l) 보여줍니다.

 

cd 명령어

>  디렉토리를 변경하는 명령어입니다

  • ..: 상위 디렉토리로 이동합니다.
  • .: 현재 디렉토리를 나타냅니다.
  • ~: 홈 디렉토리를 나타냅니다.
  • <dir>: <dir> 디렉토리로 이동합니다.

cp 명령어

> 파일이나 디렉토리를 복사하는 명령어입니다. 

  • -r: 디렉토리를 복사할 때 사용합니다.
  • -p: 파일의 소유자, 그룹, 권한, 타임스탬프 등을 유지합니다.
  • -i: 복사할 때 덮어쓸 것인지 물어봅니다.
  • -v: 복사할 때 어떤 파일이 복사되고 있는지 출력합니다.
$ cp -r dir1 dir2    // dir1 디렉토리를 dir2 디렉토리로 복사합니다.  
$ cp -p file1 file2    // file1 파일을 file2 파일로 복사하면서 소유자, 그룹, 권한, 타임스탬프 등을 유지합니다.
$ cp -i file1 file2    // file1 파일을 file2 파일로 복사할 때 덮어쓸 것인지 물어봅니다.
$ cp -v file1 file2    // file1 파일을 file2 파일로 복사하면서 어떤 파일이 복사되고 있는지 출력합니다.

 

mv 명령어

> 파일이나 디렉토리를 이동하거나 이름을 변경하는 명령어입니다.

  • -i: 이동할 때 덮어쓸 것인지 물어봅니다.
  • -u: 이동할 파일이 이동할 위치에 있는 파일보다 최근 파일일 경우에만 이동합니다.
  • -b: 대상 파일이 이미 있어, 지워지는 것을 대비해 백업파일을 생성합니다.
  • -f: 대상 파일이 이미 있어도 사용자에게 어떻게 처리할지를 묻지 않습니다.
  • -v: 파일을 이동하는 과정을 자세하게 보여줍니다.
$ mv file1 file2    // file1 파일을 file2 파일로 이름을 변경합니다.
$ mv file1 dir1/    // file1 파일을 dir1/ 디렉토리로 이동합니다.
$ mv -i file1 file2    // file1 파일을 file2 파일로 이동할 때 덮어쓸 것인지 물어봅니다.
$ mv -v file1 file2    // file1 파일을 file2 파일로 이동하면서 어떤 파일이 이동되고 있는지 출력합니다.

 

rm 명령어

파일이나 디렉토리를 삭제하는 명령어입니다.

  • -r: 디렉토리를 삭제할 때 사용합니다.
  • -f: 강제로 삭제합니다. 삭제할 파일이나 디렉토리가 없어도 에러 메시지를 출력하지 않습니다.
  • -i: 삭제할 때 물어봅니다.
  • -v: 삭제할 때 어떤 파일이 삭제되고 있는지 출력합니다.
$ rm file1.txt    // file1.txt 파일을 삭제합니다.
$ rm -r dir1    // dir1 디렉토리를 삭제합니다.
$ rm -rf dir1    // dir1 디렉토리를 강제로 삭제합니다.
$ rm -i file1.txt    // file1.txt 파일을 삭제할 때 물어봅니다.
$ rm -v file1.txt    // file1.txt 파일을 삭제하면서 어떤 파일이 삭제되고 있는지 출력합니다.

 

mkdir 명령어

 > 디렉토리를 생성하는 명령어입니다.

  • -p: 상위 디렉토리도 함께 생성합니다.
  • -m: 디렉토리를 생성할 때 권한을 설정합니다.
  • -v: 디렉토리를 생성하고 생성된 디렉토리에 대한 메시지를 출력합니다.
$ mkdir new_folder    // 현재 디렉토리에 new_folder 디렉토리를 생성합니다.
$ mkdir /home/user/new_folder    // /home/user/ 위치에 new_folder 디렉토리를 생성합니다.
$ mkdir -p test1/test2    // test1 디렉토리가 없으면 test1 디렉토리를 먼저 생성하고, 그 안에 test2 디렉토리를 생성합니다.

 

pwd 명령어

> 현재 작업 중인 디렉토리의 경로를 출력합니다. pwd 명령어는 인자 없이 실행하면 현재 작업 중인 디렉토리의 절대 경로를 출력합니다.

 

2. 디스크 및 용량 확인

df 명령어

> 파일 시스템 디스크 공간의 사용량을 출력하는 명령어입니다.

  • -h: 사람이 보기 좋게 메가(M), 기가(G) 단위로 디스크 공간을 확인할 수 있습니다.
  • -T: 파일 시스템 유형을 출력합니다.
  • -i: inode 사용량을 출력합니다.
  • -a: 모든 파일 시스템을 출력합니다.
$ df -h    // 파일 시스템 디스크 공간을 메가(M), 기가(G) 단위로 보기 좋게 출력합니다.
$ df -T    // 파일 시스템 형식을 함께 출력합니다.
$ df -T /dev/sda1    // /dev/sda1 파일 시스템에 대한 정보만을 표시합니다.
$ df -i    // inode 사용량을 출력합니다.
$ df -a    // 모든 파일 시스템을 출력합니다.

 

 du 명령어

> 디렉토리와 파일의 용량을 출력하는 명령어입니다.

  • -s: 디렉토리의 용량을 합산하여 출력합니다.
  • -h: 사람이 보기 좋게 메가(M), 기가(G) 단위로 디스크 공간을 확인할 수 있습니다.
  • -c: 모든 파일 및 디렉토리의 용량을 합산하여 출력합니다.
  • -a: 모든 파일 및 디렉토리의 용량을 출력합니다.
$ du -sh /home/user1    // /home/user1 디렉토리의 용량을 사람이 보기 좋게 메가(M), 기가(G) 단위로 출력합니다.
$ du -csh /home/user1    // /home/user1 디렉토리와 그 하위 디렉토리의 모든 파일 및 디렉토리의 용량을 합산하여 사람이 보기 좋게 메가(M), 기가(G) 단위로 출력합니다.

 

3. 권한관리

chmod 명령어

> 디렉토리의 권한을 변경하는 명령어입니다.

  • u: 소유자 권한을 변경합니다.
  • g: 그룹 권한을 변경합니다.
  • o: 다른 사용자 권한을 변경합니다.
  • a: 모든 사용자 권한을 변경합니다.
  • +: 권한을 추가합니다.
  • -: 권한을 제거합니다.
  • =: 권한을 설정합니다.

r : read (4), w : write (2), x : execute (1)

$ chmod u+x file.txt    // file.txt 파일의 소유자에게 실행 권한을 부여합니다.
$ chmod g+rw file.txt    // file.txt 파일의 그룹에게 읽기와 쓰기 권한을 부여합니다.
$ chmod o-rwx file.txt    // file.txt 파일의 다른 사용자에게 읽기, 쓰기, 실행 권한을 제거합니다.

 

chown 명령어

> 파일이나 디렉토리의 소유자와 그룹을 변경하는 명령어입니다. 

  • -R: 하위 디렉토리까지 모두 변경합니다.
  • -v: 변경된 파일과 디렉토리를 출력합니다.
$ chown user1 file1    // file1 파일의 소유자를 user1으로 변경합니다.
$ chown user1:group1 file1    // file1 파일의 소유자를 user1으로, 그룹을 group1으로 변경합니다.
$ chown -R user1:group1 dir1    // dir1 디렉토리와 하위 디렉토리의 모든 파일과 디렉토리의 소유자를 user1으로, 그룹을 group1으로 변경합니다.

 

4. 매뉴얼 및 기타

cls 명령어

> 현재 콘솔 창의 화면을 지워줍니다. 유닉스 또는 윈도우에서는 clear 명령어를 사용합니다.

 

man 명령어

> 각종 명령어, 프로그램의 사용법을 확인할 수 있는 명령어입니다. man 명령어를 사용하면 각 명령어의 사용법과 옵션 등을 확인할 수 있습니다.

$ man [명령어]

 

728x90
반응형