이번에는 파이프와 리다이렉션에 대해 알아보도록 하자. 파일 디스크립터(File Descriptor, fd) : 어떤 명령어를 입력하게되면 해당 명령어가 파일로서 존재한다. 그 파일을 사용해서 작업을 처리하는것을 '프로세스'라 부르는데,프로세스가 생성이되면, 커널이 해당 프로세스를 관리하기 위해 파일 디스크립터 테이블을 생성하여 번호를 할당한다.자주사용되는 파일들에게 기본적으로 번호를 미리 할당해 두어 조금 더 빠른 처리를 수행한다. - 커널은 프로세스를 처리하기 위해 사용되는 장치나 다른 프로세스에 정보를 파일 디스크립터 테이블이라는 곳에 저장을 한다. - 파일 디스크립터 테이블에는 숫자 0번부터 순차적으로 할당되며, 가장 기본적으로 사용되는 파일 디스크립터에 대해서는 미리 지정되어 예약되어있다. 예약되..
vi (Visual Editor) : 텍스트편집기 - 리눅스에서 가장 많이 사용하는 텍스트 편집기 - 모드 형 편집기 vim (Vi IMproved) : 향상된 vi - vi 기능을 향상시킨 vi의 클론버전 - 비주얼 모드가 추가됨 - 현재 가장 많이 사용되는 텍스트 편집기 모드(mode)형과 비모드형 편집기 1. 모드형- 입력모드와 명령모드가 구분- 입력모드는 텍스트를 입력할 때 사용하는 모드- 명령모드는 삭제, 복사, 붙여넣기 편집이 가능한 모드- vi는 모드형 편집기 2. 비모드형- 입력모드와 명령 모드가 구분되어 있지 않음- 편집 기능을 Ctrl이나 Alt 같은 특수 키와 함께 사용- 메모장, 한글, 워드는 비모드 형 편집기 # 명령모드 / 입력모드 / 실행모드각각의 모드에서 실행할 수 있는 키입..
# 리눅스 파일의 구성. - 파일명 + inode + 데이터블록 //매우 중요한 개념이다. 파일명 - 파일의 이름이 접근시의 기준이 된다. inode (= index node) - 추상화 된 구조체. 약간 어려운 개념이다. 이름을 제외한 모든 정보가 inode라는 테이블에 존재. 데이터 블록 - 실제 데이터가 블록이라는 단위로 분할되어 저장됨. #> ls-i 사용시 아이노드 번호가 출력된다. # 이렇게 사용이 가능하다. 아이노드의 번호는 개인별로 다 다르다. 아이노드 번호를 가지고 실제 파일에 접근하는 과정을 한번 이해해보자. #> cat /root/A 라는 명령어 입력시의 과정을 살펴보자.우리가 실제로 확인 가능한 부분은 User 부분 뿐이다.커널에서의 과정은 추상화 된 그림을 참고하여 반드시 이해하고..
grep (Globally find Regular-Expression and Print) - 파일 내용 중 정규식 패턴(Regular-Expression)에 일치하는 문자열을 찾아 화면에 출력 - 독립적으로도 유용한 기능을 제공하지만, 다른 명령어와 조합해서 사용할때 더 강력하다 #> grep [pattern] [file] -i : 대소문자를 구별하지 않는다(ignore-case) -n : 행 번호를 함께 보여준다(--line-number) -v : 정규식에 일치하지 않는 행만 보여준다(--revert-match) -r : 하위 디렉토리에 위치한 파일도 검색한다(--recursive) # 예제파일을 practice 디렉토리에 위치시킨 후 명령어에 대해 알아보자.#> grep "root" /etc/pass..
touch - 기존 파일의 최종 수정시간(modify time)을 변경할 때 사용한다. - 파일이 존재 하지 않을 경우 0바이트 크기의 빈 파일을 생성한다. # 위와같이 표시된 파일 수정시간을 변경 할 때 사용. #> touch [option] [file] -t [timestamp] CCYY년 MM월 DD일 hh시 mm분 ss초 timestamp 형식 : [[CC]YY]MMDDhhmm[.ss] ex) #touch -t 201707181010 [file]ex) #touch -t 170718101010 [file] #> touch -t 201707181010 touch_test #> touch touch-file-l입력시 없던 파일에 touch 명령을 입력하므로 크기가 0인 파일이 만들어 졌다. date -..
#mkdir (make directory) - 디렉토리 생성 #> mkdir [directory name] 여러 디렉토리 한꺼번에 생성시엔mkdir [dir1] [dir2] [dir3] ... 과 같은 형태로 생성. 인자는 공백으로 구분한다. #> mkdir ./korea1 ./korea2 ./korea3 한꺼번에 하위 디렉토리까지 생성 하려면 -p 명령어를 이용한다 #> mkdir -p ./korea4/seoul/dobong-gu 위와같은 방법으로 디렉토리 생성시, 계층적 구조로 생성이 된다. # 현재 경로에서 상위경로로 이동시 .. 을 이용한다.근데 만약 두 계층 위로 올라가려면 #> cd ../../ 과 같이 두번 작성해 주면 된다. #rmdir (remove directory) - 디렉토리 삭제 ..
Bash 기능 1. 탭 완성 - 사용하려는 명령의 일부만 입력하고, tab키를 이용하여 완성. # ex) /etc/sysconfig/network-scripts/ - cd라는 명령어를 통해서 위와같은 명령어 실행가능 - cd /e [tab]/ - /sys까지 누르고 탭을 눌렀더니 자동완성이 되지 않는다 그 이유는 중복되는 명령어가 있기 때문 - 이럴때는 탭을 두번 [tab][tab] 눌러주면 관련된 명령어 목록이 나타난다. - cd /e [tab]/sysco [tab]/network- [tab] - 탭완성 기능 이용시 타자횟수가 줄어들어 작업속도 향상 뿐 아니라 오타가 줄어든다. - 초반에는 경로 중간중간 지속적으로 탭을 눌러가며 어느시점에 눌러야하는 감을 잡는게 좋다 2. 히스토리 - 이전에 실행했던 ..
- 설치된 CentOS를 다루기 위해서 설정해야할 값들을 지정해주자. - 원격에서 리눅스를 다룬다는 가정 하에 실습을 진행할 것이기 때문에 원격 접속 설정이란것을 해주자. # VMware -> Edit -> Virtual Network Editor # VMnet8 선택NAT 라고 잘 설정이 되어 있는지 확인, Subnet IP를 100.100.100.0 으로 변경그 이후에 NAT Setting 클릭 # Gateway IP를 100.100.100.2 로 변경.이후 OK 눌러서 빠져 나온 뒤 Apply 눌러서 설정 적용한 이후 빠져나옴. # 이후에 가상머신 실행시켜서 로그인까지 완료하자.로그인이 완료되었으면 #> vi /etc/sysconfig/network-scripts/ifcfg-eth0이라고 명령어를 ..
- VMware Workstation Player & Pro : https://www.vmware.com/kr/products/workstation.html - CentOS 6.9http://mirror.navercorp.com/centos/6.9/isos/x86_64/http://ftp.daumkakao.com/centos/6.9/isos/x86_64/http://ftp.kaist.ac.kr/CentOS/6.9/isos/x86_64/ 위 세가지 중 아무거나 들어가서CentOS-6.9-x86_64-bin-DVD1.isoCentOS-6.9-x86_64-minimal.iso다운로드 해주면 된다. - 넷사랑컴퓨터 Xshell5 다운로드 : http://www.netsarang.co.kr/xshell_downl..
# 리눅스 : 컴퓨터가 전쟁에 보급되던 시절부터 지금까지 직간접적으로 지속적으로 영향을 미침.따라서 기술을 습득하는데 급급해 하지 말고 그 기본을 이해하는것이 중요. 1)_ 컴퓨터와 운영체제리눅스 하면 먼저 생각나는것? OS(운영체제) - 운영체제는 소프트웨어와 하드웨어로 나뉨. 하드웨어(Device) : CPU, RAM, HDD, KEYBOARD ... - 중앙처리장치 - 주기억장치 - 보조기억장치 - 입출력장치 소프트웨어(Program) : 프로그래밍 언어로 만들어짐. - 응용 소프트웨어 : 사용자에게 편의를 주는 소프트웨어. 게임, 텍스트편집기, 웹브라우저 등 - 시스템소프트웨어 : 컴퓨터 내부 동작을 제어, 컴퓨터의 기능과 응용소프트웨어 등이 실행되는 환경을 제공해준다. LINUX, UNIX, M..