[클라우드 With리눅스/리눅스 기본명령어(3)]

SooYeon Yeon·2022년 8월 18일

[리눅스 기본명령어]

사용자는 로그인 하게 되면 각 사용자별로 별도의 시스템 환경변수를 할당 받는다.

연속된 두개 이상의 명령어를 한번에 실행하고자한다면

  1. ;
    • ls ; date
    • 앞쪽 명령이 오류가 나도 뒷 명령어는 실행됨
    • 예를들어 lss ; date로 잘못입력했다면 오류메시지 띄우고 date는 실행됨
  2. &&
    • ls && date
    • 앞쪽 명령이 오류가 나면 뒷 명령어가 실행되지 않음
    • 예를들어 lss ; date로 잘못입력했다면 오류메시지 띄우고 date도 실행되지 않음

mkdir test \ [Enter] → 줄이 길 경우 이어서 쓴다는 뜻으로 역슬래시를 이용

redirection (>,>>,<,<<)

표준입력:키보드 (0)

표준출력:화면 (1)

표준에러:화면 (2)

# 정상적이 결과면 abc.txt에 추가됨
[root@srv7 0720]# ping -c 1 www.google.com 1> abc.txt

# 2는 에러가 있다면 abc.txt에 추가됨 (정상적이라면 화면에 출력됨)
[root@srv7 0720]# ping -c 1 www.google.com 2> abc.txt

입력 1>파일명 : 정상 처리 결과값만 파일에 저장

입력 2>파일명 : 오류 결과값만 파일에 저장

tree 확인

yum -y install tree

[root@srv7 ~]# tree
.
├── 0719
│   ├── a
│   ├── anaconda-ks.cfg
│   ├── b
│   ├── c
│   ├── d
│   │   └── e
│   ├── d.txt
│   ├── gedit-3.28.1-3.el7.x86_64.rpm
│   ├── naverheader.html
│   └── naverindex.html
├── 0720
│   └── abc.txt
├── 123
├── anaconda-ks.cfg
├── a.txt
├── check.sh
├── Desktop
├── Documents
├── Downloads
├── hello.txt
├── initial-setup-ks.cfg
├── Music
├── Pictures
├── Public
├── Templates
├── test11.txt
├── test1.txt
├── test2.txt
├── test3.txt
├── testkey.pem
├── test.txt
├── user1.pem
├── Videos
└── yang

파일, 디렉토리 복사

root@srv7 0720]# ls
abc.txt
# 파일 복사 : cp
[root@srv7 0720]# cp abc.txt def.txt

# 디렉토리 복사 : cp -r
[root@srv7 0720]# mkdir a
[root@srv7 0720]# ls
a  abc.txt  def.txt
[root@srv7 0720]# cp -r a c
[root@srv7 0720]# ls
a  abc.txt  c  def.txt
[root@srv7 0720]# ls c

mv

  • 파일이나 디렉토리를 이동
  • 같은 디렉토리 내에서 사용하게되면 이름을 변경하는 효과
[root@srv7 0720]# mv abc.txt ttt.txt
[root@srv7 0720]# ls
a  c  def.txt  ttt.txt

ls

ls a

  • a 디렉토리 내에 있는 파일/디렉토리를 보여줌
[root@srv7 0720]# ls a
b

ls | grep a

  • 현재 디렉토리에서 a라는 이름의 디렉토리/파일이 있다면 화면에 보여줌
[root@srv7 0720]# ls | grep a
a

[root@srv7 0720]# ls | grep txt
abc.txt
def.txt
ttt.txt

grep

  • 특정 단어에 매치되는 파일이나 디렉토리 등을 출력시켜줌

ls a*

  • 단어가 포함되는 파일. 디렉토리라면 그 안에 들어있는 파일까지 보여줌
[root@srv7 0720]# ls
a  abc  abc.txt  c  def.txt  ttt.txt
[root@srv7 0720]# ls a*
abc.txt

a:
b

abc:

삭제

디렉토리 삭제 : mkdir (비어있는 디렉토리만 삭제 가능)
파일 삭제 : rm -f (물어보지 않고 강제로 삭제)

alias rm=’rm -i’

rm -r : 비어있지 않은 디렉토리 삭제

rm -rf : 파일이나 디렉토리 물어보지않고 즉시 삭제

# a가 포함된 모든 파일, 디렉토리 삭제
[root@srv7 0720]# rm -rf a*
[root@srv7 0720]# ls
c  def.txt  ttt.txt

# txt확장자를 가진 모든 파일 삭제
[root@srv7 0720]# rm -rf *.txt
[root@srv7 0720]# ls
c

파일 내용 살펴보기

  1. grep 이용

    • 파일 내에서 특정 문자열이 있다면 해당 행을 출력
    [root@srv7 0720]# cp ~/anaconda-ks.cfg .
    [root@srv7 0720]# ls
    anaconda-ks.cfg  c
    
    # 해당 파일 안에 있는 것 중 root라는 단어가 있는 행 출력
    [root@srv7 0720]# grep root anaconda-ks.cfg
    rootpw --iscrypted $6$LJn3ZHu8SgSOAZOj$OOAX66.iT6BgcH10CYl1tvA2M.TThZ0dcIpkX9IM9Aqv62f5M3qSxgczL8X53U/HUQRUrezSGEVH9nywZn00q.
    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    
  2. cat 이용

    • 전체 내용을 화면에 출력
  3. less/more 이용

    • 페이지 단위로
    [root@srv7 0720]# more anaconda-ks.cfg
    
    [root@srv7 0720]# less anaconda-ks.cfg
  4. head/tail 이용

    • head : 파일의 상단 10줄
    • tail : 파일의 하단 10줄
    • 숫자 지정해서 원하는 줄 수만큼도 가능
    • tail같은 경우에는 실시간으로 특정 파일의 내용/로그 등을 확인 시 유용
    [root@srv7 0720]# head -1 anaconda-ks.cfg 
    #version=DEVEL
    
    [root@srv7 0720]# tail -1 anaconda-ks.cfg 
    %end
    

    로그 실시간으로 보기

    • 일반적으로 로그는 /var/log에 위치
    • 웹접속 기록 등을 실시간으로 확인 가능
    • tail은 기본 10줄, -3f와 같이 하면 3줄로 실시간으로 볼 수 있다.
    [root@srv7 0720]# tail -3f /var/log/httpd/access_log

0개의 댓글