드뎌 일주일차 마지막 날 수업(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
여기까지입니다.. 계속 수업 내용을 남기겠습니다.
강사님 허락 없이 수업 내용 메모해서 하는거긴 한데 ^^;
어찌되었든 보는 분의 환경이 따라하시기 쉽지는 않겠지만 책보다는 좀더 낫지 않을까 싶어서 쭈욱 남겨봅니다.
항상 행.복.하시길~^^
'◇ Tip & Info ◇' 카테고리의 다른 글
엠토리, 리눅스 세상에서 - 6th : 퍼미션과 소유권, 그리고 리눅스 명령어(grep,find) (0) | 2011.02.28 |
---|---|
엠토리, 리눅스 세상에서 - 5th : Shell(쉘) (0) | 2011.02.23 |
엠토리, 리눅스 세상 접속 - 3rd : vi (0) | 2011.02.14 |
엠토리, 리눅스 세상 접속 - 2nd : 리눅스 디렉토리, 구조, 기능, 명령어 개요, 설정 등 (0) | 2011.02.13 |
엠토리, 리눅스 세상 접속 - 1st : 수업 OT, VMware, 리눅스 설치 (0) | 2011.02.12 |