블로그 이미지
오정oI

카테고리

분류 전체보기 (119)
회사 - pj # 나라원 (1)
회사 - pj # 나라원 (2)
이직준비 2 (0)
이직준비 (10)
국비-클라우드 (1)
학점은행제 (0)
취미 (0)
주식 (0)
외국어 (0)
자격증 (14)
BigData_On (1)
BigData_Off1 (74)
딥 러닝 (0)
머신러닝을 이용한 빅데이터 분석 (0)
Index (0)
Spring Framework (0)
JSP (0)
리눅스2(재) (0)
네트워크기초(재)-CCNA (0)
리눅스2 (15)
리눅스1 (16)
윈도우2 (20)
윈도우1 (15)
CCNP-Switch (1)
네트워크기초-CCNA (7)
파이썬 (0)
클라우드 (0)
언어_Framework (1)
언어-Server (2)
언어_Client (0)
업무 (1)
IT참고서적 (1)
IT 최신 트랜드 (0)
제테크 (1)
Study Plan (2)
동영상 및 자료 (5)
여행 (1)
git (0)
Total
Today
Yesterday
반응형
SMALL

※ User Account Management (유저 계정 관리)

* 홈 디렉터리 vs. 일반 디렉터리

rm -rf /home/itbank    // 홈 디렉터리

mkdir /home/itbank   // 일반 디렉터리

 

* 관련 파일 리스트

1> /etc/login.defs
- 사용자와 그룹 생성에 관련된 기본 설정파일

 

2> /etc/passwd

- 사용자와 서비스 관련 정보 파일

3> /etc/shadow

- 사용자와 서비스 관련 비밀번호 정보 파일

4> /etc/group
- 그룹과 서비스 그룹 관련 정보 파일

 

5> /etc/gshadow

-  그룹과 서비스 그룹 관련 비밀번호 정보 파일

 

6> /home

- 사용자 홈 디렉터리 생성 경로

일반 사용자 홈 디렉터리 생성 경로 위치

[root@localhost itbank]# ls -l /home/
합계 0
drwx------. 5 itbank itbank 128 12월 22 14:55 itbank            // 일반 사용자 집

7> /etc/skel

- 사용자 계정 생성시 사용자의 환경변수파일을 저장하고 있는 디렉터리(뼈대)

 

8> /etc/default/useradd

- 사용자 계정 생성시 기본 설정 파일

 

그룹관련 1개 있음. 나머지는 사용자 관련

/etc/login.defs 가 더 큰 개념임

그룹도 포함

 

 

* /etc/passwd 설명
 

[root@localhost itbank]# cat /etc/passwd

itbank:x:1000:1000:dust:/home/itbank:/bin/bash

 

itbank : x : 1000 : 1000 : dust : /home/itbank : /bin/bash

itbank          → 사용자 계정명

x                 → 사용자 계정의 비밀번호

(/etc/shadow 파일을 참고)

1000(왼쪽)    → UID(User ID : 사용자 고유 식별자)

1000(오른쪽) → GID(Group ID : 그룹 고유 식별자)

(/etc/group 파일을 참고)

dust            → 코멘트(부연설명)

/home/itbank→ itbank 사용자 계정의 홈 디렉터리 경로

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

 

* shell(조개 껍데기; 통역사)

1> 의미

- 사용자 계정과 커널이 상호작용 할 수 있도록 도와주는 유틸리티

cpu << 커널 << 응용  pg << shell << 사용자

- 사용자 계정이 입력한 명령어를 커널이 이해할 수 있도록 변환해주는 역할

 

2> shell의 종류 확인

1) # cat /etc/shells

2) # echo $SHELL

3) # chsh -l

[option]

-l : shell의 목록

 

 

 

/bin/sh    ①
/bin/bash ②
/sbin/nologin ③
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

 

① /bin/sh

Bourn Shell

- 가장 오랜기간동안 모든 유닉스 시스템의 표준구성요소

- 강력한 명령 프로그래밍 언어 기능을 가짐

- 상호 대화형 방식을 취하고 있지 않음

- 복구모드에 사용

 

② /bin/bash

Bourn again shell

- 리눅스에서 가장 많이 사용되고 있는 셸

- Bourne Shell 과 C Shell 의 유용한 특징들을 통합(복합 셸)

- 리눅스의 표준적인 명령어 라인 인터페이스(상호연결, 명령어 줄 편집)

- 처음 로그인하면 기본으로 주어지는 셸

 

③ /sbin/nologin

- 시스템 셸. 즉 계정이 아닌 셸(지워도 안되고 접속할 필요도 없음!)

 

⑦ /bin/tcsh

 

- C Shell(95%) + Korn Shell(5%)

- C Shell 의 확장된 셸

 

⑧ /bin/csh

C Shell

- 프로그래밍 언어  C를 기반으로 만들어지는 셸

- 상호 대화형 방식을 취하고 있음

- 크기가 커지고 처리속도가 느려졌다는 단점이 있지만 편리한 기능을

제공하고 있음

 

⑨ /bin/ksh

Korn Shell

- 유닉스에서 대표적으로 가장 많이 사용되는 셸

- Bourne Shell 과 C Shell 의 기능을 확장시킨 셸

- 명령어 줄 편집 기능

 

cf) linux (bash)

→ [;lsdf;lksd;lfks;ldkf]#     

unix (ksh)

#

 

// shell 종류

[root@localhost itbank]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

[root@localhost itbank]# chsh -l        // change shell
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh

// 현재 사용하고 있는 shel

 

 

[root@localhost itbank]# echo $SHELL
/bin/bash

[root@localhost itbank]# ls -l /bin
lrwxrwxrwx. 1 root root 7  9월 25 14:49 /bin -> usr/bin      // 바로가기 파일

 

* /etc/shadow 설명

[root@localhost itbank]# cat /etc/shadow

itbank:$6$gicHu567$4dZc8e28FM1kAeu7O58QdPaexgfsV/4wOMWiM2X3zJRY55CPcu4AOERScJ1l97nNLTP7p17JJJiXrKblHG6IF.::0:99999:7:::

 

 

apache:!!:17434::::::

itbank:$6$gicHu567$4dZc8e28FM1kAeu7O58QdPaexgfsV/4wOMWiM2X3zJRY55CPcu4AOERScJ1l97nNLTP7p17JJJiXrKblHG6IF.

::0:

99999:7: : :

 

itbank                 → 사용자 계정명

$4dZc ~ lHG6IF    → SHA512 알고리즘으로 비밀번호를 암호화

cf) !!  or !        → 비밀번호 없음

공백(숫자)           → 비밀번호 생성 일자

0                      → 비밀번호 최소 변경 일 수(기본값으로 무제한)

99999                → 비밀번호 만료일(기본값으로 무제한)

7                      → 비밀번호 만료일 되기 전 경고 일 수

(기본값으로 일주일)                 

공백(첫번째)        → 유예기간(만료된 후)

공백(두번째)        → 사용자 계정 사용 불가능하게 되는 날

공백(세번째)        → 예약된 공간

 

* /etc/group 설명

 

[root@localhost itbank]# cat /etc/group

itbank:x:1000:

 

itbank : x : 1000 :

 

itbank              → 그룹명

x                     → 그룹의 비밀번호

(/etc/gshadow)

1000                → GID(Group ID :  그룹 고유 식별자)

공백(첫번째)      → 2차 그룹

       

cf. /etc/passwd

[root@localhost itbank]# cat /etc/passwd
itbank:x:1000:1000:dust:/home/itbank:/bin/bash

 

* /etc/gshadow 설명

 

[root@localhost itbank]# cat /etc/gshadow
itbank:!::

itbank :!: :

itbank             → 그룹명

!                    → 그룹의 비밀번호

(로그인은 사용자 계정으로 하기 때문에 기본적으로 비밀번호가 없음)

공백(첫번째)     → 그룹의 소유주(사용자 계정명)

공백(두번째)     → 그룹의 구성원(사용자 계정명)

 

* 사용자 계정 생성

1> 사용자 게정 생성

[사용형식]

# useradd 계정명

→ 계정을 생성하는데 기본설정을 토대로 생성이 됨

# useradd [option] [argument] 계정명

→ 계정을 생성시 옵션 사용하여 해당 값을 주어서 생성함

[option]

-u : uid를 지정

-g : gid를 지정(그룹 배운 후)

-c : comment 를 지정

-s : shell을 지정

-d : 사용자 계정의 홈 디렉터리 생성할 경로를 지정

-p:  사용자 계정을 생성할 때 비밀번호와 같이 부여하여 생성

 ex) useradd -p `openssl passwd 1` user6            // ` : 쿼터 (1앞에 키)

 

2> passwd

사용자 계정의 비밀번호 생성, 수정, 삭제 등등

[사용형식]

# passwd 입력 후 enter

→ 현재 로그인 되어 있는 사용자 게정의 비밀번호를 작업        // 관리자 비번

passwd 계정명

→ 지정한 계정명의 비밀번호를 작업(관리자만 허용)

 

 

// 사용자 계정 정보 확인

[root@localhost itbank]# tail -5 /etc/passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
[root@localhost itbank]#

// 사용자 계정 추가

[root@localhost itbank]# useradd user1
[root@localhost itbank]#
[root@localhost itbank]# tail -5 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
[root@localhost itbank]#
[root@localhost itbank]# ls -l /home/            // 사용자 등록 정보는 /home에 저장됨
합계 0
drwx------. 5 itbank itbank 128 12월 22 14:55 itbank
drwx------. 3 user1  user1   78 12월 26 14:17 user1

// 사용자 계정 비밀번호 정보 확인

[root@localhost itbank]# tail -5 /etc/shadow
tcpdump:!!:17434::::::
apache:!!:17434::::::
itbank:$6$gicHu567$4dZc8e28FM1kAeu7O58QdPaexgfsV/4wOMWiM2X3zJRY55CPcu4AOERScJ1l97nNLTP7p17JJJiXrKblHG6IF.::0:99999:7:::
linux1:$6$USFNU/r1$GQfl/8apsdiSqDuC1DDdYyN8zP3smcobT9SJbvtqTJmn0Wk74P5JoPw.WSqPhjtweFtzfhpiDy8bpUdLusBjU/:17522:0:99999:7:::
user1:!!:17526:0:99999:7:::            // 17526 => 1970.1.6 ~ 현재 날짜

// 그룹 정보 확인

[root@localhost itbank]# tail -5 /etc/group
tcpdump:x:72:
apache:x:48:
itbank:x:1000:
linux1:x:1001:
user1:x:1002:

 

// uid 지정 등록

[root@localhost itbank]# useradd -u 1004 user2
[root@localhost itbank]#
[root@localhost itbank]# tail -5 /etc/passwd
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash

 

// comment  지정 등록

[root@localhost itbank]# useradd -c testuser user3
[root@localhost itbank]#
[root@localhost itbank]# tail -5 /etc/passwd
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash

 

// shell 지정 등록

[root@localhost itbank]# useradd -s /bin/sh user4        // Bourn Shell로 지정
[root@localhost itbank]#
[root@localhost itbank]# tail -5 /etc/passwd
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash
user4:x:1006:1006::/home/user4:/bin/sh

// 디렉터리 지정 생성

[root@localhost itbank]# mkdir /bonwon
[root@localhost itbank]#
[root@localhost itbank]# useradd -s /bin/csh -d /bonwon/userfive user5        // 집이름 == 계정이름 동일하게!!!

↑경로    ↑집이름 ↑계정이름

[root@localhost itbank]#
[root@localhost itbank]# tail -6 /etc/passwd
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash
user4:x:1006:1006::/home/user4:/bin/sh
user5:x:1007:1007::/bonwon/userfive:/bin/csh

 

// 비밀번호 지정 등록

[root@localhost itbank]# useradd -p `openssl passwd 1` user6    // ` : 쿼터 (1앞에 키)
[root@localhost itbank]#
[root@localhost itbank]# tail -7 /etc/passwd
linux1:x:1001:1001::/AS/Linux/linux1:/bin/bash
user1:x:1002:1002::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash
user4:x:1006:1006::/home/user4:/bin/sh
user5:x:1007:1007::/bonwon/userfive:/bin/csh        // csh == bash
user6:x:1008:1008::/home/user6:/bin/bash            // 비번 : 1 등록 후 접속 테스트

 

// passwd


[root@localhost ~]# passwd user4
user4 사용자의 비밀 번호 변경 중
새  암호:            // 1
잘못된 암호: 암호가 앞뒤 어느쪽에서 읽어도 같은 문맥임
새  암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
[root@localhost ~]#
[root@localhost ~]# tail -7 /etc/shadow
user1:!!:17526:0:99999:7:::
user2:!!:17526:0:99999:7:::
user3:!!:17526:0:99999:7:::
user4:$6CmKOapIW$hfw//R5mQdKrmZwK2VGX/nVdLyxSS2eZlQMrk5jPc80trX9FKVMEoXB9naDy.A125al/ZWLOVnEFDEgB5CYr1.:17526:0:99999:7:::
user5:!!:17526:0:99999:7:::
user6:mIMYR2Uu9xNHw:17526:0:99999:7:::
user7:$6$TcklimGa$aj3NRDEKQq4mZjmPIjU2SmrUKX1mhlxG3ridDA9hlrP0jIR22lbuUXDtqJ3GQaqYGmJyXda1OeS2rqKDLgxmC1:17526:0:99999:7:::
[root@localhost ~]#
// user4 : passwd 이용 

// user6 : -p 옵션 이용

// user6의 암호화 길이가 너무 짧다

// => # passwd 계정명 이용할 것!

 

// user4, user5, user6 접속 후 (본 쉘, c 쉘, bash 쉘)

// 1) 접속 후 shell  형태

// 2) alias 결과값 비교

 

[root@localhost ~]# tail -7 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash
user4:x:1006:1006::/home/user4:/bin/sh            // Bourn Shell
user5:x:1007:1007::/bonwon/user5:/bin/csh       // C Shell
user6:x:1008:1008::/home/user6:/bin/bash        // Bourn again shell
user7:x:1009:1009::/home/user7:/bin/bash
[root@localhost ~]#

=> 접속 후 형태가 비슷한 것도 있고 (csh == bash) 다른 것도 있지만 (sh)

 

     명령어의 결과는 다 다르다.

 

 

 

 

 

 

// skel 개념

[root@localhost ~]# ls -l /etc/skel
합계 0
[root@localhost ~]#
[root@localhost ~]# touch /etc/skel/junga
[root@localhost ~]#
[root@localhost ~]# useradd user77
[root@localhost ~]#
[root@localhost ~]# tail -8 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1004:1004::/home/user2:/bin/bash
user3:x:1005:1005:testuser:/home/user3:/bin/bash
user4:x:1006:1006::/home/user4:/bin/sh
user5:x:1007:1007::/bonwon/user5:/bin/csh
user6:x:1008:1008::/home/user6:/bin/bash
user7:x:1009:1009::/home/user7:/bin/bash
user77:x:1010:1010::/home/user77:/bin/bash
[root@localhost ~]#
[root@localhost ~]# ls -l /home/user1
합계 0
[root@localhost ~]# ls -l /home/user2
합계 0
[root@localhost ~]# ls -l /home/user3
합계 0
[root@localhost ~]# ls -l /home/user4
합계 0
[root@localhost ~]# ls -l /bonwon/user5
합계 0
[root@localhost ~]# ls -l /home/user6
합계 0
[root@localhost ~]# ls -l /home/user7
합계 0
[root@localhost ~]# ls -l /home/user77
합계 0
-rw-r--r--. 1 user77 user77 0 12월 26 17:31 junga    // 파일 자동 생성됨
[root@localhost ~]#
[root@localhost ~]# ls -la /etc/skel        // skeleton; 사용자 계정의 뼈대
합계 24
drwxr-xr-x.   3 root root   91 12월 26 17:31 .
drwxr-xr-x. 133 root root 8192 12월 26 17:31 ..
-rw-r--r--.   1 root root   18  8월  3 06:11 .bash_logout
-rw-r--r--.   1 root root  193  8월  3 06:11 .bash_profile
-rw-r--r--.   1 root root  231  8월  3 06:11 .bashrc
drwxr-xr-x.   4 root root   39 12월 19 23:49 .mozilla

-rw-r--r--.   1 root root    0 12월 26 17:31 junga
[root@localhost ~]#
[root@localhost ~]# ls -la /home/user1
합계 12
drwx------.  3 user1 user1  78 12월 26 16:49 .
drwxr-xr-x. 10 root  root  112 12월 26 17:31 ..
-rw-r--r--.  1 user1 user1  18  8월  3 06:11 .bash_logout
-rw-r--r--.  1 user1 user1 193  8월  3 06:11 .bash_profile
-rw-r--r--.  1 user1 user1 231  8월  3 06:11 .bashrc
drwxr-xr-x.  4 user1 user1  39 12월 19 23:49 .mozilla

[root@localhost ~]#

// useradd  vs. mkdir 계정 생성 차이점

[root@localhost ~]# mkdir /home/itbank2
[root@localhost ~]#
[root@localhost ~]# ls -la /home/itbank2   // itbank2 일반 dir. 
합계 0
drwxr-xr-x.  2 root root   6 12월 26 15:20 .
drwxr-xr-x. 10 root root 165 12월 26 15:20 ..

[root@localhost ~]# ls -la /home/itbank    // itbank home dir.; 사용한 내역이 많아서 좀 늘어남..,
합계 24
drwx------. 14 itbank itbank 4096 12월 20 12:37 .
drwxr-xr-x. 10 root   root    112 12월 26 17:31 ..
-rw-------.  1 itbank itbank  310 12월 20 12:37 .ICEauthority
-rw-r--r--.  1 itbank itbank   18  8월  3 06:11 .bash_logout
-rw-r--r--.  1 itbank itbank  193  8월  3 06:11 .bash_profile
-rw-r--r--.  1 itbank itbank  231  8월  3 06:11 .bashrc
drwx------. 11 itbank itbank  233 12월 20 12:37 .cache
drwxr-xr-x. 13 itbank itbank  217 12월 20 12:37 .config
-rw-------.  1 itbank itbank   16 12월 20 12:37 .esd_auth
drwx------.  3 itbank itbank   19 12월 20 12:37 .local
drwxr-xr-x.  4 itbank itbank   39 12월 19 23:49 .mozilla
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 공개
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 다운로드
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 문서
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 바탕화면
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 비디오
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 사진
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 서식
drwxr-xr-x.  2 itbank itbank    6 12월 20 12:37 음악

// 사용자 계정 /home 디렉터리 밑에

// useradd를 거친 것이 아닌 mkdir을 통한 home dir 생성은

// 기본적인 사용자 계정에 대한 뼈대가 없다! (/etc/skel 의 숨김 파일 안에도 들어있음)

반응형
LIST
Posted by 오정oI
, |

VI (2)

BigData_Off1/리눅스1 / 2017. 12. 21. 13:26
반응형
SMALL

실습 01. 기본

 

// q1> dir 생성

# mkdir /down

// q2> /down/ 밑에  file  생성

# touch /down/test1 /down/test2

# ls -l /down

// q3> 파일 복사

# ls -ld /tmp

# cp /down/test1 /tmp/test3

# cp /down/test2 /tmp/test4

// && 이용??

 

# cat test1 >> /down/test3

# cat test2 >> /down/test4

 

# ls /tmp

 

// q4>/down 밑에 test dir 생성

# mkdir /down/test

# ls -l /down

 

//q5> dir 이동

# mv /down/test /tmp

# ls -ld /tmp/test

# ls -ld /down/test

Error:

 

// q6> find 

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

Error: /tmp/test : 디렉터리            //만약에 디렉터리도 삭제해주고 싶으면  rm -r {} \; 붙여야???

# ls -l /down /tmp

 

[root@localhost down]# find . -name "test*"
./test1
./test2

[root@localhost down]# find . -name "test*" -exec rm {} \;
[root@localhost down]#
[root@localhost down]# ls
[root@localhost down]#

* centos 터미널 글꼴 설정

CentOS 7 바탕화면 → 마우스 우클릭 → 터미널 열기 → 편집 →

프로파일 기본 설정 → 글씨 모양 : 사용자 지정 글꼴 체크 → monospace fmf snfma

→ 검색창 에다가 cour를 입력 후 enter

 

실습 02. vi

 

vi 실습!

문제 1.
pwd -> /home/itbank
실습 할 파일 : /home/itbank/inittab(inittab파일은 공유폴더에 있으므로  ftp service를 이용해서 작업) * 조건 : 절대로 vi 에서 나오시지 않고 vi 안에서 작업하세요. 꼭 지켜주세요~!!

[puTTY]

[root@localhost itbank]# ifconfig | head -5
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.174  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::8fbb:295:37f5:95f0  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:71:1e:f0  txqueuelen 1000  (Ethernet)
        RX packets 36957  bytes 42003069 (40.0 MiB)

[cmd]

 

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\user>E:

E:\>
E:\>cd 2_12월_평일12시_리눅스1_Junga

E:\2_12월_평일12시_리눅스1_Junga>
E:\2_12월_평일12시_리눅스1_Junga>cd temp

E:\2_12월_평일12시_리눅스1_Junga\temp>
E:\2_12월_평일12시_리눅스1_Junga\temp>dir
 E 드라이브의 볼륨: 새 볼륨
 볼륨 일련 번호: 0AAB-DADF

 E:\2_12월_평일12시_리눅스1_Junga\temp 디렉터리

2017-12-21  오후 02:02    <DIR>          .
2017-12-21  오후 02:02    <DIR>          ..
2017-12-19  오후 03:20             4,411 12월19일_7평일리1.txt
2017-12-21  오후 02:00             1,952 12월21일_8평일리1.txt
2017-05-06  오전 11:04               884 inittab
2017-12-12  오후 01:41             7,037 NAT.png
2017-12-12  오후 03:11           168,362 snapshot1.png
2017-12-12  오후 03:12            55,881 snapshot2.png
2017-12-18  오후 12:47           259,815 인터넷안될때.png
               7개 파일             498,342 바이트
               2개 디렉터리  339,254,603,776 바이트 남음

E:\2_12월_평일12시_리눅스1_Junga\temp>
E:\2_12월_평일12시_리눅스1_Junga\temp>ftp 192.168.8.174
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): root
530 Permission denied.
로그인하지 못했습니다.
ftp> exit
올바르지 않은 명령입니다.
ftp> quit
221 Goodbye.

E:\2_12월_평일12시_리눅스1_Junga\temp>ftp 192.168.8.174
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): itbank
331 Please specify the password.
암호:
230 Login successful.
ftp>
ftp> pwd
257 "/home/itbank"
ftp>
ftp> put inittab
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 0.00초 884000.00KB/초
ftp>

 

1번) /home/itbank 홈 디렉터리 하위에 a, b, c, d, e 파일이 있습니다.
/home/itbank 홈 디렉터리 하위의 내용을 20번째 라인 밑에 자세하게 삽입하세요
(단! a, b, c, d, e만 해당함)

 

 

=>

:! ls -l /home/itbank

:! touch a b c d e

:! ls /home/itbank
Press ENTER or type command to continue
a  b  c  d  e  inittab

// sol1>

:20     // 해당 줄로 이동

o      // 실행 모드> 20번째 라인에서 해당 키 입력 후 21번째 라인에 빈 행 생성

:.! ls -l ./                // :.! ls -l a b c d e

 

// sol2>

:20r! ls -l      // == :20r! ls -l /home/itbank/

inittab 내용을 dd로 삭제

or

:20r! ls -l a b c d e

 

2번) 파일(inittab) 안에 있는 내용 변경 : 'etc'를 'dongdaemoon', 'rc'를 'centos7'

=> /etc

:%s/etc/dongdaemoon/g

:%s/rc/centos7/g

 

 

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

=> 5번째 라인에서 8yy

8 lines yanked

1번째 라인에 커서를 둔 상태에서 p

 

4번) 지금까지 작업한 모든 내용을 '/test/dongdaemoon.test' 파일로 저장

=> :! ls /

:! ls /

:! mkdir /test

// sol1>

:w /test/dongdaemoon.test

 

// sol2>

:w! >> /test/dongdaemoon.test

 

:! touch /test/dongdaemoon.test

:w >> /test/dongdaemoon.test

:w

 

:e /test/dongdaemoon.test

:f

:! ls -l /test/

합계 4
drwxr-xr-x.  2 root root   30 12월 21 14:35 .
dr-xr-xr-x. 19 root root  250 12월 21 14:29 ..
-rw-r--r--.  1 root root 1598 12월 21 14:30 dongdaemoon.test

 

5번) '/home/.dongdaemoon.test' 파일로 저장 후 열기

:! ls -l /home

// sol1>

:w /home/.dongdaemoon.test

 

// sol2>

: w! >> /home/.dongdaemoon.test

 

:! touch /home/.dongdaemoon.test            

:! ls -la /home

Press ENTER or type command to continue
합계 8
drwxr-xr-x.  3 root   root     71 12월 22 13:10 .
dr-xr-xr-x. 20 root   root    260 12월 22 12:55 ..
-rw-r--r--.  1 root   root   1598 12월 21 14:41 .dongdaemoon.test
drwx------.  5 itbank itbank  208 12월 22 13:09 itbank

: w >> /home/.dongdaemoon.test

:e! /home/.dongdaemoon.test            //  강제로 열기

:f

 

:e inittab

 

6번) '/backup/kg' 파일로 저장

:! ls /

:! ls /backgup

sol 1>

:w /backup/kg

sol 2>

: w! >> /backup/kg

 

:! touch /backup/kg

:! ls -l /backup/

:w >> /backup/kg

:e /backup/kg

:! ls -l /backup/

Press ENTER or type command to continue
합계 24
-rw-r--r--. 1 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root    0 12월 21 14:43 kg
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd
-rw-r--r--. 1 root root   21 12월 21 12:47 testfile2

Press ENTER or type command to continue
합계 28
-rw-r--r--. 1 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 1598 12월 21 14:44 kg
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd
-rw-r--r--. 1 root root   21 12월 21 12:47 testfile2

 

7번) 빈 문서(새로 만들기) 파일을 연 후 '/backup/kg' 파일 열기

:enew

:e /backup/kg

:f

"/backup/kg" line 1 of 41 --2%-- col 1

 

 

실습 03.

문제 1.
현재 작업하고 있는 /backup/kg 파일은 연 상태에서 작업함.

/home/itbank 홈 디렉터리 하위에 존재하는 모든 내용을 삭제 후

아래에 존재하는 경로를 명령어 한 줄로 작업함.

/home/test/a/b/c

/test/1/2/3

:! rm -rf *

:! ls -l

Press ENTER or type command to continue
[No write since last change]
합계 0

 

:! mkdir -p /home/test/a/b/c /test/1/2/3

 

 

 

 

cf) rf 점검

cd /

 

cd /home/itbank

 

ls -l /home

drwx------.

 

 

실습 04.

문제3.
현재 작업 장소는 /bacukup/kg

1) 위에서 작업한 파일 /home/.dongdaemoon.test 파일을 연 후 안에 있는 내용을 전부 삭제

2) 여러분 윈도우 개인 폴더에 있는 named.confnamed.rfc1912.zones를 리눅스에 /home/itbank 홈 디렉터리로 업로드를 해주세요

3) 그리고 /vi 디렉터리 하위에 업로드한 2개의 파일을 병합해주세요
병합할 파일명은 하나는 named.1 또 하나는 named.2 입니다
4) 병합할 때 named.1 파일은 절대경로로 병합해주시고 named.2 파일은 상대경로로 병합합니다

5) 병합 됬는지 확인 하시고 /home/.dongdaemoon.test 파일 안에 named.1과 named.2를
각각 삽입해 주세요
(동일한 named.1과 named.2는 동일한 내용을 가지고 있으므로 간단하게 제목을 넣어서
작업. 예를 들어 ====named.1=== , ====named.2==== 이런식으로요)

 

// 풀이

3) , 4)

:! cat /home/itbank/named.conf /home/itbank/named.rfc1912.zones > /vi/named.1

:! cat named.conf named.rfc1912.zones > ../../vi/named.2

 

:! ls -l /vi

Press ENTER or type command to continue
합계 8
-rw-r--r--. 1 root root 1915 12월 22 14:47 named.1
-rw-r--r--. 1 root root 1915 12월 22 14:48 named.2

1 ============== named.1 =======================    // Enter 키 눌러 line.2 생성

2

:2r /vi/named.1

 

...

88 ============== named.2 =======================    // Enter 키 눌러 line.2 생성 

89

:89r ../../vi/named.2

 

* vi에서 경로 변경 방법

:! cd /root        // 안먹힘

:cd /root         // 됨

:! pwd

  

// 내가 한거

3) , 4)

:! cat named.conf >> /home/itbank/named.1

:! cat named.rfc1912.zones >> named.2

:! ls -l

Press ENTER or type command to continue
[No write since last change]
합계 16
-rw-r--r--. 1 root   root   984 12월 22 14:20 named.1
-rw-r--r--. 1 root   root   931 12월 22 14:21 named.2
-rw-r--r--. 1 itbank itbank 984 12월 22 14:15 named.conf
-rw-r--r--. 1 itbank itbank 931 12월 22 14:16 named.rfc1912.zones

5)

:! cat named.1 >> /home/.dongdaemoon.test

:! cat named.2>> /home/.dongdaemoon.test

반응형
LIST
Posted by 오정oI
, |

VI (1)

BigData_Off1/리눅스1 / 2017. 12. 19. 13:50
반응형
SMALL

* vi(visual Editor)

vi 는 한 줄씩  편집하는 줄 단위 편집기가 아니라 한 화면을 편집하는
비주얼 에디터라는 뜻에서 유래
- GUI 환경에서 작업하는 것이 아니라 CLI 환경에서 작업하는 프로그램
Windows 에서 마치 메모장과 비슷
간결하면서도 강력한 기능을 제공함

 

vi 에는 3가지 모드가 존재

명령모드, 입력모드, 실행모드

 

1> 명령모드

- vi의 기본모드

- enter키를 누를 필요없이 하나 하나의 키를 눌러서 동작

- R을 누르면 하단에 -- REPLACE-- 표시가 뜨며 Windows  마치 Insert키와

동일한 작업

 

2> 입력모드

- 문자나 숫자를 입력

- 하단에 --INSERT-- 표시 됨

 

3> 실행모드

- 파일 저장, 열기, 새로 만들기 등등

명령모드에서 입력모드로 전환

- a, i, o  등의 키를 누름

명령모드에서 실행모드로 전환

-  /, ?, : 등의 키를 누름

입력모드에서 명령모드로 전환

- ESC 키를 누름

입력모드에서 실행모드로 또는 실행모드에서 입력모드로 전환은 할 수 없으므로

반드시 명령모드를 거쳐서 전환해야 함

 

 

 

 

1> 명령모드

[사용형식]

# vi

: 파일의 이름도 없고 저장된 경로도 없이 빈 문서를 작업할 때

# vi 파일명

:  파일의 문서 편집을 할 때

 

ex>

// vi

[root@localhost itbank]# vi
: q

 

1-1>커서 이동(방향키)

←왼쪽 : h

↓아래 : j

↑위 : k

→오른쪽 : l

 

1-2>커서 이동(단어 단위)

w :  다음 단어의 처음으로 이동 특수문자, 특수기호를 인식함

b :  이전 단어의 처음으로 이동 특수문자, 특수기호를 인식함

e :  다음 단어의 마지막으로 이동 특수문자, 특수기호를 인식함

W : 다음 단어의 처음으로 이동 특수문자, 특수기호를 인식 안함

B : 이전 단어의 처음으로 이동 특수문자, 특수기호를 인식 안함

E : 다음 단어의 마지막으로 이동 특수문자, 특수기호를 인식 안함

 

1-3>커서 이동(행 단위)

0(숫자) : 행의 맨 처음으로 이동

$ : 행의 맨 마지막으로 이동

 

1-4>커서 이동(문서 단위)

gg :  문서 전체의 맨 처음

G :  문서 전체의 맨 마지막

 

1-5>커서 이동(화면(창) 크기 만큼)

H :  화면(창) 크기에서

L :   화면(창) 크기에서 마지막

 

1-6>잘라내기 및 복사

x :  현재 커서에 있는 단어를 삭제 (마치 Windows delete 키)

X :  커서가 이전 단어를 삭제(마치 Windows에서  backspace 키)

dd : 한 줄 삭제 (잘라내기)

숫자(줄) +  dd :  여러 줄을 삭제 (잘라내기)

p(소) :  현재 커서 아래에 붙여넣기

P(대) : 현재 커서 위에 붙여넣기

yy : 한 줄 복사

숫자(줄)+yy :  여러 줄을 복사

 

1-7>실행 및 취소

u :  되돌리기

ctrl+r : 되돌리기 취소

 

 

 

2> 입력모드 (명령모드에서 입력모드로 전환)

i : 하단에 --INSERT-- 표시 됨 현재 커서 왼쪽에 삽입 (insert)

i  1|2  a

a : 하단에 --INSERT-- 표시 됨 커서가 우측으로 한 칸 이동

    기존 커서 우측에 추가 (append)

o(소문자) :  하단에 --INSERT-- 표시 됨 현재 커서 바로 아래에 빈 줄 생성

O(대문자) :  하단에 --INSERT-- 표시 됨 현재 커서 바로 위에 빈 줄 생성

 

 

 

3> 실행모드

3-1> 검색

/ : 어떤 찾을 이름을 검색하고 n 키를 누르면 위에서 아래로 검색하며(↓)

N키를 누르면 아래에서 위로 검색(↑)

 

? : 어떤 찾을 이름을 검색하고 n키를 누르면 아래에서 위로 검색하며(↑)

N 키를 누르면 위에서 아래로 검색(↓)

 

[사용형식]

/찾을이름 입력 후 enter

?찾을이름 입력 후 enter

 

3-2> 치환(바꾸기)

[사용형식]

:줄s/기존내용/바꿀내용

→ 지정한 줄에 있는 기존 내용을 바꿀내용으로 치환

ex> :2s/FILE/FILES        // 2 : line

 

:줄s/기존내용/바꿀내용/g

→ 지정한 줄에 있는 기존내용이 여러개가 있을 경우 한 번에 바꿀 내용으로 치환

ex> 4 hello hello hello

ex> :4s/hello/bye/g

 

:줄,줄(범위)s/기존내용/바꿀내용

→ 지정한 줄부터 줄까지 있는 기존내용을 바꿀내용으로 치환

ex> :3,11/hello/bye

 

:%(문서전체)s/기존내용/바꿀내용

ex> :%s/hello/bye

 

3-3> shell  명령어

[사용형식]

:! command

또는

:! command [option]

→ vi를 잠시 멈추고 지정한 명령어 실행

:!

→ vi를 잠시 멈추고 프롬프트창을 출력 (확인용)

:.! command

→ 지정한 명령어 수행 결과값을 현재 열려있는 파일 안에 삽입

→ 현재 커서 위치부터 삽입하기 때문에 기존 내용이 있으면 사라짐

    그래서 사용하려면 빈 줄 생성해서 사용

ex> :.! ls -l /backup

 

3-4> 창 분할 모드

창 분할

[사용형식]

ctrl+wn

 

커서 간 창 간 이동

[사용형식]

ctrl + ww

 

이전  vi 모드로 복귀

:q     // 종료

 

3-5> 파일 관련

:q

→ 종료 (원본을 수정하지 않았을 때 또는 원본을 수정하고 저장했을 때)

:q!

→ 강제종료 (원본을 수정한지를 모를 때 또는 원본을 저장하지 못하는 상황)

:w

→ 저장

:wq

→ 저장하고 종료

:e  파일

→ 파일 열기 (불러오기)

ex>

:e named.conf                // 현재  /home/itbank 에 존재하는 파일 열음

:e /backup/grub.cfg        // 절대경로

:enew

→ 새로 만들기 (빈문서)

 

3-5> 파일 및 실행 관련

: w >> 파일

→ 현재 열려 있는 파일의 내용을 지정한 파일에다가 추가해서 저장

ex> :w >> testfile1

 

:f

→ information(정보)

 

:줄번호r 파일

→ 현재 열려있는 파일의 내용 안에 지정한 줄번호+1

ex>

[준비물]

[root@localhost backup]# cat testfile2

hello

hi

bye

goodbye    //ctrl + d

[root@localhost backup]# vi grub.cfg

:6r testfile2

 

: 줄번호r! 명령어

또는

: 줄번호r! 명령어 [option]

→ 현재 열려있는 파일의 내용 안에 지정한 줄번호+1에 지정한 명령어의 실행 결과값을 삽입

(참고로 :.! 명령어와 비슷함)

ex> :6r! ls -l /backup

 

3-6> etc

:set number

→ 줄 번호를 생성 위는 기니까 줄여서

:se nu

 

:set nonumber

→ 줄 번호를 생성 안함 위는 기니까 줄여서

:se nonu

 

 cf. 파일 만들기

# touch 파일명

 

<주의> 대문자를 사용할 때  Caps Lock 을 사용하지 말고 Shift키를 눌러서

사용하길 바람(이유는  Caps Lock 누르면 키가 안먹힘)

<주의> 마우스 휠 올리지마! 

vi 영역 벗어남!

반응형
LIST
Posted by 오정oI
, |
반응형
SMALL

* 인터넷 안될 때

[root@localhost ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.174  netmask 255.255.255.0  broadcast 192.168.8.255
        inet6 fe80::8fbb:295:37f5:95f0  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:71:1e:f0  txqueuelen 1000  (Ethernet)
        RX packets 246  bytes 39558 (38.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 248  bytes 31141 (30.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

1> VMnet8 클릭(NAT)

2> Change Settings

3> (Subnet IP : 192.168.8.~ )변경 되어 있으면 리눅스> 터미널에  ip로 puTTY 설정 변경

 

*① 정규 표현식

 * : 모든 것들 (문자 전체)

? : 한 자리(대체 문자)

 

[root@localhost itbank]# ls -l
합계 20
lrwxrwxrwx. 1 root root    7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg
-rw-r--r--. 1 root root  511 12월 15 14:39 inittab
-rw-r--r--. 1 root root    0 12월 15 14:41 testfile1

// 정규 표현식 : *

[root@localhost itbank]# ls -l grub*
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg

 

 

[root@localhost itbank]# cd /home/itbank
[root@localhost itbank]#
[root@localhost itbank]# cd
[root@localhost ~]#
[root@localhost ~]# cd /h*/i*
[root@localhost itbank]#
[root@localhost itbank]# pwd
/home/itbank

// 정규 표현식 : ?

[root@localhost itbank]# ls -l grub.cfg.c?
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
[root@localhost itbank]#
[root@localhost itbank]# ls -l grub.cfg?????
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard


 

*② 논리 연산자

1> a && b : a가 성공하면  b를 실행하며  a가 실패하면 b를 미실행

2> a || b : a가 성공하면 b를 미실행하며 a가 실패하면 b를 실행

3> a | b : a의 실행 결과 값을 b가 받아서 실행(연계?)

 →

좋은 예) # ls -l /etc | more

나쁜 예) # more | ls -l /etc

a | b | c

q> more, nl, ls -l /etc

3개 파이프라인..,

# ls -l /etc | nl | more

 

// 논리 연산자 : a && b

[root@localhost itbank]# ls /home && ls -l /backup
itbank
합계 20
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd

[root@localhost itbank]# ls /home2 && ls -l /backup
ls: cannot access /home2: 그런 파일이나 디렉터리가 없습니다

// 논리 연산자 : a || b

[root@localhost itbank]# ls /home || ls -l /backup
itbank
[root@localhost itbank]# ls /home2 || ls -l /backup
ls: cannot access /home2: 그런 파일이나 디렉터리가 없습니다
합계 20
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd

//  논리 연산자 : a | b

[root@localhost itbank]# ls -l /etc | more
합계 1412
-rw-r--r--.  1 root root     5090 11월  5  2016 DIR_COLORS
-rw-r--r--.  1 root root     5725 11월  5  2016 DIR_COLORS.256color
-rw-r--r--.  1 root root     4669 11월  5  2016 DIR_COLORS.lightbgcolor
-rw-r--r--.  1 root root       94  3월 25  2017 GREP_COLORS
-rw-r--r--.  1 root root      842 11월  6  2016 GeoIP.conf
-rw-r--r--.  1 root root      858 11월  6  2016 GeoIP.conf.default
drwxr-xr-x.  8 root root      145  9월 25 14:58 NetworkManager
drwxr-xr-x.  2 root root       92  9월 25 14:59 PackageKit
drwxr-xr-x.  2 root root       25  9월 25 14:54 UPower
drwxr-xr-x.  6 root root      103  9월 25 14:52 X11
drwxr-xr-x.  3 root root      101  9월 25 14:52 abrt
-rw-r--r--.  1 root root       16  9월 25 15:06 adjtime
-rw-r--r--.  1 root root     1518  6월  7  2013 aliases
--More--

[root@localhost itbank]# ls -l /etc | nl | more
     1  합계 1412
     2  -rw-r--r--.  1 root root     5090 11월  5  2016 DIR_COLORS
     3  -rw-r--r--.  1 root root     5725 11월  5  2016 DIR_COLORS.256color
     4  -rw-r--r--.  1 root root     4669 11월  5  2016 DIR_COLORS.lightbgcolor
     5  -rw-r--r--.  1 root root       94  3월 25  2017 GREP_COLORS
     6  -rw-r--r--.  1 root root      842 11월  6  2016 GeoIP.conf
     7  -rw-r--r--.  1 root root      858 11월  6  2016 GeoIP.conf.default
     8  drwxr-xr-x.  8 root root      145  9월 25 14:58 NetworkManager
     9  drwxr-xr-x.  2 root root       92  9월 25 14:59 PackageKit
    10  drwxr-xr-x.  2 root root       25  9월 25 14:54 UPower
    11  drwxr-xr-x.  6 root root      103  9월 25 14:52 X11
    12  drwxr-xr-x.  3 root root      101  9월 25 14:52 abrt
    13  -rw-r--r--.  1 root root       16  9월 25 15:06 adjtime
    14  -rw-r--r--.  1 root root     1518  6월  7  2013 aliases
    15  -rw-r--r--.  1 root root    12288  9월 25 15:10 aliases.db
    16  drwxr-xr-x.  2 root root       51  9월 25 14:53 alsa
    17  drwxr-xr-x.  2 root root     4096 10월 11 14:59 alternatives
    18  -rw-------.  1 root root      541  8월  4 00:33 anacrontab
    19  -rw-r--r--.  1 root root       55  3월  1  2017 asound.conf
    20  -rw-r--r--.  1 root root        1 11월  6  2016 at.deny
    21  drwxr-x---.  3 root root       43  9월 25 14:53 audisp
    22  drwxr-x---.  3 root root       83  9월 25 15:10 audit
    23  drwxr-xr-x.  4 root root       71  9월 25 14:59 avahi
    24  drwxr-xr-x.  2 root root     4096  9월 25 15:16 bash_completion.d
    25  -rw-r--r--.  1 root root     2853 11월  6  2016 bashrc
    26  drwxr-xr-x.  2 root root        6  9월  7 11:38 binfmt.d
    27  drwxr-xr-x.  2 root root       23  9월 25 15:15 bluetooth
--More--

[root@localhost itbank]# ifconfig | head -n2
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.8.174  netmask 255.255.255.0  broadcast 192.168.8.255
[root@localhost itbank]# ifconfig | head -2

 

[root@localhost itbank]# tail -1 /etc/passwd /etc/group    //에러
tail: option used in invalid context -- 1

[root@localhost itbank]# tail -n1 /etc/passwd /etc/group    //에러

[root@localhost itbank]# head -1 /etc/passwd /etc/group
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash

==> /etc/group <==
root:x:0:

 

*③  cat

1> 파일의 내용을 전체 출력

# cat  파일명

2> 명령어와 연산자를 이용해서 작업

2-1>

 # cat < 파일명

: 파일의 데이터를 입력( 표준 입력)

 ex># cat < /etc/passwd    // cat 명령어를 실행하되  /etc/passwd이  입력의 대상이 된다.

2-2>

 # cat > 파일

: 명령어의 결과값을 파일에다가 저장

[특징]

똑같은 파일 또 쓰면 덮어쓰기 됨

# cat  파일 1> 파일2

: 파일2의 내용이 없으면 파일1의 내용이 추가 되며

 파일 2의 내용이 있으면 기존에 내용은 사라지고 파일1의 내용이 추가

2-3>

# cat > 파일

:  파일이 생성됨

cf.  touch vs. cat

touch : 빈 파일 생성

cat :  빈 파일 or 용량 있음

2-4>

# cat >> 파일

:  명령어의 결과값을 파일의 내용에 추가

 

2-5>

# cat 파일1 파일2 > 파일3

: 파일1과 파일2의 내용을 합쳐서 파일3에 저장(파일병합)

 

cf. ls :  디렉터리~

   tail, head : 파일~ ???

 

// cat  파일명

[root@localhost itbank]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin

// cat < 파일명

[root@localhost itbank]# cat < /etc/passwd 

// 위의 결과와 동일

// cat > 파일

[root@localhost itbank]# cat > /testfile2
1
2
3
4
5
6
7
8
9                // ctrl + d : 안전한 종료

[root@localhost itbank]# cat < /testfile2
1
2
3
4
5
6
7
8
9

[root@localhost itbank]# cat > /testfile2
[root@localhost itbank]#
[root@localhost itbank]# cat < /testfile2

// cat >> 파일

[root@localhost itbank]# cat /etc/passwd > /testfile2
[root@localhost itbank]#
[root@localhost itbank]# ls -l /etc/passwd /testfile2
-rw-r--r--. 1 root root 2116  9월 25 15:30 /etc/passwd
-rw-r--r--. 1 root root 2116 12월 18 13:41 /testfile2

[root@localhost itbank]# cat >> /testfile2
1
2
3
4
5

[root@localhost itbank]# cat < /testfile2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:997:996:User for colord:/var/lib/colord:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:992:987::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
[root@localhost itbank]#
[root@localhost itbank]# cat < /testfile2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
colord:x:997:996:User for colord:/var/lib/colord:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:994:991:User for geoclue:/var/lib/geoclue:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:992:987::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
itbank:x:1000:1000:dust:/home/itbank:/bin/bash
[root@localhost itbank]#
[root@localhost itbank]# cat >> /testfile2
1
2
3
4
5

// cat 파일1 파일2 > 파일3

[root@localhost itbank]# cat > clang
c
c++
java
python
[root@localhost itbank]#
[root@localhost itbank]#
[root@localhost itbank]# cat system clang > it
[root@localhost itbank]#
[root@localhost itbank]# cat < it
window
unix
linux
c
c++
java
python

 

*④  find

: 찾을 이름을 적어서 검색 또는 찾다

[사용형식]

1> # find 경로 - name 찾을이름

: 지정한 경로 포함 하위에 찾을 이름을 검색

2> # find 경로 -newer 찾을이름

: 지정한 경로 포함 하위에 찾을 이름 이후에 것을 검색

3> # find 경로 -name 찾을이름 -exec 명령어 {} \;

또는

   # find 경로 -name 찾을이름 -exec 명령어 [option] {} \;

: 지정한 경로 포함 하위에 찾을 이름을 검색해서 명령어 수행

: -exec를 사용하면 반드시 {} \; 같이 사용해야 함

  {} 는 대입

  \ 는 enter

  ; 는 end(끝)

 

  

// find 경로 - name 찾을이름

[root@localhost itbank]# find / -name itbank
/var/spool/mail/itbank
/home/itbank
[root@localhost itbank]# ls -l /var/spool/mail/itbank
-rw-rw----. 1 itbank mail 0  9월 25 15:30 /var/spool/mail/itbank
[root@localhost itbank]#
[root@localhost itbank]# ls -l /home/itbank
합계 36
lrwxrwxrwx. 1 root root    7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root root   18 12월 18 13:49 clang
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg
-rw-r--r--. 1 root root  511 12월 15 14:39 inittab
-rw-r--r--. 1 root root   36 12월 18 13:50 it
-rw-r--r--. 1 root root   18 12월 18 13:49 system
-rw-r--r--. 1 root root    0 12월 15 14:41 testfile1
-rw-r--r--. 1 root root   10 12월 18 13:45 testfile2
[root@localhost itbank]#
[root@localhost itbank]# ls -l /home
합계 4
drwx------. 5 itbank itbank 4096 12월 18 13:50 itbank
[root@localhost itbank]#

// find 경로 -newer 찾을이름
[root@localhost itbank]# find /home -newer testfile1 // testfile1 이후의 것?
/home/itbank
/home/itbank/testfile2
/home/itbank/system
/home/itbank/clang
/home/itbank/it

// find 경로 -name 찾을이름 -exec 명령어 {} \;

[root@localhost itbank]# ls
backup.symlink  grub.cfg.cp    grub.cfg.symlink  it      testfile1
clang           grub.cfg.hard  inittab           system  testfile2
[root@localhost itbank]#
[root@localhost itbank]# pwd
/home/itbank
[root@localhost itbank]#
[root@localhost itbank]# find . -name "grub*" -exec rm {} \;
[root@localhost itbank]#
[root@localhost itbank]# ls
backup.symlink  clang  inittab  it  system  testfile1  testfile2
[root@localhost itbank]#

*⑤  시스템 종료

# shutdown -h now   // h : halt

# halt

# poweroff

# init 0(숫자)

 

*⑥  시스템 재부팅

# shutdown -r  // r : reboot

# reboot

# init 6

 

==========================================

※ Service

 

*① FTP

 : 대표적인 파일 서비스 중에 하나

: 파일을 서버와 클라이언트 구조로 업로드 또는 다운로드 작업

[준비물]

windows에서 파일 (아무거나)

windows -> cmd

[사용형식]

1> ftp 입력 후 enter

open Server-IP

2> ftp Server-IP

[Error]

 

(참고로 ftp은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다

라는 에러메시지가 출력될 경우 아래와 같이 작업

0>

windows OS> 제어판> 보기기준 : 범주> 시스템 및 보안> Windows방화벽에서 프로그램 허용>

설정 변경(사용자 모드 인 경우)> ㅁ파일 전송 프로그램 체크 박스 모두 체크> 확인

1>

파일 전송 프로그램이 2개 있으면 반드시 하나를 제거하고 1개가 되면 나머지 체크 박스 all 체크

2>

파일전송 프로그램이 아예 없으면 다른 프로그램 허용> 프로그램 추가 창> 찾아보기>

기본 경로라 C:\windows\system32 이어야 함> 파일 검색: ftp> 열기> 추가>

파일 전송 프로그램이 목록에 생성되고 체크박스에 전부 체크> 확인

 

[cmd]

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\user>E:

E:\>
E:\>cd E:\2_12월_평일12시_리눅스1_Junga

E:\2_12월_평일12시_리눅스1_Junga>
E:\2_12월_평일12시_리눅스1_Junga>dir
 E 드라이브의 볼륨: 새 볼륨
 볼륨 일련 번호: 0AAB-DADF

 E:\2_12월_평일12시_리눅스1_Junga 디렉터리

2017-12-18  오후 02:34    <DIR>          .
2017-12-18  오후 02:34    <DIR>          ..
2017-12-18  오후 12:35    <DIR>          1_압축푼거
2013-05-28  오후 05:56         1,816,712 HangulPuTTY-0[1].60h.setup.exe
2017-12-18  오후 12:47    <DIR>          temp
2017-12-18  오후 02:33                33 testfile.txt
               2개 파일           1,816,745 바이트
               4개 디렉터리  333,130,616,832 바이트 남음

E:\2_12월_평일12시_리눅스1_Junga>ftp
ftp> open 192.168.8.174
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): itbank
331 Please specify the password.
암호:   
230 Login successful.
ftp>
ftp>

// ftp 사용자 계정 틀렸을 경우

// ftp> user

ftp>
ftp> pwd
257 "/home/itbank"
ftp>
ftp> put testfile.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 0.00초 33000.00KB/초
ftp>
ftp> put testfile2.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 0.00초 15.00KB/초
ftp>
ftp>

 

 

   ← up            // put; S에서 C 파일 가져옴

linux (Server)    ↔  Windows(Client)

down  →               // get; S에서 C에 파일 줌

[puTTY]

[root@localhost itbank]# ls -l
합계 28
lrwxrwxrwx. 1 root   root     7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root   root    18 12월 18 13:49 clang
-rw-r--r--. 1 root   root   511 12월 15 14:39 inittab
-rw-r--r--. 1 root   root    36 12월 18 13:50 it
-rw-r--r--. 1 root   root    18 12월 18 13:49 system
-rw-r--r--. 1 itbank itbank  33 12월 18 14:56 testfile.txt
-rw-r--r--. 1 root   root     0 12월 15 14:41 testfile1
-rw-r--r--. 1 root   root    10 12월 18 13:45 testfile2
-rw-r--r--. 1 itbank itbank  15 12월 18 14:57 testfile2.txt
[root@localhost itbank]#
[root@localhost itbank]#

 

[cmd]

ftp> pwd
421 Timeout.
원격 호스트에 의해 연결이 닫혔습니다.
ftp>
ftp> open 192.168.8.174            // 이미 연결이 끊겼으므로 user 명령어는 안먹힘!
192.168.8.174에 연결되었습니다.
220 (vsFTPd 3.0.2)
사용자(192.168.8.174:(none)): itbank
331 Please specify the password.
암호:
230 Login successful.
ftp> pwd
257 "/home/itbank"
ftp>

ftp> get testfile.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for testfile.txt (33 bytes).
226 Transfer complete.
ftp: 0.00초 33000.00KB/초
ftp>
ftp> get testfile2.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for testfile2.txt (15 bytes).
226 Transfer complete.
ftp: 0.00초 15000.00KB/초
ftp>
ftp> quit

E:\2_12월_평일12시_리눅스1_Junga>exit


 

// 폴더에 파일 생성된거 확인

반응형
LIST
Posted by 오정oI
, |
반응형
SMALL

* ①  ln

- 하드링크와 심볼릭링크 파일을 생성할 때

- 하드링크

A      B

원  - 원

- 심볼릭 링크

A       B

원  ← 바로가기

* hard link

[사용형식]

ln 원본파일 하드링크파일

[특징]

- 파일은 가능하지만 디렉터리는 할 수 없음

- 복사와 개념이 다름(cp)

- 원본 파일이 삭제되거나 사라져도 상관이 없음

* symbolic link

[사용형식]

ln [option] 원본파일 바로가기파일

[option]

-s :  심볼릭 링크파일로 생성

[특징]

- 파일과 디렉터리 모두 작업

- 원본파일이 삭제되거나 사라지면 사용 불가능

 

 

// ln 사용

[root@localhost itbank]# ls -l /backup
합계 16
-rw-r--r--. 1 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
[root@localhost itbank]#
[root@localhost itbank]# ln /backup/grub.cfg grub.cfg.hard
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 8
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
[root@localhost itbank]#
[root@localhost itbank]# ls -l /backup/
합계 16
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs

// cp 사용

[root@localhost itbank]#
[root@localhost itbank]# cp /backup/grub.cfg grub.cfg.cp
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 16
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp        // cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard      // hard
[root@localhost itbank]#
[root@localhost itbank]# ls -l /backup
합계 16
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs

// symbolic link

[root@localhost itbank]# ln -s /backup/grub.cfg grub.cfg.symlink
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 16
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg
[root@localhost itbank]#
[root@localhost itbank]# ln -s /backup backup.symlink
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 16
lrwxrwxrwx. 1 root root    7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg

* ② alias

- 명령어를 또는 명령어 [option] 을

사용자가 임의 별칭으로 사용

 

[사용형식]

alias     // 등록되어 있는 alias 목록을 출력

unalias 별칭 // alias를 해제

alias 별칭 = '명령어'

또는

alias 별칭 = '명령어 [option]'

 

[root@localhost itbank]#
[root@localhost itbank]# alias fresh='clear'
[root@localhost itbank]#
[root@localhost itbank]# fresh

[root@localhost itbank]# unalias fresh
[root@localhost itbank]#
[root@localhost itbank]# fresh
bash: fresh: 명령을 찾을 수 없습니다...
[root@localhost itbank]#
[root@localhost itbank]#

 

* ③ touch

- 파일을 생성할 때

 

[사용형식]

touch  파일명

[특징]

- 빈 문서를 생성 (용량이 0)

- 동일한 이름으로 생성시 생성(변경)된 날짜와 시간만 변경

[준비물]

[root@localhost itbank]# cp /backup/inittab ./

// 파일 생성

[root@localhost itbank]# touch testfile1
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 20
lrwxrwxrwx. 1 root root    7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg
-rw-r--r--. 1 root root  511 12월 15 14:39 inittab
-rw-r--r--. 1 root root    0 12월 15 14:39 testfile1

// 동일 파일 생성

[root@localhost itbank]# touch testfile1
[root@localhost itbank]#
[root@localhost itbank]# ls -l
합계 20
lrwxrwxrwx. 1 root root    7 12월 15 14:27 backup.symlink -> /backup
-rw-r--r--. 1 root root 5078 12월 15 14:23 grub.cfg.cp
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg.hard
lrwxrwxrwx. 1 root root   16 12월 15 14:26 grub.cfg.symlink -> /backup/grub.cfg
-rw-r--r--. 1 root root  511 12월 15 14:39 inittab
-rw-r--r--. 1 root root    0 12월 15 14:41 testfile1
[root@localhost itbank]#

// 빈 폴더 생성

[root@localhost itbank]# ls -ld /backup

drwxr-xr-x. 2 root root 55 9월 25 15:26 /backup

[root@localhost itbank]# touch /backup
[root@localhost itbank]#
[root@localhost itbank]# ls -ld /backup
drwxr-xr-x. 2 root root 55 12월 15 14:42 /backup

* ④ head

- 파일의 내용을 출력

- 기본값으로 10줄만 출력

- 위에서 아래로

[준비물]

cp /etc/passwd /backup

[사용형식]

head file

head [option] file

[option]

-n : 줄수를 입력

 

 

[root@localhost itbank]# cp /etc/passwd /backup
[root@localhost itbank]#
[root@localhost itbank]# ls -l /backup
합계 20
-rw-r--r--. 2 root root 5078  9월 25 15:26 grub.cfg
-rw-r--r--. 1 root root  511  9월 25 15:26 inittab
-rw-r--r--. 1 root root 2028  9월 25 15:26 login.defs
-rw-r--r--. 1 root root 2116 12월 15 14:44 passwd
[root@localhost itbank]#
[root@localhost itbank]#

// 파일의 내용 출력

[root@localhost itbank]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost itbank]#

// 복수 개 파일 출력

[root@localhost itbank]# head /etc/passwd /etc/group
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

==> /etc/group <==
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
[root@localhost itbank]#

// 파일 줄수 만큼 출력

[root@localhost itbank]# head -n5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@localhost itbank]#
[root@localhost itbank]#

 

* ⑤ tail

- 파일의 내용을 출력

- 기본값으로 10줄만 출력

- 아래에서 위로

[준비물]

cp /etc/passwd /backup

[사용형식]

tail file

tail [option] file

[option]

-n : 줄수를 입력

 

[root@localhost itbank]# tail /etc/passwd

[root@localhost itbank]# tail /etc/passwd /etc/group

[root@localhost itbank]# tail -n5 /etc/passwd

[root@localhost itbank]# tail -n15 /etc/passwd

* ⑥ more

- 파일의 내용이 너무 많아 화면에 짤렸을 때 화면(창)크기 만큼 출력

 

[사용형식]

more file

 

enter : 한 줄씩

spacebar : 화면(창) 크기 만큼

q : 종료

[root@localhost itbank]# more /etc/passwd

* ⑥ less

- 검색한 내용을 다시 검색 (다 봤을 때 나가지지 않음)

[사용형식]

less file

 

enter : 한 줄씩

spacebar : 화면(창) 크기 만큼

q : 종료

k : 위

j : 아래

 

* ⑦ nl

- 파일의 내용을 전체 출력

- 맨 앞에 줄번호를 포함해서

 

[사용형식]

nl 파일

// 파일 줄번호 포함 출력

[root@localhost itbank]# head /etc/passwd | nl
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  operator:x:11:0:operator:/root:/sbin/nologin

반응형
LIST
Posted by 오정oI
, |
반응형
SMALL

* 공유폴더

1) window + r(실행창) => \\192.168.46.46(ip address)

ex) \\192.168.46.46

2) window + r(실행창) => \\406-00-PC(컴퓨터이름)

ex) \\406-00-PC

* VMware Workstation Pro 12  설치방법

http://blog.naver.com/top00a

 

※ 리눅스 설치

0> 필요한 준비물

* Centos 7 iso image file 받는 곳 :

Internet Explorer>

http://www.centos.org>

Get CentOS Now>

DVD, Everything, Minimal 중에 아무거나 누름>

Mirror List>

ctrl+f(찾기) : naver 검색>

오른쪽 http://mirror.navercorp.com/centos >

version : 7.4.1708 >

isos>

x86_64>

8.1G를 다운로드 함

파일명 : CentOS-7-x86_64-Everything-1708.iso

 

 

 

1> Virtual Machine  세팅

Create a new Virtual Machine>

Custom>

[version] Workstation12.x>

3번째, (I will install~)가상머신 셋팅 후 운영체제 설치>

OS : Linux, Version : CentOS-64bit> 

cf. MS : window server, Solaris : unix

Virtual Machine name : class1_Junga / Location : 각자선택 (E:\2_12월_평일12시_리눅스1_Junga\1_직접설치) >

영어로 한글로 하면 버그 뜸! (만들어진지 얼마안되서..,)

Num of processors: 1, Num of cores per processor: 1>

cf. Number of processors

: 실제 컴퓨터에 꽂혀 있는  cpu 개수

: Server를 제외하면 거의 모든 PC에는 1개

cf. Number of cores per processor

: cpu 속에 들어있는 코어 개수

memory size : 1024MB>

network connection : NAT>

I/O : LSI Logic>

Hard Disk Drive : SCSI>

Create a new virtual disk>

Maximum disk size : 20.0GB, Split virtual disk into multiple files(압축 느리나, 저장속도 빠름)>

Disk file : (default) class1_Junga.vmdk>

내가 설정한 내용 뜸, Customize Hardware클릭 후에 usb, sound card, print 삭제

vmware창> Edit virtual machine settings 클릭> Virtual machine name : 12월_평일1230_리눅스1_Jaseo (한글로 변경 가능)

 

2> 리눅스  ISO image 삽입 및 설치

vmware 프로그램 Edit virtual machine settings 클릭>

CD/DVD (IDE)>

√Connect at power on

Use ISO image file: 클릭> CentOS-7-x86_64-Everything-1708.iso 선택 후 열기

Power on this virtual machine>

ctrl + g : 마우스 왼쪽 클릭 효과

ctrl + alt : 마우스 빼기

Install CentOS7>

검색 :  ko >

[설치 요약]

소프트웨어, 소프트웨어 선택>

기본 환경: 서버 - GUI 사용,

선택한 환경의 기능: 개발용 도구 선택

시스템, 설치대상>

파티션 설정: 파티션을 설정합니다. 클릭> 완료 클릭>

LVM을 표준 파티션으로 select box  변경>

1) + 클릭

마운트지점 : /

용량: 200

마운트지점 추가

2) + 클릭

마운트지점 : /boot

용량: 1000

마운트지점 추가

3) + 클릭

마운트지점 : /var

용량: 2000

마운트지점 추가

4) + 클릭

마운트지점 : swap

용량: 4096

마운트지점 추가

5) + 클릭

마운트지점 : /home

용량: 200

마운트지점 추가

6) /를 선택 후 용량에다가 '99999' 입력 후

   다른 영역 선택하면 '/'용량이 12.87로 잡히는 것을 확인

완료 클릭>

변경 사항 적용 클릭

 

네트워크 및 호스트명>

설정 클릭>

일반 탭 클릭>

√ 사용 가능하면 자동으로 이 네트워크에 연결 체크

저장>

완료

 

설치시작>

[설정]

사용자 생성>

성명 : kg

사용자이름: itbank

암호: itbank

암호확인: itbank

완료 ×2

ROOT 암호>

암호: itbank

암호확인: itbank

완료 ×2

 

재부팅>

라이센스 동의: 약관 체크>

설정완료

 

3> 설치 후

최초로 계정으로 접속 시 환영합니다>

다음> 한국어> 한국어(Hangul)> 다음> 건너뛰기

> CentOS Linux 사용 시작하기

 

 

* snapshot 기능

리눅스 프로그램 끄고 하는거 추천 (검은 화면일 때)

백업 기능?

 

* 네트워크 모양 안나오는 경우

컴 끄기>

vmware pg Edit 클릭>

Virtual Network Editor>

Restore Defaults>

예>

NAT 클릭>

밑에 2개 체크되있는거 확인

재 부팅

 

* NAT : 공인 ip → 사설 ip

돈 

공인ip (14.39.7.30)

사설ip 

 돈

○ 

×

 인터넷

○ 

× 

 사용유무

나혼자 사용 

누구든지 사용 

현재, IPv4  0.0.0.0 ~ 255.255.255.255

개수부족 => 서브넷팅

미래, IPv6 ???

cf. Bridge : 같은 공간에 있다

192.168.46.46

192.168.46.47

cf. Host-only : 외부 연결 안함?

ex> window 서버, 테스트용

반응형
LIST
Posted by 오정oI
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함