Linux/UNIX Programming

Slides:



Advertisements
Similar presentations
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
Advertisements

컴퓨터와 인터넷.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
코크파트너 설치 가이드 Window 7.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
MYSQL 설치.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Linux/UNIX Programming
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Windows Server 장. 사고를 대비한 데이터 백업.
5장 Mysql 데이터베이스 한빛미디어(주).
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
SAP GUI 설치 가이드 프로세스 혁신 TFT.
Linux서버를 이용한 채팅프로그램 지도 교수님 : 이형원 교수님 이 름 : 이 은 영 학 번 :
07. 디바이스 드라이버의 초기화와 종료 김진홍
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
Chapter 06 프로세스와 예약작업 관리 Solaris 1. 프로세스 관리
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Linux Master 김희승 임승한 OneScore 임승한.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
Cross Compiler 설치.
SSL-VPN 설치 및 접속 설명서.
5장 Mysql 데이터베이스 한빛미디어(주).
Cross Compiler를이용한 커널 컴파일 및 포팅
P2P시스템에 대해서 (peer to peer)
시스템 인터페이스 Lab3 Unix 사용법 실습.
Linux/UNIX Programming
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
홀인원2.0 설치 메뉴얼.
IPython Notebook + Spark + TensorFlow on MacOS
뇌를 자극하는 Windows Server 2012 R2
Linux/UNIX Programming
Linux/UNIX Programming
이재광 정보보호 일반 중에서 제2장 운영체제 보안 이재광
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
Linux/UNIX Programming
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Linux/UNIX Programming
자바 5.0 프로그래밍.
Linux/UNIX Programming
Linux/UNIX Programming
Linux/UNIX Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
Linux/UNIX Programming
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
공인인증로그인 매뉴얼.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
공인인증로그인 매뉴얼.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
Linux/UNIX Programming
Docker Study 6~7.
Linux/UNIX Programming
2. 프로세스 B 안우진 - 운영체제 -.
Linux/UNIX Programming
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Linux/UNIX Programming
Presentation transcript:

Linux/UNIX Programming 압축 명령어 문양세 강원대학교 IT대학 컴퓨터과학전공

파일 압축 및 복원 (1/7) 통신 및 압축 명령어 Linux 상에서 큰 파일을 효율적으로 관리하기 위해서는 파일을 압축하여 보관 및 전송할 수 있으며, 이러한 파일을 원래의 상태로 복원(압축 해제) 할 수 있음 파일 압축에 따른 파일 확장자의 종류 .tar .Z .gz or .z .tar.gz or .tar.z

파일 압축 및 복원 (2/7) 통신 및 압축 명령어 tar 이 명령어는 정확하게 얘기하면 압축 프로그램이 아니고, 단순히 여러 개의 파일을 하나의 파일로 묶어주는 프로그램임 리눅스 기반의 압축 프로그램들은 윈도우와 달리 여러 개의 파일을 한번에 묶어서 압축해 주는 기능을 지원하지 않기 때문에, 일단 tar를 사용하여 여러 파일을 묶은 후에 압축하는 방법을 많이 사용함 압축: $ tar –cvf target.tar files // wild card 사용 가능 복원: $ tar –xvf target.tar 목록 확인: $ tar –tvf target.tar c  create, v  verbose, x  extract, …

파일 압축 및 복원 (3/7) 통신 및 압축 명령어 tar 사용 예제

파일 압축 및 복원 (4/7) compress/uncompress 압축 프로그램 : $ compress files 통신 및 압축 명령어 compress/uncompress 압축 프로그램 : $ compress files 복원 프로그램 : $ uncompress files 유닉스에서 기본적으로 제공하는 압축프로그램으로 널리 사용 확장명이 대문자 Z임에 주의 ( 소문자 z인 경우에는 gzip을 사용한 것임)

파일 압축 및 복원 (5/7) 통신 및 압축 명령어 compress/uncompress 사용 예제

파일 압축 및 복원 (6/7) gzip 압축: $ gzip files 복원: $ gzip –d files 통신 및 압축 명령어 gzip 압축: $ gzip files 복원: $ gzip –d files 도스용 ZIP 프로그램과 비슷한 방법으로 압축하게 되어 있어서 압축률과 속도면에서 우수함 압축된 파일의 확장자는 “.z”나 “.gz”임

파일 압축 및 복원 (7/7) 통신 및 압축 명령어 gzip 사용 예제

실습 (1) /tmp/NBIT 디렉토리에서 다음 두 개 파일을 자신의 계정에 복사한다. 첫 번째 파일: unixsys.tar.Z 두 번째 파일: linuxsys.tar.gz (2) 복사한 두 개의 파일을 자신의 계정에 푼다. (압축 해제 및 tar) (3) (2)의 풀어진 내용을 “학번.tar.Z” 형태로 압축한다. (4) (2)의 풀어진 내용을 “생년월일.tar.z” 형태로 압축한다. (5) (3)과 (4)의 묶은 파일 모두를 /tmp/NBIT 디렉토리에 다시 복사한다.

실습 (1) /tmp/NBIT 디렉토리에서 다음 두 개 파일을 자신의 계정에 복사한다. 첫 번째 파일: unixsys.tar.Z 두 번째 파일: linuxsys.tar.gz (2) 복사한 두 개의 파일을 자신의 계정에 푼다. (압축 해제 및 tar) (3) (2)의 풀어진 내용을 “학번.tar.Z” 형태로 압축한다. (4) (2)의 풀어진 내용을 “생년월일.tar.z” 형태로 압축한다. (5) (3)과 (4)의 묶은 파일 모두를 /tmp/NBIT 디렉토리에 다시 복사한다.

프로세스 관리 명령어

프로세스란? 프로세스 관리 명령어 실행중인 프로그램으로서 자신의 작업을 처리하기 위하여 CPU 자원, 메모리, 파일, 입출력 장치와 같은 자원들을 필요로 하는 실행 코드  능동적인 개체 현재 실행 중이거나 곧 실행이 가능한 PCB(process control block)를 가진 프로그램 컴퓨터 시스템에 있어서 프로세스는 작업의 단위이며 컴퓨터의 모든 작업은 프로세스들의 집합체로 구성 보다 쉽게 이해하는 방법: 프로그램이 실행되면 프로세스임

프로세스의 상태 수행(running) 명령어들이 실행되고 있는 상태 (프로세스가 중앙처리장치를 차지하고 있는 상태) 프로세스 관리 명령어 수행(running) 명령어들이 실행되고 있는 상태 (프로세스가 중앙처리장치를 차지하고 있는 상태) 대기(waiting) 프로세스가 어떤 사건(입출력 종료와 같은)이 일어나기를 기다리는 상태 준비(ready) 프로세스가 CPU 에게 할당(CPU를 점유할 수 있게)되기를 기다리는 상태

프로세스 생성 (Process Creation) 프로세스 관리 명령어 프로세스는 실행 도중에, 프로세스 생성 시스템 호출 생성하는 프로세스를 부모 프로세스(parent process)라 하고, 생성된 프로세스는 자식 프로세스(child process)라 함 하나의 부모 프로세스는 여러 개의 자식 프로세스를 가질 수 있지만 자식 프로세스는 여러 개의 부모 프로세스를 가질 수 없음 자식 프로세스는 운영체제로부터 직접 자원을 얻거나 부모 프로세스 자원의 일부분을 사용할 수 있음 각 프로세스마다 고유한 정수인 식별자(PID)를 가지고 있음

프로세스 종료 (Process Termination) 프로세스 관리 명령어 프로세스는 (프로그램의) 마지막 문장의 실행을 끝내고 종료하며, 운영 체제에게 프로세스의 삭제를 요청 이 시점에서 자식 프로세스는 부모 프로세스에게 이를 알림 부모 프로세스는 다음과 같은 이유로 자식들 중 하나의 실행을 종료시킬 수 있음 자식이 할당된 자원을 초과하여 사용할 때 자식에게 할당된 일이 더 이상 필요 없을 때 혹은 사용자가 자신의 프로세스를 강제로 종료시킬 수 있음 (kill 명령어)

Foreground vs. Background (1/5) 프로세스 관리 명령어 Linux/Unix 시스템은 한번에 여러 작업을 동시에 할 수 있는 다중작업(Multi-tasking) 시스템 사용자가 한 명령어를 실행시키고 그 명령의 실행이 종료되어 결과가 출력될 때까지 다른 명령어를 실행하지 않고 기다리는 경우를 foreground로 수행한다고 함  우리가 지금까지 공부한 대부분의 명령어가 foreground로 실행됨 반대로 사용자가 하나의 명령어를 실행시킨 후에 그 실행이 끝날 때까지 기다리지 않고, 다른 명령어를 실행시켜 결과적으로 시스템 내에 복수개의 작업이 동시에 실행되도록 하는 경우를 background로 수행한다고 함

Foreground vs. Background (2/5) 프로세스 관리 명령어 Background에서 실행하는 것은 시간이 오래 걸리는 긴 작업일 때 유용 사용자가 명령어를 background로 실행시키면, 그 명령의 종료와 관계없이 즉시 프롬프트가 나타나서 다음의 명령어를 실행할 수 가 있음 Background로 지정하고 싶은 명령어 끝에 “&”를 붙여서 해당 명령어를 background로 실행시킬 수 가 있음

Foreground vs. Background (3/5) 프로세스 관리 명령어 Background 명령 수행의 예 1: 초기부터 Background로 수행 문자 & 가 의미하는 것은 “이 작업을 background에서 실행해라”라는 의미이며, 그 다음 라인은 백그라운드 프로세스의 관리를 편하게 하기 위한 정보로서 [1]은 Shell상의 작업제어를 위한 작업 번호, 25940은 프로세스 ID를 나타냄

Foreground vs. Background (4/5) 프로세스 관리 명령어 Background 명령 수행의 예 2: 수행 중에 Background로 전환 (control-Z(^Z) 및 bg 명령어를 사용하여 background로 전환) Foreground로 진행 중인 프로세스를 background로 전환할 경우 ctrl-Z(suspend:프로세스 중지) 키를 눌러서 suspend signal을 발생시켜 작업을 중지시킨 후, bg 명령어를 입력하면 그 작업이 background에서 실행됨

Foreground vs. Background (5/5) 프로세스 관리 명령어 Background 및 Foreground 모드 변환의 예 수행 중인 작업을 foreground로 전환하려면 fg명령어를 이용하며, background에 여러 개의 작업이 실행되고 있다면 jobs명령어로 그 목록을 확인할 수 있고, 작업 번호를 이용하여 특정 프로세스를 foreground로 변환할 수 있음

ps 명령어 (1/4) ps 명령어는 현재 존재하는 프로세스들이 실행 상태를 요약한 보고서를 출력해 줌 프로세스 관리 명령어 ps 명령어는 현재 존재하는 프로세스들이 실행 상태를 요약한 보고서를 출력해 줌 옵션이 주어지지 않으면 프로세스 식별번호, 명령어가 시작된 터미널, 프로세스에 사용된 CPU 시간, 그리고 명령어 그 자체를 나열 Default로 ps는 사용자가 자신의 프로세스들만 출력, 그러나 많은 경우 현재 시스템에서 실행되고 있는 모든 프로세스들에 대하여 다양한 정보를 포함하는 상태정보를 출력 $ ps [-options]

ps 명령어 (2/4) ps 명령어의 주요 option System V 계열인 경우 (일반적으로, ps, ps –ef를 이용) 프로세스 관리 명령어 ps 명령어의 주요 option System V 계열인 경우 (일반적으로, ps, ps –ef를 이용) e: 현재 시스템 내에 실행 중인 모든 사용자 프로세스 정보를 출력 f: 프로세스에 대한 좀 더 자세한 정보를 출력 BSD 계열인 경우 (일반적으로, ps, ps –a, ps –aux를 이용) a: 모든 사용자의 프로세스를 출력 u: 프로세스에 대한 좀 더 자세한 정보를 출력 x: 더 이상 제어 터미널을 갖지 않은 프로세스들도 함께 출력 ps 명령어의 option과 출력 결과 내용은 System V UNIX와 BSD UNIX가 서로 상이하므로, 이에 대한 자세한 사용법과 출력 결과의 해석에 대해서는 manual($man ps)을 사용하여 확인한 후 익히기 바람  대부분은 System V를 따르고 있음

ps 명령어 (3/4) 프로세스 관리 명령어 System V 계열인 경우

ps 명령어 (3/4) 프로세스 관리 명령어 System V 계열인 경우

ps 명령어 (3/4) 프로세스 관리 명령어 System V 계열인 경우

ps 명령어 (4/4) 프로세스 관리 명령어 BSD 계열인 경우

ps 명령어 (4/4) 프로세스 관리 명령어 BSD 계열인 경우

ps 명령어 (4/4) 프로세스 관리 명령어 BSD 계열인 경우

ps 명령어 (4/4) 프로세스 관리 명령어 BSD 계열인 경우

kill 명령어 (1/2) 프로세스 관리 명령어 kill 명령은 현재 (background로) 수행중인 프로세스를 강제로 종료시킴 (보다 정확하게는 수행중인 프로세스에 특정 signal을 전달하는 기능을 수행함) $ kill [-signal] PID 여기에서 PID는 프로세스 식별번호이고, signal은 프로세스에게 전달할 signal을 나타냄 Default signal은 15번인 SIGTERM(terminate)으로, 이 signal은 프로세스에게 수행을 중지하라는 메시지를 전달함 가끔씩 kill 명령어를 사용한 후에도 그 프로세스가 아직 존재하는 경우가 있는데, 이 경우에는 kill 명령어를 –9 옵션으로 실행하여 SIGKILL을 전달하여 강제 종료시킴

kill 명령어 (2/2) 프로세스 관리 명령어

kill 명령어 (2/2) 프로세스 관리 명령어

파일 전송

FTP (File Transfer Protocol) 통신 및 압축 명령어 FTP는 네트워크(인터넷) 상의 컴퓨터끼리 서로 파일을 주고 받을 수 있도록 하는 서비스 FTP는 주로 대용량의 파일을 업로드 하거나 다운로드 하기 위하여 자주 사용됨 (파일 송수신 속도가 비교적 빠른 프로토콜임) FTP 서버: 대용량의 Hard Disk에 ftp를 위한 자료를 저장하여 제공하는 컴퓨터로서, 접속하려는 상대방 컴퓨터에 등록된 사용자 id와 비밀번호를 알아야 함 (단, 상대방 컴퓨터에 정식으로 등록되지 않아도 누구나 접속할 수 있는 ftp 서버가 있음  anonymous ftp) 최근, WinFTP, 알FTP 등 GUI 툴이 많은 관계로, 자세한 사용법은 생략함

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 검색

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 설치

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 초기 화면

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 초기 화면 - 닫기

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 - 접속하기

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 – 접속하기

FTP (윈도우에서 사용) 알드라이브- 접속하기 통신 및 압축 명령어 SFTP로 선택 114.70.235.40 아이디/ 비번 입력 /home/NBIT/userxx

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 – 접속 초기화면

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 검색 및 설치 드래그

FTP (윈도우에서 사용) 통신 및 압축 명령어 드래그

FTP (윈도우에서 사용) 통신 및 압축 명령어

FTP (윈도우에서 사용) 통신 및 압축 명령어 알드라이브 검색 및 설치

FTP (윈도우에서 사용) 강원대학교 FTP 사용하기 통신 및 압축 명령어 FTP로 선택 ftp.kangwon.ac.kr 익명 로그인 체크 /

FTP (윈도우에서 사용) 통신 및 압축 명령어

FTP (윈도우에서 사용) 통신 및 압축 명령어