본문 바로가기
OS

리눅스 명령어

by SSaMKJ 2014. 4. 4.

WAR 파일 만들기

1. command line 상에서 WAR파일을 만들고자 하는 폴더로 이동

2. jar cvf <war파일이름>.war *  입력

   (예 : jar cvf test.war *)

3. 해당 폴더내에 war파일 생성완료


WAR 파일 압축풀기

1. command line 상에서 WAR파일이 있는곳으로 이동

2. jar xvf <war파일이름>.war 입력

   (예 : jar xvf test.war)

3. 해당 폴더내에 압축이 풀림


* war / 만약 해당 폴더가 아닌 다른 폴더에 압축을 풀고 싶다면

1. 압축을 풀고자 하는 폴더를 만들고 command line에서 폴더로 이동

2. jar xvf <절대/상대path + war파일이름>.war 입력

   (예 : jar xvf ../test.war)

3. 해당 폴더내 압축이 풀림



- 압축 해제 / 압축

/home 디렉토리를 모두 압축하면서 암호를 설정한다고 가정을 한다면 다음과 같은 명령으로 압축을 설정
------------------------------
# zip -P manpage -r home.zip /home
------------------------------

여기서 -P는 암호를 설정하겠다는 옵션 이며, 암호로 manpage를 사용한 것입니다.

-r은 하위 디렉토리 까지 압축을 하겠다는 의미이며,

home.zip 은 압축후 생설될 파일 이름.

마지막으로 /home은 압축할 대상 디렉토리 입니다.


이 명령을 실행하고 나면 home.zip 이라는 압축 파일이 생성이 되며, 이는 암호로 보호를 받게 됩니다.
이 역시 서버에 있는지 확인해 보시고, 만일 없다면 yum install unzip을 통해서 설치가 가능합니다.

푸는 방법은 간단 합니다.

-------------------------
# unzip home.zip
-------------------------

이라고 하면 암호를 물어보며, 이때 암호를 입력하면 정상적으로 압축이 풀리게 됩니다.

한번에 푸는 방법은 아래와 같습니다.

-----------------------------
# unzip -P manpage home.zip 
------------------------------

-P 옵션을 사용해서 home.zip을 압축할때 사용했던 암호 manpage를 입력하여 한 라인에서 압축해제를 할수 있습니다.
============================================================
참고로 zip -j 를 안한채로 /home/A/B  이런 경로를 압축해버리면 폴더들이 압축파일에 남게된다.
-j 를 붙여야 폴더없이 파일만 압축하게됨.

- 디렉토리 생성
mkdir 디레토리명

4. 파일복사 (cp)

-사용법 : cp 복사할원본파일명 대상파일명

-현재디렉토리의 aaa.txt파일을 bbb.hwp파일로 복사
->shell> cp aaa.txt bbb.hwp

-현재디렉토리의 aaa.txt bbb.hwp ccc.doc 파일을 public_html 디렉토리안으로 복사
->shell> cp aaa.txt bbb.hwp ccc.doc public_html

-public_html 디렉토리를 통째로 html디렉토리라는 이름으로 복사
->shell> cp -r public_html html


-원본파일의 소유자.그룹을 그대로 가지고 복사

->shell> cp -p aaa.txt bbb.hwp


-원본파일의 속성이나 링크정보까지 포함

->shell> cp -a aaa.txt bbb.hwp


옵션을 여러가지 사용할때는

->shell> cp -apr public_html html

* @/var/named 디렉토리를 현재디렉토리로 복사해오고싶은경우 
(현재디렉토리 . 상위디렉토리 ..)
->cp -r /var/named .

5. 디렉토리 만들기 (mkdir)

-사용법 : mkdir 만들디렉토리명
->현재디렉토리에 abc123디렉토리 만들기
shell>mkdir abc123
->abc123디렉토리안에 a1디렉토리를 만들고 a1디렉토리안에 a11디렉토리를 동시에만들기
shell>mkdir -p abc123/a1/a11
p : 하위디렉토리를 포함해서 디렉토리생성
->abc디렉토리안에 bl,cl,dl,el디렉토리를 동시에 만들기
shell>mkdir abc/{bl,cl,dl,el}

6. 파일삭제 (rm : remove)

-사용법 : rm -[옵션] 삭제할 파일명

-옵션종류 : r - 디렉토리를 삭제할때 사용하는 옵션
f - 물어보지 말고 강제 삭제
->현재 디렉토리의 aaa.txt 파일 삭제
shell>rm aaa.txt
->현재 디렉토리내의 named 디렉토리 삭제
shell>rm -rf named
->현재 디렉토리내의 a로 시작되는 모든 파일 삭제
shell>rm -rf a*
->현재 디렉토리내의 txt라는 확장자를 가지는 모든 파일 삭제
shell>rm -rf *.txt 

7. 파일이동 (mv : move)

-사용법 : mv 이동할원본파일 대상파일명
->현재 디렉토리내의 abc파일을 bbc파일명으로 이동시키기 (파일명변경하기)
shell>mv abc bbc
->현재 디렉토리내의 abc123디렉토리를 public_html디렉토리내의 bbc123이름으로 옮기기
shell>mv abc123 public_html/bbc123

8. 절대경로와 상대경로

-디렉토리를 결정하는 경우 크게 절대경로와 상대경로 두가지로 표현가능

1. 절대경로 - 최상위 디렉토리를 기준으로 디렉토리명을 나열하는 방법
ex) /home/users/it309/public_html 형식으로 표현
2. 상대경로 - 현재 디렉토리를 기준으로 디렉토리명을 나열하는 방법
ex) 현재디렉토리가 /home/users/it309/public_html 이라고 할 경우
/home 디렉토리의 경로를 상대경로로 표현하면,
../../../
->it309 사용자가 로그인한 직후 /etc/mail 디렉토리 안으로 이동하는 방법을 
절대경로와 상대경로를 이용하여 이동하는 명령어 구성.
1 - 절대경로 : $cd /etc/mail
2 - 상대경로 : $cd ../../../etc/mail

9. 디스크 사용량 확인 (du : disk used)

-사용법 : du -[옵션] 파티션명(디렉토리명)
-> /home 파티션의 사용량이 얼마인지 확인
du -K(M) /home
-> 현재 디렉토리의 디스크 사용량을 알기 쉬운 단위 (KB,MB)로 확인
du -hs .
↑(서브디렉토리내의 각각의 용량을 출력하지않고 전체용량만 출력) 

10. 디스크의 남아있는 공간 확인 (df : disk free)

-사용법 : df -[옵션]
-옵션종류 : K -> Kbyte단위로 보여줌
M -> Mbyte단위로 보여줌
->하드디스크내의 모든 파티션 사용량과 남아있는 용량확인
df -m

df -h -> 사람이 알아보기 쉽도록 G,M로 단위로 표현함

사용법: df [OPTION]  [FILE]
각각의 FILE이 있는 파일 시스템에 대한 정보를 출력합니다.
기본값은 모든 파일시스템입니다.


11. 파일내의 내용 확인하는 명령어 (cat, head, tail, more, less...)

1 : cat
2 : head - 파일명을 인자로받아서 해당 파일내의 내용중 제일 첫번째줄을 기준으로 
지정한 숫자에 해당하는 라인 내용을 읽어와 출력
-> head -n 파일명
/var/log/messages 파일 내용중 가장 오래전에 저장된 내용중 25라인만
읽어와서 출력
shell>head -25 /var/log/messages
↑시스템로그파일 : 리눅스시스템의 부팅시부터 각종
서비스를 사용하던 중 발생하는 모든
로그사항을 기록해두는 파일 

3 : tail - head명령어와 반대로 가장 마지막줄로부터 지정된 라인수만큼 일어와출력
->/var/log/messages 파일 내용중 가장 최근에 기록된 내용중 30라인만 읽어와서 출력
shell>tail -30 /var/log/messages

4 : more - 파일명을 인자로 받아서 해당 내용을 출력시켜주는데 내용이 한페이지를
초과할 경우 한페이지씩 끊어서 출력하는 명령어
->shell>more /var/log/messages
다음페이지 : space bar
외부명령어입력 : !ls
강제종료 : ^C

5 : less - more 명령어와 동일하나 마지막 페이지에서부터 출력
->shell>less /var/log/messages


메모리 확인

cat /proc/meminfo
하드웨어 용량 확인
df
   OPTIONS
 -a, --all
              파 일 시스템의 크기가 0인 것도 모두 보여준다. 초기값은 제외 시킨
              다.  이런 파일 시스템은 전형적으로 자동 마운트관련, 특별  구 성,
              pseudo-filesystems 이 다.   어 떤  시스템에서는 ‘‘ignore’’, 또는
              ‘‘auto’’ 형태의 파일 시스템이 초기값으로 생략되는 경우가  있 다.
              이때 이옵션을 사용한다.

 -k, --kilobytes
              보여주는 숫자들의 단위를 512 바이트 블럭 단위 대신 1KB 단위로 보
              여준다.  이 옵션은 POSIXLY_CORRECT 환경 변수를 무시한다.
  -m, --megabytes       like --block-size=1048576
  -m, --megabytes       --block-size=1048576과 같습니다

free
-m : megabytes
-k : kilobytes

서버시간 재 설정 및 확인

-p옵션을 사용하면 지정한 원격지의 타임서버(아래의 예에서는 time.bora.net)에서 시간정보를 가져와서 보여준다. 아래는 그 예이다. 

[root@host1 root]# rdate -p time.bora.net 
rdate: [time.bora.net]  Tue Sep  9 11:44:25 2003 


그리고 다음은 date명령어로 현재 시스템의 날짜시간정보가 맞는가를 확인하였다. 
그리고 현재 시스템의 날짜시간정보가 틀리다는 것을 확인하고 원격지의 타임서버에서 날짜시간정보를 가져와서 현재 시스템에 적용을 한 것이다 
날짜시간설정을 하려면 -s옵션을 사용해야한다. 아래는 그 예이다. 

[root@host1 root]# date                                    (현재시스템의 날짜시간정보 확인) 
2003. 09. 07. (일) 01:30:01 KST 
[root@host1 root]# 
[root@host1 root]# rdate -s time.bora.net          (타임서버에서 날짜시간정보를 가져와 적용함) 
[root@host1 root]# 
[root@host1 root]# date                                    (현재시스템의 변경적용된 날짜시간정보 확인) 
2003. 09. 09. (화) 11:45:40 KST 
[root@host1 root]# 
rdate : 외부서버에서 시간을 받아와서 현재 시스템의 시간을 맞춘다.

참고로 사용할 수 있는 타임서버(Time Server)의 종류로는 다음과 같은 것들이 있다. 
time.bora.net 
time.kriss.re.kr

지역정보 변경시

ls /usr/share/zoneinfo

ls /usr/share/zoneinfo/Asia

이제 이렇게 쳐보면, Seoul 즉 '서울'이라는 파일이 있을 것입니다. 우분투가 아닌 다른 배포본에서는 좀 다를 수도 있으니 정확한 위치를 파악해야 합니다.

이제 Seoul 이라는 파일에 대한 심볼릭 링크를 /etc/localtime 이라는 이름으로 만들어 주어야 합니다.

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

아무 메시지도 나오지 않아야 성공입니다. (위의 명령에서 ln 은, LN 을 소문자로 쓴 것임)
이제 date 명령을 쳐보면, 날짜 뒤에 PST나 PDT대신에, 한국 시간인 KST가 나올 것입니다.


iconv 로 캐릭터셋 변환


XP에서 ED라는 에디터로도 UTF-8 <=> EUC-KR 캐릭터셋 변환을 할 수 있지만 당연히 리눅스 상에서 할 수 있다. 주로 리눅스상에서는 iconv 를 많이 사용하며 사용예는 다음과 같다.  euc-kr로 작성된 html 의 캐릭터셋 변환시 유용할 것이다.
 $ iconv -f EUC-KR -t UTF-8 -c souce_file > dest_file
주) 만약 -c 옵션을 쓰지 않으면, 캐릭터셋 변환과정에서 없는 문자 이후에는 변환되지 않을 수 있다.그러니, 안전을 위해서 -c 옵션을 쓰는 것이다.

perl 명령어로 문자열 수정

perl -pi -e " s/수정할문자열/변경할문자열/g" 경로

또다른 방법으로
# find . -name *.html | awk '{ print "cat "$1" | sed "s/바꾸고싶은말/바뀔말/g" >"$1 }' | sh

(출처 : http://kcmuni.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C)


댓글