블로그 이미지
인터넷 해외선교를 기본으로 하는 개인적 내용과 학점은행제 관련한 것을 한꺼번에 남겨볼께요. 항상 행.복.하시길~ 주문처럼 외우는 엠토리가 운영하는 블로그입니다
엠토리

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

드뎌 일주일차 마지막 날 수업(5일차)의 내용입니다.
리눅스에는 여러 명령어들이 있습니다. 그중에 일부(많이 쓰는 것)를 소개 겸 타이핑(실습)을 했습니다.
# 뒤의 내용을 잘 읽고 타이핑하는 형태로 쭈욱 따라가면서 보니까 이해가 쪼금 되니까 참고하세요.

리눅스 명령어(파일 및 디렉토리 관련)
1. pwd
   print working directory, 현재 디렉토리의 전체경로 출력

2. cd
   change directory, 디렉토리 변경

#cd
디렉토리명을 지정하지 않으면 현재 사용자의 홈디렉토리로 이동된다.

#cd  디렉토리명
디렉토리명은 상대경로나 절대경로를 이용할 수 있다.

상대경로(Relative Path, 현재 디렉토리가 기준)
절대경로(Absolute Path, 최상위 디렉토리인 / 가 기준)

.  (점 1개)  : 현재 디렉토리를 의미
.. (점 2개)  : 상위 디렉토리를 의미


경로 연습
#cd  /tmp
---> 절대 경로
#pwd
#cd  .
---> 상대 경로
#pwd
#cd  ..
---> 상대 경로
#pwd
#ls

#cd  /usr/local
---> 절대 경로
#pwd
#cd  ../../
---> 상대 경로
#pwd

3. touch
빈 파일을 만들거나 파일 또는 디렉토리의 수정시간(mtime,Modify Time)이나 접근시간(atime,Access Time)을 현재 시간으로 변경한다.
-t 옵션을 이용하면 수정시간을 특정시간으로 변경할 수 있다.

옵션)
-a : 최근 파일 사용 시간(access time) 변경
-c : 파일이 존재하면 생성하지 않는다.(디폴트)
-d [시간] : 현재 시간 대신 지정한 시간 사용
-m : 최근 파일 수정 시간 변경
-r [파일] : 지정한 파일의 시간으로 변경
-t [[CC]YY]MMDDhhmm[.SS] : 지정한 시간(년도월일시간분초)으로 변경


#cd
---> 현재 계정이 루트 이므로 루트의 홈디렉토리 /root 로 이동된다.
#pwd
(/root)
#ls
#touch  a.txt
#ls
#touch  b.txt  c.txt
#ls
#ls -l
-l : long, 파일의 정보를 자세히 출력하는 옵션
#touch  -t  월일시분  a.txt  (월,일,시,분)

touch -t 01031730 a.txt
---> 1월 3일 17시 30분

#ls -l

4. cat
파일의 내용을 화면에 출력

옵션)
-e : 제어문자를 ^ 형태로 출력
-n : 라인 번호를 표시
-v : 개행문자, 탭키를 제외한 제어문자를 ^ 형태로 표시
-E : tab 문자를 출력
-T : tab 키를 ^I 로 출력
-A : -vET 옵션과 동일

사용 예)
#cat  파일명1
#cat  파일명1  파일명2  ...

#cat   /etc/hosts (/etc 는 폴더명, hosts 는 파일명)
#cat  -n  /etc/hosts
#cat  -A  /etc/hosts


5. cp
파일이나 디렉토리를 다른 파일 또는 다른 디렉토리로 복사(Copy), 물리적으로 새로운 파일이 생성됨

옵션)
-a : 원본 파일의 속성, 링크 파일 정보를 유지하며 복사(archive)
-b : 파일이 존재할 경우 기존 파일을 백업(backup)
-d : 복사할 원본이 심볼릭 링크일 때 심볼릭 링크 자체를 복사(no-dereference)
-f : 복사할 대상이 있으면 강제로 지우고 복사(force)
-i : 복사할 대상이 있으면 질문 출력(interactive)
-r : 디렉토리 복사할 때 사용(recursive)
-v : 복사과정 자세히 출력(verbose)
-u : 복사할 대상의 변경 날짜가 같거나 더 최근 것이면 복사하지 않음(update)

사용 예)
#cp  파일명1(원본)  파일명2(대상)
#cp  파일명   디렉토리명
#cp  -r  디렉토리명1  디렉토리명2

모든 파일을 복사할 때는 * 를 이용할 수 있다.
*.txt : txt 로 끝난 모든 파일을 의미

#cp  /etc/hosts  /tmp/one.txt (파일 이름을 변경하면서 복사)
#ls  /tmp
#cp  -v  /etc/hosts  /tmp/two.txt
#ls  /tmp
#cp  -v  /etc/hosts  /tmp (동일한 파일 이름으로 복사)
#ls  /tmp


6. clear
화면 지우기

7. ls  또는  dir
list, 파일과 디렉토리의 목록을 출력
옵션 : -l, -a, -F, -R, -d
    -l(long) 퍼미션, 소유권 등 자세한 정보 출력
    -a(all) 점으로 시작하는 숨김속성 파일도 출력
    -f 디스크에 저장된 순으로 출력
    -F(classify) 파일의 종류를 구분해서 출력
    -R(recursive) 하위 디렉토리를 구분해서 출력
    -r(reverse) 역순정렬(z - y - x ....  c - b - a)
    -d(directory) 경로안의 내용을 출력하지 않고 경로를 출력

#cd
#pwd
(/root)
#ls
#ls  -a
#ls  -F
#ls  -r
#ls  -R
#ls  /etc
#ls  -d  /etc
#ls  -dl  /etc (또는 ls  -ld  /etc  또는 ls  -l  -d  /etc)

8. mkdir  (make directory)
디렉토리 생성하기
옵션)
-p : 계층적으로 디렉토리 만들 때 사용(mkdir  -p  /a/b/c)

#cd
#pwd
(/root)
#mkdir  /work
---> 최상위 디렉토리(/) 아래에 work 디렉토리가 생성된다.
    /
    |
            root   work

#cd  /work
#pwd
(/work)
#touch  apple1.txt
#ls
#touch  apple2.txt  apple3.txt
#ls

#pwd
(/work)
#mkdir  /work22
mkdir  work22 로 하면 현재 디렉토리 즉, /work 안에 work22(/work/work22) 가 만들어진다.
           /
   work    work22

#ls  /
#ls  /work22
비어있음


9. rm 
remove, 파일 및 디렉토리 삭제
옵션)
    -i(interactive) : 확인 질문 출력하는 옵션
    -r(recursive)  : 디렉토리 삭제시 사용
    -f(force)       : 확인 질문없이 강제 삭제시 사용

#rm  apple1.txt
rm : 파일 삭제
질문 나올 때 엔터 또는 n 을 입력하면 삭제가 안되고 y 를 입력하고 엔터를 쳐야 삭제 된다.

#ls
파일삭제 확인


#rm  -f  apple2.txt
-f : force, 질문없이 강제 삭제
#ls
--->터미널에서 삭제할 때는 바탕화면의 휴지통으로 들어가지 않으므로 중요한 파일을 지울 때는 주의해야 한다.
--->중요한 파일은 다른 곳(다른 디렉토리,다른 하드디스크 등)에 백업(저장)을 해 두는 것이 좋다.

10. rmdir 
remove directory, 디렉토리 삭제하기
(디렉토리가 비어 있지 않을 때는 삭제되지 않으므로 rm  -rf 를 대신 사용하기도 한다.)

#pwd
(/work)
#ls
apple3.txt
#cp  apple3.txt  /work22
#ls  /work22

#rmdir  /work22
---> 디렉토리가 비어 있지 않으면 삭제되지 않는다.

#mkdir  /work23
#ls  /
#ls  /work23
#rmdir  /work23
#ls  /

#rm  /work22
rm: cannot remove directory `/work22': 디렉토리입니다

#rm  -r  /work22
비어 있지 않은 디렉토리를 지우려면 rm -r 을 이용할 수 있으나 질문이 출력된다.

#rm  -rf  /work22
(rm  -r  -f  /work22 와 동일)
---> 질문없이 바로 삭제 : 사용할 때 주의

#ls  /
(주의 : rm -rf  /  하면 새로 설치해야 한다.)


11. mv 
move, 이름변경 및 이동

형식)
mv     원본파일(또는 디렉토리)명      대상파일(또는 디렉토리)명
대상파일명이 디렉토리로 존재하면 그 디렉토리 안으로 이동이 되고 존재하지 않으면 이름이 변경된다.
   
옵션)
    -i  : 같은 이름의 파일이 있을 때 질문 출력
    -f  : 동일 파일이 있을 때 확인 질문없이 강제로 덮어쓰기
    -v  : 실행과정 자세히 출력

사용예)
    mv  a.txt  new.txt (이름이 변경됨)
    mv  a.txt  b.txt  /work (현재 디렉토리의 a.txt 와 b.txt 가 /work 디렉토리로 이동이 됨)
    mv  *.txt  /work

♥파일 이름변경 및 이동
#cd  /work
#pwd
(/work)
#ls
apple3.txt
#mv  -v  apple3.txt  orange.txt
이름 변경
#ls

#ls  /tmp
#mv  -v  orange.txt  /tmp
이동(/work 의 orange.txt 가 /tmp 디렉토리로 이동 됨)
#ls
#ls  /tmp
orange.txt 가 이동 된 것을 확인 할 수 있다.

이름을 변경하면서 이동
#cd  /tmp
#pwd
(/tmp)
#mv  -v  orange.txt  /work/pine.txt
또는
#mv  -v  /tmp/orange.txt   /work/pine.txt

#ls
#ls  /work


12. which
알리아스, 실행파일 경로(위치) 출력

#which  ls


13. more
파일의 내용을 한페이지씩 볼 때 사용

14. less
more 를 업그레이드한 프로그램으로 more 와 비슷하다


♥파일 내용 확인하기 : cat, more, less

#cat     /etc/services
#more  /etc/services
한 페이지씩 출력
space bar : next page
q : 종료

♥more 실행시 사용가능한 내부명령어
Space bar 또는 f : 다음 페이지
b                    : 이전 페이지
enter key         : 다음 줄
v                    : vi 편집기로 전환
                     (esc  :q  를 입력하면 more 상태로 전환됨)
/telnet            : telnet 문자열 찾기
                     (n을 누르면 다음 단어로 이동)
h                   : 도움말
ctrl + l(영문엘)  : 화면 다시 그리기(redraw)
=                   : 현재 line number를 보여줌
:f                   : 현재 파일명과 현재 라인 넘버 출력
q                   : more 상태를 빠져나감


#less  /etc/services
more 를 개선한 프로그램
/telnet            telnet 있는 라인으로 이동됨
                     n을 누르면 다음 단어로 이동
       N을 누르면 이전 단어로 이동

h                   도움말 출력, q 를 누르면 도움말 종료
=  ^G  :f          Print current file name.
                     (^G 는 Ctrl + G 를 의미)
G                   마지막 라인으로 이동(g  또는  1G 는 첫번째 라인으로 이동)
q                    less 종료


15. file
대상 파일의 종류(type)를 출력

#file  /bin/ls
#file  /etc/hosts
#cd  /usr/share/backgrounds/images
#ls
#file  stone_bird.jpg

이미지 뷰어 프로그램 : 리눅스 메뉴 표시줄-프로그램-그래픽-Photo Tool

16. head
파일의 앞쪽 부분 10줄 출력
옵션 : -숫자(출력 행수 지정)

#head      /etc/services
#head  -3  /etc/services


17. tail
파일의 뒷쪽 부분 10줄 출력
옵션)
-숫자(출력 행수 지정)

#tail      /etc/services
#tail  -3  /etc/services


♥실습
1. /root 안에 vi 이용하여 today.txt 파일을 아래 내용으로 생성하기
linux
unix
windows

2. 터미널에서 명령어를 이용하여 아래와 같이 설정하기

                        /
          |
        desk(디렉토리)
                        |
        test1(디렉토리)
                      test1.txt(파일)
                        |
        test2(디렉토리)
                      test2.txt(파일)

/desk/test1/test1.txt 는 /root/today.txt 를 복사하고
/desk/test1/test2/test2.txt 는 /root/today.txt 를 이동하기


//////////////////////////////////////////////////////
#cd
#pwd
(/root)
#vi  today.txt
linux
unix
windows
#ls
today.txt
#mkdir  -p  /desk/test1/test2
#cp  today.txt  /desk/test1/test1.txt
#mv  today.txt  /desk/test1/test2/test2.txt
#ls

#ls  /
#ls  -R  /desk

#mkdir
#mkdir  --help
//////////////////////////////////////////////////////


♥VI 설정 파일 사용하기
.vimrc  :  vi  설정파일(로그인한 계정의 홈디렉토리에 존재해야 한다.)

~ 는 홈디렉토리를 뜻하며
#cd  ~  는 로그인한 계정의 홈디렉토리로 이동이 되고
#cd  ~계정명  은  계정의 홈디렉토리로 이동이 된다.
(#cd  ~fedora 는  fedora 계정의 홈디렉토리로 이동이 된다.)

#cd (또는  cd  ~)
#pwd
(/root)
#vi  .vimrc
set  nu
color  evening
#vi  /etc/services
라인번호와 색상이 적용되는지 확인


♥파일전송 명령어
ftp : 텍스트 ftp 프로그램 명령어
#ftp
ftp>help(도움말)
ftp>get(1개 파일 다운)
ftp>mget(여러개 파일 다운)
ftp>put(1개 파일 업로드)
ftp>mput(여러개 파일 업로드)
ftp>hash(자료전송시 # 마크 설정 on/off)
ftp>prompt(자료전송시 확인 질문 on/off)
ftp>ls(서버쪽 목록 출력)
ftp>!ls(자신의 컴퓨터 목록 출력)
!명령어 : 자신의 컴퓨터에서 명령이 실행됨
ftp>cd(서버쪽 디렉토리 이동)
ftp>lcd(자신의 컴퓨터 디렉토리 이동)
ftp>by(접속 종료) 또는 bye 또는 quit

여기까지입니다.. 계속 수업 내용을 남기겠습니다.
강사님 허락 없이 수업 내용 메모해서 하는거긴 한데 ^^;
어찌되었든 보는 분의 환경이 따라하시기 쉽지는 않겠지만 책보다는 좀더 낫지 않을까 싶어서 쭈욱 남겨봅니다.

항상 행.복.하시길~^^

이전 1 다음