쉘 환경변수의 종류
1. 지역 환경 변수 (쉘 변수)
2. 전역 환경 변수 (환경 변수)


예약 되어 있는 환경 변수
변수 기호
$PATH 실행 파일을 찾을 경로
$HOME 현재 로그인한 사용자의 홈디렉토리 경로
$LANG 쉘에서 사용하는 언어
$SHELL 로그인시 사용하는 쉘
$PS1 프롬프트
$HISTSIZE 하스토리 파일에 저장되는 명령어 개수
$HISTFILE 히스토리 파일 경로
$HOSTNAME 호스트의 이름


변수 값 확인
#echo [변수명]
#echo $PATH


/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


지역 환경 변수
- 현재 사용하는 쉘에서만 적용되는 변수


변수 선언 및 초기화
변수명=값 (주의사항* 변수명 =값 x -공백x)
#A=10    o
#A= 10   x


- 변수 해제(불필요)
#unset 변수명
EX) #unset A
 

변수가 해제되어 출력결과가 없는것을 확인 할수있다 로그아웃후 다시 명령어 실행해보니 잘나오는것을 확인


-변수확인
#set


전역 환경 변수
-모든 쉘에 적용되는 변수


-변수 선언 및 초기화
#export 변수명=값


-변수 해제

#unset 변수명


-변수확인
#env


지역 환경 변수 테스트
#LOCAL=test  //지역변수 LOCAL에 test 대입
#set   //지역변수 확인
#set | grep LOCAL //지역변수 LOCAL 선언 확인
#/bin/bash  //bash 서브 쉘 실행
#exit    //상위 쉘로 이동(logout)
#echo $LOCAL  //지역 변수 LOCAL 값 확인


#/bin/bash  //서브 쉘 실행
#echo $LOCAL  // LOCAL 변수 출력->출력 값x

#exit


#unset LOCAL  //지역변수 LOCAL해제
#set | grep LOCAL //지역변수 LOCAL해제 확인


전역 환경 변수 테스트
#export GLOBAL=test1               //export명령어- 환경변수를 지정,변경 현재 정의 되어 있는 환경변수를 보여주는 명령

                                                                    로그아웃 전 까지만 유효
#echo $GLOBAL
#set | grep GLOBAL=#env | grep GLOBAL          //set 변수확인


#/bin/bash
#echo $GLOBAL  //출력결과 확인
#GLOBAL=test2  //지역환경 변수
#echo $GLOBAL
#exit  
#echo $GLOBAL   //test1

exit 후 다시 원상복귀


#echo $TMOUT   //세션유지시간
#TMOUT   //10초간 응답 없으면 자동 세션 해제
#TMOUT=   //무제한

10초간 응답이 없어서 자동 로그아웃 된것을 알수있다.


사용자 환경을 구성하는 초기화 파일
/etc/profile          //환경변수와 bash가 동작시 사용되는 프로그램제어하는
                   전역적인 시스템 설정과 관련된 파일


/etc/profile.d      ///etc/profile/ 파일에 의해서 /etc/profile/d 디렉토리
                      내에 스크립트가 실행이되며 여러가지 변수들이 동작하며
                      쉘 환경제공


/etc/bashrc      //사용자가 로그인하였을때 사용자 계정에 있는 .bashrc파일
                       에 의해서 실행이되며,전체 사용자에게 적용할 alias 및 쉘
                       환경 변수값을 설정하는 파일


~/.bash_profile   //환경변수와 bash가 동작시 사용되는 프로그램제어하는
                         지역적인 시스템 설정과 관련된 파일


~/.bashrc          //~/.bash_profile에 의해서 실행되며 .bashrc파일은 다시
                       /etc/bashrc을 실행 해여 사용자에게 기본적으로 적용할
                       alias정보가 있다


Logout시 실행되는 파일의 순서
/etc/profile -> /etc/profile.d/*
~/.bash_profle
~./bashrc
/etc/bashrc


#cd~
#ls
vi ~/.bashrc


#alias c='clear' 후 다른세션 연결 command not found


.bash_logout
echo "bye"


#exit
bye
vmware에서 실행시 빠르게 사라짐

'Server > Linux' 카테고리의 다른 글

xshell/ 사용자계정 명령어2  (0) 2017.04.07
xshell/ 사용자계정 명령어  (0) 2017.04.05
Linux- vi  (0) 2017.04.01
xshell/ 리다이렉션  (0) 2017.04.01
xshell/ 디렉토리 명령어3  (0) 2017.03.31

#yum -y install vim
#alias vi='vim'  //로그인 프롬프트 등록

 

텍스트 편집기의 종류

- 모드(mode)형과 비모드형 편집기


모드형
- 입력 모드와 명령 모드가 구분
- 입력 모드는 텍스트를 입력할 수 있는 모드
- 명령 모드는 텍스트를 수정하거나 삭제하고 복사와 붙이기 등 편집을 하는 모드
- vi는 모드형 편집기


비모드형
- 입력 모드와 명령 모드가 구분되어 있지 않음
- 편집 기능을 Ctrl이나 Alt 같은 특수 키와 함께 사용
- 한글과 워드는 비모드형 편집기


vi (VIsual editor) & vim (VI iMproved)


vim - vi 기능을 향상 시킨 모드형 편집기


vi (vi editor)
vi [파일명]     : 파일이 있을때 -> 파일을 열거나 수정 
                    : 파일이 없을때 -> 파일 생성하거나 수정
vi -R [파일이름]   : 파일을 읽기 전용으로 열기
vi [+n] [파일이름]   : 프룸프트를 n번째 라인이으로 이동 후 열기
vi [+문자열] [파일이름  : 문서 내용에서 문자열을 검색하여 이동후 열기
vi [파일명1] [파일명2]  : 다중 파일 열기


명령모드 -> 입력모드
i,a,o
입력모드 -> 명령모드
ESC


u  : 작업 했던 내용 취소


입력
:n  : 다음 파일로
:N  : 이전 파일로 이동
:args : 현재 파일명 표시

vi -r [파일명] - 문서 복구
비정상으로 종료시 파일명.swp 파일로 저장되어 있어 복구가 가능
 
:w    : 문서 저장
:w!    : 문서 저장 (강제)
:q    : 문서 종료
:q!    : 문서 종료 (강제)
:wq    : 문서 저장 후 종료
:wq!   : 문서 저장 후 종료(강제)
:w [파일이름] : 새로운 파일이름으로 문서 저장
:e!    : 편집한 내용을 저장하지 않고 파일 다시 열기
 
G    : 문서의 마지막 행으로 이동
gg   : 문서의 처음으로 이동
[n번째]G  : n번째 행으로 이동 
:n   : n번째 행으로 이동

x   : 위치한 한글자 삭제
dd   : 한행 삭제

y   : 한 행 복사
p   : 붙여 넣기

숫자 + yy   : 입력한 숫자만큼의 행을 복사


:set ic  : 검색시 대소문자 구분안하게 설정

:set noic : 검색시 대소문자 구분하게 설정

:set nu : 번호 나열


/문자열  : 문자열 검색 아래로

?문자열  : 문자열 검색 위로


n   : 다음으로 일치하는 단어 검색
N   : 이전으로 일치하는 단어 검색


치환 : %s/단어/단어/g 전체파일에서 문자열 변환


치환 :%s/b/a/g 를 적용하면 아래 사진 확인


'Server > Linux' 카테고리의 다른 글

xshell/ 사용자계정 명령어  (0) 2017.04.05
xshell/ 환경변수 명령어  (0) 2017.04.02
xshell/ 리다이렉션  (0) 2017.04.01
xshell/ 디렉토리 명령어3  (0) 2017.03.31
Linux - snapshot 기능  (0) 2017.03.29



리다이렉션(Redirection)

-표준입력과 출력의 방향을 재지정하는 방법


파일 디스크립터 (file discriptor,fd)
-리눅스의 일반 파일과 장치파일을 포함한 모든 파일을 관리하는 방식

 

-파일을 열거나 실행할때 혹은 명령어를 입력하면은 커널이 프로세스를 실행시켜 기본적
 으로 사용하는 창치들과 추가로 실행한 프로세스가 있다면 이정보를 파일 디스크립터 테이블
 이라는 곳에 저장하는데 , 이때 파일 디스크립터 테이블에 비어있는 0번 부터 순차적으로 지정
 하고 가장 기본적으로 사용되는 장치에 대해서는 디스크립터 테이블에 미리 예약되어 있다.

 

커널?- 운영체제 중심

프로세스?- 실행중인 프로그램

discriptor?- 문서나 파일 의미

 

표준 입력/ 표준 출력/ 표준 오류


명령어 입력(키보드/표준입력)->명령어 결과 (모니터/표준출력)


출력 리다이렉션
-화면에(표준출력)나오는 결과를 파일 내용으로 전달


#echo 'show me the mone'
#echo 'show me the mone' 1> echo_test

fd번호 1은 생략가능

1 생략 출력


#cp /etc/resolv.conf ./        /etc//resolve.conf 파일을 현재경로로 복사
#cat resolv.cof    표준입력후 표준출력

#cat resolv.conf 1> redirection_test         //표준입력 후 결과를 출력아닌 파일로 재지정



bash 쉘에서 파일 덮어쓰기 방지하기 위한 설정

#set -o noclobber     //덮어쓰기 방지 설정 enable
#set +o noclobber    //덮어쓰기 방지 설정 disable

덮어쓰기 방지 설정후 에러


추가 리다이렉션
[명령어] >> [파일]- 기존 파일에 내용 추가

date + cal 명령어 를 ls_test 파일로


오류 리다이렉션
# ls error_test
ls: cannot access error_test: 그런 파일이나 디렉터리가 없습니다
#ls
#ls error_test 1> err1
err1
#ls error_test 2> err1  //표준 에러의 방향을 파일로 재지정
오류메시지 출력 없음

오류메시지 출력이 안된걸 확인


오류 메시지 출력하지 않기
/dev/null -리눅스 특수 파일로 파일의 내용을 지우거나, 오류메시지를 해당 파일로
    리다이렉션하여 출력하지 않을수 있다.(윈도우 쓰레기통 비슷)

#ls ls_test 1> /dev/null  //출력결과를 null파일로 재지정
#ls ls_test 2> /dev/null  //출력에러결과를 null파일로 재지정

#ls / 1> /dev/null   //정상 결과 출력x
#ls / 2> /dev/null   //에러 결과 출력x


입력 리다이렉션

[명령어] < [파일]

#sort < /etc/passwd == sort /etc/passwd
#cat < /etc/passwd  == cat /etc/passwd  사용빈도적음


#tail < a.txt > b.txt
1. a.txt 내용을 tail 명령어 입력 값으로 리다이렉션 (#tail a.txt)
2. tail 명령어는 입력은 a.txt의 나용에서 마지막 10줄 출력
3. tail 명령어의 출력결과를 b.txt파일에 리다이렉션
4. 화면에 출력이아닌 b.txt파일 안에 결과가 저장


#cat < a.txt > b.txt   와 동일한 명령어는? #cp 랑 같음

cut -d ":" -f 1 /etc/passwd > account_list


첫째 단어만 출력


1. [명령어1] ; [명령어2]
-첫 번째 명령어 부터 순차적으로 실행
-첫 번째 명령어가 실패하여도 반드시 실행

#ls ; pwd ; date

가운데 없는 명령어 제외 출력


2. [명령어1] && [명령어2]
- 첫 번째 명령이 에러가 아닐시 두번째 명령을 실행
[cmd] && [err] && [cmd]  두번째 에러시 다음 순서 결과x

에러 시점에서 명령 실행 종료

가운데 없는 명령어 에러후 다음도 에러


3. [명령어1] || [명령어2]
[cmd] || [cmd] cmd1 실행

- 명령어가 정상으로 실행된 시점까지만 실행(출력)

'Server > Linux' 카테고리의 다른 글

xshell/ 환경변수 명령어  (0) 2017.04.02
Linux- vi  (0) 2017.04.01
xshell/ 디렉토리 명령어3  (0) 2017.03.31
Linux - snapshot 기능  (0) 2017.03.29
xshell/ 디렉토리 실습2  (0) 2017.03.29


#sort - 파일내의 내용을 알파벳 순서대로 정렬


#sort [option] [file]
-n 숫자를 기준으로 정렬
-r 역순으로 정렬
-u 중복행 제거 (#uniq)
-o 출력 결과를 파일로 저장


 

  알파벳 순으로 출력 된것을 확인

 -r 옵션으로 역순으로 출력된것을 확인

 

cat 과 sort 의 차이점은?

- cat은 그냥 출력 sort는 정렬 출력

 

#watch - 주기적으로 지정된 명령 재실행


#watch [option] '[command]'
-n  [N] N초 주기로 명령을 실행
-d     변경된 부분에 음영처리

  1번세션                              2번세션
watch -d -n 1 "ls /practice"    #cd /practice

 

파일을 추가했더니 왼쪽 세션에 실시간으로 추가된것을 확인

 

#파이프 (pipe)


-프로세스(프로그램)간에 실행되는 입출력을 다음 프로세스에게 전달하는 방식

        

              출력        입력
#cat /etc/passwd | grep root
#cat /etc/services | head -1

passwd 내용이 출력 된후 grep 명령어로 root 만 입력

passwd 내용이 출력 된후 head 명령어롱 1줄만 입력

 

정규식에서 사용하는 메타문자

 

^  -행의시작
$  -행의 끝
.  -하나의 문자와 대응
[]  -[]사이의 문자 하나와 대응
[^]  -[]사이의 문자를 제외한 문자와 대응
\<  -단어의 시작
\>  -단어의 끝
A\{N\}  -문자A를 N번 반복
A\{N,\}  -문자A가 적어도 N번 반복
A\{N,n\} -문자A가 N번이상 n번 이하 반복

 

ex)

grep '문자열' 파일


#grep 'root' /etc/passwd

#grep 'the' grep_test  //대소문자 구별없이 the가 포함한 라인
#grep '^#' grep_test  
#grep 't$' grep_test  //문장 맨끝에 t 가 있는 라인
#grep 's.n' grep_test //s와 n사이의 임의의 문자하나를 포함한 라인
#grep -i 'c...y' grep_test //c와y사이 임의의 문자3개 포함한 라인      -i 대소문자상관x
#grep '[tT]' grep_test  //t혹은 T가 포함한 라인
#grep '[AB]' grep_test
#grep '[AB]r' grep_test  //A혹은 B이후에 r을 포함된 라인
#grep '[a-z]' grep_test //a부터 z를 포함한 라인, 즉 소문자 영어와 모두 매칭
#grep '[a-zA-Z]' grep_test
#grep '[^0-9]' grep_test  //숫자를 제외하고 매칭
#grep '\<F.....' grep_test //F로시작하고 총글자
#grep 'd\{2\}' grep_test   //d가 2번이상 반복되는 라인
#grep 'e\{1,2\}' grep_test //e가 한번또는 두번 반복되는 라인

 

ex)

현재 위치한 곳에 디렉토리 개수 확인

#cd /
#ls -l
#ls -l | grep '^d'
#ls -l | grep '^d' | wc -l

 

현재 디렉토리 개수 확인
#ls -l | grep '^-' | wc -l

 

현재 디렉토리에서 파일 가장큰 파일 만 출력
#ls -S | head -1

 

 

 

 

 

 

'Server > Linux' 카테고리의 다른 글

Linux- vi  (0) 2017.04.01
xshell/ 리다이렉션  (0) 2017.04.01
Linux - snapshot 기능  (0) 2017.03.29
xshell/ 디렉토리 실습2  (0) 2017.03.29
xshell/ 디렉토리 명령어2  (0) 2017.03.28

스냅샷은 가상머신을 쓸 때에만 사용할수 있다.

컴퓨터를 포맷할 때 자주 듣는 백업이라 볼수 있고 시스템 복원을 해준다고 볼수 있다.

 

만약 프로그램을 깔았는데 바이러스가 생기고 컴퓨터 에러가 생겼다면 스냅샷으로 처음 프로그램을 깔기전으로 돌아갈수 있다.

 

메뉴바에 VM 선택하고 snapshot 에 snapshot manager 들어간후

Take snapshot 을 눌러 생성한다.

 

실습을 하자면 rm-rf /boot  를 실행한다.  부팅과 관련된 중요한 파일을 지우는 명령어다.

 

0.3초만에 망한거다.

재부팅을 한후 가상머신을 못쓰게 되었다.

스냅샷으로 초기설정을 눌렀더니 원상복구 가 된것을 확인

 

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 리다이렉션  (0) 2017.04.01
xshell/ 디렉토리 명령어3  (0) 2017.03.31
xshell/ 디렉토리 실습2  (0) 2017.03.29
xshell/ 디렉토리 명령어2  (0) 2017.03.28
xshell/ 디렉토리 실습1  (0) 2017.03.19

1. /practice/file_test/ 디렉토리 생성.


2. /practice/file_test/ 디렉토리 아래 하위 디렉토리 생성. (단, 명령어 한줄이용)
 /practice/file_test/bin_a/
 /practice/file_test/bin_b/
 
3. /bin/ 경로에 있는 a로 시작하는 모든 파일을 /practice/file_test/bin_a/ 디렉토리에 복사.
   /bin/ 경로에 있는 b로 시작하는 모든 파일을 /practice/file_test/bin_b/ 디렉토리에 복사.
     
4. /etc/resolv.conf 파일을 /practice/file_test/ 디렉토리로 복사.

 

5. /practice/file_test/resolv.conf 파일의 내용과 /etc/resolv.conf 파일이 동일한 내용 인지 확인.
  
6. /practice/backup 디렉토리 생성 후
   /practice/file_test/resolv.conf 파일을 /practice/backup/ 으로 이동

 

7. /practice/backup 디렉토리에 아래와 같이 파일을 생성
 - 빈 파일 생성
 - 파일1 : yesterday_file
 - 파일2 : now_file

 

1.

/practice/file_test/ 생성

 

2.

mkdir로 한번에 두개 생성

 

3. 3가지 방법

명령어를 치고 [TAB]키 두번을 누르면 bin디렉토리에 a로시작하는 파일이 나오는것을 확인.

arch awk 파일이 복사된것을 알수있다.

제일 간단한 방법 cp /bin/b* ./  

 

4.

./현재경로 사용

 

5.

#cat /practice/file_test/resolv.conf  

현재 경로 인 상태 #cat /etc/resolv.conf 

 

6.

확인 결과 file_test에 resolv.conf 파일이 없어진것을 확인

 

7.

touch 명령어로 빈파일 두개 생성 확인

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 명령어3  (0) 2017.03.31
Linux - snapshot 기능  (0) 2017.03.29
xshell/ 디렉토리 명령어2  (0) 2017.03.28
xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19

#mv(move)-파일 및 디렉토리 이동 (이름변경)
#mv [file1] [file2] ... [file?] [Directory]// 여러파일 이동

 

-f 파일 이동시 대상 경로에 파일이 있다면 물어보지 않고 덮어쓴다

 

 

/촤상위 폴더를 만든곳에 mv 로 파일을 보낸후 ls 확인

 

#rm (Remove) - 파일 삭제
#rm [option] [target]

 

-f (force) 삭제 시 물어보지 않고 삭제
-r, -R (recursive) 하위 디렉토리 및 파일을 포함 삭제
-i (interactive) 삭제 여부를 사용자에게 확인(기본값)

 

 

rm -rf 사용하지않아서 질의가 생기는걸 볼수있다.


#cat(conCATnate) -파일 내용 확인                                      

#cat [option] [file]

-n(number) 라인 번호를 포함하여 출력

내용 옆에 숫자가 출력


-b(blank) 라인 번호 출력, 공백은 제외

공백은 사라지고 다음 내용부터 숫자 출력  

 

ex)#cat /etc/resolv.conf //  /etc/resolv.conf 파일의 내용 확인

 

#touch - 파일의 시간정보 변경
-t [timestamp]

 

timestamp 형식 : [[CC]YY]MMDDhhmm[.ss]

      CCYY   MM   DD   hh   mm
ex) 2017년 03월 25일 13시 50분

 

빈 파일 생성 (크기가 0kb)

#touch [file]

 

 

file 2~5 가 생긴걸 알수있다.


#stat[파일명] - 파일의 자세한 정보 확인
ex) #stat file2

 

빈파일 인걸 알수 있다.

 

#date- 시스템 시간 확인 / 수정
-s "CCYY-MM-DD hh:mm:ss"

 

-s 옵션을 사용해 날짜 시간이 변경된걸 알수있다.

 

server-  네트워크에 연결된 컴퓨터들 중 서비스 를 제공하는쪽
클라이언트- 서비스를 받는쪽

 


#file - 파일의 형식을 확인
#file [파일명]

 

ex) #file /bin/ls     //실행파일
    #file /etc/passwd    //텍스트 파일 
    #file /root          //디렉토리

 

file 명령은 다음 순서에 다라 파일 종류를 판별합니다.


디바이스, 디렉토리, 심볼릭 링크

압축 파일 체크

tar 파일 체크

magic 데이터베이스 파일에 따른 체크

ASCII, Unicode 등 텍스트 파일 종류 체크


위에 해당되지 안으면 바이너리로 판단 합니다.

 

바이너리? -0과 1, 즉 2진수로 이루어진 파일을 의미한다

 

#which - 실행파일 및 alias 확인
#which [파일명]

 

ex)#which cp
     #which date
     #which ls

 

어느 명령어가 alias 되어있는지 확인가능

 

#more - 화면 단위로 파일 내용 출력 (#less)
#more [option] [file]
+[N] 출력을 시작할 행 번호

 

more -1 로 설정하면 한줄씩 알수있다.

 

space bar - 다음 화면 출력
enter key - 한줄 씩 스크롤

ctrl + f - 다음 화면으로 이동
ctrl + b - 이전 화면으로 이동

 

cat 과 more의 차이점

-#cat은 화면내용 출력 #more 페이지 단위로 내용 출력


 

#head - 파일 내용의 첫 10줄만 출력

#head [옵션] [파일]
 - [번호] 처음부터 [번호]

 

 

head -3 으로 설정하면 3줄씩 출력되는걸 알수있다.

 

#tail - 파일 내용의 마지막 10줄 출력
tail [옵션] [파일]

-[번호] 마지막 부터 [번호]만큼 출력

 

-f  실시간으로 파일의 내용확인

ex) tail -3 /etc/passwd  //마지막부터 3줄만

 

마지막 3줄이 출력된걸 알수있다.


#tail -f /var/log/secure         //현재 원격 접속을 시도한 (로그인)내용을 실시간 확인 세션 추가하면서 파일 내용 변경 확인

 

서버 접속할때마다 로그인 접속시간이 추가된다.

 

cp를 하면서 디렉토리를 생성할수 없을까?

[명령어1] ; [명령어2]
ex)#cp a b; mkdir test_dir
    #ls ; pwd

 

명령어 [파일] ; 명령어 [파일] 동시 실행이 가능하다

 

#grep(Globally find Regular-Expression and Print)
-문자열 검색

 

grep [옵션] [패턴] [파일]

 

-i 대소문자 구별x
-n 행번호 함께 출력
-v 패턴에 일치 하지 않는 행만 출력(제외 용도)
-w 패턴이 전체 단어와 일치하는 행만 출력

 

 

 

ex) 현재 디렉토리 내 모든 파일에서 'a'을 찾아라.

#grep -n 'a'*

 

grep 공부(http://egloos.zum.com/slgi97/v/10947881)
 

간단한 파일 생성

 

 

메타 문자 종류 중에 *와일드 카드 문자를 이용하여 현재경로
에 있는 abc로 시작하는 모든 파일 확인

 

맞는 결과

abc:abc
abc1:abcc
abc2:abccc

 

#wc (word count) 파일의 문자 ,라인, 단어 수 출력
-c 문자 수
-l 라인 수
-w 단어 수
-L 가장 긴 문장의 길이 출력

 

ex) #wc /etc/resolv.conf
      라인 단어 문자     //라단문
         3     4    39

 

#cut - 화면에 출력되는 필드 잘라내기
#cut [옵션] [파일]

 

- c 잘라낼 글자 위치를 지정
-  f 잘라낼 필드를 지정
- d 잘라낼 필드를 구분하는 문자 (구분자) 지정 (기본값 tab)

 

ex) cut -d ":" -f 1 /etc/passwd

 

맨 앞 단어만 출력된걸 알수있다.

 

링크파일 - 파일 시스템 상에 존재하는 파일           

                기존에 있는 파일에 새로운 파일명을 붙이는 것

 

심볼릭 링크 하드 링크  개념 잡기(http://sunnmoon.egloos.com/v/1858692)

 

1. 심볼릭 링크

#ln -s [대상파일명] [링크파일명]


-원본 파일을 가리키는 새로운 파일을 생성

-inode 가 대상과 다르다.

-새로운 파일은 이름만 존재할뿐 내용은 아무것도 없다 원본이 삭제되면 무용지물

 

2. 하드 링크

#ln [대상파일명] [링크파일명]

 

- inode 가 대상과 같다.
- 기존 파일에 새로운 파일의 이름 추가로 생성
- 원본 파일 수정 시 하드링크도 함께 수정됨 !
- 파일 복사와 차이는 하드디스크에 공간을 차지 하지 않음

- 원본을 지워도 새로운 파일의 내용은 그대로다.

 

inode?- 자료구조 이며 디렉토리등 파일 시스템에 관한 정보를 가지고 있다.

          - 실제 data와 이름을 연결해 주는것

 

 

허가권이 같은 하드 링크 / 링크의 수 2 2 1 다르다는 것을 알수있다.

 

하드 링크와 cp 랑 뭐가 다를까?

cp는 10메가인 원본 A파일을 B라는 이름으로 복사하면 10메가 10메가 이렇게 20메가의 용량을 차지하게 된다.

하드 링크는 10메가인 원본 A파일을 B라는 이름으로 복사하면 두파일이 차지하는 용량은 10메가다.

 

 

'Server > Linux' 카테고리의 다른 글

Linux - snapshot 기능  (0) 2017.03.29
xshell/ 디렉토리 실습2  (0) 2017.03.29
xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19

문제

 

1. 최상위 디렉토리 아래 practice 디렉토리 생성

 

2. 생성한 practice 디렉토리 아래 day1 ~ day7 까지 디렉토리 생성
 -단, 명령어 한번으로 생성
 

3. 생성한 day1 디렉토리 아래 그림과 같이 디렉토리 생성
 -단, 명령어 한번으로 생성

                  Linux
                    |
                 CentOS
                    |
                   6.8
                    |
                 2.6.32

 

 

4. 생성한 2.6.32 디렉토리로 이동
 
5. 현재 디렉토리 확인 후, CentOS 까지 이동

 

6. 생성한 practice 디렉토리 아래 생성한 day2 ~ day7 디렉토리 삭제

 

 

 

답:

 

 

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 실습2  (0) 2017.03.29
xshell/ 디렉토리 명령어2  (0) 2017.03.28
xshell/ 디렉토리 명령어1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19
CentOS 6.8 Xshell 소개 및 원격접속  (0) 2017.03.18

파일의 종류

파일 - 관련있는 정보들의 집합

        - 파일을 효과적으로 관리하기 위해 디렉토리 사용

        - 파일을 사용 목적에 따라 일반파일, 디렉토리, 링크 파일, 장치 파일로 구분

심볼릭 링크

- 원본 파일을 대신하여 다른 이름으로 파일명 지정

 

장치파일
-하드디스크나 키보드 같은 각종 장치도 파일로 취급  장치들을 관리

 

디렉토리 계층 구조
- 리눅스에서는 파일을 효율적으로 관리하기 위해 디렉토리를 계층적으로 구성

 

최상위 디렉토리
- '/' 로 표시하며 모든 디렉토리의 상위 디렉토리

 

하위 디렉토리(서브 디렉토리)
-디렉토리 아래 위치한 디렉토리

 

상위 디렉토리 (부모 디렉토리)
-'..'으로 표시하며, '/' 디렉토리를 제외한 모든 디렉토리는 상위(부모) 디렉토리가 있다.

 

작업 디렉토리(현재 디렉토리)

-현재 위치한 디렉토리 '.' 으로 표시

 

홈 디렉토리
- '~' 물결로 표시하며 각 사용자에게 할당된 디렉토리로 처음 사용자 계정 생성 시 함께 생성

 

기본 명령어
#pwd (print working directory)
-현재 위치한 절대 경로 확인

 

#ls(list segment)
-파일 및 디렉토리 목록 출력

 

ls -lhs     //가장 큰 파일 확인


#ls -l -a  //옵션끼리 반복 적지x

 

옵션
 -a 숨김파일을 포함한 경로안에 모든내용 출력   // .[파일]  
 -l list 형태로 출력(#ll)
 -F 파일의 형식을 알 수있는 문자를 추가
 -t 수정된 날짜를 기준으로 출력
 -R 현재 위치를 기준으로 하뒤 디렉토리 및 파일을 출력
 -h -l 과 함께 사용하여 파일 크기를 사람이 보기 쉽게 출력
 -S -l 과 함께 파일크기 기준으로 정렬

 

 

파일의 형식을 나타내는 문자
/ 디렉토리
* 실행파일  ex)#ls -F /bin
@ 링크파일

 

 

help 옵션 메뉴얼 사용하기

- #[명령어] --help

- man[명령어]       //해당 [명령어]의 메뉴얼 확인

 

man 없을 경우

- #yum -y install man   인터넷에서 man 패키지 다운

 

cd - 디렉토리 이동

 

- #cd  /bin

    디렉토리를 나타내는 특수 문자
- #cd             : 로그인한 사용자의 홈디렉토리 이동          

- #cd  /root      : root 홈디렉토리 이동

 

- #cd - : 바로 이전의 작업 디렉토리 이동

- #cd .. : 상위 디렉토리로 이동

 

cp (copy) - 일반파일이나 디렉토리 복사


#cp [옵션] [소스(원본)] [타겟(사본]

 

옵션 -r 디렉토리를 복사할 경우 디렉토리 및 파일을 모두 포함하여 복사
       -f 복사할 대상이 이미 있으면 강제로 덮어씌운다.
       -v 명령어 실행과정 출력
       -i 복사할 대상이 이미 있는 경우 사용자에게 덮어쓸지 질의  //alias 기능
       -p 해당 파일의 속성, 시간정보등을 유지하며 복사

 

ex)   #cp /bin/ls /practice/day1/ls_backup

 

 

cp 명령어 도움 카페(http://blog.naver.com/kdi0373/220526747603)

 


절대경로
-최상위 디렉토리인 '/'부터 시작하는 위치
-루트( '/')디렉토리 부터 시작하여 특정 파일이나 디렉토리의 위치까지 이동하면서 거치는 모든 중간
디렉토리의 이름을 나열하여 표시

ex) #cd /home/bob

 

상대경로
- 현재 작업하고 있는 디렉토리에서의 상대 적인 위치
- '.' :현재 디렉토리 '..' 상위 디렉토리
ex) #cd ../bob

cd /var/log/audit
[root@Server-A log]# cd ./audit
[root@Server-A audit]# pwd

 

mkdir (make directory) - 디렉토리 생성
#mkdir [디렉토리명]
#mkdir [옵션] [디렉토리명]
#mkdir [디렉토리명1][디렉토리명2][디렉토리명3]

옵션 -p 하위 디렉토리 까지 한번에 생성

 

rmdir (remove directory) - 디렉토리 삭제
#rmdir [디렉토리명]

 

주의사항 - 디렉토리내에 파일이 있는경우 삭제되지 않는다.
             - 빈 디렉토리만 삭제가능

 

rm -r [디렉토리]   //디렉토리 및 파일 삭제 가능

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 명령어2  (0) 2017.03.28
xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19
CentOS 6.8 Xshell 소개 및 원격접속  (0) 2017.03.18
VMware / 가상머신 소개 및 설치  (0) 2017.03.18

프롬프트(Prompt)

-컴퓨터가 입력을 기다리고 있음을 가리키기 위해 화면에 나타나는 표시

 

프롬프트 구조

[root@Server-A ~]#

 

root - 현재 쉘에 로그인중인 사용자 계정명

@ - 사용자와 호스트네임을 구별하기 위한 구분자

Server-A - 호스트네임

~ - 현재 경로(~:로그인한 사용자의 홈 디렉토리)

# - root 계정을 의미 (관리자 계정)

$ - root 외에 다른 일반 사용자 계정

 

 

복사 붙어넣기 를 간편하게 하는 법

 

 

콘솔화면변경 ctrl+alt+F1~F6

 

명령어 빠르게 치는법: ex) if누르고 Tab

 

실수로 if실행 후 Tab Enter

ctrl+c 명령어 실행 종료

 

 

 

 

명령행 히스토리

-커서 키를 이용하여 이전에 실행했던 명령어를 다시 불러낼수 있다. 키보드 up down

 

#history //이전 입력 했던 명령어 출력 1000줄까지 지원

 

alias기능

- bash shell에 내장된 기능으로 명령어에 별명을 지정해서 사용할수있게 만들어 주는 기능

 

 

기본으로 설정된 alias 

 

단축키 c를 누르면 clear 명령어 실행

 

alias로 만든 명령어를 지울려면 unalias 를 사용한다.

 

 

 #echo [문자열] //문자열 출력 기능

 

 

for loop

- 명령어를 여러번 실행할때나 증가하는 패턴을 처리할때 유용한 기능

 

 

 4씩 증가한 숫자를 볼수 있다.

 

 

^c-> ctrl

유용한 줄편집 기능

^c+a : 해당 라인의 처음으로 커서 이동

^c+e : 해당 라인의 마지막으로 커서를 이동

 

역 점진 탐색(Reverse Increment Search)

- 저장되어 있는 범위내에서 예전에 사용했던 명령어를 한 글자씩 입력하면서 찾을 수 있으며, 많은 명령어를
  수행 했을 때 예전 명령어를 불러올 때 유용

 

^c+r 키를 누르면 프롬프트가 사라지고 Reverse-i-search 모드로 변경

 

시스템 종료 명령어

- #halt

- #shutdown -h now

- #init 0

- #poweroff

 

시스템 재부팅 명령어

- #reboot

- #shut down -r now

- #init 6

 

logout

- xshell ctrl+D(연결해제)

- console ctrl+D(로그아웃)

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19
CentOS 6.8 Xshell 소개 및 원격접속  (0) 2017.03.18
VMware / 가상머신 소개 및 설치  (0) 2017.03.18
리눅스 설명 및 프로그램 소개  (0) 2017.03.18

CentOS( The Community ENTprise Operating System)
-래드햇이 개발하여 판매하고 있는 리눅 배포판 RHEL의 소스코드를 그대로
가져와 로고 변경후 무료 기업용 컴퓨팅 플랫폼을 제공할 목적으로 만들어진 운영체제

 

Xshell

- 리눅스 서버 접속 프로그램

 

Xshell 기능

- 최신 네트워크 환경을 위한 IPv6 지원

- 사용자 입력값을 실시간으로 전솔하는 동시 입력

- 자동 잠금 기능

- 다국어 지원 (UTF8 인코딩) 문자인코딩 방식

- 문서편집기 가능

- 자동 명령어 실행

 

 

기본값 해당하는 두번째 줄로 설치한다

 

 

설치 CD의 이상유무 확인한다. OK를 누르면 점검이 시작되 오랜 시간이 소요 

특별한 경우가 아니면 Skip

 

 

설치과정에서 사용할 언어 선택 korea

 

 

시스템에서 사용할 키보드 타입 한국어는 없으므로 U.S영어 선택

 

 

CentOS를 설치할 디스크 장치 선택 기본 로컬 하드디스크에 설치하므로

기본 저장 장치 선택

 

 

예 모든 데이터를 삭제합니다를 눌러 하드 디스크에 모든 데이터를 삭제

 

 

가상머신 이름과 동일한 호스트네임 설정

 

 

시스템 시간 아시아/서울 변경  협정 세계시(UTC)

 

 

시스템 관리자 루트 암호설정

 

 

디스크 파티션 생성을 위해 사용자 레이아웃 만들기 선택

 

 

가상 머신 생성 시 설정했던 가상 디스크(20GB) 이용 파티션 설정

 

파티션?- 디스크나 메모리 등의 저장 매체를 나누는 것

 

 

포맷을 누른다

 

 

디스크 변경 사항 기록을 누른다

 

 

부트로더가 설치되는 디스크 확인 후 다음

 

부트로더?- 모든 작업을 마무리 하고 최종적으로 OS를 작동시키기 위한 목적 프로그램

 

 

재부팅을 누른다

 

 

Vmware Workstation 메뉴 Edit 클릭후 가상머신이 사용할 네트워크 설정

Virtual Network Editor 클릭 Subnet/Gateway ip 네트워크 만들어준다

 

Xshell 설치

 

 

무료 사용을 위해 가정/학교

 

 

프로그램 폴더 이름, 프로그램에 사용되는 언어 선택 확인후 다음

 

 

설치가 끝나면 Xshell 이 실행

 

 

원격접속 대상의 정보 작성 호스트 ip 주소 생성

 

 

    //장치의 타입

    //부트 시 랜카드를 자동으로 올릴 것인지

   //Network Management 사용할건지

   //ip 할당 타입 없음

   //ip 주소

   //서브넷 마스크

   //네트워크가 나갈 Gateway

   //DNS주소

   //DNS주소

 

 

 

 

 

 

 

 

 

도메인 네임은 예를들어 인터넷에 접속되고 있는 사이트를 식별하는 고유 명칭을 말하고

도메인 네임 시스템(DNS)은 영문과 숫자로 표현된 주소(도메인 네임)를 숫자로 이루어진 IP로 변환시켜 주는 시스템을 말합니다.

 

VMware Workstation 설치한 가상 머신의 네트워크 설정을 위해 명령어 입력

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

텍스트 편집기 vi 입력 i 키 입력후 위 내용처럼 설정

ESC 누른 후 :wq 누르고 나간다

 

 

#service network restart 눌러 접속

 

 

수락 및 저장을 눌러 원격접속을 마무리 한다.

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19
VMware / 가상머신 소개 및 설치  (0) 2017.03.18
리눅스 설명 및 프로그램 소개  (0) 2017.03.18

 

 

VMware Workstation 설명

-윈도우 운영체제를 오래 사용하다보면 갈수록 느려지는게 체감되실겁니다.  국내 인터넷 환경에서 강제되는 각종 ActiveX 보안프로그램들은 컴퓨터를 느려지게하는 주 원인이 되는데요. 오래동안 느려짐 없이 깨끗한 운영체제를 사용할수 있는 해결책으로 활용이 가능한 VMware Workstation 12 사용법 및 설치에 대한 내용을 정리해보았습니다.

 

기본 명령어

ctrl+alt          //hostOS<-->guestOS 포커스변경시 사용
ctrl+alt+insert //guestOS에서 ctrl+alt+delet 효과

 

 

 

Next 을 누른다

 

 

라이선스 체크후 Next 누른다.

 

 

경로 확인후 keyboard driver에 체크 Next를 누른다.

 

 

 

 

업데이트 확인 기능 사용하지 않기 위해 체크박스 해제

마찬가지로 도움말 기능 사용하지 않기위해 해제 Next

 

 

바탕화면 바로가기 아이콘 생성 체크 시작 버튼 메뉴에 VMware workstation 폴더 생성

Next 후 설치진행

 

 

Finish 버튼

 

VMware Workstation 초기화면

 

가상머신 실습 환경 맞추기

 

 

Typical -가상 머신 생성과 운영체제 설치까지의 과정 최소화

Custom - 고급 사용자 모드로 가상 머신의 모든 설정을 확인 및 수정가능

Next

 

 

하드웨어 정보 호환성 확인 Next

 

 

I will install the opertaing system later - 가상머신을 생성한 후 운영체제 설치 Next

 

 

os 종류와 배포판 선택  Next

 

 

경로 지정후 Next

 

가상 머신에 할당할 cpu와core수를 선택 실습 환경에서는 1:1 설정 Next

 

 

가상 머신에 할당할 메모리 크기 지정 Next

 

 

가상 머신에 적용할 네트워크 타입(NAT) 선택 Next

 

 

LSI Logic 선택 Next

 

 

가상머신에 적용할 디스크 타입 설정 기본값SCSI 추천   Next

 

 

Creat a new virtual disk 가상머신이 사용할 새로운 가상 디스크 파일(*.vmdk)생성 Next

 

 

가상 머신이 사용할 디스크의 용량 설정

가상 디스크 파일 생성 및 관리 방식 설정

Store Virtual disk as a single file 가상 디스크 파일을 하나의 파일로 생성 Next

 

 

Next

 

 

생성한 가상 머신의 설정을 확인 가상 하드웨어 구성을 변경하기 위해 Customize Hardware 버튼

불필요한 usb controller, sound card, Printer 하단 remove 클릭     close

 

 

CD/DVD 에 use Iso 에 CentOS-6.8.iso  Ok

 

 

가상 머신 실행

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19
CentOS 6.8 Xshell 소개 및 원격접속  (0) 2017.03.18
리눅스 설명 및 프로그램 소개  (0) 2017.03.18

 

 

 

리눅스 마스코트 TUX 펭귄이다.

 

 

 

리눅스

- 1989년 리누스 토발즈 라는 사람이 개발한 os

- 윈도우와 유닉스와 더불어 3대 운영체제 중 하나다.

 

IT 관련 직무를 수행하는 사람들이 많이 사용하는 필수 과목이다.

 

 

 

 

 

소프트웨어 개발업체 며 리눅스 배포회사들이다.

 

대표적으로 redhat이 있다.

 

 

 

 

 

 

운영체제(os)

-HW와SW를 제어하면서 쉽게 컴퓨터를 다룰수 있도록 도와주는 중재자입니다.

 

리눅스 특징

-무료, 오픈소스를 제공 하므로 자기가 원하는 대로 특정한 기능들을 추가

- 강력한 네트워크 망 구축

- 다중작업 가능 인터넷의 모든기능 지원

- 완벽한 멀티 테스킹과 멀티유저시스템

- 가상메모리 지원

 

멀티 테스킹

-동시에 여러 일을 할 수 있는 걸 의미

 

멀티유저시스템

-두 명 이상의 사용자가 각자 여러 Application을 동시에 사용

 

윈도우 리눅스 차이

- 리눅스는 무료고 윈도우는 유료

- 리눅스는 바이러스가 적으며 보안이 높고 윈도우는 버그 발견시 패치 긴 시간


리눅스 구조
- 커널과 쉘

 

커널

-좁은 의미의 운영체제로 하드웨어를 제어하는 코드를 통해 소프트웨어와 커뮤니케이션 하며
시스템의 모든 자원을 통제 관리하는 역할

 

-명령어 해석기, 사용자가 입력한 명령어를 커널에게 전달하는 역할
-사용자에게 편리한 기능을 제공, 프로그래밍 기능(Shell Script) 이 내장

 

Bash( Bourne Again Shell )
-본쉘 (Bourne Shell) 을 개량하여 만들었다.
-대부분의 리눅스 배포판에서는 Bash Shell 사용.

 

배포판 종류

-RHEL

-CentOS

 

리눅스를 하기전 GNU 선언문을 읽어봐야하는 이유(http://www.gnu.org/gnu/manifesto.ko.html)

1. 리눅스를 배우고자 하는 사람에게 더욱더 진정한 가치가 생긴다

2. 리눅스가 발전하는 이유

3.  GNU선언문을 통하여 오픈소스의 공유와 나눔철학의 이해

 

20170318.txt

 

 

'Server > Linux' 카테고리의 다른 글

xshell/ 디렉토리 실습1  (0) 2017.03.19
xshell/ 디렉토리 명령어1  (0) 2017.03.19
xshell/ 기본 명령어  (0) 2017.03.19
CentOS 6.8 Xshell 소개 및 원격접속  (0) 2017.03.18
VMware / 가상머신 소개 및 설치  (0) 2017.03.18

 

 

 ← 이 렌더링은 솔리드웍스 기능으로 만든

 

     사진입니다.

 

 

  아래 두사진은 keyshot 으로 만든 사진 입니다.

 

 

 

 

  솔리드웍스는 렌더링을 하면 3d 입체적으로

  나오는 반면

 

  keyshot은 그림처럼 나와 많은 사람들이 keyshot을

  사용합니다.

 

     

 

 

'설계 > keyshot' 카테고리의 다른 글

keyshot 소개 및 설치  (0) 2017.03.14

3d 모델링 등 꾸미기 위해서 랜더링 툴을 많이 사용한다고 합니다.

 

keyshot?

- 3d 프로그램인 카티아, 솔리드웍스, 라이노 등의 설계 툴에 재질을 입혀 실물과 비슷하게 만드는 랜더링 프로그램입니다. 

 

 

 

위 사진과 같이 자기가 원하는 재질을 넣어 표현할수있고 거칠기, 굴절율 등을 조절해가며 실물에 비슷하게 만들어가는 툴입니다.

 

keyshot에는 재질 애니메이션 렌더링 기능이 있습니다.

 

설치 경로는 https://www.keyshot.com/resources/downloads/ 입니다.

 

 

'설계 > keyshot' 카테고리의 다른 글

타 렌더링 툴 비교  (0) 2017.03.14

+ Recent posts