본문 바로가기

운영/CentOS

[CentOS] 기초명령어

리눅스 기초 명령어


기초 명령어를 실습하는데 앞서, 먼저 참고사항

--help와 man을 활용하는 습관을 가질 것. 사용방법은 다음과 같다.

명령어 --help

man 명령어

각 명령어에 따라 수많은 옵션이 존재하는데, 여기에는 자주 사용하는 옵션들을 나열하겠지만,

그 외에 추가로 필요한 옵션은 개인이 직접 찾아봐야 하므로, 확인 해볼 것.




clear

 - 화면정리(화면을 지워주는 것 같지만, 다음 줄을 제일 위로 올려줌. 위로 올려보면 내용 남아있음)

date [MMDDhhmmYY]

 - 현재 시스템의 시간과 날짜 확인 및 설정

 ex) 2014년 10월 3일 10시 33분으로 변경

> date 1003103314



rdate

 - 시간 서버의 시간 확인 및 시스템 시간과 동기화(인터넷 연결되어 있을 경우만 동기화 가능)

 * 옵션

  > rdate -p 시간서버주소 : 시간 서버의 시간 출력

  > rdate -s 시간서버주소 : 시간 서버의 시간과 시스템 시간의 동기화

 p.s. 대표 시간 서버 : time.bora.net , gps.bora.net ...



cal [Year]

 - 달력 확인(명령어만 입력할 경우, 현재 날짜를 기준으로 해당 월의 달력만 출력)

 ex) 2015년 달력을 확인



logname

 - 로그인 사용자명 확인



id

 - 로그인 사용자 정보 확인

p.s. 번호로도 구별이 가능. root는 0번, 사용자는 500번부터 시작

번호 외에도 앞에 표식만으로도 구별이 가능. 쉘 앞의 #,$ 표시로 루트와 사용자 구별



whatis

 - 지정한 명령어에 대한 간략한 설명 확인

 ex) whatis 명령어



which

 - 명령어의 경로 확인



man

 - 사용 설명서 확인

 ex) man 명령어



arch

 - 시스템의 CPU에 대한 정보 확인



echo

 - 입력한 문자열을 출력. 파일 생성 및 추가 가능

 ex) echo 123        : 화면에 123 출력

echo 123 > file1  : file1이 존재하면 내용을 지우고 123 덮어쓰기,

  존재하지 않으면 생성 후 123 내용 입력

echo 123 >> file1 : file1 마지막에 123 추가



cat

 - 파일 내용 출력. 출력 방향을 변경하여 파일 생성도 가능

ex) cat file1     : file1의 내용 출력

cat -n file1 : file1의 내용을 줄번호 포함하여 출력

cat > file2  : file2 생성 후 ctrl + d를 누를때까지 입력된 내용 입력



uname

 - 옵션에 해당하는 시스템 정보 출력

 * 옵션

  > a : 모든 정보

  > m : 하드웨어 타입

  > n : 호스트명

  > r : 운영체제 릴리즈 번호

  > s : 운영체제 이름

  > v : 운영체제 버전



history

 - 최근 사용 명령어 확인

 ex) history : 저장되어 있는 모든 명령어 출력

history 숫자 : 지정한 숫자만큼 최근 사용 명령어 출력



alias

 - 등록된 별칭 확인 및 설정. 복잡한 명령어를 간단한 명령어로 치환하여 사용 가능

 ex) alias 별칭='명령어' : 별칭 입력 시 명령어 실행

 p.s. 단, alias로 지정했을 경우 재부팅하게 되면 초기화되어 사용불가

  재부팅해도 사용하고자 할 때는 홈디렉터리 안의 .bashrc 파일을 열어 alias 추가해주면 사용 가능



unalias

 - 별칭 지정 해제

 ex) unalias 별칭 : 지정되어 있는 별칭 해제



shutdown [옵션] [시간] [메세지]

 - 시스템 종료 및 재시작, 사용자에게 메세지 전달

 ex) shutdown -k 10 "10분뒤 시스템 종료" : 시스템을 종료하지 않고 사용자에게 메세지 전달

shutdown -h 10 "10분뒤 시스템 종료" : 사용자에게 메세지 전달 후 10분 뒤 종료

shutdown -r now                     : 즉시 시스템 재시작

shutdown -h 10 "10분뒤 시스템 종료"& : 백그라운드에서 shutdown 명령어 실행

(접속되어 있는 일반 사용자들은 쉘 사용 가능. 종료경고 알렸으니 남은 작업 마무리

관리자는 사용 불가 상태. Ctrl+C로 취소 가능하지만, 관리자도 남은 작업 원할 경우 & 사용)

shutdown -c                          : 예약되어 있는 shutdown 취소



halt / poweroff

 - 시스템 종료

 - 두 명령어의 차이점 : poweroff는 동기화 시키지 않고 종료, halt는 동기화 시키고 종료



reboot

 - 재부팅



init

 - runlevel을 이용

 - /etc/inittab 파일에서 init에 대한 정보 확인 가능

- 0 : 종료

 - 1 : 단일 사용자 모드(시스템 복구 시 사용)

 - 2 : 다중 사용자 텍스트 모드(NFS 제외)

 - 3 : 다중 사용자 텍스트 모드(NFS 포함)

 - 4 : 사용되지 않음

 - 5 : 다중 사용자 그래픽 모드

 - 6 : 재부팅

 p.s. 마지막 줄에 id:5:initdefault:에서 두번째 탭에 숫자로 기본설정 수정 가능



file 파일명

 - 지정 파일의 유형 확인. /usr/share/magic파일 참조



head [옵션] 파일명

 - 첫 라인부터 10번째 라인까지 출력. 지정한 숫자만큼 출력도 가능



tail [옵션] 파일명

 - 마지막 라인부터 10번째 라인까지 출력. 지정한 숫자만큼 출력도 가능

 - tail -f 파일명 : 실시간으로 파일에 추가되는 내용 출력. 로그파일 관찰 시 사용



more

 - 처음부터 화면의 크기에 맞게 끊어서 출력

 * more입력 시 사용되는 키

  > [space] : 다음 페이지

  > [enter]  : 다음 라인

  > b        : 이전 페이지

  > d        : 다음 반 페이지

  > /문자열  : 지정한 문자열 검색

 > /번호     : 해당 줄로 이동

  > n        : 문자열 검색 후 다음 문자열 확인 시 사용

  > h        : 도움말

  > =        : 현 위치의 행번호

  > q        : 종료

 p.s. less 파일명 : more와 비슷. 보는 방법의 차이. 단축키는 위와 같음



pwd

 - 현재 디렉터리의 절대 경로 확인



cd /경로

 - 지정한 디렉터리로 이동, 상대경로 및 절대경로로 표현

 ex) cd /root/test1 : root 홈 디렉터리 내에 존재하는 test1으로 이동

cd test1       : 현재 디렉터리 내에 존재하는 test1으로 이동

cd ../test1     : 상위 디렉터리에 존재하는 test1으로 이동

cd ~          : 해당 계정의 홈 디렉터리로 이동

 p.s. . <-- : 현재 디렉터리

      ..  <- : 상위 디렉터리



ls

 - 현재 디렉터리 기준으로 파일 목록 확인

 * 옵션

  > a : 현재 디렉터리에 모든 파일 출력(숨김 파일 포함)

  > i : 파일의 inode 정보를 같이 출력

  > l : 파일 목록의 형태, 궈난, 소유자, 그룹, 크기, 시간, 파일명을 자세하게 출력

  > d : 디렉터리 정보 출력

 ex) ls -al : 이런식으로 옵션을 혼합해서 사용 가능

 p.s. ls -l로 확인해봤을 때 맨 앞의 영어문자가 의미하는 것

 - : 파일

 l : 링크파일(심볼릭 링크)

 d : 디렉터리

 c : 캐릭터 장치 파일(콘솔창 같은...)

 s : 소켓 파일(통신할 때 쓰이는 특수한 장치파일)

 b : 블록 장치 파일(sda, sda1 등등)

 p : 파이프 파일



mkdir [옵션] 디렉터리명

 - 디렉터리 생성, 옵션을 사용하지 않았을 때에는 생성할 디렉터리의 상위 경로가 존재해야 함

 ex) mkdir aaa        : 현재 디렉터리에 aaa 디렉터리 생성

mkdir -p bbb/ccc : 현재 디렉터리에 bbb디렉터리 생성 후, bbb디렉터리 내에 ccc디렉터리 생성

 p.s. 디렉터리나 파일 생성 시, 리눅스에서는 대소문자 구별해줘야 함!! 



rmdir [옵션] 디렉터리명

 - 디렉터리 삭제, 디렉터리 삭제 시 비어있어야 함

 ex) rmdir aaa         : 현재 디렉터리에 존재하는 aaa디렉터리 삭제

rmdir -p bbb/ccc : bbb디렉터리에 존재하는 ccc디렉터리 삭제 후, bbb디렉터리 삭제



touch

 - 파일이 존재하면 시간정보를 갱신, 존재하지 않으면 0byte의 파일 생성

 ex) touch file1 : file1이 존재하면 시간 갱신, 존재하지 않으면 파일 생성

touch -t 201506030000 file1 : file1의 시간 정보를 20125년 6월 3일 00시 00분으로 수정

 p.s. 파일 생성 목적보다는 파일 접근시간을 수정하기 위해 사용



rm [옵션] 파일명

 - 파일 삭제, linux에서 기본 alias로 i옵션이 적용(삭제 시, 한번 더 물어봄)

 * 옵션

  > r : 하위에 남아있는 것들 모두 삭제

  > f : Force. 물어보지 않고 바로 삭제

 p.s. 삭제할 때 여러번 물어보기 때문에, 옵션으로 -rf를 사용하게 되는데, 신중하게 사용!!

 p.s. 옵션 사용 시, 가장 뒤에 오는 것이 우선순위가 높음. 알아둘 것

  ex) rm -if file1 : 물어보지 않고 삭제

 rm -fi file1 : 물어봄



cp [옵션] [원본 파일] [대상 파일]

- 파일 복사, 이름 변경하지 않고 대상 위치로만 복사할 경우에는 경로만 지정해도 가능



mv [옵션] [원본 파일] [대상 파일]

 - 파일 이동



wc

 - 파일의 라인, 단어, 문자 개수를 출력

 ex) wc file1 : file1에 대하여 라인, 단어, 문자 순으로 출력

wc -c file1 : file1내의 문자 개수 출력

wc -w file1 : file1내의 단어 개수 출력

wc -l file1 : file1내의 라인 개수 출력



ln

 - 하드링크와 심볼릭 링크 생성

 ex) ln file1 file2    : file1에 대한 하드링크 file2를 생성

p.s. 하드링크는 생성 또는 삭제 시, 링크수가 변함

원본파일이 지워져도 영향을 받지 않기 때문에 파일을 읽을 수 있음

하드링크는 해당 파일의 inode를 그대로 복사하기 때문에 inode도 동일


ln -s file1 file3 : file1에 대한 심볼릭링크 file3을 생성

 p.s. 심볼릭 링크는 생성 또는 삭제 시 링크수가 변하지 않음

원본파일이 지워지면 영향을 받아, 열리지 않으며

동일한 이름의 새로운 파일이 생기면, 새로 생성된 정보를 가져옴