이것이 리눅스다

서버를 구축할 때 알아야 할 필수 개념과 명령어


리눅스 명령어는 옵션까지 모두 포함한다면 수천 개가 넘는다.
이러한 명령어를 다외운다는 것은 거의 불가능하며, 그럴 필요도 없다.
최소한 알아야 하는 개념과 기본 명령어를 알아보자!


시스템 종료 명령어

  • poweroff
  • halt -p
  • init 0


일정 시간 후에 종료

  • shutdown -P +10 : 10분 후에 종료(P: poweroff)
  • shutdown -r 22:00 : 오후 10시에 재부팅(r: reboot)
  • shutdown -c : 예약된 shutdown을 취소(c: cancel)
  • shutdown -k +15 : 현재 접속한 사용자에게 15분 후에 종료된다는 메시지를 보내지만 실제로 종료는 안 됨


주의
대소문자 명확히 구분하기
su - : root 권한 얻기
'#' : root 사용자
'$' : 일반 사용자


일정 시간 후에 종료


  • shutdown -r now
  • reboot
  • init 6


로그아웃


  • logout
  • exit


가상 콘솔


  • 가상 콘솔이란 ‘가상의 모니터’
  • CentOS는 총 6개의 가상 콘솔 제공 (우분투도 6개)
  • 즉, 컴퓨터 한 대에 모니터 6개 연결된 효과

  • Ctrl + Alt + F1 ~ F6


consol


  • 가상 콘솔 6번째 모습
  • 기본 콘솔은 2번째


기타


  • init 뒤에 붙는 숫자를 런레벨이라 함
  • 폴더와 디렉토리는 동일한 용어
  • 윈도우: 폴더
  • 유닉스/리눅스: 디렉토리


자동 완성과 히스토리


  • tab : 파일/폴더 이름의 일부만 입력하고 tab 하면 자동 완성됨
  • 도스 키: 이전에 입력한 명령어를 위아래 방향키를 통해 나타냄


history


  • history : 과거 입력한 명령어 조회 가능
  • history -c : 기억되었던 명령 모두 삭제


  • cd : 사용자 홈 디렉터리로 이동
  • cd 디렉토리명 : 해당 디렉토리로 이동
  • cat 파일명 : 파일 내용 확인


에디터 사용


1. gedit


gedit


  • gedit Windows의 메모장처럼 X 윈도에서 제공되는 편리한 에디터

  • sudo apt install gedit
  • gedit


2. vi


vi


  • vi 파일명 - 파일명으로 파일 생성
  • vi 입력 시 파일명을 입력 안 하면, :wq 파일명 으로 저장 가능
  • I/A : 끼워 넣기 // 입력 모드
  • :q : 종료(Quit)
  • :wq : 저장(Write0 & 종료(Quit)
  • :%s/기존문자열/새문자열 : 문자열 치환


리눅스 기본 명령어


ls


  • ls: 현재 디렉터리의 파일 목록
  • ls /etc/sysconfig : /etc/sysconfig 디렉터리의 목록
  • ls -a : 현재 디렉터리의 목록(숨김 파일 포함)
  • ls -l : 현재 디렉터리의 목록을 자세히 보여줌
  • ls *.cfg : 확장자가 cfg인 목록을 보여줌
  • ls -l /etc/sysconfig/a* : /etc/sysconfig 디렉터리에 있는 목록 중 앞 글자가 ‘a’인 것의 목록을 자세히 보여줌


cd


  • cd : 현재 사용자의 홈 디렉터리로 이동, 만약 사용자가 root면 ‘/root’ 디렉터리로 이동.
  • cd ~centos : centos 사용자의 홈 디렉터리로 이동
  • cd .. : 바로 상위의 디렉터리로 이동
  • cd /etc/sysconfig : /etc/sysconfig 디렉터리로 이동(절대 경로)
  • cd ../etc/sysconfig : 상대 경로로 이동. 현재 디렉터리의 상위(‘..’)로 이동한 후, 다시 /etc/sysconfig로 이동


pwd


  • pwd : 현재 디렉터리의 전체 경로


rm


  • rm 파일명 : 해당 파일을 삭제
  • rm -i 파일명 : 삭제 시 정말 삭제할지 확인하는 메시지가 나옴
  • rm -f 파일명 : 삭제 시 확인하지 안혹 바로 삭제(f는 Force의 약자)


  • rm -r 디렉터리명 : 해당 디렉토리 삭제
  • rm -rf 디렉터리명 : 해당 디렉터리와 그 아래에 있는 하위 디렉터리를 강제로 전부 삭제


cp


  • cp aaa.txt bbb.txt : aaa.txt를 bbb.txt라는 이름으로 바꿔서복사
  • cp -r aaa bbb : 디렉터리 복사


touch


  • touch abc.txt : 파일이 없을 경우엔 abc.txt라는 빈 파일을 생성하고, abc.txt가 있을 경우엔 파일의 최종 수정 시간을 현재 시각으로 변경


mv


  • mv abc.txt /etc/sysconfig/ : abc.txt을 /etc/sysconfig/ 디렉터리로 이동
  • mv aaa bbb ccc ddd : aaa, bbb, ccc 파일을 ‘/ddd’ 디렉터리로 이동
  • mv abc.txt www.txt : abc.txt의 이름을 www.txt로 변경해서 이동


mkdir


  • mkdir abc : 현재 디렉터리 아래에 ‘/abc’라는 디렉터리 생성
  • mkdir -p /def/fgh : ‘/def/fgh’ 디렉터리를 생성하는데, 만약 ‘/fgh’의 부모 디렉터리인 ‘/def’ 디렉터리가 없다면 자동으로 생성 (p는 Parents의 약자)


rmdir


  • rmdir abc : ‘/abc’ 디렉터리를 삭제


cat


  • cat a.txt b.txt : a.txt와 b.txt를 연결해서 파일의 내용을 화면에 보여줌


head, tail


  • head anaconda-ks.cfg : 해당 파일의 앞 10행을 화면에 출력
  • head -3 anaconda-ks.cfg : 앞 3행만 화면에 출력
  • tail -5 anaconda-ks.cfg : 마지막 5행만 화면에 출력


clear


  • clear : 현재 사용 중인 터미널 화면을 깨끗하게 지워준다.


리눅스 관리자를 위한 명령어


  • CentOS에서 패키지(프로그램)을 설치하는 데 가장 많이 사용하는 것이 RPM, YUM
  1. RPM(Redhat Package Manager)
  2. YUM - RPM의 개념과 기능을 포함, RPM 패키지를 설치하는 편리한 도구라고 생각 -> YUM 사용하기
  • RPM은 의존성 문제 발생
  • YUM은 패키지 의존성 문제를 완전 해결
  • 즉, 특정 패키지를 서리하고자 할 때 의존성이 있는 다른 패키지를 자동으로 먼저 설치해 줌
  • YUM은 CentOS 프로젝트가 제공하는 rpm 파일 저장소에서 설치할 rpm 파일은 물론이고 의존성이 있는 다른 rpm 파일까지 인터넷을 통해 모두 알아서 다운로드한 후 자동으로 설치함. -> rpm 패키지를 설치할 때 의존성 문제를 고민하지 않아도 됨


YUM의 기본 사용법


  • yum -y install 패키지이름 : 기본 설치 방법, ‘-y’ 옵션은 yes/no 묻는 부분에서 무조건 yes 입력
  • yum check-update : 업데이트 가능한 목록 보기
  • yum update 패키지이름 : 업데이트
  • yum remove 패키지이름 : 설치된 패키지 제거
  • yum info 패키징지름 : 패키지의 요약 정보를 보여줌


YUM의 고급 사용법


  • yum groupinstall “패키지그룹이름” : 패키지 그룹 설치(패키지 그룹에 포함되는 패키지를 통째로 설치)
  • yum grouplist : 패키지 그룹의 종류 확인
  • yum list 패키지이름 : 패키지 리스트 확인
  • yum provieds 파일이름 : 특정 파일이 속한 패키지 이름 확인
  • yum clean all : 기존 저장소 목록 지우기
서브목차