티스토리 뷰

terminal 에서 확인되는 내용

 

우리가 익숙한 윈도우와 달리, 리눅스는 텍스트 기반 콘솔을 통해 커맨드를 입력 받으며 유저의 명령들을 수행한다.
그런 면에서 리눅스 명령어를 습득하는건 윈도우에서 마우스와 키보드의 존재만큼 중요하다고 볼 수 있다.
리눅스 초보자가 반드시 알고 있어야되는 기본적이고, 자주 쓰이는 기초 명령어들을 정리해보았다. 

1. CentOS7 기초적인 시스템 형식
2. CentOS7 기본 명령어 모음
3. CentOS7 기초 명령어 (파일 관련)
4. CentOS7 기초명령어 (상태확인)

 

[CentOS7 기초적인 시스템 형식]

- 명령어 형식

리눅스의 명령어는 아래의 형식을 따라간다. 
 # command [-단일문자옵션] [--다중문자옵션]

단일문자옵션은 동시에 여러 개를 지정할 수 있다, eg. ls -a -l = ls -al
 참조) 다중문자옵션이란 한 글자가 아닌 여러 글자, 즉 단어로 이루어진 커맨드를 실행할때 사용하는 커맨드이다.

 


- 디렉토리

디렉토리는 파일을 담고 있는 일종의 공간, 방이라고 생각하면 쉽다. 기본적으로 컴퓨터에선 파일을 분류하기 위해 사용하는 이름 공간이다. 
디렉토리 또한 파일의 일종이며 최대 255자까지 이름을 지어줄 수 있다.
대소문자 구분 또한 가능하지만, 타 파일과 달리 파일명 뒤에 확장자를 붙여주지 않는다. 

- 리눅스에선 두 가지 방법으로 디렉토리를 표현할 수 있다:
  > 절대 경로 표현방법
  > 상대 경로 표현방법
  > 절대 경로 표현방법은 /디렉토리(루트)를 기준으로 표현해 준다, eg. /currentLocation/file.txt
  > 상대 경로 표현방법은 현재 위치(./)를 기준으로 표현해준다, eg. ./file.txt

 


- 루트란?

루트(root)란 리눅스가 기점으로 트리 구조를 구성하는 /디렉토리를 의미한다. 

 


- 알아둬야 할 디렉토리의 표현

 /: 최상위 root 디렉토리 (절대경로)
 ./: 현재 디렉토리 (상대경로, 생략가능)
 ../: 현재 디렉토리의 상위 디렉토리
 ~/: 각 사용자의 홈 디렉토리

 

 

[CentOS7 기본 명령어 모음]


cd: 디렉토리를 이동하는 명령어 (보통 추가 옵션 없이 사용) eg, #cd [이동할 디렉토리명]
pwd: 현재 위치한 디렉토리를 절대경로 표현법으로 출력
rmdir: 지정한 디렉토리를 삭제 (디렉토리가 비워져 있을때만 사용 가능)
mkdir: 지정한 디렉토리를 생성 (생성한 디렉토리는 생성한 유저의 소유가 됨)

참조) 
 -p, --parents: 생성하고자 하는 상위의 디렉토리까지 생성 가능
 --version: 버전 정보를 보여줌

 

[CentOS7 기초 명령어 (파일 관련)]

ls: 현재 디렉토리의 목록을 출력

 -a, -all: 숨겨진 파일의 목록까지 출력
 -l: 파일에 대한 정보를 자세히 출력
 -R: 하위 디렉토리의 내용까지 출력
 -h: 사람이 이해하기 쉽도록 파일의 크기를 출력
 -k: kb단위의 파일 크기 출력
 -i: 파일의 inode번호를 같이 출력 (고유 번호)

 


리다이렉트 (표준 입출력 지시자)

 >: 표준 출력 지시자 (커맨드 > 파일: 명령 결과를 파일로 저장)
 >>: 추가 표준 출력 지시자 (커맨드 >> 파일: 명령 결과를 파일에 추가)
 <: 표준 입력 지시자 (커맨드 < 파일: 파일의 내용을 명령의 입력 값으로 사용)

 


cat: 파일 또는 표준 입력의 내용을 그대로 표준 출력

#cat [옵션] [출력 대상 파일]
  -n: 행 단위 번호
  -b: 공백 라인을 제외하고 행 단위 번호 

 #cat [< 입력 파일 > 출력 파일]
  기본 입력 파일: 키보드
  기본 출력 파일: CRT
  입력 파일일 경우에 < 기호 생략 가능
  >>: 출력파일이 존재한다면 내용 추가
  eg1, cat a.txt
  eg2: cat < a.txt > b.txt

 


echo: 환경 변수나 입력 내용을 출력

#echo [환경변수 | 문자열]
 리다이렉트를 이용하면 파일을 생성할 수도 있음. 

 


cp: 파일이나 디렉토리를 복사

#cp [옵션] 원본파일 복사파일명
  -a: 원본의 속성유지
  -r: 하위 디렉토리리나 파일 모두 복사
  -f: 강제 실행
  -p: 파일의 소유와 권한등을 보존한 채 복사
  -u: 새 파일 덮어쓰기 금지 

 


mv: 파일이나 디렉토리를 이동

 #mv [옵션] 원본파일 이동파일명
  -f: 강제 실행
  -b: 파일이 덮어 쓰여질 경우 백업 파일을 생성
  -d: 디렉토리 삭제
  -i: 삭제 전 일일이 삭제 여부 확인
  -v: 삭제 파일 만들기

 


rm: 파일이나 디렉토리를 삭제

 #rm [옵션] 대상파일
  -f: 강제 실행
  -r: 대상 중에 디렉토리가 있는 경우 디렉토리도 삭제

 


tar: 여러 개의 파일을 하나의 파일로 압축하는 커맨드. 

> 하지만 용량은 줄어들지 않기 때문에 줄이기 위해 gzip 및 특별한 옵션을 이용한다.

#tar [옵션] [압축파일명] [대상]
 -c: 압축
 -x: 풀기
 -v: 작업내용을 출력
 -z: gzip을 이용한 압축(or 압축해제)
 -j: bzip2를 이용
 -f: 파일명을 지정
 -p: 퍼미션 유지

 


tar를 이용한 증분 백업:

 #tar [옵션] [압축파일명] -g [백업정보 파일] [대상]
 예).
 #tar cvfz myFolder_full.gz -g /backup/myFolder_backup /home/myFolder
 #tar cvfz myFolder_l1.gz -g /backup/myFolder_backup /home/myFolder
 #tar cvfz myFolder_l2.gz -g /backup/myFolder_backup /home/myFolder
 -> 복구는 반드시 압축 순으로 해제한다.
 > tar -xvf 커맨드를 사용해서 백업을 다시 복구하는 것도 가능하다.


gzip:

 #gzip a.txt? → a.txt.gz로 압축한다
 #gzip -d a.txt → 파일의 압축을 해제한다

 


bzip2, compress, cpio

 #bzip2[압축할 파일]: 압축
 #bunzip2[압축을 풀 파일]: 압축 해제
 #cpio -idmv < [압축파일명]: 압축 해제

참조)
bzip2, compress, cpio 등 여러가지 압축 커맨드가 있지만 다 똑같은 압축을 하는 다른 커맨드일 뿐이니 일반적으로 사용하는 tar나 gzip만 사용법을 익혀도 괜찮습니다.

 

 

 

 

 

[CentOS7 기초명령어 (상태확인 관련)]

clock: 리눅스 시스템에 탑재된 BIOS의 시간을 출력하거나 변경한다.

 #clock [옵션]
  -r: BIOS 시간을 읽어 표준 출력으로 출력한다.
  -w: 시스템의 시간으로 BIOS의 시간을 변경한다.
  -s: BIOS의 시간으로 시스템의 시간을 변경한다. (-w와 반대)



date: 지정한 포맷으로 시스템의 날짜를 출력한다.

 #date +[포맷]
  시: %H(00~23), %L(01~12), %k(0~23), %l(1~12), %p(AM~PM)
  분: %M(00~59)
  초: %S(00~59)
  시간: %r(hh12:mm:ss AM/PM), %T(hh24:mm:ss), %x(locale)
  기타: %s(1970년 1월 1일 이후로 경과된 초)
 #date +포맷(날짜):
  년: %Y(yyyy), %y(yy)
  월: %m(01~12), %B(January~December), %b(Jan~Dec)
  일: %d(01~31)
  요일: %A(Sunday~Saturday), %a(Sun~Sat), %w(0~6)
  기타: %D(mm/dd/yy), %x(locale), %j(00~365)

 

 

rdate: 인터넷상에 제공되는 서버로부터 시간정보를 받아 시간을 출력하거나 시스템의 시간을 재설정한다.

 #rdate [옵션] [시간 제공 서버 주소]
  -p: 타임 서버로부터 제공된 시간을 출력한다
  -s: 타임 서버로부터 제공된 시간을 이용 시스템의 시간으로 재설정한다

 


stat: 파일의 시간 정보를 출력한다 

 #stat 파일

 


리눅스 파일의 타임 스탬프:

 atime
  > 파일에 마지막으로 접근한 시간
  > 시스템이나 응용 프로그램이 마지막으로 파일에 접근한 시간

 ctime
  > 파일의 퍼미션 등 속성이 변경된 시간

 mtime
  > 파일의 내용이 마지막으로 수정된 시간
  > mtime이 수정되면 ctime도 수정된다

 


touch: 파일의 시간 정보를 현재 갱신한다. 파일이 없으면 빈 파일을 생성한다. 

 #touch [옵션] 파일
  -t [YYYYMMDDhhmi]: 임의의 시간으로 변경
  -a: 최근 사용 시간 변경
  -m: 파일의 최근 수정 시간 변경
  -r [file]: 지정한 파일과 동일한 시간으로 변경
  -c: 파일을 생성하지 않는다 (존재하지 않을 때)

 - 이상입니다 -