AWS Lightsail 인스턴스 관리를 위한 필수 리눅스 명령어 25가지

글자 크기

AWS Lightsail 을 이용하여 워드프레스를 운영하기 위해서는 몇가지 리눅스 명령어를 알아야 하지만, 윈도우 기반의 GUI 시스템만 사용하셨던 분들에게는 어려울 수 있습니다. 이런 분들을 위해 이 글에서 AWS Lightsail 인스턴스 관리를 위한 필수 리눅스 명령어 25가지에 대해 알아보겠습니다. 

광고가 표시되면 저희에게 많은 도움이 됩니다.

AWS Lightsail 인스턴스 관리를 위한 필수 리눅스 명령어 25가지



1. 시스템 정보 확인


1) uname -a

  • 설명: 시스템에 대한 모든 정보(커널 이름, 호스트 이름, 커널 릴리즈, 커널 버전, 머신 하드웨어 이름, 프로세서 유형, 하드웨어 플랫폼, 운영체제)를 표시합니다.
  • 예제 : uname -a


2) hostname

  • 설명: 현재 시스템의 네트워크 호스트 이름을 표시하거나 변경합니다. 루트 권한이 필요할 수 있습니다.
  • 예제:
    • 현재 호스트 이름 표시 : hostname
    • 호스트 이름 변경 (루트 권한 필요) : sudo hostname new_hostname


3) df -h

  • 설명: 파일 시스템별로 디스크 사용량을 사용자가 읽을 수 있는 형태(예: MB, GB)로 표시합니다.
  • 예제 : df -h


4) free -m

  • 설명: 시스템의 메모리 사용량(총 메모리, 사용 중인 메모리, 무료 메모리, 버퍼/캐시 사용량)을 MB 단위로 표시합니다.
  • 예제 : free -m


2. 파일 및 디렉토리 관리


5) ls -l

  • 설명: 현재 디렉토리의 파일 목록을 자세히(파일 모드, 링크 수, 소유자, 그룹, 파일 크기, 타임스탬프, 파일명) 표시합니다.
  • 예제 : ls -l


6) cd directory_name

  • 설명: 사용자를 지정된 디렉토리로 이동시킵니다.
  • 예제:
    • 홈 디렉토리로 이동 : cd ~
    • 상위 디렉토리로 이동 : cd ..


7) pwd

  • 설명: 현재 작업 중인 디렉토리의 절대 경로를 표시합니다.
  • 예제 : pwd


8) mkdir directory_name

  • 설명: 새 디렉토리를 만듭니다.
  • 예제 : mkdir new_directory


9) rm file_name

  • 설명: 파일이나 디렉토리를 삭제합니다. 디렉토리를 삭제하려면 -r 옵션을 사용해야 합니다.
  • 예제:
    • 파일 삭제 : rm file.txt
    • 디렉토리 삭제 : rm -r directory_name


10) cp source_file target_file

  • 설명: 파일을 복사합니다.
  • 예제 : cp original.txt copy.txt


11) mv old_name new_name

  • 설명: 파일 또는 디렉토리의 이름을 변경하거나 다른 위치로 이동합니다.
  • 예제 : mv old_name.txt new_name.txt



3. 파일 내용 확인 및 수정


12) cat file_name

  • 설명: 파일의 내용을 표준 출력(보통은 화면)에 표시합니다.
  • 예제 : cat file.txt


13) more file_name / less file_name

  • 설명: 파일 내용을 페이지 단위로 확인할 수 있습니다. lessmore보다 더 많은 기능을 제공합니다.
  • 예제:
    • more 사용 : more file.txt
    • less 사용 : less file.txt


14) tail file_name

  • 설명: 파일의 마지막 부분을 표시합니다. 로그 파일 같은 지속적으로 업데이트되는 파일을 모니터링할 때 유용합니다.
  • 예제 : tail -f /var/log/syslog


15) grep ‘search_string’ file_name

  • 설명: 파일 내에서 주어진 문자열이 포함된 모든 줄을 검색합니다.
  • 예제 : grep 'error' /var/log/syslog


16) nano file_name / vi file_name


a) nano
  • nano는 리눅스 초보자들에게 친숙한 인터페이스를 제공하는 간단하고 사용하기 쉬운 텍스트 에디터입니다. nano는 기본적인 텍스트 편집 기능을 제공하며, 키보드 단축키와 명령어가 화면 하단에 표시되어 있어 사용자가 쉽게 조작할 수 있습니다.
  • 특징
    • 사용하기 쉬운 인터페이스
    • 화면 하단에 표시되는 도움말로 키보드 단축키와 명령어 쉽게 알 수 있음
    • 검색, 교체, 자르기, 붙여넣기 등의 기본적인 편집 기능 제공
    • 여러 파일 동시 편집 지원 (탭이나 창 기반의 인터페이스는 아님)
  • 사용 예제
    • 파일 열기 : nano file.txt
    • 저장하고 나가기 : Ctrl + O를 누른 뒤 Enter 키를 누르고, Ctrl + X로 종료
    • 검색 : Ctrl + W, 검색할 텍스트 입력
    • 자르기 (삭제) : Ctrl + K
    • 붙여넣기 : Ctrl + U

b) vi/vim
  • vi는 원래 유닉스 시스템에 포함된 전통적인 텍스트 에디터이며, vim (Vi IMproved)은 vi의 강화된 버전으로, 더 많은 기능과 개선된 사용자 인터페이스를 제공합니다. vi/vim은 텍스트 편집의 효율성과 강력한 기능을 제공하지만, 초보자에게는 사용법이 다소 복잡할 수 있습니다.
  • 특징
    • 다양한 모드 지원 (명령 모드, 입력 모드, 비주얼 모드 등)
    • 강력한 텍스트 편집 및 프로그래밍 기능 (문법 강조, 코드 완성, 플러그인 지원 등)
    • 커스터마이징이 가능한 설정
    • 키보드만으로 모든 작업 수행 가능, 마우스 사용 최소화
  • 사용 예제
    • 파일 열기 : vi file.txt 또는 vim file.txt
    • 입력 모드 전환 : i (Insert 모드)
    • 명령 모드로 돌아가기 : Esc
    • 저장하고 나가기 : :wq (Write and Quit)
    • 강제 종료(저장하지 않고) : :q!
    • 검색 : /text to search



4. 사용자 및 그룹 관리


17) whoami

  • 설명: 현재 로그인한 사용자의 이름을 표시합니다.
  • 예제 : whoami


18) sudo command

  • 설명: 슈퍼유저 또는 루트 권한으로 명령을 실행합니다.
  • 예제 : sudo apt update


19) useradd user_name

  • 설명: 새로운 사용자 계정을 생성합니다.
  • 예제 : sudo useradd new_user


20) passwd user_name

  • 설명: 사용자 계정의 비밀번호를 설정하거나 변경합니다.
  • 예제 : sudo passwd user_name


21) groupadd group_name

  • 설명: 새로운 그룹을 생성합니다.
  • 예제 : sudo groupadd new_group


5. 네트워킹


22) ping host

  • 설명: 네트워크 호스트에 대한 연결을 테스트합니다. 패킷 손실률과 왕복 시간을 보여줍니다.
  • 예제 : ping google.com


23) netstat -tuln

  • 설명: 시스템의 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 표시합니다.
  • 예제 : netstat -tuln


6. 파일 권한 변경


24) chmod permissions file_name

chmod 명령어는 리눅스와 유닉스 시스템에서 파일이나 디렉토리의 권한을 변경하는 데 사용됩니다. 파일 권한은 파일의 소유자(owner), 소유자가 속한 그룹(group), 그리고 시스템의 다른 모든 사용자(others)에 대한 접근 권한을 제어합니다. chmod 명령어는 숫자와 기호 두 가지 방식으로 권한을 지정할 수 있습니다.


a) 권한의 종류
  • 읽기(read, r) : 파일의 내용을 볼 수 있는 권한, 디렉토리의 경우 디렉토리 내의 파일 목록을 볼 수 있는 권한
  • 쓰기(write, w) : 파일의 내용을 변경할 수 있는 권한, 디렉토리의 경우 파일을 생성하거나 삭제할 수 있는 권한
  • 실행(execute, x) : 파일을 실행할 수 있는 권한, 디렉토리의 경우 디렉토리 내로 이동할 수 있는 권한

b) 숫자를 사용한 권한 설정 (Octal Notation)

각 권한은 숫자로 표현할 수 있으며, 이 숫자들을 조합하여 파일이나 디렉토리의 권한을 설정할 수 있습니다.

  • 4 : 읽기 권한
  • 2 : 쓰기 권한
  • 1 : 실행 권한
  • 0 : 권한 없음

세 자리 숫자를 사용하여 chmod 명령어로 권한을 설정합니다. 첫 번째 숫자는 소유자의 권한, 두 번째 숫자는 그룹의 권한, 세 번째 숫자는 다른 사용자의 권한을 나타냅니다.

예를 들어, chmod 755 file 명령어는 소유자에게 읽기, 쓰기, 실행 권한을 부여하고(7 = 4+2+1), 그룹과 다른 사용자에게는 읽기와 실행 권한만 부여합니다(5 = 4+1).

c) 기호를 사용한 권한 설정 (Symbolic Mode)

기호를 사용하여 더 직관적으로 권한을 설정할 수 있습니다.

  • u (user) : 소유자
  • g (group) : 그룹
  • o (others) : 다른 모든 사용자
  • a (all) : 모든 사용자 (u, g, o를 모두 포함)

권한을 추가(+), 제거(-), 설정(=)할 수 있습니다.

예를 들어, chmod g+w file 명령어는 그룹에게 쓰기 권한을 추가합니다. chmod o-r file 명령어는 다른 모든 사용자의 읽기 권한을 제거합니다. chmod u=rx file 명령어는 소유자에게 읽기와 실행 권한만 설정하고, 쓰기 권한은 제거합니다.

d) 예제
  • 755 설정 : 일반적으로 웹 서버에서 스크립트 파일에 사용합니다. chmod 755 script.sh
  • 644 설정 : 일반적인 문서나 이미지 파일에 사용합니다. chmod 644 document.txt
  • 그룹에 쓰기 권한 추가 : chmod g+w filename
  • 다른 모든 사용자의 실행 권한 제거 : chmod o-x filename

chmod 명령어를 사용할 때는 권한 변경이 민감한 파일이나 디렉토리에 영향을 줄 수 있으므로 주의해야 합니다. 권한을 변경하기 전에 현재 권한을 확인하는 것이 좋으며, 이는 ls -l 명령어로 확인할 수 있습니다.


25) chown user:group file_name

  • 설명: 파일 또는 디렉토리의 소유자와 그룹을 변경합니다.
  • 예제 : chown user:group file



오늘은 AWS Lightsail 인스턴스 관리를 위한 필수 리눅스 명령어 25가지를 알아보았습니다. 명령어를 통해 시스템을 조작하는 리눅스가 처음이신 분들은 생소한 명령어들로 인해 어려움을 느끼거나 주저하실 수 있습니다. 명령어 사용에 익숙해지기 위해서는 시스템에 직접 접속하여 하나씩 직접 실행해 보고 결과를 확인하는 것이 좋습니다. 다만, rm과 mv와 같이 파일을 삭제하거나 이동시키는 명령어는 의도치 않게 시스템에 영향을 줄 수 있으므로 사용에 주의하시기 바랍니다.