'전체 보기'에 해당되는 글 186건

  1. 2015.03.27 [08] passwd, shadow, group, gshadow, useradd, passwd, skel
  2. 2015.03.27 [07] vi(2), 유용한 vi 명령어 메모
  3. 2015.03.27 [06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집)
  4. 2015.03.27 [05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal
  5. 2015.03.27 [04] cp, mv, mkdir, rmdir, rm
  6. 2015.03.27 [03] Linux 명령어 구조, 절대경로vs상대경로, pwd, cd, ls, clear
  7. 2015.03.27 [02] Linux의 특징 및 Prompt의 구조, Putty 설정 팁
  8. 2015.03.27 [01] CentOS 6.6 설치, 주요 디렉토리 설명, swap 1
  9. 2015.03.27 막강한 부트로더, GRUB
  10. 2015.03.27 서멀구리스 (1회용)

[08] passwd, shadow, group, gshadow, useradd, passwd, skel

|


- 2014.11.17




* 사용자(user) 추가 시 생성되는 것들 p64


1) /etc/passwd

2) /etc/shadow

3) /etc/group

4) /etc/gshadow

5) /home/ => $HOME

6) /var/spool/mail/




1. passwd : 사용자 정보파일


# tail -4 /etc/passwd

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash

        samadal - 사용자명

        : - 구분자

        x - Password

        500 - UID

        500 - GID

        madalgyo - comment, 별칭, 별명

        /home/samadal - $HOME

        /bin/bash - shell(명령어 해석기)



* linux shell 종류


# cat /etc/shells

        /bin/sh               // 최초로 개발된 쉘(bourn)본쉘, 복구 기본쉘

        /bin/bash           // 리눅스에서 가장 많이 사용하는 쉘, 오픈소스 기본응용 쉘

        /sbin/nologin     // 로그인되지 않은것, 시스템 쉘

        /bin/dash          // 데비안, 우분투 os 기본

        /bin/tcsh           // 확장C쉘, tomcat(java)화장 기능 쉘

        /bin/csh            // C쉘, C language 전용 기능 쉘

        /bin/ksh            // korn(콘)쉘, 유닉스에서 가장 많이 사용, 본쉘과 호환





2. shadow


예전엔 passwd 파일에 pw가 포함되어있었지만 보안상 shadow에 넣음


# tail -4 /etc/shadow

gdm:!!:16372::::::

sshd:!!:16372::::::

tcpdump:!!:16372::::::

samadal:$6$C1riYf4XBWlZXfcq$Kea4.kf0YnPpitJXPgC8ncwao2WhE3ccgOrt7inkXJBFqE61gRlkBIqP0N7ILgBXanh.aVmp8/NEdpo2FNAUs1:16372:0:99999:7:::

        samadal - 사용자명

        : - 구분자

        $6$C1riYf4X.... - SHA512

        16372 - 1970.1.1 기준으로의 생성 날자

        0 - 패스워드 변경 가능 날짜(if 1, pw변경 후 1일 뒤에 pw변경 가능)

        99999 - 패스워드 사용 가능 날짜(약 270년)

        7 - 패스워드 변경 만료일

        NULL - 기능정지, 기능+사용정지 기능 지정 가능

        NULL - 사용 기간 설정 (~까지)

        NULL - 예약만 되어있고 사용하지 않는 칸


* /etc/login.defs  에 shadow와 관련된 사항들이 적혀있다.





3. group


# tail -4 /etc/group

stapdev:x:158:

tcpdump:x:72:

slocate:x:21:

samadal:x:500:

        samadal - 그룹명

        : - 구분자

        x - Password

        500 - GID

        NULL - 해당 그룹원 명단





4. gshadow


# tail /etc/gshadow

rpcuser:!::

nfsnobody:!::

gdm:!::

sshd:!::

stapusr:!::

stapsys:!::

stapdev:!::

tcpdump:!::

slocate:!::

samadal:!!::

        samadal - 그룹명

        : - 구분자

        !! - 쓰레기값





5. home directory


# ls -l /home/     <- 아파트

합계 15

drwx------. 2 root    root    12288 2014-10-30 01:51 lost+found

drwx------. 4 samadal samadal  1024 2014-11-17 12:43 samadal

                       집주인                                      동, 호수





6. mail


# ls -l /var/spool/mail/

합계 0

-rw-rw----. 1 rpc     mail 0 2014-10-30 01:52 rpc

-rw-rw----. 1 samadal mail 0 2014-10-30 01:59 samadal



*  /etc/skel  <- 사용자 생성될 때 file이나 dir 자동으로 생성될 수 있도록 해줌





7. useradd


useradd [option] [argument] ... [user]


[in /etc/passwd]

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash   사용자 지정 skel

[option] :  -u   -g     -c            -d             -s            -m -k





ex)


user 생성시 각 6개 항목이 제대로 만들어 졌는지 확인


# useradd user1


/etc/passwd 확인

# tail -3 /etc/passwd

tcpdump:x:72:72::/:/sbin/nologin

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash

user1:x:501:501::/home/user1:/bin/bash


/etc/shadow 확인

# tail -3 /etc/shadow

tcpdump:!!:16372::::::

samadal:$6$C1riYf4XBWlZXfcq$Kea4.kf0YnPpitJXPgC8ncwao2WhE3ccgOrt7inkXJBFqE61gRlkBIqP0N7ILgBXanh.aVmp8/NEdpo2FNAUs1:16372:0:99999:7:::

user1:!!:16391:0:99999:7:::


/etc/group 확인

# tail -3 /etc/group

slocate:x:21:

samadal:x:500:

user1:x:501:


/etc/gshadow 확인

# tail -3 /etc/gshadow

slocate:!::

samadal:!!::

user1:!::


/home/ 디렉터리 확인

# ll /home/

합계 16

drwx------. 2 root    root    12288 2014-10-30 01:51 lost+found

drwx------. 4 samadal samadal  1024 2014-11-17 12:43 samadal

drwx------  4 user1   user1    1024 2014-11-17 13:51 user1


/var/spool/mail 확인

# ll /var/spool/mail/

합계 0

-rw-rw----. 1 rpc     mail 0 2014-10-30 01:52 rpc

-rw-rw----. 1 samadal mail 0 2014-10-30 01:59 samadal

-rw-rw----  1 user1   mail 0 2014-11-17 13:51 user1



* passwd 명령어로 사용자 비밀번호 변경해야 해당 사용자 사용 가능





ex)


testuser 라는 별명을 지정해주고 본쉘 적용시키는 user 추가


# useradd -c testuser -s /bin/sh user2

# tail -4 /etc/passwd

tcpdump:x:72:72::/:/sbin/nologin

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash

user1:x:501:501::/home/user1:/bin/bash

user2:x:502:502:testuser:/home/user2:/bin/sh


# ll /home/

합계 17

drwx------. 2 root    root    12288 2014-10-30 01:51 lost+found

drwx------. 4 samadal samadal  1024 2014-11-17 12:43 samadal

drwx------  4 user1   user1    1024 2014-11-17 13:51 user1

drwx------  4 user2   user2    1024 2014-11-17 13:56 user2






ex3)


Home directory를 /linux/gangnam 으로 주기


user3이 들어갈 아파트를 생성

# mkdir /linux/

# ls -ld /linux/

drwxr-xr-x 2 root root 4096 2014-11-17 13:57 /linux/


/linux/gangnam 이라는 동, 호수를 지정

# useradd -s /bin/tcsh -d /linux/gangnam user3

# tail -4 /etc/passwd

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash

user1:x:501:501::/home/user1:/bin/bash

user2:x:502:502:testuser:/home/user2:/bin/sh

user3:x:503:503::/linux/gangnam:/bin/tcsh


# ll /home/ /linux/

/home/:

합계 17

drwx------. 2 root    root    12288 2014-10-30 01:51 lost+found

drwx------. 4 samadal samadal  1024 2014-11-17 12:43 samadal

drwx------  4 user1   user1    1024 2014-11-17 13:51 user1

drwx------  4 user2   user2    1024 2014-11-17 13:56 user2


/linux/:

합계 4

drwx------ 4 user3 user3 4096 2014-11-17 13:59 gangnam





8. passwd


passwd : 현재 사용자의 passwd 변경 명령어

passwd user : user의 passwd 변경 명령어, 관리자는 pw 규칙 무시 가능




[문제 1]


/etc/skel/ 에 있는 모든 내용을 /etc/samskel/에 복사후

사용자 지정 skel 명령어를 이용 /etc/samskel로 user5 생성

단, 디렉터리 자체를 복사하면 안된다.


user5 생성 후 정상 로그인 되는지 확인하고

-bash-4.1 $ 이면 실패, [user5@samadal ~]$ 이 되도록 생성.

실패했을 경우 user55, user555.... 로 만드세요


오답 1)

# cp /etc/skel/* /etc/samskel/

# useradd -m -k /etc/samskel/ user5

  => -bash-4.1 & 로 뜸


오답 2)

# useradd -m -k /etc/samskel/ -s /bin/tcsh user55

  => [user55@samadal ~]$ 로 뜸



오답의 이유 : skel directory에 숨김파일도 있기 때문.


# ll -a /etc/skel/

합계 40

drwxr-xr-x.   4 root root  4096 2014-11-17 14:47 .

drwxr-xr-x. 119 root root 12288 2014-11-17 14:56 ..

-rw-r--r--.   1 root root    18 2014-10-16 22:52 .bash_logout

-rw-r--r--.   1 root root   176 2014-10-16 22:52 .bash_profile

-rw-r--r--.   1 root root   124 2014-10-16 22:52 .bashrc

drwxr-xr-x.   2 root root  4096 2010-11-12 09:54 .gnome2

-rw-r--r--.   1 root root   171 2014-10-18 07:43 .kshrc

drwxr-xr-x.   4 root root  4096 2014-10-30 01:51 .mozilla



숨김파일 및 숨김 디렉터리도 모두 복사한 후


# useradd -m -k /etc/samskel/ user555555


하면 성공. 즉  skel 디렉터리 안에 있는 숨김 녀석들도 모두 생성 해줘야 함.




[문제2]


/usertest/test(사용자)/public/(자동생성디렉토리)

생성 후 정상 로그인되는지 확인 필요

실패시 testt, testtt ,,,


# mkdir /usertest/

# mkdir /etc/skel/public/

# useradd -d /usertest/testtt testtt

# passwd testtt




And


[07] vi(2), 유용한 vi 명령어 메모

|


- 2014.11.14 수업




1. vi



1) 라인명령모드


행번호  출력하기

:set nu = :se nu              // set number


행번호 삭제

:set nonu = :se nonu       // set no number


치환 명령어

:[범위]s/[old]/[new]


ex)

5번째 행 치환

:5s/passwd/samadal


20~23행 치환

:20,23/PASS/madal


문서 전체 치환

:%s/MAX/dalma


g:중복문자도 모두 치환

:56s/i/a/g



외부명령어 실행

:! [command] // 잠시 vi 멈추고 외부 명령어 실행, alias작동 안함

:.! [command] // 내 커서가 있는 곳에 결과물 입력


ex)

:!ifconfig

:.!ifconfig



화면 분할

Ctrl + n w  // 수평으로 화면 분할

Ctrl + w w  // 창 이동

Ctrl + w q or :q  // 창 닫기



:f                                   // 현재 편집중인 파일 정보 보여줌

:e                                  // 문서 열어주는 기호. e! 하면 강제로 염

:w [경로]                        // 저장

:w >> [filename]             // 결과물을 다른 파일에 추가


:nr [filename]                // n라인 다음줄 밑에 [filename] 내용을 삽입

  ex) :3r ./b                    // 3라인 다음줄에 ./b 파일 내용 삽입


:nr! [command]              // n라인 다음줄에 [command] 결과물 삽입

  ex) :5r! ls -d                // 5라인 다음줄에 ls -d 결과물 삽입


:n(숫자)                          // n번째 행으로 이동



vi a b c 처럼 동시에 여러개의 창을 띄웠을 경우

:n // 다음 파일 보기

:N // 이전 파일 보기

:args // 내가 열어놓은 파일 목록 보기

:nn // n번째 뒤 파일 보기

  ex):3n // 3번째 뒤 파일 보기



vi 내에서 복사

5,12 co 2 // 5~12 줄을 2번째 밑에 복사. 이동은 co -> m




[문제]


/home/samadal/ 에 있는 모든 파일 삭제

        :!rm ./*


20번째 라인 밑에 자세한 출력내용(samadal 디렉터리에 있는 모든 파일들(a, b, c, d, e))을 삽입

        :!touch ./a ./b ./c ./d ./e


파일 안에 있는 내용 변경 : etc(madal), rc(sam)

        :%s/etc/madal/g

        :%s/rc/sam/g


5~12번째 라인을 2번째 라인 밑에 복사

        :5 8yy :2 p     or     :5,12 co 2


지금까지 작업한 모든 내용을 /test/sam.test 파일로 저장

        :!mkdir /test/

        :w /test/sam.test


/home/.sam.test 파일로 저장

        :w /home/.sam.test


/backup/madal 파일로 저장

        :w /backup/madal


빈문서 파일을 연 후 /backup/madal 파일 열기

        :enew!

        :e /backup/madal





2014.02.04 추가


유용한 vi명령어 (출처 : http://koreahojin.egloos.com/512216)



삽입 

I: 줄의 제일 앞에서 입력 

A: 줄의 제일 끝에서 입력 


콤보 command

4w: 4단어 skip후 이동 

4b: 4단어 skip후 이동 

4j,h,k,l: 커서이동시 지정한 수만큼 건너뛰므로 이동을 좀 더 빨리 할 수 있다. 



줄의 결합(J) 

2줄이 있고, 2째줄을 1째줄 끝에 붙이고 싶다면, 1째줄에서 J를 입력하면 된다. 



커서이동 

0: 줄의 처음 

^: 줄의 처음(글자가 시작되는 처음) 

$: 줄의 끝 

w: 단어단위 이동 

e: w와 같으나 단어의 끝으로 이동 

b: w의 반대방향으로 이동 

H, M, L: 커서를 화면 상,중,하로 이동 


검색(/후 검색할 단어입력) 

n: 뒤로 검색 

N: 앞으로 검색 



매크로 

ab aa aaaa: aa를 입력하면 aaaa로 자동변환 



치환 

s/pattern/replace: 현재줄의 첫번째 matching pattern치환 

s/pattern/replace/g: 현재줄의 모든 matching pattern치환 

%s/pattern/replace/g: 모든 줄의 치환 

line,lines/pattern/replace: 해당 범위의 치환 



저장 

w>> file: 지정한 파일에 추가 



윈도 split 

vi내에서 위아래로 윈도가 분활되면서 2개의 파일을 동시에 open/편집할 수 있다. 

ex-mode(:프롬프트상태)에서 'sp 파일이름' 

윈도우가 전환은 Ctrl+ww 



기타 

1). d의 경우 command모드로 계속 남아 있으나 c는 삭제후 insert모드로 변환한다. 

cc, c$, cw등은 유용하게 사용될 수 있다. 

2) .은 마지막 명령을 되풀이한다. 



visual모드 

윈도의 텍스트 에디터와 같이 선택부분이 반전되면서 복사,삭제등을 할 수 있다. 

v로 visual모드로 집입하여 커서키를 사용해 원하는 부분을 선택한다. 

복사는 y, 삭제/잘라내기는 d로 할 수 있다. 



vi설정(vim설정) 

자신의 홈디렉토리에 .vimrc를 생성하고 다음과 같이 할 수 있다. 

set ai 

set ts=4 

set nu 


각각 auto-indent, tab stop, numbering 



윈도에서 작업중 vi에 붙여넣기시 계단현상발생 방지 

:set paste 



위치기억(UltraEdit의 ALT-F2, F2와 동일한 기능) 

m{a-z}: 현재위치를 {a-z}로 북마크함 

`{a-z}: 기억해둔 {a-z}로 이동. 보통 한개만 등록했다면 그냥 ``를 사용하면 된다. 



레코딩 

설정파일의 주석추가/삭제시 유용하게 사용할 수 있다.(이미 vi에 매크로기능이 있지만, 레코딩이 

UltraEdit의 매크로기능과 유사하다.) 

q{a-z}: {a-z}로 레코딩 시작. {a-z}만 가능한게 아니고 실제 {0-9a-zA-Z"}를 적기 번거로워 이렇게 

표시만 한 것이다. 

q: 레코딩 종료 

@{a-z}: 레코딩 내용 적용(@@를 하면 바로 이전의 레코딩내용을 적용, N@@은 N으로 지정한 

숫자만큼 적용)




And


[06] 명령어 find, shutdown, vi(1) & FTP 방화벽 설정 관련(집)

|


- 2014.11.13 수업



1. find


find [경로] [-옵션] [이름]

        [경로] -name [이름] : 이름 검색

        [경로] -newer [이름] : 이름의 파일 이후에 수정, 변경한 것 검색

                -> touch 명령어와 함께 사용하면 효과적


* 추가 옵션

   -exec rm{} \;    : 찾아서 삭제하라는 추가 옵션

   -type f                : 파일 타입 검색하라는 추가 옵션

   -type d               : 디렉터리 타입 검색하라는 추가 옵션


ex)

# ll

합계 1

-rw-r--r-- 1 root root   0 2014-11-13 12:50 inittab

-rw-r--r-- 1 root root 884 2014-11-13 12:45 test


최근파일 검색

# find /home/ -newer test

/home/samadal

/home/samadal/inittab


검색하여 삭제

# find . -name "test*" -exec rm {} \;

# ll

합계 0

-rw-r--r-- 1 root root 0 2014-11-13 12:50 inittab


파일 타입 검색

# find / -name samadal -type f

/var/spool/mail/samadal


디렉터리 타입 검색

# find / -name samadal -type d

/home/samadal




[연습문제] p14


1) /down/ directory 생성

2) /down/ 에 test1, test2 생성

3) /down/ 에 test1, test2 를 /tmp에 각각 test3, test4로 복사

4) /down/test/ directory 생성

5) /down/test/ directory를 /tmp 로 이동

6) find 명령어를 통해 파일명 앞부분에 "test"문자열이 섞인 파일을 검색하면서 삭제

    (단, /tmp/와 /down/ 만 부분검색 하고 명령어는 한줄로)



# mkdir /down

# touch /down/test1 /down/test2

# ll /down

합계 0

-rw-r--r-- 1 root root 0 2014-11-13 13:01 test1

-rw-r--r-- 1 root root 0 2014-11-13 13:01 test2


# cp /down/test1 /tmp/test3

# cp /down/test2 /tmp/test4


# mkdir /down/test

# mv /down/test/ /tmp


부분 검색, 파일만 검색, 삭제 진행.

(사실 rm 은 파일만 지우기 때문에 구지 -type f 필요 없음)

# find /tmp /down -name "test*" -type f -exec rm {} \;





2. shutdown


시스템 종료

shutdown -h now = init 0 = halt = poweroff



시스템 재시작

shutdown -r now = init 6 = reboot



ex)

10분 뒤 종료

# shutdown -h +10


Broadcast message from root@samadal.madalgyo

        (/dev/pts/0) at 13:24 ...


The system is going down for halt in 10 minutes!


Ctro+c 눌러서 취소. shutdown -c 로도 가능.

^Cshutdown: Shutdown cancelled


shutdown 명령어를 실행할 구체적인 시간 설정

# shutdown -r 13:30


Broadcast message from root@samadal.madalgyo

        (/dev/pts/0) at 13:26 ...


The system is going down for reboot in 4 minutes!





3. vi


vi [파일명]


1) 라인명령모드


명령모드에서 :, /, ? 로 접근하게 되는 모드.


:q     종료

:q!    강제종료

/      글자 검색(위->아래)

?      글자 검색(아래->위)



2) 명령모드


기본 모드. 여러 명령어 옵션 실행 가능


h : 왼

j : 아래

k : 위

l : 오른

w : 단어의 처음, 왼->오, 공간 인식, 특수기호 인식 // forward

b : 단어의 처음, 오->왼, 공간 인식, 특수기호 인식 // back

W : 단어의 처음, 왼->오, 공간인식

B : 단어의 처음, 오->왼, 공간인식

e : 단어의 끝, 왼->오, 공간인식, 특수기호 인식 // end

E : 단어의 끝, 왼->오, 공간인식 // 각각의 대문자는 특수기호 인식 하지 않고 넘어간다.


^, 0 : HOME

$ : END

gg, [[ : 문서의 제일 처음으로 이동

G, ]] : 문서의 제일 마지막으로 이동

H : 화면의 처음 (Head)

M : 화면의 중간 (Middle)

L : 화면의 마지막 (taiL)


책갈피

        m + a~z : 지정

            A~Z

        ` + a~z : 이동         (쉬프트 안누른 ~)

          + A~Z

        ``      : 마지막 위치 이동


x : delete -> backspace

X : backspace (no delete)

dd : 행 삭제

숫자 + dd : 숫자 행만큼 삭제

u : 되돌리기

Ctrl + r : 앞으로

v : visual mode, 블럭지정



3) 입력(INSERT)모드


키보드로 내용물을 직접 입력하는 모드. 명령모드에서 아래들의 특정 키를 눌러 모드 진입 가능.


i : 커서 앞에서 입력

I : 맨 앞 행에서 입력

a : 커서 뒤에서 입력

A : 맨 뒤 행에서 입력

o : 커서 아래쪽에 행 삽입하여 입력

O : 커서 위쪽에 행 삽입하여 입력

s : 커서 내용 삭제한 뒤 커서 앞에서 입력

S : 행 삭제한 뒤 입력

r : 커서 내용 변경(한글자)

R : 수정 모드로 변경(한글의 insert)



4) 응용


커서 뒤에 모두 지우기 : d + $, D, n + x

커서 앞에 모두 지우기 : n + X, d + ^ , d + 0

단어지우기 : d + e, d + w

단어 복사하기 : y + e, y + w





* 집에서 FTP 사용하는 방법(방화벽 허용)


방화벽 - 허용되는 프로그램 - 다른프로그램 허용 - 찾아보기

- windows - system32 - ftp.exe - 열기 - 추가 - 목록 중 개인, 공용 추가 하기




And


[05] alias, touch, head, tail, more, less, nl, |(파이프), cat, ftp, date, clock, cal

|


- 2014.11.12 수업내용



※ Limadal_20141106_Class1_32bit 의 VMware 이미지.

   root / .$hooni203

   samadal / samadal




1. alias


[명령어 설명]


특정 문장 및 명령어에 대한 단축키 설정. 1회성으로 터미널 닫으면 없어짐


ex) alias 1='clear'


저장되어 있는 명령어의 목록 확인 : alias


※ ls -l : ll  으로 기본 설정되어있음.



※ alias에 저장 된 명령을 지울 때 : unalias [source]


ex) unalias 1





2. touch


[명령어 설명]


크기가 0이면서 현재 시간 정보가 있는 파일을 생성한다.

똑같은 명령어 쓰면 시간만 변경된 새 파일로 변경됨

기존에 있는 파일 이름을 쓰면 시간만 현재 시간으로 바뀜


touch [target]

-t [년월일시분] [target]     // 파일의 시간 정보 변경 가능


ex)

alias 에 저장되어 있는 단축키 = ls -l

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab


# touch ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:00 testfile


다시 touch 하면 시간이 바뀜

# touch ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 12:59 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:01 testfile


파일에서 시간만 바뀜

# touch ./inittab

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 13:02 inittab

-rw-r--r-- 1 root root   0 2014-11-12 13:01 testfile


touch -t 년월일시분 대상

# touch -t 199908200422 ./testfile

# ll

합계 1

-rw-r--r-- 1 root root 884 2014-11-12 13:02 inittab

-rw-r--r-- 1 root root   0 1999-08-20 04:22 testfile





3. head


[명령어 설명]


파일의 내용 중 처음부터 아래로 10줄 출력


head [option] [source]

-n(number) [source] : 처음부터 n개 출력


ex)

위에서 3개만 출력

# head -3 /etc/passwd

root:x:0:0:root:/root:/bin/ksh

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin





4. tail


[명령어 설명]


파일의 내용중 마지막부터 위로 10줄 출력


tail [option] [source]

-n(number) [source] : 아래부터 n개 출력


ex)

# tail -3 /etc/passwd

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

samadal:x:500:500:madalgyo:/home/samadal:/bin/bash





5. more


[명령어 설명]


내용이 많은 파일을 화면단위로 끊어서 출력한다

엔터 : 1줄 씩 내림

스페이스 : 1페이지 씩 내림


more [source]

q : 종료



ex)

# more /etc/passwd



more을 단독으로만 쓰면 파일만 볼 수 있다.

따라서 목록을 보여주는 다른 명령어와 함께 사용해야 한다.


# ls -l /etc/ | more

합계 1740

drwxr-xr-x.  5 root root   4096 2014-10-30 01:52 ConsoleKit

-rw-r--r--.  1 root root   4439 2014-07-17 00:02 DIR_COLORS

-rw-r--r--.  1 root root   5139 2014-07-17 00:02 DIR_COLORS.256color

-rw-r--r--.  1 root root   4113 2014-07-17 00:02 DIR_COLORS.lightbgcolor

drwxr-xr-x.  5 root root   4096 2014-10-30 01:54 NetworkManager

drwxr-xr-x.  2 root root   4096 2014-10-30 01:54 PackageKit

-rw-r--r--.  1 root root     45 2014-02-12 21:04 Trolltech.conf

drwxr-xr-x.  6 root root   4096 2014-10-30 01:54 X11

drwxr-xr-x.  3 root root   4096 2014-10-30 01:54 abrt

drwxr-xr-x.  4 root root   4096 2014-10-30 01:57 acpi

--More--



more 명령어의 단점 : 앞 페이지를 볼 수 없는 단점이 있다.





6. less


[명령어 설명]


more은 앞쪽 재검색이 불가능한 반면 less는 재검색이 가능한 명령어이다.

엔터 및 k : 1줄 아래로

j : 1줄 위로

q : 종료

스페이스 : 1페이지 아래로


역시나 ls -l /etc/ | less 처럼 사용 가능하다.


※ more는 명령어, less는 프로그램 이다.





7. nl (number line)


[명령어 설명]


총 몇행인지 궁금할 때 사용하는 명령어

행 번호를 붙여 출력하라는 명령어.



ex)

# nl /etc/passwd | less


nl 역시 파일에만 쓸 수 있는 명령어지만 명령어 조합으로 디렉터리에도 사용 가능하다.


# nl /etc/

nl: /etc/: 디렉터리입니다


맨 위 합계 표시도 갯수에 들어가는 것 주의

# ls -l /etc/ | nl





8. | (파이프)


명령어 | 명령어 | 명령어  처럼 서브 명령어를 여러개 사용 가능.


파이프를 쓰면 맨 뒤에서부터 적용된다.


* 파이프를 사용 할 떄에는 명령어의 성격을 생각하며 사용해야 한다.


ex)

less가 작동하지 않음. nl로 행번호 붙여서 출력한 뒤에 less를 진행할 수 없기 때문.

# ls -l /etc/ | less | nl





9. cat


[명령어 설명]


파일 내용 "출력"

ex) cat /etc/passwd   =   cat < /etc/passwd


파일 내용 "입력"

ex) cat /etc/passwd > /testfile


파일 "생성"

ex) cat > ./test   -> 내용입력 -> ctrl+d (정상종료) 

* ctrl+c : 강제 종료, ctrl+z : 강제정지


파일 내용 "추가"

ex) cat >> ./test

아래쪽에 추가하여 기재 가능


파일 내용 "병합"

ex) cat ./a ./b > ./c)

a 밑에 b가 합쳐져서 c 만듬


행번호 붙여 cat 출력

# cat -n /etc/passwd





10. ftp 접속 (p183)


[실습 순서]


1) window에서 index.html 파일 생성 : d드라이브에서 파일 새로 만들기

2) 실행(win_key+r) -> cmd -> 드라이브 변경(d:)

3) ftp 리눅스ip 입력(ex. ftp 192.168.1.142)

4) 계정, password 입력 -> 오류시 quit 입력      // 기본적으로 root 는 ftp 사용 불가

5) login successful 메시지 확인

6) put [source] : 업로드 명령어  &  get [source] : 다운로드 명령어





11. date, rdate


[명령어 설명]


date : 현재의 자신의 서버 시간을 확인하는 명령어.

rdate : 타임서버 관련 명령어


date [월일시분년]  :  해당 시간으로 서버 시간을 변경


ex )

현재 시간 확인

# date

2014. 11. 12. (수) 14:56:39 KST


옵션 시간으로 내 서버 시간 변경

# date 082013201999

1999. 08. 20. (금) 13:20:00 KST


# date

1999. 08. 20. (금) 13:20:02 KST


time.bora.net 서버의 현재 시간 확인

# rdate -p time.bora.net

rdate: [time.bora.net]  Wed Nov 12 14:59:35 2014


# date

1999. 08. 20. (금) 13:21:43 KST


time.bora.net 서버 시간으로 내 서버 시간을 맞춤

# rdate -s time.bora.net

# date

2014. 11. 12. (수) 15:00:45 KST





12. clock


[명령어 설명]


clock : 자세한 시간 보여줌. (nano second 까지)


ex)

# clock

2014년 11월 12일 (수) 오후 10시 00분 48초  -0.924519 seconds





13. cal (calendar)


[명령어 설정]


달력을 출력하는 명령어.


ex)

현재 시각 기준의 달력 출력. date 설정에 따라 바뀜

# cal


2015년 달력 출력

# cal 2015


1999년 08월 20일 달력 출력

# cal 20 08 1999




And


[04] cp, mv, mkdir, rmdir, rm

|


- 2014.11.11 수업 내용




1. cp (copy)


파일 및 디렉토리에 관한 첫번째 명령이이기 때문에 최대한 많은 예제를 넣었다.



1) 명령어 설명

 

cp : 파일 및 디렉토리 복사, 이름 변경 가능 

        cp [-option] [source] [source] [source] .... [target]

 

* wild card : 모든 것을 의미한다. 

        -r : 디렉토리 복사, 하위디렉터리 및 파일 모두 복사 

        -p : 원본파일의 소유주, 그룹, 권한, 시간을 그대로 복사 


최상위 / 에 backup 디렉토리 생성

# mkdir /backup/


현재 있는 /home/samadal/ 의 디렉토리 내용 확인

# ls

a


폴더 생성된 것 확인

# ls -ld /backup/

drwxr-xr-x. 2 root root 4096 2014-11-11 12:43 /backup/  


/etc/inittab 파일을 /backup/ 디렉토리로 복사

# cp /etc/inittab /backup/

# ls -l /backup/  

합계 4  

-rw-r--r--. 1 root root 884 2014-11-11 12:44 inittab  


login.defs 파일 복사

# cp /etc/login.defs /backup/

# ls -l /backup/  

합계 8  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


grub.conf 파일 복사

# cp /boot/grub/grub.conf /backup/


전체 확인

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs



[실습1]  - /bakcup/ 디렉터리에 있는 파일을 /home/samadal 로 복사


항상 원본 소스와 대상 디렉터리가 있는지 확인하는 습관! 

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


절대경로로 복사

# cp /backup/grub.conf /home/samadal/grub.conf

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs  


# ls -l  

합계 4  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  


상대경로로 복사 

# cp /backup/inittab ./

# ls -l

합계 6  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab


이름 변경해서 복사 가능.

# cp /backup/login.defs ./login 


확인

# ls -l  

합계 9  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login



*

디렉토리명 뒤에 / 붙이는 습관이 없다면 디렉토리로의 복사 중 오타가 났을 경우

해당 디렉토리로 복사가 되는 것이 아닌 변경된 파일 명으로 엉뚱한 곳에 저장이 될 수도 있다.



 

[실습2]  - saladal로 복사한 파일들을 /home/test/c/ 로 복사


원본, 상대 디렉터리 확인

# ls -l

합계 9  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login  


# ls -ld /home/test/c/

drwxr-xr-x. 3 root root 1024 2014-11-10 13:50 /home/test/c/


복사 시작

# cp ./grub.conf /home/test/c/

# ls -l /home/test/c/  

합계 4  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  


# cp /home/samadal/inittab ../test/c/  

# ls -l /home/test/c/  

합계 6  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:02 inittab  


# cp ./login ../test/c/login.defs  

# ls -l /home/test/c/  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:50 d  

-rw-------. 1 root root  739 2014-11-11 13:01 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:02 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:03 login.defs

 



[실습3]  - /bakcup/의 파일들을 /home/test/c/d/ 로 복사! 


- 생략




[연습문제]

 

/home/test/c/d/ 안에 있는 모든 내용을

/home/samadal/a/b/ 디렉터리에 복사


# ls -l /home/test/c/d/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:05 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login  


# ls -ld /home/samadal/a/b/  

drwxr-xr-x. 2 root root 1024 2014-11-10 13:47 /home/samadal/a/b/


# cp /home/test/c/d/grub.conf /home/samadal/a/b/  

# ls -l /home/samadal/a/b/  

합계 2  

-rw-------. 1 root root 739 2014-11-11 13:14 grub.conf


# cp /home/test/c/d/inittab ./a/b/  

# ls -l /home/samadal/a/b/ 

합계 4  

-rw-------. 1 root root 739 2014-11-11 13:14 grub.conf  

-rw-r--r--. 1 root root 884 2014-11-11 13:15 inittab  


# cp ../test/c/d/login ./a/b/  

# ls -l ./a/b/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:14 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:15 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:15 login


*

복사할 대상이 많은 경우 - Wild card(*) 를 사용하면 된다.


ex)

# cp /home/test/c/d/* ./a/b/



2) cp 명령어 옵션

 

안되는 예)

# cp /backup/ ./

cp: omitting directory `/backup/'

 


* -r


안에 있는 모든 것을 복사하는 옵션


# cp -r /backup/ ./ 

# ls -l  

합계 11  

drwxr-xr-x. 3 root root 1024 2014-11-10 13:47 a  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:27 backup  

-rw-------. 1 root root  739 2014-11-11 12:49 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:49 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:50 login  


# ls -l ./backup/ 

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:27 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:27 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:27 login.defs 



* -p


소유자 및 시간도 그대로 복사하는 옵션

복사를 하게 되면 복사한 계정으로 새로운 소유권이 지정되며 시간도 복사한 시간으로 변경된다.


소유권 및 시간까지 그대로 복사.

# cp -p ./.kshrc ./ksh

# ls -al ./.kshrc

-rw-r--r--. 1 samadal samadal  171 2014-10-16 01:02 .kshrc  


# ls -l

-rw-r--r--. 1 samadal samadal  171 2014-10-16 01:02 ksh

-rw-r--r--. 1 root    root    1816 2014-11-11 12:50 login




 

2. mv (move)



1) 명령어 설명


mv [source] [source] [source] [target]


파일 및 디렉토리 이동, 이름 변경 가능. 옵션 있긴 하지만 사용할일 거의 없다.




[실습1]


/backup/ 에 있는 파일을 /home/samadal/a/ 로 이동

 

# ls -l /backup/

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs


# ls -l ./a/  

합계 2  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  


# mv /backup/grub.conf ./a/  


ls 명령으로 동시에 2개를 볼 수 있다.

# ls -l /backup/ ./a/ 

./a/:  

합계 4  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf

  

/backup/:  

합계 8  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login.defs 

...  


이동 + 이름 변경

# mv /backup/login.defs ./a/login

# ls -l /backup/ ./a/

  

./a/:  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login


/backup/:  

합계 0




[문제]

 

./a/ 디렉토리에 있는 3개의 파일(grub.conf, inittab, login)을 /backup/ 디렉토리로 이동

 

# ls -l /backup/ ./a/  

./a/:  

합계 9  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  

  

/backup/:  

합계 0


와일드카드 (*)는 조심히 써야한다.

# mv ./a/* /backup/

# ls -l /backup/ ./a/  

./a/:  

합 0


원본 디렉터리에 있던 /b/ 디렉터리도 함께 옮겨졌다.. *는 조심히 쓸 것!  

/backup/:  

합계 16  

drwxr-xr-x. 2 root root 4096 2014-11-11 13:15 b

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  


mv는 옵션 없이도 디렉터리를 자유롭게 이동 가능하다. 

# mv /backup/b/ ./a/

# ls -l /backup/ ./a/  

./a/:  

합계 2  

drwxr-xr-x. 2 root root 1024 2014-11-11 13:15 b

  

/backup/:  

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login


# ls -l /backup/  

합계 12  

-rw-------. 1 root root  739 2014-11-11 12:45 grub.conf

-rw-r--r--. 1 root root  884 2014-11-11 12:44 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 12:45 login  





3. mkdir (make directory)


1) 명령어 설명

 

디렉토리 생성


mkdir [option] [target]

        -p : 하위디렉터리 생성 시 상위디렉터리 생성


ex)

# mkdir /backup/





4. rmdir (remove directory)


1) 명령어 설명


디렉토리 삭제(빈 디렉터리만 삭제)

 

rmdir [option] [source] 

        -p : 디렉터리 삭제시 상위디렉터리도 삭제(단, 빈 디렉터리만 삭제 가능)


ex) 

상위 디렉터리까지 생성

# mkdir -p /a/b/c/d/e/f/g/

# ls -ld /a/b/c/d/e/f/g/  

drwxr-xr-x. 2 root root 4096 2014-11-11 14:22 /a/b/c/d/e/f/g/  


최상위인 / 까지 삭제 시도함

# rmdir -p /a/b/c/d/e/f/g/

rmdir: failed to remove directory `/': 장치나 자원이 동작 중 


a 부터는 빈 디렉터리였기 때문에 a 부터 모두 삭제 됨

# ls -l /a/

ls: cannot access /a/: 그런 파일이나 디렉터리가 없습니다





5. rm (remove)


1) 명령어 설명


파일 및 디렉터리 삭제(삭제 시 사용자에게 물어보며 삭제)


rm [option] [source] 

        -f : 삭제 시 사용자에게 물어보지 않고 삭제 

        -r : 디렉터리 삭제 및 하위 디렉털, 파일 삭제 

              (단, 삭제시 사용자에게 물어보며 삭제)

 

ex) 

# ls -l /home/test/c/d/  

합계 7  

-rw-------. 1 root root  739 2014-11-11 13:05 grub.conf  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login  


# rm /home/test/c/d/grub.conf  

rm: remove 일반 파일 `/home/test/c/d/grub.conf'?  


y 혹은 yes 를 눌러야만 삭제 됨

# rm /home/test/c/d/grub.conf 

rm: remove 일반 파일 `/home/test/c/d/grub.conf'? y

# ls -l /home/test/c/d/

합계 5  

-rw-r--r--. 1 root root  884 2014-11-11 13:06 inittab  

-rw-r--r--. 1 root root 1816 2014-11-11 13:06 login



* 해커들이 맨 마지막에 하는 명령어 : rm -rf /




And


[03] Linux 명령어 구조, 절대경로vs상대경로, pwd, cd, ls, clear

|


- 2014.11.10 수업 내용



1. Linux 명령어 구조

 

명령어 -option--sub_option Path

 

* 옵션끼리는 -을 반복하여 적지 않아도 된다. ex) ls -alh





2. pwd


pwd (print working directory) : 현재 작업 중인 디렉토리의 절대 경로를 보여준다.


ex)

# pwd

/etc/sysconfig/network-scripts


 

* 현재의 위치가 어디인지 알기 위해 수시로 명령어를 실행하는 습관을 들여야 한다.



① 절대경로 : 최상위 디렉토리인 / 부터 시작하는 위치. 절대적인 위치.

② 상대경로 : 현재 작업하고 있는 디렉토리에서의 상대적인 위치.

               ex) 현재 위치 : ./

 




3. cd


cd (change directory) : 디렉토리 변경. 원하는 디렉토리로 이동한다.


ex)

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# pwd

/etc/sysconfig/network-scripts


① ./ : 현재 디렉토리

② ../ : 상위 디렉토리

③ ~ : 로그인 된 사용자의 홈 디렉토리로 이동

ex)

[root@localhost ~]# cd ~

[root@localhost ~]# pwd

/root


④ ~계정명 : 지정된 계정의 홈 디렉토리로 이동

ex)

[root@localhost ~]# cd ~samadal

[root@localhost samadal]# pwd

/home/samadal





4. ls


ls (list segment) : 디렉토리의 목록 보기


ls 는 자주 쓰는 명령어이기 때문에 주요 옵션에 대해 자세히 알아두는 것이 좋다.


ex) /home/samadal 에서의 ls

[root@localhost samadal]# ls

a  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos


 

① -a (all) : .(숨김파일)을 포함한 경로 안의 모든 파일과 디렉토리 표시

ex) /home/samadal 에서의 ls -a

[root@localhost samadal]# ls -a

.              .bash_logout   .dbus      .gconf   .gstreamer-0.10  .kshrc     Pictures       Templates

..             .bash_profile  Desktop    .gconfd  .gtk-bookmarks   .local     Public         Videos

a              .bashrc        Documents  .gnome2  .gvfs            .mozilla   .pulse         .xsession-errors

.abrt          .cache         Downloads  .gnote   .ICEauthority    Music      .pulse-cookie

.bash_history  .config        .esd_auth  .gnupg   .imsettings.log  .nautilus  .ssh


② -l (list) : 지정한 디렉토리의 내용을 자세히 출력

ex) /home/samadal/ 에서의 ls -l

# ls -l

total 18

drwxr-xr-x. 3 root    root    1024 Nov 10 14:02 a

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Desktop

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Documents

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Downloads

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Music

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Pictures

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Public

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Templates

drwxr-xr-x. 2 samadal samadal 1024 Nov 10 17:54 Videos


   -a 옵션과 함께 쓰면 좋다.


ex) /home/samadal/ 에서의 ls -al

[root@localhost samadal]# ls -al

total 78

drwx------. 27 samadal samadal 1024 Nov 10 17:55 .

                              ...

drwxr-xr-x.  2 samadal samadal 1024 Nov 10 17:54 Templates  

drwxr-xr-x.  2 samadal samadal 1024 Nov 10 17:54 Videos  

-rw-------.  1 samadal samadal 2368 Nov 10 17:55 .xsession-errors


* 맨 앞에 d 라고 되어 있는 것은 디렉토리, - 로 되어 있는 것은 파일이다.


③ -d : 지정된 디렉토리의 정보 출력

ex) /home/samadal/ 에서의 -ld 옵션

[root@localhost samadal]# ls -ld /home/samadal/  

drwx------. 27 samadal samadal 1024 Nov 10 17:55 /home/samadal/


상위 폴더에 파일 및 디렉토리의 개수가 적다면 상위 폴더에서 ls -l 로 해당 디렉토리의 정보를 볼 수도 있지만

특정 디렉토리의 정보만 필요할 때 사용하면 좋을 것 같다.


④ -F : 파일 형식을 알리는 문자를 각 파일 뒤에 추가한다.

/ : 디렉토리

-> and @ : symbolic link(바로가기). -> 는 -l 옵션과 함께 썼을때 나오며 '사본 -> 원본'의 형식이다.

* : 실행파일


⑤ -R : 하위 경로와 그 안에 있는 모든 파일들도 같이 나열

ex) /home/samadal/ 에서의 ls -R

[root@localhost samadal]# ls -RF 

.: 

a/  Desktop/  Documents/  Downloads/  Music/  Pictures/  Public/  Templates/  Videos/

 

./a: 

b/

 

./a/b:

 

./Desktop: 

      ... 

./Templates:

./Videos:


⑥ -h : 사용자가 보기 편한 단위로 용량 표시. -l 명령어에서 맨 위 total이 용량에 관한 숫자인데 뒤에 단위를 붙여준다.

        (보여지는 용량의 합이 total의 값과 다르지만 이유에 대해선 추 후 공부 예정)


이 외에도 UID(user id), GID(group id)를 보여주는 -n 옵션이 있다.


* -l 옵션 시 첫 열에 나와있는 문자들의 모음이 '허가권'에 관련된 내용이지만 추 후 필요할 때 다시 공부 예정





5. clear


clear : 화면을 깨끗하게 해주는 명령어.




And


[02] Linux의 특징 및 Prompt의 구조, Putty 설정 팁

|


- 2014.11.10



1. Linux의 특징


1) 권한을 갖는다


소유권 / 허가권




2) 다중 사용자 환경을 지원한다.


multi user mode & multi tasking 지원




3) 대소문자를 구별한다.




4) 확장자가 따로 존재하지 않는다.


Windows 에서 사용하는 확장자의 개념이 없다.






2. Prompt의 구조


1) Prompt 란?


명령어를 입력 받아 실행할 수 있는 상태



2) Linux의 prompt 구조


기본형)


[root@localhost ~]#

[user@localhost ~]$


① [, ] : prompt의 구분기호. 서버 정보와 계정 상태를 나타냄

② root 및 user : 서버에 로그인한 사용자 계정 명

③ @ : 계정명과 서버 이름의 구분 기호

④ localhost : 리눅스 시스템의 호스트명, 즉 서버의 이름 (HOSTNAME)

                (/etc/sysconfig/network)

⑤ ~ : 현재 작업 디렉토리의 위치. 경로의 마지막 경로명

⑥ # 및 $ : 관리자(root)의 경우 #, 일반 사용자의 경우 $






3. Putty 설정


1) ifconfig로 내 ip 확인


# ifconfig




2) putty 설정 하기


① ifconfig 로 알게 된 ip 주소를 Host Name에 입력

② Window - Lines of scrollback(이전 화면 저장 줄 수) : 20000

└ Appearance - Cursor appearance : Cursor blinks_check (커서 깜빡임)

- Font setting - Change : 글꼴_Consolas, 크기 설정

└ Font quality : Clear Type

└ Behaviour : Full screen on Alt-Enter_check (전체화면)

└ Translation - Remote character set : UTF-8

└ Colours - 배경은 어둡게, 글씨는 밝게 (검정 배경에 녹색 글씨 추천)




And


[01] CentOS 6.6 설치, 주요 디렉토리 설명, swap

|


- 2014.11.07 ~ 08 수업내용



※ VMware 는 개인적으로 구하여 진행




1. CentOS 설치


1) 파티션


사용자 레이아웃 선택하여 진행

20G 용량 기준이며, 포맷 형식은 기본 형식으로 진행


파티션    용량(mb)

/boot   -  200

swap   -  4096 (파티션은 아님)

/usr     -  6000 

/var     -  2000

/home -  200

/         -  나머지



2) 설치 종류 선택


Desktop - 추가기능 지금선택


기반시스템 - 레거시 유닉스 호환성 - ksh~~

            └ 서버 - FTP 서버



3)


설치 완료

reboot 설정 완료 직전 발생하는 kdump 오류 : 가상으로 돌리기 때문에 뜨는 오류. 상관할 필요 없음



4) VMware를 더 편하게 사용하기 위한 tool 설치 가능.


VM 상단 메뉴 중 VM - Install VMware Tools 클릭하면 VMware Tool이 마운트 된다.

vmware~.tar.gz 파일 안에 있는 vmware-install.pl 을 실행하여 엔터로 넘어가다가

5~6번째 쯤에 있는 ...kenel [no]  에서 yes를 입력 후 계속 엔터를 쳐 설치를 마친 뒤 재시작 하면 완료.





2. 주요 디렉토리 설명


1) / : 최상위 디렉토리


2) /boot/ : 부팅과정에서 필요한 정보 파일  (≒ boot.ini)


3) /bin/ : 기본적인 명령어.  (≒ windows)


4) /root/ : root 의 홈 디렉토리  (≒ usersadministrator)


5) /lost+found/ : 각 파티션마다 1개씩 있는 것.


6) /selinux/ : 방화벽을 감싸는,  2차 보안 툴


7) /home/ : 관리자 이외의 사용자의 홈 디렉토리가 생성되는 곳. 추 후 보안을 위해 다른 곳으로 이동해야 함


8) /etc/ : 관리자용 명령어 모음.


9) /lib/ : 각종 언어를 위한 라이브러리


10) /mnt/ : 원격 장치들이 지정된 위치


11) /dev/ : 인터페이스를 담당하는 파일들이 있는 위치


12) /media/ : cdrom 등을 적용시키기 위한 곳


13) /sbin/ : 시스템 운영 관리를 위한 명령 파일. 용량이 큰 명령어는 /usr/sbin/ 에 있다.  (≒ dll 파일들)


14) /usr/ : 용량이 크고 자주 사용되지 않는 파일들.  (≒ Program files)


15) /proc/ : 메모리, cpu, disk 등의 정보를 담고 있는 곳.


16) /tmp/ : 잠시 사용되는 임시 파일


17) /var/ : log 등이 있으며 자주 변경되는 시스템 파일들을 가지고 있음.





3. swap : 가상메모리


swap 은 '교환하다' 라는 뜻이다.

할당된 물리적 메모리가 부족할 시 사용하지 않는 load 된 메모리를 swap 메모리로 이동한 뒤 필요한 작업을 수행한다.

후에 swap 에 load되어 있는 메모리를 사용할 시, 물리 메모리에 있는 내용과 '교환'한다.




And


막강한 부트로더, GRUB

|


[출처 : 책]


GRUB 는 GRand Unified Bootloader의 약자로 리눅스 계열에서 가장 많이 사용하는 부트로더이다.




1. 리눅스 및 GRUB 에서의 하드디스크, 파티션 표시 법


리눅스에서 나타내는 장치 표시 방법과 GRUB에서 나타내는 장치 표시 방법에는 조금의 차이가 있다.



1) 리눅스






각각의 하드디스크를 여러 파티션으루 나누었을 때






2) GRUB -> IDE, S-ATA, SCIS 방식을 구분하지 않음.




각각의 하드디스크를 여러 파티션으루 나누었을 때




※ 정리


리눅스는 하드디스크 표시를 hdx, sdx 처럼 a부터, 파티션은 1부터 시작되지만

GRUB에서는 하드디스크를 구분 없이 hdx 방식으로 0부터 시작하며, 파티션 또한 하드디스크 번호와 괄호로 묶어 0부터 표시한다.





2. GURB 설정 파일


설정 파일은 /boot/grub/grub.conf  에 있다. vi 등의 편집기로 열면 된다.

GRUB 파일은 아래처럼 구성되어 있다.


# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/sda7

#          initrd /initrd-[generic-]version.img

#boot=/dev/sda

default=0                                     // GRUB에 있는 부팅 목록 중 0번째(첫번째)로 부팅하기

timeout=5                                    // 5초 뒤에 자동으로 default 에 지정된 OS 로 부팅된다. 나는 빠른 부팅을 위해 1로 바꿨다. 

splashimage=(hd0,0)/grub/splash.xpm.gz  // GRUB 메뉴의 배경그림

hiddenmenu                                 // 히든 메뉴 설정할 수 있는 듯 하다.

title CentOS 6 (2.6.32-504.el6.i686)        // 첫번째, 즉 0번에 나타날 이름 설정

        root (hd0,0)                            // 마운트 할 하드 및 파티션 정보

        kernel /vmlinuz-2.6.32-504.el6.i686 ro root=UUID=81b1dda3-6776-4d4f-9e96-b3274cf5d32f rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

                                             // OS 부팅 시 읽어올 커널 파일.

        initrd /initramfs-2.6.32-504.el6.i686.img         // initrd 파일을 지정



위 파일에는 없지만 다른 명령어들도 있다고 한다.


rootnoverify : root 명령과 비슷하지만 해당 파티션을 마운트 하진 않는다. 윈도우로 부팅할 경우 사용한다.

displaymem : BIOS에 있는 정보에 기반하여 현재 메모리 사용을 보여준다.   // 해봤는데 너무 빨리 지나가서 다시 지웠다.

chainloader : 연쇄 로더로 지정된 파일을 읽어온다. 파일이 지정된 파티션의 첫번째 섹터에 위치하고 있을 경우, 파일명을 사용하는 대신 블록리스트 표기법 +1을 사용한다. 윈도우와의 멀티부팅을 이용할 때 사용한다.



* 윈XP 멀티 부팅할 때의 예시


title Windows XP

        rootnoverify (hd0,1)  

        chainloadere +1





3. GRUB 명령어


쉘 프롬프트에서 grub를 입력하거나 부팅 시 grub 메뉴에서 c 를 입력하면 grub 명령행 모드로 들어갈 수 있다.

grub 명령어를 통해 특정 파일을 block 시키거나 부팅에 관련된 것들을 막강하게 편집할 수도 있다.

quit를 입력하면 grub 명령행 모드를 나올 수 있다.


※ GRUB에 대한 막강한 기능에 대해 잘 설명해 둔 곳이 있어 기록을 남겨둔다.

http://www.linuxlab.co.kr/docs/01-05-5.htm




And


서멀구리스 (1회용)

|





MBF 서멀 구리스


CPU쿨러랑 그래픽카드 쿨러 암것도 모르고 뗐다가 큰일날뻔함...ㅋㅋ


특히 부팅 안될 때의 그 짜릿함이란..(?)


몇일 지나긴 했지만 이제서야 다시 사서 하려고 한다~ 1회용 짜리로 4개~



가격 : 개당 450원


용량 : 1g  - 1회용


url : http://item2.gmarket.co.kr/Item/detailview/Item.aspx?goodscode=289619704




And


prev | 1 | ··· | 13 | 14 | 15 | 16 | 17 | 18 | 19 | next