#20230223

eeapbh·2023년 2월 23일
0

MZC

목록 보기
2/61
  • 인용부호 메타문자

  • echo $USER

    • 사용자 이름나옴
  • echo '$USER'

    • 작은따옴표 안에 내용 나옴 , $USER
  • echo "$USER"

    • 사용자 이름나옴
  • echo "$USER"

    • $USER 라고 나옴
  • date

  • echo date <-date작은따옴표 감싼거임

  • echo "The current time is date <-date작은따옴표 감싼거임

  • 표준 입력(stdin;0) 재지정

  • cat 0< /etc/hosts

    • /etc/hosts 파일 내용 입력해서 보여줌
  • 표준 출력(stdout;1) 재지정

  • ps 1> process_list

    • ps쳐서 나오는 내용들을 출력하지말고 process_list라는 파일에 저장해라
    • "<" : 입력
    • ">" : 출력
  • cat process_list

  • echo "-My Proccess List-" > process_list

  • ps >> process_list

    • 이미 있는 내용 유지하고 그밑에다가 ps내용 추가
  • cat process_list

  • 표준 에러(stderr;2) 재지정

  • $ echo "TEST" > /tmp/test.txt

  • $ find /tmp -type f -exec grep TEST {} \; -print

  • $ find /tmp -type f -exec grep TEST {} \; -print 2> /dev/null

    • 에러 메시지들을 다 /dev/null 에 넣어서 안보여줌
  • $ find /tmp -type f -exec grep TEST {} \; -print 1> test 2>&1

  • $ more test

  • 파이프 문자

  • $ ls -l /etc | wc -l

    • 라인수 카운트해서 알려줌
  • $ ps -ef | more

    • 화면단위로 끊어서 볼수 잇음, 스페이스 누르면서 보면됨, 그만할때는 q
  • $ ps -ef | grep bash

  1. history 명령어
  • history
  • history 5
  • history | head -3
  • history | tail -3
  • ls
  • !!
    • 전에 명령어 한번더
  • !10
  1. 사용자 초기화 파일
  • ls -al
  • $ vi .bashrc
  • MyName=James
  • $ source .bashrc
  • $ echo $MyName
  1. 프로세스 확인
  • ps
  • ps -f
    • 자세하게
  • ps -ef
    • 모든 시스템까지
  • ps -ef | more
  • pstree
    • tree 형태로 보여줌
  • ps -ef | grep bash
  • pgrep -x bash
  • pgrep -n sh
    • 가장 최근에 떠잇는 sh보여줌
  • pgrep -u 1001
    • uid가 1001인 유저가 사용하고있는 프로세스 아이디를 보여줌
  • pgrep -l bash
    • pgrep
  • pgrep -lt pts/1
    • 누가 접속해잇는지

19.kill 명령어

  • sleep 1000

    • 프로세스를 foreground 실행
  • sleep 1000 &

    • &쓰면 딴거할수잇다
    • 프로세스를 background 실행
      pgrep -l sleep
  • kill 5572

  • 프로세스 id로 프로세스 지우기

  • pgrep -l sleep

  • sleep 2000 &

  • pgrep -l sleep

  • pkill sleep

    • 프로세스id로 하는게아니라 프로세스 이름으로 kill
  • top

    • 작업관리자처럼 현재 떠있는 프로세스들 볼수잇음
  • yes > /dev/null &

    • 과부하 주는 행동
    • /dev/null (휴지통같은애) 에
  • pkill yes

  • kill 프로세스id

  1. 작업 관리
  • sleep 60 &
  • jobs
    • 백그라운드로 실행하고잇는 거 보여줌
  • fg %1 (foreground)
    • 여기서 1은 아이디이다.
  • sleep 60
    ^z
  • bg %1 (background)
  • jobs
  1. 아카이브(하나의 파일로 모은다.) - archive
  • tar 명령어
    c: 새로운 tar 파일을 생성
    t: tar 파일 내부 내용 확인
    x: tar 파일을 해제합니다. - extract
    f: 아카이브 파일 지정 - file
    v: tar 명령어 수행 과정 출력 - view

  • tar 명령어를 이용한 아카이브 생성(jar, war 유사)

  • tar cvf archive.tar dirA fileD numbers

  • tar tvf archive.tar

  • mkdir test

  • cd test

  • tar xvf ../archive.tar

  • tar xvf ../archive.tar -C /tmp
    ./ 현재경로
    ../ 이전경로

  1. 압축 및 압축 해제
  • compress 파일 압축

  • yum install ncompress -y

  • ls -l

  • compress -v process_list

    • process_list 파일을 압축
  • ls -l

  • zcat process_list.Z

  • compress -v archive.tar

  • zcat archive.tar.Z | tar xvf -

  • uncompress -c process_list.Z

  • uncompress -d process_list.Z

    • 압축해제
  • uncompress 압축 해제

  • uncompress -v archive.tar.Z

  • uncompress -v process_list.Z

  • ls -l

  • gzip 파일 압축

  • gzip process_list

  • ls -l

  • zcat process_list.gz

  • gunzip 압축 해제

  • gunzip process_list.gz

  • ls -l

  • 아카이브된 파일 또는 디렉토리 압축 및 해제

  • tar zcvf test.tar.gz dirB

  • ls -l

  • tar ztvf test.tar.gz

  • rm -rf dirB

  • tar zxvf test.tar.gz

  • ls -l

  • mkdir archive

  • tar zxvf archive.tar.gz -C archive

  • ls -al archive

  • bzip2 파일 압축

  • bzip2 process_list

  • ls -l

  • bzcat process_list.bz2

  • bunzip 압축 해제

  • bunzip2 process_list.bz2

  • ls -l

  • 아카이브된 파일 또는 디렉토리 압축 및 해제

  • tar jcvf test.tar.bz2 dirB

  • ls -l

  • tar jtvf test.tar.bz2 dirB

  • rm -rf dirB

  • tar jxvf test.tar.bz2

  • ls -l

  • mkdir archive-bz2 && cd $_

    • $_ : 방금 직전에 만든 dir
    • 폴더만들고 그 폴더로 이동
  • tar jxvf test.tar.bz2 -C archive-bz2

  • ls -al archive-bz2

  • zip 파일 또는 디렉토리 압축 및 해제

  • yum install -y zip

  • zip test.zip dirB/*

  • rm -rf dirB

  • unzip test.zip

  • zip test1234.zip file1 numbers fileF

  • rm -rf file1 numbers fileF

  • unzip test1234.zip

  1. 사용자와 그룹
  • cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    USER(사용자명):x(패스워드 필드):UID(사용자 식별 번호):GID(그룹 식별 번호):GECOS(주석 필드):HOME(사용자 홈 디렉토리):SHEEL(기본 쉘)

  • 사용자와 그룹 관리

  • useradd user01

  • tail -1 /etc/passwd
    user01:x:1000:1000::/home/user01:/bin/bash

  • tail -1 /etc/shadow
    user01:!!:19405:0:99999:7:::

  • passwd user01
    New password:
    Retype new password:

  • tail -1 /etc/shadow
    user01:66VqI6ryfi$mcKieSw0BFRREdXSWjHd6wgYIknyTa2WfYQPH4xo1cU0sWJBAiRX9B9Tsfe/.6sd9lzAZM8.56hOqnHOlN/p90:19405:0:99999:7:::

  • id user01
    uid=1000(user01) gid=1000(user01) groups=1000(user01)

  • cat /etc/group

  • usermod -G wheel user01

    • wheel : 관리자 그룹을 대행하는 그룹
    • user01을 관리자로 승격시키고 싶어서
  • id user01
    uid=1000(user01) gid=1000(user01) groups=1000(user01),10(wheel)

  • groupadd group01

  • usermod -G group01 user01

    • -G : 앞서 했던 그룹이 바뀌게됨
  • id user01
    uid=1000(user01) gid=1000(user01) groups=1000(user01),1002(group01)

  • usermod -aG wheel user01

    • -aG: 앞서 했던 그룹에 추가가됨
  • id user01
    uid=1000(user01) gid=1000(user01) groups=1000(user01),10(wheel),1002(group01)

  • 사용자 전환

  • su user01
    $ sudo cat /etc/passwd
    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for user01:

$ su -

  • pwd
    /root

  • tail /var/log/secure

  • userdel user01

  • cat /etc/passwd

  • groupdel group01

  • cat /etc/group

  1. crontab
  • 주기적으로 작업해야할 때
  • cat /etc/crontab
    분(0~59) 시(0~23) 일(0~31) 월(1~12) 요일(0~7) 명령어(ls -al)

매월 3일 오전 9시 30분에 명령 실행
30 9 3 * * ls -al

매주 화요일 오후 3시에 5분마다 명령 실행
/5 15 * 2 ls -al

1월 매주 일요일 오전 1시부터 오전 3시까지 명령 실행
0 1-3 * 1 0 ls -al

매월 첫 번째 수요일 오전 8시와 오후 7시에 명령 실행
0 8,19 1-7 * 3 ls -al

매분마다 명령 실행
/1 * * * ls -al

  • crontab -e
  • cat /var/spool/mail/root
  • crontab -l
  • crontab -r
  1. fdisk
  • sda라는 디스크가 sda1, sda2로 파티셔닝 되어있는것을 확인할 수 있다.
    virtualbox로 하드디스크 3개 만듬
    • sdb, sdc, sdd 생긴거 확인가능
  • fdisk /dev/sdb
    • command 에 m치면 menu나옴

p > n > p > 1 >엔터치다가 command뜨면 w

  • lsblk

  • ls -l /usr/sbin/mkfs*
  • mkfs -t ext4 /dev/sdb1
    • 포맷 진행 ext4라는 형식을 쓰겠다.(호환성이 뛰어남)
  • blkid
  • mount /dev/sdb1 /mnt
    • mount 명령을 통해서 실행한다.
    • dev/sdb1 와 /mnt를 연결 하기전에는 /mnt에 아무것도 없는데 이제 sdb1이랑 같다고 보면됨
  • df -h
  • umount /mnt
    • umount로 분리할수 있다.
  • mount를 하면 disk와 특정 폴더를 연결할수 있게된다.
  • umount로 분리
  • mount 된 폴더에 들어가서 umount명령을 하면 에러남

8Gib 4Gib씩 파티셔닝 하기

  • fdisk /dev/sdb
  • n -> p -> 1
  • default 16777215 라고 뜨니까 그 반띵인 8388607입력
  • n -> p -> 2
  • 엔터누르다가 w
  • lsblk 해보면 sdb가 4Gib 씩 파티셔닝 된거 확인가능
  • cat /etc/fstab

  • blkid
    /dev/sdb1: UUID="b603233e-d5ef-4448-98ae-d78bb85cf617" TYPE="ext4"

  • vi /etc/fstab
    UUID="b603233e-d5ef-4448-98ae-d78bb85cf617" /mnt ext4 defaults 0 0

0개의 댓글