FILE/DIRECTORY 관리 명령어

1.ls : list

     : directory내의 파일 목록 보기

     : ls [-Option] [경로명]

 -a(all)

hidden 파일, .으로 시작하는 파일 포함

 -i(inode)

각 파일들의 inode 정보

 -l(long)

긴형식으로 파일의 정보를 나타냄

 -f(format)

디렉토리는 /, 실행파일은 *를 붙여서 보여줌

 -d(directory)

지정한 디렉토리 자체에 대한 정보

 -r(recursive)

하위 디렉토리의 목록포함

2.pwd : print working directory

      : 현재 작업중인 directory 출력하기

3.cat : catenate

      : 파일 내용보기/결합하기

      : cat [-Option]

      : more(화면단위로 보기), pg(페이지 단위로 보기), nl(번호붙여서 볼때)

      : ex) cat filename | more

4.head/tail : 파일 처음부분/마지막부분 보기

            : head/tail [-number]

5.mkdir/rmdir : make directory / remove directory

              : 디렉토리 만들기 / 삭제하기

6.chmod : change mode

        : 파일 사용 권한 바꾸기

        : chmod modelist file

        : drwxrwxrwx → directory + 소유자 + 그룹 + 기타사용자

        : r(4), w(2), x(1)

7.chown/chgrp : 파일의 소유자 변경/파일 사용자 그룹 변경

        : chown owner filename/ chgrp newgroup filename

8.cp : 파일복사

     : cp file1 file2 => file1을 file2로 복사

     : cp file1 dir1 => file1을 디렉토리1에 복사

     : cp -r dir1 dir2 => dir1의 서 디렉토리까지 dir2에 복사

     : -i 덮어쓰기 경고


9.rm : remove

     : 파일지우기

     : -i 지우기 경고, -r 서브디렉토리까지 삭제

10.mv : move

     : 파일 이동하기/이름바꾸기

     : mv file1 file2 ===> file1을 file2로 변경

     : mv dir1 dir2 ===> directory1을 directory2로 변경

     : mv file1 dir1 ===> file1을 dir1으로 이동

11.find : 파일찾기

       : find [경로명] [-Option]

 -name filename

파일이름으로 찾기

 -atime ±n

access time이 n일 이전,이내인 파일 찾기

 -mtime ±n

n일 이전,이내에 수정된 파일찾기

 -perm xxx

파일 권한이 xxx인 파일 찾기

 -type x

파일타입이 x인 파일 찾기

 -size x

사이즈가 x이상인 파일찾기

 -user username

파일사용자가 user인 파일찾기

 -group groupname

사용자 그룹이 group인 파일찾기

 -print

찾은 파일의 절대 경로명을 화면에 출력한다.

12.> : 표준 입출력의 방향을 변경하는데 사용

13.wc : 단어수 출력

      : wc file_name ===> 화일의 단어수, 라인수, 문자수 출력
      : wc -w file_name ===> 화일의 단어수 출력
      : wc -l file_name ===> 화일의 라인수 출력
      : wc -c file_name ===> 화일의 문자수 출력

14.| : 파이프라인 사용하기
     : 명령1 | 명령2  => 명령1의 표준출력을 명령2의 입력으로해서 그 결과를 출력.
     : ex) ps -ef | grep tobisapp : 현재 실행중인 모든 프로세스에 대한 정보를 완전한 형식으로

      출력 하되, 이중에 tobisapp 계정과 관련된 프로세스만 확인하는 명령어

15.grep : 파일에서 패턴일치 문자 찾기

        : 특정일 또는 어떤 OUTPUT 문자열에서 패턴이 일치하는 문자열을 찾는 명령어

        : grep [-Option] 문자열 [filename]

-i

대소문자 구별 안함

-n

결과물에 줄번호 출력

-v

지정한 패턴이 없는 결과 출력

16. touch : 파일의 최종시각 변경하기

          : -a(접근시간), -m(수정시간)


PROCESS 관리 명령어

1.& : 명령어 끝에 &기호를 붙이면 백그라운드로 작업.

2. nohup : 시스템사용을 종료한 뒤에도 이전에 실행시킨 명령을 계속 실행하는 명령어.

3. ps : 프로세스에 관한 정보상태를 화면에 출력

 -a

현재 로그인된 단말장치와 관계되는 모든 프로세스

 -e

실행중인 모든 사용자 프로세스에 관한 정보

 -f

프로세스에 관한 모든 정보(UID, PID, PPID, C, STIME, TTY, COMMAND)

 -l

프로세스 정보 상태를 길게 출력(F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAH,TTY,TIME,COMMAND)

 -p list

사용자가 지정한 프로세스ID에 대한 프로세스 정보만을 출력

4. kill : 백그라운드로 작업중인 프로세스를 종료.

        : ex) kill -9 1231 , 1231프로세스를 강제로 종료

5. nice : 프로세스가 시스템을 사용하는 우선순위(priority)를 낮게 결정해주는 명령어.

        : nice -n 명령어, NI값을 n만큼 증가시킨다.(0<n<20) 생략시 default 10

6. du/df : 디스크 사용현황 / 사용가능한 디스크 용량 조회

7. sleep : 지정한 시간만큼 일시적으로 정지시키는 명령어

         : ex) sleep 20 \ ls -l , 20초후 ls명령어 실행

8. at : 지정된 시간에 지정한 명령어 실행

      : at [-Option] [시간]

      : -l(예약된 내용 조회), -r(예약된 작업 삭제)

      : 시간표시는 1130(11시30분) 년,월,일,요일 표시가능


vi 편집기 명령어

1. 기존의 파일 부르기

   : vi test02 => test02 일을 부른다.(처음 커서의 위치는 첫라인 첫컬럼이다.)

   : vi + test02 => 커서위치는 마지막 라인의 첫컬럼

                   (만약 일의 라인수가 굉장히 많을시 마지막 라인으로 이동하고자 할 때 사용)

   : vi +100 test02 => 커서위치를 100라인 첫컬럼으로 이동하고자 할 때

2. 한번에 2개 이상의 파일 부르기
   : vi file1 file2 file3(버퍼에 불려지는 일은 file1이다)

   : file1에 대하여 작업을 끝내고 file2 일을 불러오려면 현재상태에서 ESC 키를 한번 친후 :n# 을

    치면 file2가 불오며 계속 :n# 을 치면 file3, file1, file2 순으로 순환한다.

3. VI 사용중에 유닉스 명령어 사용하기

   : vi file1 ==> file1 부르기

      ESC 키를 친 후 :! ls => vi 상태에서 ls 명령을 실행

      ESC 키를 친 후 :sh => 잠시 유닉스 쉘로 빠져나온다.($ 상태)

   : ls => ls 명령실행

   : exit => vi 로 되돌아 가기 이 상태는 vi를 끝내지 않은 상태(즉, 버퍼에는 vi를 부른 상태)

4. 특정일을 현재 불러온 일의 특정 라인 아래에 삽입하기

   : vi file1, ESC 키를 친  삽입하고자 하는 라인까지 이동

   : r file2 => file2 일을 file1일의 특정 라인아래 삽입

   : 5r file2 => file1일의 6라인부터 file2 일을 삽입

5. vi 입력모드

a

문안첨가(append), 현재 커서 뒤에 문안추가

i

문안삽입(insert), 현재 커서 앞에 문안삽입

o

라인생성(open), 현재 커서 다음에 라인생성

x

문자삭제(delete), 현재 커서 한 문자 삭제

dd

라인삭제(delete), 현재 커서 한 라인 삭제

r

문자치환(replace), 현재 커서 한 문자 치환

R

문자치환(replace), ESC키를 칠 때까지 치환

cc

라인치환, 현재 커서 라인치환

u

바로 이전에 실행한 명령 취소

yy

현재 커서 라인을 버퍼에 복사

p

붙여넣기, 현재 커서 아래로 붙여넣기

j

라인 결합


6. 종료방법

   :wq! : 현재 일을 저장후 빠져나오기

   :q! : 현재 일을 저장하지 않고 빠져나오기

   :w! : 현재 일을 저장만 하기

7. vi 편집기 커서 이동(이동할때는 명령모드에서)

      ① 좌, 우, 상, 하 커서 이동

            ㅇ h : 좌 j : 하

            ㅇ k : 상 l : 우

      ② 라인의 처음과 끝으로 이동

            ㅇ ^ : 처음

            ㅇ $ : 끝

      ③ 화면내에서 이동

            ㅇ H : 화면의 제일 위쪽으로 이동

            ㅇ M : 화면의 중간으로 이동

            ㅇ L : 화면의 제일 아래쪽으로 이동

※ 화면이동 : Ctrl+F(위) Ctrl+B(아래)

8. VI에서 기타 기능

① 문자열 검색

      test01.c 파일을 부른후 “printf” 문자열을 검색해보자.

      ESC키 –> /printf : 순방향 검색

      ESC키 –> ?printf : 역방향 검색

            * 계속해서 검색하려면 “n”을 치세요.

② 지정한 라인으로 이동

      5G 또는 :5 : 5번째 라인으로 이동

③ 라인번호 Display

      :se nu –> 라인번호 나타내기

      :se nonu –> 라인번호 숨기기

④ 라인이동(m)

      지정한 라인을 원하는 위치로 이동해보자.

      [예제] 1라인에서 2라인까지를 3라인 아래로 이동시켜보자.

      ESC –> :1,2 m 3

⑤ 내용 치환(s)

VI 상태에서 특정문자를 다른 특정문자로 치환해보자.

ESC –> :s/old/new ==> 현재 라인에서 old문자를 new문자로 치환

ESC –> :s/old/new/g ==> 현재 라인에서 끝까지 old문자를 new문자로 치환 


기타 명령어

1. date : 현재의 날짜와 시간을 화면에 출력.

2. who : 현재 UNIX 시스템을 사용하고 있는 사용자들이 누구인가를 출력.

       : who am i(+ 로그인 시간)

3. id : 자신의 사용자 ID 와 사용자가 속한 그룹 ID를 화면에 출력한다.

4. cal : 내장된 달력을 화면에 출력

이클립스 Error

Version 1.3.1_01 of the JVM is not suitable for this product.
Version: 1.4.1 or greater is required.

에러메세지와 함께 종료…
해석하자니 JVM을 1.4.1이상 버전으로 설치하여야 한다는 뜻으로….

다른 프로그램을 설치하면서 JVM버전이 낮아진줄로 알고…
JVM 버전을 찾기 시작했다…
20분여를 삽질하다가…
이건 아니다 싶음..

알고보니 환경변수에서 오라클리 자바보다 앞에 나와있었다…
겨우 이거때문에;;;

자바 path를 오라클 앞에 위치시키니 해결.