리눅스 명령어. Sudo는 무엇이고, 자주쓰는 리눅스 명령어는 뭐가 있을까?

웹 호스팅 서버에 들어가면 가장 많이 쓰는 명령어 중에 하나가 sudo일겁니다. mkdir, cp등은 많이 봤지만 sudo는 대체 뭐지 했던 기억이 있어서 기록을 남겨봅니다.

sudo는 “Superuser Do”의 약자로, 일반 사용자가 관리자(root) 권한이 필요한 명령어를 일시적으로 실행할 수 있도록 해주는 명령어입니다.

  • 왜 필요할까요? 리눅스는 보안을 중요하게 생각하기 때문에, 일반 사용자가 시스템의 중요한 설정을 함부로 변경하거나 시스템 파일에 접근하는 것을 막습니다. 하지만 때로는 소프트웨어를 설치하거나 시스템 설정을 변경하는 등의 관리자 권한이 필요한 작업을 수행해야 할 때가 있습니다. 이때 sudo 명령어를 사용하면, 미리 설정된 사용자만이 일시적으로 관리자 권한을 얻어 작업을 수행할 수 있게 됩니다.
  • 어떻게 사용하나요? 관리자 권한이 필요한 명령어 앞에 sudo를 붙여서 실행합니다. 예를 들어, 새로운 소프트웨어를 설치하려면 다음과 같이 명령어를 실행할 수 있습니다. Bashsudo apt update sudo apt install <패키지 이름> 이때, 처음 sudo 명령어를 실행하면 비밀번호를 입력하라는 메시지가 나타납니다. 자신의 사용자 계정 비밀번호를 입력하면, 해당 명령어가 관리자 권한으로 실행됩니다. 일정 시간 동안은 비밀번호를 다시 입력하지 않아도 sudo 명령어를 사용할 수 있습니다.
  • 주의할 점: sudo 명령어는 강력한 권한을 부여하기 때문에, 신중하게 사용해야 합니다. 함부로 사용하거나 알 수 없는 명령어를 sudo로 실행하면 시스템에 심각한 문제를 일으킬 수 있습니다.

sudo 외에 중요한 리눅스 명령어들:

리눅스에는 정말 많은 유용한 명령어들이 있지만, 그중에서도 특히 자주 사용되고 중요한 몇 가지를 소개해 드릴게요.

  • 파일 및 디렉토리 관리:
    • ls: 현재 디렉토리의 파일 및 하위 디렉토리 목록을 보여줍니다. 다양한 옵션을 사용하여 상세 정보, 숨김 파일 등을 확인할 수 있습니다. (ls -al, ls -h 등)
    • cd: 현재 작업 디렉토리를 변경합니다. (cd .., cd ~ 등)
    • pwd: 현재 작업 디렉토리의 절대 경로를 보여줍니다.
    • mkdir: 새로운 디렉토리를 생성합니다. (mkdir <디렉토리 이름>)
    • rmdir: 빈 디렉토리를 삭제합니다.
    • rm: 파일 또는 디렉토리를 삭제합니다. (rm <파일 이름>, rm -r <디렉토리 이름>주의해서 사용해야 합니다!)
    • cp: 파일 또는 디렉토리를 복사합니다. (cp <원본> <대상>, cp -r <디렉토리 원본> <디렉토리 대상>)
    • mv: 파일 또는 디렉토리를 이동하거나 이름을 변경합니다. (mv <원본> <대상>)
    • touch: 빈 파일을 생성하거나 파일의 접근/수정 시간을 업데이트합니다.
    • cat: 파일의 내용을 화면에 출력합니다.
    • less: 파일 내용을 페이지 단위로 끊어서 보여주며, 탐색 기능을 제공합니다.
    • head: 파일의 처음 몇 줄을 보여줍니다. (head -n <숫자> <파일 이름>)
    • tail: 파일의 마지막 몇 줄을 보여줍니다. (tail -n <숫자> <파일 이름>, tail -f <파일 이름> – 실시간으로 로그를 확인할 때 유용합니다.)
    • find: 특정 조건에 맞는 파일이나 디렉토리를 검색합니다. (매우 강력한 명령어입니다!)
    • chmod: 파일 또는 디렉토리의 권한을 변경합니다.
    • chown: 파일 또는 디렉토리의 소유자를 변경합니다.
  • 시스템 정보 및 관리:
    • ps: 현재 실행 중인 프로세스 목록을 보여줍니다. (ps aux, ps -ef 등)
    • top 또는 htop: 시스템의 실시간 자원 사용량 (CPU, 메모리 등)과 프로세스 정보를 보여줍니다.
    • df: 디스크 공간 사용량을 보여줍니다. (df -h)
    • du: 디렉토리별 디스크 사용량을 보여줍니다. (du -sh <디렉토리 이름>)
    • free: 메모리 사용량을 보여줍니다. (free -h)
    • uname: 시스템 정보를 보여줍니다. (uname -a)
    • uptime: 시스템이 얼마나 오랫동안 실행되었는지, 현재 사용자 수, 시스템 부하 등을 보여줍니다.
    • date: 현재 시스템 날짜 및 시간을 보여주거나 설정합니다.
    • history: 이전에 실행했던 명령어 목록을 보여줍니다.
    • shutdown 또는 reboot: 시스템을 종료하거나 재부팅합니다. (sudo shutdown -h now, sudo reboot)
    • systemctl: 시스템 서비스를 관리합니다 (시작, 중지, 재시작, 상태 확인 등). (sudo systemctl status <서비스 이름>, sudo systemctl start <서비스 이름>)
  • 네트워킹:
    • ip addr 또는 ifconfig: 네트워크 인터페이스 정보를 확인합니다.
    • ping: 특정 호스트에 네트워크 연결이 가능한지 확인합니다. (ping <호스트 주소>)
    • netstat 또는 ss: 네트워크 연결, 라우팅 테이블, 인터페이스 통계 등을 보여줍니다.
    • ssh: 원격 서버에 안전하게 접속합니다. (ssh <사용자 이름>@<호스트 주소>)
    • scp: 원격 서버와 파일을 안전하게 복사합니다. (scp <원본> <대상>)
  • 패키지 관리 (배포판에 따라 다름):
    • apt (Debian, Ubuntu): 패키지 설치, 제거, 업데이트 등을 관리합니다. (sudo apt update, sudo apt install <패키지 이름>, sudo apt remove <패키지 이름>)
    • yum 또는 dnf (Red Hat, CentOS, Fedora): 패키지 설치, 제거, 업데이트 등을 관리합니다. (sudo yum update, sudo dnf install <패키지 이름>, sudo dnf remove <패키지 이름>)
    • pacman (Arch Linux): 패키지 설치, 제거, 업데이트 등을 관리합니다. (sudo pacman -Syu, sudo pacman -S <패키지 이름>, sudo pacman -R <패키지 이름>)

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다