서기록

리눅스 자주 사용하는 기본 명령어 모음

2023-10-31 / seogilang

 일부 배포판에서 GUI 환경을 제공하기는 하지만 리눅스는 주로 명령어를 통해 사용된다고 보면 된다.

 이 때문에 리눅스를 처음 접하거나 익숙하지 않다면 명령어를 잘 몰라서 해메는 경우가 많은데 자주 사용할만한 기본 명령어를 간단하게 정리해봤으니 참고하면 도움이 되지 않을까 한다.

 

자주 사용하는 기본 명령어

– 권한 관련 명령어

sudo

 Super User DO의 약자로 실행할 명령어 앞에 넣으면 해당 명령어를 root 권한으로 실행할 수 있다.
(윈도우의 관리자 권한으로 실행과 비슷하다고 보면 된다)

 sudo chmod 644 seogilog.txt

  : root 권한으로 seogilog.txt 파일에 대한 권한을 변경한다.

 

su

 다른 사용자의 권한으로 새로운 쉘 세션을 시작한다.
(잠시 사용자를 변경하는 것이라고 보면 된다)

 su seogilog

  : seogilog 사용자로 새 쉘 세션을 시작한다.

 

Who

 현재 시스템에 접속한 사용자의 이름이나 정보를 확인한다.

 

chmod

 파일이나 디렉토리의 권한을 변경한다.

 chmod 755 seogilog.txt

  : seogilog.txt 파일에 대한 권한을 변경한다.

 숫자에 따라 권한이 달라지며 일반적으로 권한 변경 시 755와 644 권한으로 변경하는 경우가 많다.

 

chown

 파일이나 디렉토리의 소유자와 그룹을 변경한다.

 chown user:group seogilog.txt

  : seogilog.txt 파일에 대한 소유자를 user로, 그룹을 group으로 변경한다.

 

– 파일과 디렉토리 관련 명령어.

ls

 현재 디렉토리의 내용 확인한다.

 

pwd

 현재 작업 디렉토리의 전체 경로를 확인한다.

 

cd

 디렉토리를 이동한다.

 cd /home/user

  : 현재 디렉토리를 /home/user로 이동한다.

 

cp

 파일이나 디렉토리를 복사한다.

 cp s.txt seogilog.txt

  : s.txt 파일을 seogilog.txt 파일로 복사한다.

 

mv

 파일이나 디렉토리를 이동하거나 이름을 변경한다.

 mv s.txt seogilog.txt

  : seo.txt 파일을 seogilog.txt 파일로 이름을 변경한다.

  디렉토리를 추가하면 이동이 가능하다.

 

rm

 파일이나 디렉토리를 삭제한다.

 rm s.txt

  : seo.txt 파일을 삭제한다.

  옵션으로 -r을 붙이면 디렉토리도 삭제할 수 있다.

 

mkdir

 새로운 디렉토리를 생성한다.

 mkdir seogilang

  : seogilang 디렉토리를 생성한다.

 

find

 파일 검색 명령어로 옵션에 따라 파일의 내용도 검색할 수 있기 때문에 상당히 유용하다.

 find / -name s.txt

  : 시스템 전체 경로에서 s.txt 파일을 검색한다.

 

tar

 파일을 결합하거나 압축한다.

 tar -cvzf s.tar.gz seogilog

  : seogilog 디렉토리를 s.tar.gz로 압축한다.

 

 tar -xvzf s.tar.gz

  : s.tar.gz의 압축을 해제한다.

 

– 텍스트 편집 명령어

cat

 파일을 편집하는 명령어는 아니지만 간단하게 파일의 내용을 확인할 때 사용하는 명령어.

 cat seogilog.txt

  : seogilog.tct 파일의 내용을 확인한다.

 

nano

 간단한 텍스트 편집기.

 nano seogilog.txt

  : nano 편집기를 사용하여 seogilog.tct 파일을 편집한다.

 

vi

 텍스트 편집기 중 하나로, 키보드만을 사용하여 텍스트를 편집할 수 있기 때문에 처음 사용은 어렵지만 익숙해진다면 빠른 속도로 편집이 가능하다.

 vi seogilog.txt

  : vi 편집기를 사용하여 seogilog.tct 파일을 편집한다.

 

– 네트워크 관련 명령어

ping

 네트워크 연결 상태를 테스트한다.

 ping google.com

  : google.com 서버로 패킷을 보내고 연결 상태를 테스트한다.

 

ifconfig

 네트워크 인터페이스를 설정하거나 표시한다.

 

netstat

 네트워크 연결, 라우팅 테이블, 인터페이스 상태 등을 확인한다.

 netstat -tuln

  : 현재 TPC와 UDP 연결 상태를 확인한다.

 

ssh

 원격 컴퓨터에 로그인합니다.

 ssh user@hostname

  : hostname호스트에 user로 ssh 로그인을 한다.

 

ssh-keygen

 SSH를 위한 공개 키/개인 키 쌍을 생성한다.

 

– 패키지 관리 명령어

apt-get

 패키지 관리 도구로, 패키지를 설치하거나 제거하고, 패키지를 업그레이드하는 등의 작업을 수행한다.

 sudo apt-get install packageName

  : packageName이라는 패키지를 설치한다..

yum

 Red Hat 계열의 리눅스 배포판에서 사용하는 패키지 관리 도구로 다른 배포판에서 사용하고자 한다면 yum을 설치하면 된다.

 

– 프로세스, 서비스 관련 명령어

ps

 현재 실행 중인 프로세스를 확인한다.

 ps -ef | grep prosessName

  : prosessName를 검색한다.

 

top

 시스템의 전반적인 상황을 실시간으로 확인한다.

 

kill

 프로세스를 강제로 종료한다.

 kill -9 PID

  : PID 프로세스를 강제 종료한다.

 

systemctl

 리눅스의 서비스 상태를 확인하거나, 실행, 중지, 재시작, 부팅 시 자동 시작 등의 설정을 한다.

 systemctl start service

  : service 서비스를 시작한다.

 

 systemctl stop service

  : service 서비스를 중단한다.

 

 systemctl enable service

  : 시스템 부팅 시 service 서비스를 자동 시작한다.

 

– 파일 다운로드 명령어

wget

 웹에서 파일을 다운로드한다.

 wget https://seogilog.com/s.txt

  : https://seogilog.com/s.txt 파일을 다운로드 한다.

 

curl

 웹에서 데이터를 전송한다.

 curl -o https://seogilog.com/s.txt

  : https://seogilog.com/s.txt 파일을 다운로드 한다.

 

– 기타 명령어

man

 명령어의 메뉴얼을 확인한다.

 man ls

  : ls의 메뉴얼을 확인한다.

 

crontab

 예약 작업을 설정하고 실행한다.

 crontab -e

  : 크론탭 파일을 편집한다.

 

 크롬탭 파일에는 분, 시, 일, 월, 요일 실행스크립트를 넣으면 된다.

 매일 1시 30분에 seogilog.sh 스크립트를 실행하고자 한다면 아래과 같이 입력하면 된다.

 30 1 * * * /var/seogilog.sh

기본 명령어 크론탭 사용 방법

  

df

 디스크 사용량을 확인하는 명령어.

 

du

 디렉토리나 파일의 디스크 사용량 확인하는 명령어.

 

shutdown

 시스템을 종료한다.

 shutdown -r

  : 시스템을 재부팅 한다.

 

그 외 내용

 소개한 명령어는 간단한 사용 방법의 예시만 넣은 것으로 명령어의 옵션을 자세히 확인하고자 한다면 명령어를 입력할 때 옵션으로 -h 혹은 –help을 넣어주면 확인이 가능하다.

 간혹 -h에 다른 기능이 할당되어 있거나 기능이 없는 명령어도 존재하는데 이런 경우에는 man을 사용하여 명령어의 매뉴얼을 확인해 보자.