디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd

Slides:



Advertisements
Similar presentations
Apr. 25, 2013 Laboratory of Systems Medicine BASIC LINUX COMMANDS.
Advertisements

3장 파일 및 디렉토리 조작 정보보호 연구실 김동민.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
시작부터 끝까지 진지한 궁서체로 진행하는 완벽한 주입식의 하드코어한 리눅스/장난감 세미나
2. 파일 시스템 파일 디렉터리와 경로명 파일 시스템의 구조 새로운 파일 생성 소유권과 허가 파일 유형과 일반화.
Linux University of Seoul Computer Science Park Jong wook
컴퓨터 네트워크 실습.
디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd
리눅스 기본 명령어 및 Vi 명령어 정리 2015/1, 컴퓨터의 개념 및 실습.
3 디지털 코드 IT CookBook, 디지털 논리회로.
Unix & Shell 사용법 1 번째주 Dept. of Computer Science & Engineering
Ch. 1 LINUX SYSTEM.
[beginning] Linux & vi editor
5장 Mysql 데이터베이스 한빛미디어(주).
Linux/UNIX Programming
컴퓨터 네트워크 실습.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Embedded System Porting (2)
제2장 유닉스/리눅스 사용.
Linux/UNIX Programming
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
Root Filesystem Porting
Internet Protocol and Programming
1. C++ 시작하기.
DataStage 운영자 지침서 Operator’s Guide
Root Filesystem Porting
Linux Master 김희승 임승한 OneScore 임승한.
HW #4 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
WinCE Device Driver 실습 #2
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
사용자계정관리.
Chapter 03. 디지털 코드.
디지털-아날로그 부호화.
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
솔라리스10 3장. 솔라리스 패키지 관리.
HW #4 UNIX 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
이재광 정보보호 일반 중에서 제2장 운영체제 보안 이재광
툴 설치 가이드 Formality SynopsysMentor.
Linux/UNIX Programming
Internet Protocol and Programming
학기 C/C++ 프로그래밍 실습 1주차.
화면 갈무리 및 파일 권한 설정.
setuid, setgid, sticky bit 권한
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
JFS operation HP Korea / Operations JFS operation.
editing program files with vi 기본적인 Linux commands
4장 솔라리스와 디렉토리 뇌를 자극하는 Solaris Bible.
Internet Protocol and Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
Telnet 을 활용한 Linux 메뉴얼 오두환.
Chapter 12 파일 시스템 이해 Solaris1 . 파일 타입
Internet Protocol and Programming
시스템 인터페이스 Lab#5 쉡 실습.
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Linux 기본 사용법.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Internet Protocol and Programming
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
제4장 유닉스 쉘 숙명여대 창병모
Internet Protocol and Programming
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
Linux 기본명령어.
Docker Study 6~7.
시스템 해킹과 보안 permission과 SetUID.
1. 실습 시간에 수행한 avd 생성 및 실행, adb shell 접속 및 명령어 수행 결과를 제출한다.
Presentation transcript:

디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd 디렉토리의 파일 목록 확인 : ls 디렉토리 생성 : mkdir 디렉토리 삭제 : rmdir 한빛미디어(주)

학습목표 2장. 디렉토리 다루기 내용 유닉스 파일 시스템을 이해한다. 파일의 종류와 특징을 이해하고 올바른 사용 방법을 익힌다. 디렉토리 관련 명령의 사용 방법을 익힌다. 내용 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd 디렉토리의 파일 목록 확인 : ls 디렉토리 생성 : mkdir 디렉토리 삭제 : rmdir

파일 파일 시스템 Section 01 유닉스 파일 시스템 관련 있는 정보들의 집합 시스템 내의 파일을 효과적으로 관리하기 위해 계층적으로 구성한 유닉스 시스템의 파일과 디렉토리의 집합

파일 시스템 UNIX uses a broader interpretation of files than in most operating systems. In UNIX, a file is any source from which data can be read or any destination to which data can be written. Therefore, the keyboard, a source of input, is a file; the monitor, a destination for output, is a file; a printer, another destination for output, is a file; and a document stored on a disk, a source or destination of data, is also a file.

파일의 종류 네트워크 단말기 디스크 파이프

일반파일, 디렉토리 파일, 심볼릭 링크 파일, 장치 파일 일반 파일 파일의 종류 일반파일, 디렉토리 파일, 심볼릭 링크 파일, 장치 파일 일반 파일 데이터의 저장을 목적으로 하는 파일 텍스트 파일 파일의 내용이 아스키(ASCII) 코드로 구성된 파일 텍스트 편집기나 cat, more 명령을 이용하여 그 내용을 볼 수 있다. 바이너리 파일 내용이 아스키 코드가 아닌 모든 파일 지정된 응용 프로그램을 이용하여야 내용을 볼 수 있다 디렉토리 파일 내용이 다른 파일이나 하위 디렉토리의 이름인 특수 파일 dir1 file1 = inode 1282 dirA = inode 5314

심볼릭 링크 파일 장치 파일 파일의 종류 원본 파일을 가리키는 특수 파일 장치를 관리하기 위한 특수 파일 ./file2 I love UNIX!! link1 file2 명령어 file $ file .profile $ file . dad@0,0:a 136,0

ASCII 코드 ----------------------------------------------------------------------  10진수 | 16진수 | 8진수 | 2진수    | 출력 ----------------------------------------------------------------------  000    | 00     | 000   | 00000000 | NUL (null)  001    | 01     | 001   | 00000001 | SOH (start of heading)  002    | 02     | 002   | 00000010 | STX (start of text)  003    | 03     | 003   | 00000011 | ETX (end of text)  004    | 04     | 004   | 00000100 | EOT (end of transmission)  005    | 05     | 005   | 00000101 | ENQ (enquiry)  006    | 06     | 006   | 00000110 | ACK (acknowledge)  007    | 07     | 007   | 00000111 | BEL (bell)  008    | 08     | 010   | 00001000 | BS (backspace)  009    | 09     | 011   | 00001001 | HT (horizontal tab)  010    | 0A     | 012   | 00001010 | NL (new line (or LF, line feed))  011    | 0B     | 013   | 00001011 | VT (vertical tab)  012    | 0C     | 014   | 00001100 | NP (new page (or FF, form feed))  013    | 0D     | 015   | 00001101 | CR (carriage return)  014    | 0E     | 016   | 00001110 | SO (shift out)  015    | 0F     | 017   | 00001111 | SI (shift in)  

ASCII 코드 016    | 10     | 020   | 00010000 | DLE (data link escape)  017    | 11     | 021   | 00010001 | DC1 (device control 1)  018    | 12     | 022   | 00010010 | DC2 (device control 2)  019    | 13     | 023   | 00010011 | DC3 (device control 3)  020    | 14     | 024   | 00010100 | DC4 (device control 4)  021    | 15     | 025   | 00010101 | NAK (negative acknowledge)  022    | 16     | 026   | 00010110 | SYN (synchronous idle)  023    | 17     | 027   | 00010111 | ETB (end of transmission block)  024    | 18     | 030   | 00011000 | CAN (cancel)  025    | 19     | 031   | 00011001 | EM (end of medium)  026    | 1A     | 032   | 00011010 | SUB (substitute)  027    | 1B     | 033   | 00011011 | ESC (escape)  028    | 1C     | 034   | 00011100 | FS (file separator)  029    | 1D     | 035   | 00011101 | GS (group separator)  030    | 1E     | 036   | 00011110 | RS (record separator)  031    | 1F     | 037   | 00011111 | US (unit separator)  

ASCII 코드 032    | 20     | 040   | 00100000 | SP (space)  033    | 21     | 041   | 00100001 | !  034    | 22     | 042   | 00100010 | "  035    | 23     | 043   | 00100011 | #  036    | 24     | 044   | 00100100 | $  037    | 25     | 045   | 00100101 | %  038    | 26     | 046   | 00100110 | &  039    | 27     | 047   | 00100111 | '  040    | 28     | 050   | 00101000 | (  041    | 29     | 051   | 00101001 | )  042    | 2A     | 052   | 00101010 | *  043    | 2B     | 053   | 00101011 | +  044    | 2C     | 054   | 00101100 | ,  045    | 2D     | 055   | 00101101 | -  046    | 2E     | 056   | 00101110 | .  047    | 2F     | 057   | 00101111 | /

ASCII 코드  048    | 30     | 060   | 00110000 | 0  049    | 31     | 061   | 00110001 | 1  050    | 32     | 062   | 00110010 | 2  051    | 33     | 063   | 00110011 | 3  052    | 34     | 064   | 00110100 | 4  053    | 35     | 065   | 00110101 | 5  054    | 36     | 066   | 00110110 | 6  055    | 37     | 067   | 00110111 | 7  056    | 38     | 070   | 00111000 | 8  057    | 39     | 071   | 00111001 | 9  058    | 3A     | 072   | 00111010 | :  059    | 3B     | 073   | 00111011 | ;  060    | 3C     | 074   | 00111100 | <  061    | 3D     | 075   | 00111101 | =  062    | 3E     | 076   | 00111110 | >  063    | 3F     | 077   | 00111111 | ?  

ASCII 코드 064    | 40     | 100   | 01000000 | @  065    | 41     | 101   | 01000001 | A  066    | 42     | 102   | 01000010 | B  067    | 43     | 103   | 01000011 | C  068    | 44     | 104   | 01000100 | D  069    | 45     | 105   | 01000101 | E  070    | 46     | 106   | 01000110 | F  071    | 47     | 107   | 01000111 | G  072    | 48     | 110   | 01001000 | H  073    | 49     | 111   | 01001001 | I  074    | 4A     | 112   | 01001010 | J  075    | 4B     | 113   | 01001011 | K  076    | 4C     | 114   | 01001100 | L  077    | 4D     | 115   | 01001101 | M  078    | 4E     | 116   | 01001110 | N  079    | 4F     | 117   | 01001111 | O …

/ bin etc usr tmp default lib login 디렉토리 계층 구조 / bin etc usr tmp default lib login 루트 (뿌리) 디렉토리 (가지) 파일 (잎) 상위 하위 현재 홈 디렉토리 : ~ 현재 디렉토리 : . 상위(부모) 디렉토리 : .. 하위(자식) 디렉토리 : 이름

경로명(pathname)은 디렉토리 계층구조 내의 위치를 규정함으로써 특정 파일이나 디렉토리를 구분한다. 경로명 : 파일 시스템에서 특정 파일의 위치 경로명(pathname)은 디렉토리 계층구조 내의 위치를 규정함으로써 특정 파일이나 디렉토리를 구분한다. 경로명 내의 slashes (/)는 객체명(파일 or 디렉토리)들 간의 구분자 역할을 한다. 처음 위치의 slash 는 / (root) directory를 나타낸다

절대 경로명(Absolute pathname) 절대경로 vs. 상대경로 절대 경로명(Absolute pathname) 루트 디렉토리를 기준으로 함 루트 디렉토리부터 특정 파일까지 가는데 거치는 모든 디렉토리의 이름 표시 항상 / (루트)로 시작 상대 경로명 (Relative pathname) 현재 위치를 기준으로 함 하위로 내려갈 때는 디렉토리의 이름을, 상위로 올라갈 때는 .. 추가 슬래시(루트) 이외의 문자로 시작 현 위치에 따라 같은 파일이라도 상대 경로가 달라진다.

Pathnames(경로명) : 절대경로/상대경로 예 ../../../../etc/mail /usr/ccs/bin /usr/openwin/lib/X11/fonts bin Openwin/lib/X11/fonts /lib /export/home ../usr/ccs/bin

절대 경로와 상대 경로 / usr opt dev etc export kernel var bin sbin lib prof home user1 user2 sjyoun unix unix의 절대경로 : /export/home/user2/unix unix의 상대경로 : 현재 디렉토리

./file6 ~/file6 ~tran/file6 부모 디렉토리 ( .. ) .., ../.. 상대경로의 축약 상대 경로의 축약 홈 디렉토리( ~ ) tilde ~/project.list ~kykim/file1 작업 디렉토리 ( . ) file6 ./file6 ~/file6 ~tran/file6 부모 디렉토리 ( .. ) .., ../..

Relative Pathnames for file3 ~joan/file3

유의 사항 예 파일과 디렉토리 명명 규칙 사용 가능 사용 자제 사용 불가 : / 좋은 이름 나쁜 이름 쓸 수 없는 이름 알파벳(대소문자 구분), 숫자, 하이픈(-), 밑줄(_), 점(.) 사용 자제 공백, *, &, |, “, ‘, `, ~, #, $, (, ), |, ;, <, > 쓰는 경우 이름을 따옴표로 감싸거나 모든 특수문자 앞에 \를 추가 사용 불가 : / 예 좋은 이름 C, helloWorld.c, unix, .secrete, sample12 나쁜 이름 *hl, I’am, #77dir, my dir, book\ 쓸 수 없는 이름 Mydir/, /test, wrong/name

: Print Working Directory The pwd Command : Print Working Directory No options! No arguments!

pwd(print working directory) Section 02 현재 디렉토리 확인: pwd 현재 작업 디렉토리의 절대 경로 출력 사용법 pwd(print working directory) $ pwd /export/home/pro/kykim $ 자신의 단말기 창에서 $ pwd 명령을 실행하고 결과를 분석 $ pwd /export/home1/std11/s00… $

The cd Command : Change Directory 현 작업 디렉토리의 변경 $

디렉토리명을 지정하지 않으면 자신의 홈 디렉토리로 이동 사용법 cd [디렉토리명] Section 03 디렉토리 이동: cd 현재 작업 디렉토리를 지정한 디렉토리로 이동 디렉토리명을 지정하지 않으면 자신의 홈 디렉토리로 이동 사용법 cd [디렉토리명] /tmp 로 이동 telnet hanbitbook.co.kr $ cd /tmp $ pwd /tmp $ cd /export/home/user1 $ 홈디렉토리로 이동

Section 04 디렉토리 파일 목록 확인: ls 파일이나 디렉토리에 대한 정보 출력 옵션 ls [옵션] [파일 또는 디렉토리명] 옵션 기 능 a All. 시스템에 숨겨진 파일(디렉토리들)을 모두 보여줌 l Long. 파일과 디렉토리에 대한 상세 정보를 보여줌 d Directory. 디렉토리에 대한 정보만 출력 R Recursive. 서브 디렉토리내의 모든 디렉토리들을 반복 출력 F 파일 종류를 구분. (실행 파일은 *, 디렉토리는 /를 붙임) u 파일, 디렉토리 이름을 최종 접근 시간 순으로 화면에 출력

Long List Option (-l) 파일타입 –(정규), d(디렉토리), c(문자), b(블록), l(심볼릭링크), p(FIFO), s(소켓) 접근권한 (6장) 링크 : 디렉토리나 파일에 연결된(linked) 파일 수 소유자, 그룹, 파일크기(byte), 최종수정날짜, 파일이름

사용법 실습 ls ls -a ls -l ls -al ls -d ls -F ls -u ls /tmp ls /etc 현재 디렉토리의 모든 파일목록 ls ls -a ls -l ls -al ls -d ls -F ls -u ls /tmp ls /etc ls /etc/passwd ls –l /etc/passwd $ ls -a . .. .profile $ ls .profile .profile $ 지정한 파일 정보

$ man ls

mkdir [옵션] 디렉토리명 새로운 디렉토리 생성 옵션 사용법 실습 cd mkdir temp dir test Section 05 디렉토리 생성: mkdir 새로운 디렉토리 생성 옵션 -p : 디렉토리 생성에 필요한 하위 디렉토리도 함께 생성 사용법 mkdir [옵션] 디렉토리명 실습 $ mkdir unix $ ls -F unix/ $ cd mkdir temp dir test mkdir tmp cd tmp mkdir temp pwd

실습용 디렉토리 만들기 현재 위치 이동하기 [실습하기] 디렉토리 상세 정보보기 $ pwd /export/home1/std11/s… (자신의 홈 디렉토리) $ mkdir Ch2 $ $ cd Ch2 $ ls -al drwxr-xr-x 2 s… stu 512 10월 19일 16:50 . drwxr-xr-x 2 s… stu 512 10월 19일 16:50 .. $ $ mkdir Temp $ ls -F Temp/ $

디렉토리 상세 정보 보기 디렉토리 위치 변경하기 [실습하기] 디렉토리 상세 정보보기 $ ls -ld Temp drwxr-xr-x 2 s… stu 512 10월 19일 16:55 Temp $ $ cd .. $ pwd /export/home1/std11/s… $

$ mkdir saturnGp/memos/schedule Session 3.14 Make Directory $ mkdir saturnGp $ ls -ld saturnGp drwxr-xr-x 2 gilberg staff 512 May 19 14:03 saturnGp ------------------------------------------------------------ Session 3.15 Make Directory in Path $ mkdir -p saturnGp/memos/schedule $ ls -lR saturnGp total 1 drwxrwxr-x 3 gilberg staff 512 May 19 14:17 memos saturnGp/memos: drwxrwxr-x 2 gilberg staff 512 May 19 14:17 schedule saturnGp/memos/schedule: total 0 $ mkdir saturnGp/memos/schedule $ mkdir –m 755

rmdir [옵션] 디렉토리명 지정한 디렉토리 삭제 디렉토리가 비어있어야 삭제 가능 옵션 사용법 실습 cd rmdir tmp Section 06 디렉토리 삭제: rmdir 지정한 디렉토리 삭제 디렉토리가 비어있어야 삭제 가능 옵션 -p : 지정한 디렉토리 삭제 후 부모 디렉토리가 비어있으면 삭제 사용법 rmdir [옵션] 디렉토리명 실습 telnet hanbit.co.kr $ rmdir dir $ cd rmdir tmp cd tmp ls rmdir temp

Session 3.18 Remove Directory(디렉토리 삭제) $ rmdir memos The rmdir command cannot delete a directory unless it is empty. If it contains any files, UNIX will return an error message. Note that when the command is executed successfully, the only response is the shell prompt. Session 3.18 Remove Directory(디렉토리 삭제) $ rmdir memos memos: Directory not empty $ rmdir memo // $ rm –r 또는 하위 파일 삭제후 $ _ $ rmdir temp/work/prog test

실습(연습문제 P.63) 1. 4. 5. 6. 7. 8. 9. 11. 12. 13.

Lab Sessions Lab Sessions Session I Log into the Ray system using CDE. Create 3 directories named letters, reports, and assignments under your home directory. Move to directory letters. Create 2 directories named friendly and formal under the letters directory. Move to directory reports using only one command (directly from letters). Create 3 directories named personal, business, and school under the directory reports using only one command. Create a directory called UNIX under the assignments directory without moving from the reports directory. Create 2 directories called HWs and Projects under the directory UNIX. The directories in this step should be created without moving from the reports directory. Move to your home directory. Recursively list all of the directories you created under your home directory using “ls” command.

Home directory ~kykim reports letters assignments friendly formal personal business school UNIX HWs Projects