파일기본명령 권한설정명령 기타명령 vi 텍스트편집기 순천향대학교컴퓨터학부이상정 1 파일기본명령 순천향대학교컴퓨터학부이상정 2
파일의생성 문서편집기이용 vi, emacs cat(catenate) 와리다이렉션 (redirection) 파일새로만들기 / 덮어쓰기 $ cat > test.dat This is a test file. Soonchunhyang University ^D test.dat 파일에연속쓰기 $ cat >> test.dat Computer Engineering ^D 순천향대학교컴퓨터학부이상정 3 파일내용보기 cat, 파일내용을화면에출력 $ cat test.dat This is a test file. Soonchunhyang University Computer Engineering more, 한번에한화면씩내용보기 $ more /etc/bashrc 다음화면전환시 < 스페이스바 > 누름 종료시 <q> 누름 head, tail head -n 파일 : 처음 n 줄 (default=10) 보기 tail -n 파일 : 마지막 n 줄 (default=10) 보기 $ head /var/log/messages $ tail -20 /var/log/messages 순천향대학교컴퓨터학부이상정 4
파일복사 cp(copy), 파일복사 cp [ 옵션 ] 소스파일목적파일 소스파일을목적파일에복사 cp 의옵션 설명 -f 강제적인복사이다. 목표파일이이미존재하고있어도확인을요구하지않는다. -i 대화형복사이다. 각파일을복사하기전에사용자에게정말로복사할것인지를확인한다. $ cp test.dat copydata copydata test.dat 순천향대학교컴퓨터학부이상정 5 파일이동 (1) mv(move), 파일이동 ( 이름변경 ) mv 소스파일목적파일 소스파일의이름을목적파일의이름으로변경 mv 소스파일들 디렉토리 mv 의옵션 소스파일들을디렉토리로이동 설명 -f 강제적인이동이다. -i 대화형이동이다. $ mv copydata test.txt $ mkdir test => make directory, 디렉토리생성 $ mv test.dat test.txt test test 순천향대학교컴퓨터학부이상정 6
파일이동 (2) $ cd test => change directory, 디렉토리이동 $ pwd => 현재작업중인디렉토리보기 /home/lee/test $ mv test.*.. =>.. 는상위디렉토리,. 는현재디렉토리표시 $ cd.. $ rmdir => remove directory, 디렉토리제거 순천향대학교컴퓨터학부이상정 7 링크만들기 ln, 링크만들기 ln [-s] 원본파일링크파일 원본파일을가리키는링크파일생성 링크의종류 하드링크 (hard link) 원래의파일과동일한 i-노드를가리킴 i-node 는파일의속성과디스크상의위치에대한정보를갖고있는커널구조체 심볼릭링크 (symbolic link) 링크파일이름이원본파일을가리킴 다른파티션뿐만아니라다른네트워크장치상에있는파일도링크 $ ln test.dat testlink $ ln s test.dat softlink $ cat testlink $ cat softlink 순천향대학교컴퓨터학부이상정 8
디렉토리보기 (1) ls, 디렉토리보기 ls [ 옵션 ] [ 디렉토리 ] ls 옵션 설명 - ㅣ목록을자세하게보여준다. 파일이름외에도파일크기, 날짜 / 시간, 허가권, 소유권, 그룹등의정보를보여준다. -a 모든파일을보여준다. 숨겨진파일을포함해서디렉터리내의모든파일을보여준다. 마침표로시작하는닷파일이이른바숨겨진파일인데 a 옵션을주면닷파일까지도보여준다. -1 현재디렉터리내의파일과디렉터리이름만보여준다. -R 현재디렉터리내의모든파일은물론이고, 모든서브디렉터리내의목록도재귀적으로순환하며보여준다. 순천향대학교컴퓨터학부이상정 9 디렉토리보기 (2) l 합계 24 -> 파일전체크기 kb drwxrwxr-x 3 lee lee 4096 3월 22 16:07. drwx------ 15 lee lee 4096 3월 22 14:33.. lrwxrwxrwx 1 lee lee 8 3월 22 16:07 softlink -> test.dat drwxrwxr-x 2 lee lee 4096 3월 22 14:48 test -rw-rw-r-- 2 lee lee 21 3월 22 14:34 test.dat -rw-rw-r-- 1 lee lee 21 3월 22 14:38 test.txt -rw-rw-r-- 2 lee lee 21 3월 22 14:34 testlink 파일모드 d: 디렉토리, l: 링크, -: 일반파일사용권한 사용자권한, 그룹권한, 일반권한 r: read, w: write, x: execution 링크수, 사용자, 그룹, 파일크기, 생성일자, 파일명 순천향대학교컴퓨터학부이상정 10
권한설정명령 순천향대학교컴퓨터학부이상정 11 소유권변경하기 chown, 소유권변경하기 파일의소유권을다른사용자의것으로변경 보안상의이유로 root 사용자만이이명령을사용할수있도록허용 사용법 # chown [-R] username filename 의미 : 파일 filename의소유권을사용자 username으로지정 filename은디렉토리일수도있음 -R 옵션 : 지정된 filename이디렉터리일때이용 디렉터리트리를재귀적으로순환하면서디렉터리자체뿐아니라디렉터리내의모든파일에대해새로운소유권을설정 # chown kim test.dat 순천향대학교컴퓨터학부이상정 12
그룹변경하기 chgrp, 그룹변경하기 파일의소속그룹을바꿀때사용 사용법 # chgrp [-R] groupname filename groupname은파일filename이새롭게소속되게될그룹의이름 filename에는디렉토리가올수도있음 -R 옵션은지정된 filename이디렉토리일때이용 디렉터리트리를재귀적으로순환하면서디렉터리자체뿐아니라디렉터리내의모든파일에대해새로운그룹소유권을설정 # chgrp csg test.dat 순천향대학교컴퓨터학부이상정 13 권한변경하기 (1) chmod, 권한변경하기 파일의허가권은네개의부분으로나누어져있다. 파일타입 소유자 (user) 그룹 (group) 기타사용자 (others) 문자허가권값 (8 진수 ) R 읽기 (Read) 4 W 쓰기 (Write) 2 X 실행하기 (Execute) 1 기호로표시한허가권예 : 문자 허가권 값 --- 허가권이없음 0 r-- 읽기만가능 4 rw- 읽기 / 쓰기가능 6 rwx 읽기 / 쓰기 / 실행가능 7 r-x 읽기 / 실행가능 5 --x 실행만가능 1 순천향대학교컴퓨터학부이상정 14
권한변경하기 (2) 허가권숫자값설명 -rw------- 600 소유자에게만읽기 / 쓰기허가권이있음. 대부분파일은이렇게설정된다. -rw-r--r-- 644 소유자에게읽기 / 쓰기허가권이있고, 그룹과기타사용자에게는읽기허가권만있음. 소유자 외의다른사용자들은이파일을읽기만하도록하고싶을때많이사용하는권한이다. -rw-rw-rw- 666 모든사용자들에게읽기 / 쓰기권한을부여한다. 이조합은시스템의모든사람이파일을접근하 여수정할수있으므로보안상권하고싶지않은허가권이다. -rwx------ 700 소유자가읽기 / 쓰기 / 실행허가권이있음. 소유자가실행하려는프로그램파일에사용함. ( 보통 C 또는 C++ 프로그램의실행파일에사용한다.) -rwxr-xr-x 755 소유자가읽기 / 쓰기 / 실행허가권이있음. 다른모든사용자는읽기 / 실행허가권이있음. -rwxrwxrwx 777 모든사람이읽기 / 쓰기 / 실행허가권이있음. 666 설정과마찬가지로피하는것이좋다. -rwx--x--x 711 소유자가읽기 / 쓰기 / 실행허가권이있음. 다른사람은실행권한만있음. 다른사람이실행만하 고복사는못하게하고싶을때유용하다. drwx------ 700 이것은 mkdir 명령어를사용하여만든디렉터리를나타낸다. 오직소유자만이이디렉터리를읽기 / 쓰기할수있고진입할수있디. 모든디렉터리에는실행권한이적어도하나는세팅되어있어야진입할수있다. drwxr-xr-x 755 이디렉터리는소유자에의해서만변경될수있다.( 즉, 디렉터리안에파일이나서브디렉터리를만들수있다.) 다른사용자들은이디렉터리로진입할수있고디렉터리엔트리들을읽어볼수도있다. drwx--x--x 711 모든사용자들이디렉터리로진입할수는있지만기카사용자들은디렉터리엔트리들을읽어볼수는없다. 따라서, 소유자를제외한기타사용자들은이디렉터리내에서 ls 명령을수행할수없다. 이디렉터리내의파일은파일이름을정확히아는사용자만이읽을수있을것이다. 표 6-1. 파일허가권조합 순천향대학교컴퓨터학부이상정 15 권한변경하기 (3) chmod [-R] change,{change}* {filename}+ 허가권변경 clusterselection+newpermission ( 허가권추가 ) clusterselection-newpermission ( 허가권제거 ) clusterselection=newpermission ( 절대적허가권할당 ) clusterselection: u(user/owner) g(group) o(others) a(all) newpermission: r(read) w(write) x(execute) s(set user id/set group id) -rw-rw-r-- 2 lee lee 21 3월 22 14:34 test.dat $ chmod u+x,g-w,o-r test.dat => -rwxr----- 2 lee lee 21 3 월 22 14:34 test.dat 순천향대학교컴퓨터학부이상정 16
권한변경하기 (4) chmod [-R] octal {filename}+ 8진수로권한설정 -rw-rw-r-- 2 lee lee 21 3월 22 14:34 test.dat $ chmod 740 test.dat => -rwxr----- 2 lee lee 21 3 월 22 14:34 test.dat 순천향대학교컴퓨터학부이상정 17 기타명령 순천향대학교컴퓨터학부이상정 18
파일찾기 find, 파일찾기 디렉토리트리에서파일을찾고자할때사용 검색을위한다양한조건을명식가능 일반적인사용법 $ find start_dir [options], start_dir : 탐색을시작할디렉토리 1: 모든디렉토리에서 pass 로시작하는파일의경로찾기 $ find /etc -name pass* -print /etc/passwd /etc/pam.d/passwd 2: /usr/src 디렉터리에서이름이 core 인모든파일을찾아삭제 $ find /usr/src -name core -exec rm 3: 최소한 7 일동안접근되지않았던 /tmp 내의모든파일찾기 $ find /tmp -atime 7 print 4:.jpg 로끝나고크기가 100K 를넘는파일을 /home 디렉토리에서찾기 $ find /home -name "*.jpg" -size 100k 순천향대학교컴퓨터학부이상정 19 파일위치보기 which, 파일의위치보기 인자로준파일을찾기위해경로를검색 찾고자하는파일의전체경로 (full path) 를알아볼때유용함 find 명령어와의차이점 which 는환경변수에설정되어있는실행경로 (path) 만검색 $ which passwd /usr/bin/passwd 순천향대학교컴퓨터학부이상정 20
명령어위치찾기 whereis, 명령어위치찾기 환경변수에등록되어있는각종경로를검색하여명령어및매뉴얼위치검색 $ whereis useradd useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz 순천향대학교컴퓨터학부이상정 21 디스크사용량보기 du, 디스크사용량보기 디렉토리별로디스크사용량을측정 du 옵션 설명 -c 실행마지막에총디스크사용량합계를보여준다. -h 사람이이해하기쉬운포맷으로디스크사용량을출력한다. -k 크기를블록개수가아닌킬로바이트로출력한다. -s 개별디렉터리별로크기를출력하지말고모두합쳐요약내용을보여준다. $ du -h /home/lee 4.0K /home/lee/.gnome2/accels 8.0K /home/lee/.gnome2/share/fonts 8.0K /home/lee/.gnome2/share/cursor-fonts 4.0K /home/lee/test 576K /home/lee 순천향대학교컴퓨터학부이상정 22
디스크가용량보기 df, 디스크가용량보기 사용가능한디스크빈공간의크기를파티션별로출력 현재시스템에마운트되어있는파티션에대한정보만출력 df 옵션 설명 -h 가용한디스크공간의양을사람이읽을수있는숫자로보여준다. -l 로컬디스크에마운트된파일시스템에대한정보만보여준다. NFS 를통해네트워크로마운트된파일시스템에대한정보는출력하지않는다. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/hda5 244M 79M 152M 35% / /dev/hda2 3.9G 1.9G 1.8G 52% /usr /dev/hda3 487M 50M 412M 11% /var 순천향대학교컴퓨터학부이상정 23 리다이렉션 (Redirection) 프로그램의 ( 표준 ) 출력을파일로보내거나입력하는기능 overwrite (>), append (>>) / input(<) $ cat > test.txt ^D /etc > test.out >> test.out $ grep root < /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin 순천향대학교컴퓨터학부이상정 24
파이프 (pipe) 프로그램의 ( 표준 ) 출력을다른프로그램의 ( 표준 ) 입력으로보낼수있는메커니즘 로표시 /etc more /etc grep "pass " passwd passwdpasswd.old passwd.lock 순천향대학교컴퓨터학부이상정 25 다중명령어 세미콜론 (;) 을사용하여같은라인에여러개의명령어들을한꺼번에입력 l $ cat /etc/passwd => -l; cat /etc/passwd 순천향대학교컴퓨터학부이상정 26
도움말 도움말찾기 man Info $ man grep $ info grep 온라인매뉴얼 http://man.linux.co.kr 순천향대학교컴퓨터학부이상정 27 vi 소개 화면단위편집기 vi 의시작 $ vi filename $ vi -R filename ( 읽기전용 ) 프로그램의상태가명령모드와입력모드로구분 명령모드는편집기제어명령 입력모드는실제문자입력 처음시작시명령모드로진입 명령모드에서입력모드변환은삽입명령후전환 입력모드에서명령모드는 <ESC> 로전환 이후명령모드키입력은 <key> 로표시 인천대성미영교수자료참조 < 기본사용법 hwp 파일형식 > vi 에디터고급사용법 순천향대학교컴퓨터학부이상정 28
순천향대학교컴퓨터학부이상정 29 시작및종료 $ vi test.txt <i> This is test text file <ESC> <Z><Z> $ 삽입명령 <i> 커서위치삽입 <o> 다음줄삽입 순천향대학교컴퓨터학부이상정 30
커서이동및삭제명령 <h> 왼쪽 <l> 오른쪽 <j> 아래 <k> 위로 <x> 커서위치한글자삭제 <dd> 커서위치한줄삭제 <yy> 커서위치한줄복사 <p> 붙여넣기 순천향대학교컴퓨터학부이상정 31 사용예 $ vi test.txt <l> <l> <l> <l> <l> <l> <l> This is <i>a <ESC><o>test text file Using vi editor is not easy but fun.<esc><y><y> <p> Using vi editor is not easy but fun. <d><d> <Z><Z> $ 순천향대학교컴퓨터학부이상정 32