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
- 설명: 파일 내용을 페이지 단위로 확인할 수 있습니다.
less
는more
보다 더 많은 기능을 제공합니다. - 예제:
- more 사용 :
more file.txt
- less 사용 :
less file.txt
- more 사용 :
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와 같이 파일을 삭제하거나 이동시키는 명령어는 의도치 않게 시스템에 영향을 줄 수 있으므로 사용에 주의하시기 바랍니다.