반응형
반응형
반응형


link :
http://purecolor.tistory.com/entry/ln-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%98%B5%EC%85%98


ln 명령어 옵션

1. 파일 링크의 개념

i-node는 파일의 생성과 동시에 임의로 부여되며,  번호확인은 ls -i 로 확인할 수 있다. 또한  리눅스에서는 모든 디바이스나 디렉토리를 파일개념으로 인식하기 때문에 전부 inode를 부여받는다.  만약 inode가 같은 파일이 있다면 파일 이름이 다르더라도 이 파일은 같은 파일이 된다.

[하드 링크]

하드 링크는 일반 파일을 링크할 때 주로 이용하며, 옵션없이 ln 명령으로 링크시키면 된다. 생성된 링크 파일은 원래 파일의 inode(index node라 하며 파일에 대한 정보가 저장된 레코드)를 그대로 참조하기에 원 파일이 지워져도 아무런 문제가 되지 않는다.
[심볼릭 링크 - ln -s 명령으로 링크]

심볼릭 링크는 주로 디렉토리를 링크할 때 사용한다. 원 파일이 삭제되면 실제 데이터 블럭을 참조하던 inode도 삭제되어, 심볼릭 링크된 파일은 의미가 없어진다.

2. ln 명령어
[option]
   -s : 심볼릭링크(소프트링크)를 생성한다. 만약 이 옵션이 없으면 하드링크가 생성된다.
   -v : 링크를 만드는 정보를 자세히 출력한다.

[예제]
# ln -s /directory/* linkdir : /directory/디렉토리 안의 모든 파일의 링크 파일을 linkdir 디렉토리에 생성
# ln -s ./sourcefile ./linkfile : 링크생성
# ls -ld linkfile : 링크확인
# unlink(또는 rm) linkfile : 링크해제
/etc/xinetd.d 라는 디렉토리를 자주간다면 현재 나의 홈디렉토리에 링크해보자.
ln -s /etc/xinetd.d xx => /etc/xinetd.d라는 디렉토리를 현재 디렉토리의 xx라는 것으로 링크한다. ls xx 하면 ls /etc/xinetd.d의 내용과 동일한 내용이 나타나고 또한 cd xx하면 그 디렉토리안으로 들어간 것과 같다.


Usage: ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
  or:  ln [OPTION]... TARGET                  (2nd form)
  or:  ln [OPTION]... TARGET... DIRECTORY     (3rd form)
  or:  ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
When creating hard links, each TARGET must exist.

긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다.
      --backup[=CONTROL]      make a backup of each existing destination file
  -b                          like --backup but does not accept an argument
  -d, -F, --directory         allow the superuser to attempt to hard link
                                directories (note: will probably fail due to
                                system restrictions, even for the superuser)
  -f, --force                 remove existing destination files
  -n, --no-dereference        treat destination that is a symlink to a
                                directory as if it were a normal file
  -i, --interactive           prompt whether to remove destinations
  -s, --symbolic              make symbolic links instead of hard links
  -S, --suffix=SUFFIX         override the usual backup suffix
  -t, --target-directory=DIRECTORY  specify the DIRECTORY in which to create
                                the links
  -T, --no-target-directory   treat LINK_NAME as a normal file
  -v, --verbose               print name of each file before linking
      --help     이 도움말을 표시하고 끝냅니다
      --version  버전 정보를 출력하고 끝냅니다

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

반응형

'OS > Linux' 카테고리의 다른 글

솔라리스 10에 vim설치하기  (2) 2009.08.26
[Unix] Sun 에서 사용자 추가시 shell 문제점.  (1) 2009.08.04
grep 사용법  (0) 2009.02.11
리눅스 명령어  (0) 2009.02.11
.bashrc 파일 적용  (0) 2009.02.11
반응형
제3장 grep 계열 명령어

3.1 grep 명령어

3.1.1 grep의 의미

grep : 파일 전체를 뒤져 정규표현식에 대응하는 모든 행들을 출력한다.
egrep : grep의 확장판으로, 추가 정규표현식 메타문자들을 지원한다.
fgrep : fixed grep 이나 fast grep으로 불리며, 모든 문자를 문자 그래도 취급한다. 즉, 정         규표현식의 메타문자도 일반 문자로 취급한다.

3.1.2 grep의 동작 방법

grep에서 사용하는 정규표현식 메타문자
메타문자
기    능
사용 예
사용 예 설명
^
행의 시작 지시자
'^love'
love로 시작하는 모든 행과 대응
$
행의 끝 지시자
'love$'
love로 끝나는 모든 행과 대응
.
하나의 문자와 대응
'l..e'
l 다음에 두 글자가 나오고 e로 끝나는 문자열을 포함하는 행과 대응
*
선행문자와 같은 문자의 0개 혹은 임의개수와 대응
' *love'
0개 혹은 임의 개수의 공백 문자 후에 love로 끝나는 문자열을 포함한 행과 대응
[]
[] 사이의 문자 집합중 하나와 대응
'[Ll]ove'
love나 Love를 포함하는 행과 대응
[^ ]
문자집합에 속하지 않는 한 문자와 대응
'[^A-K]love'
A와 K 사이의 범위에 포함되지 않는 한 문자와 ove가 붙어있는 문자열과 대응
<
단어의 시작 지시자
'<love'
love로 시작하는 단어를 포함하는 행과 대응(vi,grep에서 지원)
>
단어의 끝 지시자
'love>'
love로 끝나는 단어를 포함하는 행과 대응
(vi,grep에서 지원)
(..)
다음 사용을 위해 태그를 붙인다.
'(lov)ing'
지정된 부분을 태크1에 저장한다. 나중에 태그값을 참고하려면 1을 쓴다. 맨 왼쪽부터 시작해 태그를 9개가지 쓸 수 있다. 왼쪽 예에서는 lov가 레지스터1에 저장되고 나중에 1로 참고할 수 있다.
x{m}
문자 x를 m번 반복한다.
'o{5}'
문자 o가 5회 연속적으로 나오는 모든 행과 대응
x{m,}
적어도 m번 반복한다.
'o{5,}'
문자 o가 최소한 5회 반복되는 모든 행과 대응
x{m,n}
m회 이상 n회 이하 반복한다.
o{5,10}'
문자 o가 5회에서 10회 사이의 횟수로 연속적으로 나타나는 문자열과 대응

grep의 옵션
옵션
동작 설명
-b
검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시한다. 검색 내용이 디스크의 어디쯤 있는지 위치를 알아내는데 유용하다.
-c
검색 결과를 출력하는 대신, 찾아낸 행의 총수를 출력한다.
-h
파일 이름을 출력하지 않는다.
-i
대소문자를 구분 하지 않는다.(대문자와 소문자를 동일하게 취급).
-l
패턴이 존재하는 파일의 이름만 출력한다.(개행문자로 구분)
-n
파일 내에서 행 번호를 함께 출력한다.
-s
에러 메시지 외에는 출력하지 않는다. 종료상태를 검사할 때 유용하게 쓸 수 있다.
-v
패턴이 존재하지 않는 행만 출력한다.
-w
패턴 표현식을 하나의 단어로 취급하여 검색한다.

# grep -n '^jack:' /etc/passwd
(/etc/passwd 파일에서 jack을 찾는다. jack이 행의 맨 앞에 있으면 행 번호를 화면으로 출력한다.)

3.1.3 grep과 종료 상태
grep은 파일 검색의 성공 여부를 종료 상태값으로 되돌려준다.
패턴을 찾으면 0, 패턴을 찾을 수 없으면 1, 팡리이 존재하지 않을 경우 2
sed,a자 등은 검색의 성공 여부에 대한 종료 상태값을 반환하지 않는다. 다만 구문 에러가 있을 경우에만 에러를 보고한다.

3.2 정규표현식을 사용하는 grep의 예제
# grep NW datafile
# grep NW d*
(d로 시작하는 모든 파일에서 NW를 포함하는 모든 행을 찾는다.)
# grep '^n' datafile
(n으로 시작하는 모든 행을 출력한다.)
# grep '4$' datafile
(4로 끝나는 모든 행을 출력한다.)
# grep TB Savage datafile
(TB만 인자이고 Savage와 datafile은 파일 이름이다.)
# grep 'TB Savage' datafile
(TB Savage를 포함하는 모든 행을 출력한다.)
# grep '5.' datafile
(숫자 5, 마침표, 임의의 한 문자가 순서대로 나타나는 문자열이 포함된 행을 출력한다.)
# grep '.5' datafile
(.5가 나오는 모든 행을 출력한다.)
# grep '^[we]' datafile
(w나 e로 시작하는 모든 행을 출력한다.)
# grep '[^0-9]' datafile
(숫자가 아닌 문자를 하나라도 포함하는 모든 행을 출력한다.)
# grep '[A-Z][A-Z] [A-Z]' datafile
(대문자 2개와 공백 1개, 그리고 대문자 하나가 연이어 나오는 문자열이 포함된 행을 출력한다.)
# grep 'ss* ' datafile
(s가 한 번 나오고, 다시 s가 0번 또는 여러번 나온 후에 공백이 연이어 등장하는 문자열을 포함한 모든 행을 출력한다.)
# grep '[a-z]{9}' datafile
(소문자가 9번 이상 반복되는 문자열을 포함하는 모든 행을 출력한다.)
# grep '(3).[0-9].*1 *1' datafile
(숫자 3,마침표,임의의 한 숫자,임의 개수의 문자,숫자 3(태그),임의 개수의 탭 문자,숫자 3의 순서를 갖는 문자열이 포한된 모든 행을 출력한다.)
# grep '<north' datafile
(north로 시작하는 단어가 포함된 모든 행을 출력한다.)
# grep '<north>' datafile
(north라는 단어가 포함된 모든 행을 출력한다.)
# grep '<[a-z].*n>' datafile
(소문자 하나로 시작하고, 이어서 임의 개수의 여러 문자가 나오며, n으로 끝나는 단어가 포함된 모든 행을 출력한다. 여기서 .*는 공백을 포함한 임의의 문자들을 의미한다.)

3.3 grep에 옵션 사용
# grep -n '^south' datafile
(행번호를 함께 출력한다.)
# grep -i 'pat' datafile
(대소문자를 구별하지 않게 한다.)
# grep -v 'Suan Chin' datafile
(문자열 Suan Chin이 포함되지 않은 모든 행을 출력하게 한다. 이 옵션은 입력 파일에서 특정 내용의 입력을 삭제하는데 쓰인다.
# grep -v 'Suan Chin' datafile > black
# mv black datafile
)
# grep -l 'SE' *
(패턴이 찾아진 파일의 행 번호 대신 단지 파일이름만 출력한다.)
# grep -w 'north' datafile
(패턴이 다른 단어의 일부가 아닌 하나의 단어가 되는 경우만 찾는다. northwest나 northeast 등의 단어가 아니라, north라는 단어가 포함된 행만 출력한다.)
# grep -i "$LOGNAME" datafile
(환경변수인 LOGNAME의 값을 가진 모든 행을 출력한다. 변수가 큰따옴표로 둘러싸여 있는 경우, 쉘은 변수의 값으로 치환한다. 작은따옴표로 둘러싸여 있으면 변수 치환이 일어나지 않고 그냥 $LOGNAME 이라는 문자로 출력된다.)

3.4 egrep
egrep(extended grep) : grep에서 제공하지 않는 확장된 정규표현식 메타문자를 지원  한다.
                                     grep와 동일한 명령행 옵션을 지원한다.
egrep에서 지원하는 확장 메타문자
메타문자
기능
사용 예
사용 예 설명
+
선행문자와 같은 문자의 1개 혹은 임의 개수와 대응
'[a-z]+ove'
1개 이상의 소문자 뒤에 ove가 붙어있는 문자열과 대응. move,approve,love,behoove 등이 해당된다.
?
선행문자와 같은 문자의0개 혹은 1개와 대응
'lo?ve'
l 다음에 0개의 문자 혹은 하나의 문자가 o가 나오는 문자열과 대응. love,lve 등이 해당된다.
a|b
a 혹은 b와 대응
'love|hate'
love 혹은 hate와 대응.
()
정규표현식을 묶어준다
'love(able|ly)'
lovable 혹은 lovely와 대응.
'(ov)+'
ov가 한 번 이상 등장하는 문자열과 일치.

3.4.1 egrep 예제
# egrep 'NW|EA' datafile
(NW나 EA가 포함된 행을 출력한다.)
# egrep '3+' datafile
(숫자 3이 한 번 이상 등장하는 행을 출력한다.)
# egrep '2.?[0-9]' datafile
(숫자 2 다음에 마침표가 없거나 한 번 나오고, 다시 숫자가 오는 행을 출력한다.)
# egrep ' (no)+' datafile
(패턴 no가 한 번 이상 연속해서 나오는 행을 출력한다.)
# egrep 'S(h|u)' datafile
(문자 S 다음에 h나 u가 나오는 행을 출력한다.)
# egrep 'Sh|u' datafile
(패턴 Sh나 u를 포함한 행을 출력한다.)

3.5 고정 grep 과 빠른 grep
fgrep : grep 명령어와 동일하게 동작한다. 다만 정규표현식 메타문자들을 특별하게 취급하지
          않는다.
# fgrep '[A-Z]****[0-9]..$5.00' file
([A-Z]****[0-9]..$5.00 이 포함된 행을 출력한다. 모든 문자들을 문자 자체로만 취급한다.)

반응형

'OS > Linux' 카테고리의 다른 글

[Unix] Sun 에서 사용자 추가시 shell 문제점.  (1) 2009.08.04
ln 명령어.  (0) 2009.07.29
리눅스 명령어  (0) 2009.02.11
.bashrc 파일 적용  (0) 2009.02.11
path 추가  (0) 2009.02.11
반응형
alias(명령어 간소화하기)
apropos(관련된 명령어 찾기)
arch(컴퓨터 종류 알기)
arp(같은 서브넷의 IP 보여주기)
at(작업 시간 정하기)
atd(계획성 있는 작업 실행하기)
awk(특정 패턴 문자 처리하기)
a2p(펄 파일로 바꾸기)
badblocks(배드 블럭 검사하기)
bc(계산기)
biff(메일 수신 소리로 확인하기)
bg(후면작업; 배경화면 설정)
bind(키나 함수 순서 결합하기)
break(루프 빠져나가기)
cal(달력보기)
builtin(내부 명령어 알아보기)
case(조건 처리하기)
cat(화면상에서 파일 보기)
cd(디렉토리 변경하기)
cfdisk(디스크 설정하기)
chattr(파일 속성 변경하기)
chfn(사용자 정보 변경하기)
chgrp(파일, 디렉토리가 속했던 그룹 바꾸기)
chmod(파일 권한 바꾸기)
chown(파일 주인 바꾸기)
chsh(지정된 셸 바꾸기)
cksum(CRC값을 점검한다)
clear(화면 청소하기)
clock(CMOS 시각을 조정하기)
cmp(파일 비교하기)
colcrt(문자 변환 필터)
colrm(열 삭제하기)
column(가로 정렬하기)
comm(파일 비교 출력하기)
command(명령어 알아보기)
continue(루프 계속돌기)
cp(파일 복사하기)
cpio(복사본 만들기)
crontab(cron을 관리한다)
csplit(파일에 서식, 규칙 정하기)
cut(필요한 필드만 출력하기)
date(날짜 보기)
dd(블럭장치 읽고 쓰기)
debugfs(ext2 파일 시스템 디버깅하기)
declare(변수 선언하기)
df(파일 시스템의 사용량 보기)
dirs(디렉토리 목록 표시하기)
dmesg(부팅 메시지 보기)
dnsdomainname(DNS 이름 출력)
domainname(NIS 이름 출력&설정)
du(디렉토리와 파일의 용량 파악하기)
dumpe2fs(파일 시스템 정보 보기)
echo(표준 출력하기)
eject(장치 해제하기)
elm(메일 관련)
enable(내부 명령어 지정)
env(환경변수 출력하기)
eval(인수 읽기)
exec(셸 명령어 실행하기)
exit(종료하기)
expand(탭을 공백으로 변환하기)
export(변수 지정하기)
e2fsck(파일 시스템 복구하기)
fc(지정된 편집기 받기)
fdformat(플로피 디스크 포맷하기)
fdisk(파티션 나누기)
fg(지정된 작업을 전면 프로세스로 시작하기)
file(파일 종류 보기)
find(파일 찾기)
finger(사용자 정보 알기)
fold(정형화하기)
fmt(정형화하기)
for(반복 실행하기)
free(메모리 사용량 알아보기)
fsck(파일 시스템 검사하기)
fstab(파일 시스템에 대한 고정적인 정보 저장하기)
ftp(파일 전송 프로그램)
fuser(프로세스 ID 출력)
getkeycodes(매핑 테이블 출력하기)
grep(특정 문자(열) 검색하기)
gzexe(실행 파일 압축하기)
gzip(압축하기)
halt(시스템 종료하기)
hash(기억해 두기; index 역할)
head(파일의 앞부분 출력하기)
help(도움말 보여주기)
host(호스트 정보 보기)
history(사용 명령어 목록보기)
hostname(서버 이름 알기)
id(계정 정보 알기)
if(조건문 실행하기)
ifconfig(랜카드에 주소 할당하기)
imolamod(모듈 설치하기)
inetd(인터넷 서비스의 최상위 데몬)
init(실행 단계 정하기)
ispell(철자법 검사하기)
jobs(수행중인 프로세스 알기)
kbd_mode(키보드 모드 출력하기)
kill(프로세스 죽이기)
klogd(커널 로그 데몬)
ldd(공유 라이브러리의 의존성 알기)
less(페이지 단위로 출력하기)
let(정규식 표현하기)
lilo(부팅하기)
ln(링크하기)
locate(패턴에 맞는 파일 찾기)
login(로그인하기)
logger(시스템 로그 기록하기)
logname(사용자 로그인명 보여주기)
logout(로그인 셸 종료하기)
look(특정 단어 검색하기)
losetup(중복 장치 확인하기)
lpd(프린트 데몬)
lpq(현재 프린트 작업 상태 출력하기)
lpr(출력하기)
lprm(대기열에 있는 문서 삭제하기)
ls(디렉토리 내용보기)
lsattr(파일 시스템의 속성 보여주기)
lsdev(하드웨어 장치 출력하기)
lsmod(모듈 정보 출력하기)
mail(메일 관련)
make(컴파일하기)
man(매뉴얼 보기)
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg(메시지를 받을 수 있는지 확인하기)
mformat
minfo
mkdir (디렉토리 만들기)
mke2fs(파일 시스템 생성하기)
mkfs(파일 시스템 만들기)
mknod(특수 파일 만들기)
mkswap(스왑 영역 지정하기)
mlabel
mmd
mmount
mmove
mpartition
mount(장치 연결하기)
more(화면 단위로 출력하기)
mrd
mren
mtoolstest
mtype
mutt(메일 관련)
mv(파일 옮기기)
mzip
netstat(현재 네트웍 상황 보기)
nice(프로세스 우선 순위 변경하기)
od(8진수로 파일 보기)
passwd(암호 입력하기)
pidof(실행중인 프로그램의 프로세스 ID 찾기)
pine(메일 관련)
ping(네트웍 확인하기)
popd(pushd 취소)
ps(프로세스 纘?알기)
pstree(프로세스 상관관계 알기)
pwd(절대경로 보여주기)
quota(디스크 한계량 알기)
rarp(rarp 테이블 관리하기)
rcp(원격 호스트에 파일 복사하기)
rdev(루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기)
rdate(네트웍으로 시간 설정하기)
reboot(재부팅하기)
rmmod(모듈 지우기)
readonly(읽기 전용으로 표시하기)
renice(프로세스 우선 순위 바꾸기)
reset(터미널 초기화하기)
restore(다시 저장하기)
rlogin(바로 접속하기)
rm(파일 지우기)
rmdir (디렉토리 지우기)
route(라우팅 테이블 추가/삭제하기)
rpm(프로그램 추가/삭제)
rpm2cpio(rpm을 cpio로 변환하기)
rsh(원격으로 명령어 실행하기)
rup(호스트 상태 출력하기)
rusers(호스트에 로그인한 사용자 출력하기)
rwall(호스트 사용자에게 메시지 뿌리기)
script(기록하기)
set(변수값 설정하기)
setup(시스템 관련 설정하기)
showmount(호스트의 마운트 정보 보여주기)
shutdown(전원 끄기)
sleep(잠시 쉬기)
source(스크립트 번역하기)
split(파일 나누기)
ssh(암호화된 원격 로그인하기)
stty(터미널라인 설정 보여주기)
su(계정 바꾸기)
suspend(셸 중단하기)
swapoff (스왑 해제하기)
swapon(스왑 활성화하기)
sync(버퍼 재설정하기)
syslogd(로그인 과정 설정하기)
tac(거꾸로 보기)
tail(문서 끝부분 출력하기)
talk(이야기하기)
tar(파일 묶기)
tcpdchk(tcp wrapper 설정하기)
tcpmatch(네트웍 요청에 대해 예측하기)
tee(표준 입력으로부터 표준 출력 만들기)
telnet(원격접속하기)
test(테스트하기)
times(셸에서의 사용자와 시스템 시간 출력하기)
top(cpu 프로세스 상황 보여주기)
tr(문자열 바꿔주기)
true(종료 코드 리턴하기)
type(유형 보기)
ul(밑줄 처리해서 보여주기)
ulimit(제한하기)
umask(매스크 모드 설정하기)
umount(장치 해제하기)
unalias(별명 제거하기)
uname(시스템 정보 보기)
unexpand(공백 문자를 탭으로 변환하기)
uniq(중복된 문장 찾기)
useradd(사용자 계정 만들기)
userdel(계정 삭제하기)
usermod(사용자 계정정보 수정하기)
unset(설정 변수 해제)
uptime(시스템 부하 평균 보여주기)
users(로그인된 사용자 보여주기)
w(시스템에 접속한 사용자 상황 알아보기)
wait(프로세스 기다리기)
wall(모든 사용자에게 메시지 보내기)
wc(문자, 단어, 라인수 세기)
whatis(명령어의 간단한 설명보기)
while(루프 명령어)
who(사용자 알기)
write(콘솔 상에서 간단한 메시지 보내기)
xcopy(반복적으로 복사하기)
XFree86
ypchfn(NIS에서 사용하는 chfn 명령어)
ypchsh(NIS에서 사용하는 chsh 명령어)
yppasswd(NIS에서 사용하는 passwd 명령어)
zcat(압축 파일 보기)
zcmp(압축 파일 비교하기)
zforce(강제로 gz 만들기)
zgrep(압축 상태에서 grep 실행하기)
zmore(압축 상태에서 more 실행하기)
반응형

'OS > Linux' 카테고리의 다른 글

ln 명령어.  (0) 2009.07.29
grep 사용법  (0) 2009.02.11
.bashrc 파일 적용  (0) 2009.02.11
path 추가  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
반응형
source .bashrc

새로 로그인 안하고..

이렇게 사용하더라..ㅋㅋ
반응형

'OS > Linux' 카테고리의 다른 글

grep 사용법  (0) 2009.02.11
리눅스 명령어  (0) 2009.02.11
path 추가  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
반응형
export PATH=$PATH:/usr/local/mysql/bin/

이런식으로 추가 한다.

반응형

'OS > Linux' 카테고리의 다른 글

리눅스 명령어  (0) 2009.02.11
.bashrc 파일 적용  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
반응형

du 명령어 (파일및 디렉토리의 용량을 확인한다.)


 

제공 : 리눅스포털 -수퍼유저코리아-

 

 

 

 

Disk Usage의 약어로서 파일및 디렉토리의 사용량을 확인할 때 사용하는 명령어이다.
du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들 까지 모두 함께 사용량을 계산하여 표시해 준다.
기본 용량표시단위는 kbyte이다.

 

사용형식

       du [OPTION]... [FILE]...

 

사용예 #1

특정 디렉토리내에 존재하는 파일들의 개별용량을 확인코자 할 때에는 다음과 같이 한다.
"du 디렉토리명"이라고 하면 지정한 디렉토리내에 존재하는 모든 파일의 용량을 파일명과 함께 표시해 준다.

다음은 그 예이다.

[root@host3 /]# du /etc 
184     /etc/sysconfig/network-scripts
4       /etc/sysconfig/console
4       /etc/sysconfig/networking/devices
4       /etc/sysconfig/networking/profiles/default
8       /etc/sysconfig/networking/profiles
20      /etc/sysconfig/networking
16      /etc/sysconfig/apm-scripts
20      /etc/sysconfig/rhn
372     /etc/sysconfig
60      /etc/X11/desktop-menus
....
....

위의 예는 /etc/에 존재하는 모든 파일들(서브디렉토리내의 파일들 까지 포함)의 용량과 함께 파일명을 표시해 준다.
용량 단위는 kbyte단위이다.

하지만 /etc내에는 수많은 파일들이 존재하므로 한 화면에 모두 표시되지 않는다.
그리고 모두 표시된다 하더라도 한눈에 정확하게 어떤파일이 얼마의 용량을 차지하고 있는지를 한눈에 확인하기가 어렵다.
따라서 이번에는 전체 용량을 정리하여 한번에 보여주는 예를 보도록 하자.

사용예 #2

이번에는 /etc 디렉토리의 전체용량이 얼마나 되는가를 확인해 보도록 하자.
"-s"(summary)을 사용하면 지정된 디렉토리내에 존재하는 모든 파일과 서브디렉토리들의 용량을 합쳐서 표시해 준다.

[root@host3 /]# du -s /etc
12892   /etc
[root@host3 /]#

위와 같이 전체용량을 간략히 표시할 때에는 -s옵션을 사용한다.
위의 예에서 /etc/는 12,892byte를 현재 사용하고 있다.
그런데 좀 용량단위가 표시되지 않아서 불편해 보일 수도 있다.
이것을 좀 더 간편하게 용량단위까지 표시해 보도록 하자.

사용예 #3

이번에는 /etc 전체용량을 용량의 단위까지 표시해서 확인해 보자.
즉, 전체용량을 모두 합해서 용량단위까지 붙여서 출력하라는 옵션은 "-sh"옵션을 사용한다.

"-h"(human-readable)는 단위를 표시하게 하는 du명령어의 옵션으로서 Kbyte 또는 MBbyte또는 GByte등의 용량표시를 해주게 된다.
K, B, G단위는 용량의 크기에 따라서 간편한 쪽으로 표시된다.
즉, human-readable의 약어인것 처럼 사람이 좀 더 읽기 편하게 표시해준다는 의미이다.

[root@host3 /]# du -sh /etc
13M     /etc
[root@host3 /]#

위의 예는 /etc의 전체 용량이 13M가 된다는 것을 의미하고 있다.

이번에는 좀 더 현실적인 예를 들어 보자.
서버관리를 하다보면 루트디렉토리 밑에 존재하는 각 디렉토리들의 개별 사용량을 확인하거나 확인하여 보고서를 작성해야할 때도 있을 것이다.
이때 간편하게 다음과 같은 명령어로 개별 디렉토리의 사용량을 간편하게 확인할 수 있다.

[root@host3 /]# du -sh /*
6.8M    /bin
5.2M    /boot
12K     /command
428K    /dev
13M     /etc
216K    /home
4.0K    /initrd
44M     /lib
16K     /lost+found
4.0K    /misc
8.0K    /mnt
4.0K    /opt
1.0K    /proc
4.0M    /root
12M     /sbin
48K     /tftpboot
500K    /tmp
1.7G    /usr
44M     /var
[root@host3 /]#

보다시피 / 밑에는 개별 시스템 디렉토리들이 존재하고 있다.
이때 간편히 위와 같은 명령어로 개별 디렉토리의 용량을 확인할 수 있다.

또한 좀 더 실무적인 접근을 해보자면, 호스팅 서버에서는 개별 사용자들의 계정 사용량을 확인해야할 경우가 종종 있을 것이다.
이때에는 다음과 같이 간편하게 확인할 수 있다.

아래는 /home의 전체용량을 확인한 것이다.

[root@host3 /]# du -sh /home/
59M     /home
[root@host3 /]#

그리고 계정사용자들의 개별사용량을 확인한 것이다.
[root@host3 /]# du -sh /home/*
13M     /home/bible
15M     /home/bible1
17M     /home/bible2
15M     /home/bible3
[root@host3 /]#


사용법 #4

개별 사용자가 자기가 사용하는 계정의 전체용량을 확인하고자 할때에는 다음과 같이 한다.
telnet이나 ssh등으로 서버로 로그인한 다음 "du -sh ~자기ID"라고 하면 현재 자기가 사용중인 계정의 전체용량을 확인할 수 있다.

[root@host3 /]# du -sh ~bible
13M     /home/bible
[root@host3 /]# du -sh ~bible1
15M     /home/bible1
[root@host3 /]#

이상으로 du에 대한 설명을 마친다.
참고로 du 명령어는 df명령어와 함께 익혀두는 것이 서버관리 공부에 많은 도움이 될 것이다.


저작권: 리눅스포털 (
www.superuser.co.kr), 무단 재배포및 복사를 금합니다.


 

출처 : http://www.superuser.co.kr/superuserboard/view.html?id=35&code=linuxcom&start=50&position=

반응형

'OS > Linux' 카테고리의 다른 글

.bashrc 파일 적용  (0) 2009.02.11
path 추가  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
반응형

먼저 쉘 확인하기..

 

echo $SHELL

 

ksh : korn shell

csh : C shell

sh : bourne shell

bash : bash shell

 

이다..

 

쉘 바꾸기는 간단..

 

# 에서 korn shell 로 바꿀려면

# ksh

라고 입력하면 끝..

 

다른 쉘도 마찬가지..

 

만약 로그인 할때마다 내가 원하는 쉘로 바꾸고 싶다면?

 

etc/passwd 파일을 연다..

 

그러면..

root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
oracle:x:301:300::/oracle/app/oracle/product/9.2.0:/bin/ksh
idctech:x:302:1::/home/idctech:/bin/ksh
indi:x:303:1::/home/indi:/bin/ksh
tuxedo:x:304:1::/export/home/tuxedo:/bin/ksh

 

이런 것들이 나오는데..여기서 원하는 쉘로 바꿔주면 된다.

 

root 의 쉘을 korn 쉘로 바꿀려면

 

root:x:0:1:Super-User:/:/bin/ksh:

 

로 바꿔주면 끝..

 

아..이 파일에서 권한과 그룹도 같이 설정 해줄수 있다..

 

tuxedo:x:304:1::/export/home/tuxedo:/bin/ksh

 

에서 304 가 owner 1 이 그룹..

 

이걸 원하는 걸루 바꿔 주면 됨..

 

P.S root 의 쉘은 웬만하면 바꾸지 말것..로그인 안되는 수가 있단다..

반응형

'OS > Linux' 카테고리의 다른 글

path 추가  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
tar 압축  (1) 2009.02.11
반응형
scp childeye@server 주소:파일경로 .
반응형

'OS > Linux' 카테고리의 다른 글

du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
tar 압축  (1) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
반응형
set tenc=korea
set enc=utf-8

~/.vimrc 파일
반응형

'OS > Linux' 카테고리의 다른 글

쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
tar 압축  (1) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
반응형

tar - GNU 버전 tar 저장 도우미

이 설명서는 tarfile 이라고 알려진 저장 파일을 묶거나 풀 수 있도록 만들어 진
GNU 버전 tar 저장 프로그램에 대한 설명이다. tarfile 은 테이프 드라이브에 저
장할 수도 있고, tarfile 을 일반적인 보통 파일로 쓸 수도 있다. tar 의 첫번째
인수로는 반드시 Acdrtux 중 하나의 옵션이 들어가야 하고, 다른 선택적인 기능이
 덧붙여진다. tar 의 마지막 인수로는 압축될 파일이나 디렉토리의 이름이 오게
된다. 디렉토리 이름이 사용될 경우 언제나 하위 디렉토리가 함께 저장된다.

가장 많이 사용하는 일반적인 옵션

[압축할 때] tar cvzf 파일명.tar.gz <디렉토리> 또는 파일
[압축 해제] tar xvzf 파일명.tar.gz

[예제]
tar -xvvf foo.tar : foo.tar 파일을 푼다.
tar -xvvzf foo.tar.gz : gzip으로 압축된 foo.tar.gz 파일을 푼다.
tar -cvvf foo.tar foo/ : foo 디렉토리에 있는 내용물을 foo.tar 파일로 묶는다.

기능 옵션
반드시 아래 옵션들 중 하나가 들어가야 한다.
-A, --catenate, --concatenate : 저장 파일에 tar 파일을 추가한다.
-c, --create : 새 저장 파일을 만든다.
-d, --diff, --compare : 저장 파일 혹은 파일 시스템 간의 다른 점을 찾는다.
--delete : 저장 파일에서 지운다. (자기 테이프에는 쓰면 안됨!)
-r, --append : 저장 파일의 끝에 파일을 덧붙인다.
-t, --list : 저장 파일의 내용 목록을 보여준다.
-u, --update : 저장 파일에 저장된 사본보다 새로운 파일만을 덧붙인다.
-x, --extract, --get : 저장된 것에서 풀어낸다.

부가적인 옵션
--atime-preserve : 덤프된 파일의 접근 시간을 바꾸지 않는다.
-b, --block-size N : 블럭 크기를 N x 512 바이트로 정한다. (기본값 N = 20)
-B, --read-full-blocks : 읽은 만큼 블럭을 재지정한다. (4.2BSD 파이프를 읽기 위함)
-C, --directory DIR : DIR 디렉토리로 바꾸고 작업을 한다.
--checkpoint : 저장 파일을 읽는 동안 디렉토리 이름을 출력한다.
-f, --file [HOSTNAME:]F : 저장 파일 혹은 장치 파일 F에 저장한다.
 (기본 "-", 표준입/출력을 나타낸다.)
--force-local : colon 문자가 있더라도 저장 파일을 지역 파일로 처리한다.
-F, --info-script F --new-volume-script F : run script at end of each tape (implies -M)
 테이프의 끝에 도달하면 스크립트를 실행한다. (-M 이 포함된다.)
-G, --incremental : 이전 GNU 형식으로 incremental 백업을 만들거나 목록을 보거나 풀어낸다.
-g, --listed-incremental F : 새로운 GNU 형식으로 incremental 백업을 만들거나 목록을 보거나
 풀어낸다.
-h, --dereference : 심볼릭 링크를 묶지 않는다. 그것이 가리키는 파일을 묶는다.
-i, --ignore-zeros : 크기가 0인 것은 무시한다. (보통 EOF를 의미한다.)
-j, --bzip2 : bzip2 필터를 사용하여 .bz2 파일을 푼다.
--ignore-failed-read : 읽을 수 없는 파일이 있더라도 종료 코드 0을 출력하지 않는다.
-k, --keep-old-files : 기존에 있는 파일을 유지한다. 파일이 있으면 덮어쓰지 않는다.
-K, --starting-file F : 저장 파일에 있는 파일 F에서부터 시작한다.
-l, --one-file-system : 저장 파일을 만들 때 로컬 파일 시스템 안의 놓는다.
-L, --tape-length N : N * 1024 바이트를 쓴 다음 테이프를 바꾼다.
-m, --modification-time : 파일의 변경 시간 정보를 유지하지 않는다.
-M, --multi-volume : 여러 개로 나눠진 저장 파일로 만들거나 목록을 보거나 풀어낸다.
-N, --after-date DATE, --newer DATE : 주어진 DATE 보다 새로운 파일만 저장한다.
-o, --old-archive, --portability : ANSI 형식 대신 V7 형식으로 저장한다.
-O, --to-stdout : 표준 출력으로 파일들을 풀어낸다.
-p, --same-permissions, --preserve-permissions : 모든 퍼미션 정보를 유지한다.
-P, --absolute-paths : 파일 이름의 맨 앞 `/' 문자를 버리지 않는다.
--preserve : -p 옵션과 -s 옵션을 함께 사용한 것과 같다.
-R, --record-number : 저장 파일의 레코드 번호를 각각의 메시지로 보여준다.
--remove-files : 파일을 저장 파일에 덧붙인 다음 파일을 지운다.
-s, --same-order, --preserve-order : 저장 파일 목록과 똑같은 순서로 풀어낸다.
--same-owner : 같은 사용자 소유권으로 파일들을 풀어낸다.
--numeric-owner : user/group 이름으로 항상 숫자를 사용한다.
-S, --sparse : 듬성한 파일을 효율적으로 다룬다.
-T, --files-from F : 파일 F에서 목록을 읽어 추출하거나 만든다.
--null : -T reads null-terminated names, disable -C -C를 비활성화하고, -T로 읽을 때 null로 끝
 나는 이름을 읽는다.
--totals : --create로 만들어진 바이트 총합을 출력한다.
-v, --verbose : 처리중인 파일을 자세하게 보여준다.
-V, --label NAME : 저장 파일의 볼륨 이름을 NAME으로 한다.
--version : tar 프로그램의 버전 정보를 출력한다.
-w, --interactive, --confirmation : 각각을 처리할 때 마다 물어본다.
-W, --verify : attempt to verify the archive after writing it 저장 파일을 쓴 후에 저장 파일을
 점검한다.
--exclude=FILE : FILE을 제외한다.
-X, --exclude-from FILE : FILE 목록에 있는 것을 제외한다.
-Z, --compress, --uncompress
compress로 압축하거나 푼다.
-z, --gzip, --ungzip : gzip으로 압축하거나 푼다.
--use-compress-program PROG : PROG로 저장 파일을 다시 처리한다. (PROG은 반드시 -d를 처리해야 한다.)
--block-compress : 테이프에 저장할 때 압축 프로그램의 출력을 막는다.
--rsh-command=CMD : `rsh' 대신 원격 COMMAND를 사용한다. 이 옵션은 표준 `rsh' 대신 원격 장치에 접근
 할 수 있는 다른 것(예를 들어, Kerberized `rsh')을 사용하는 사람들을 위해 필요하다.
-[0-7][lmh] : 드라이브와 밀도를 지정한다.


반응형

'OS > Linux' 카테고리의 다른 글

scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
[VI] vi 색상 변경  (0) 2009.02.11

+ Recent posts