pC.NET

Welcome to oscc.kr



 [!] unix명령어
2021-08-01 09:51:25
Hit : 177

작성자 : 피시넷

ls
* 디렉토리안의 내용을 열람하기 위한 명령
-a  "."으로 시작하는 파일들을 포함하여 디렉토리의 모든 내용을 출력.
-l  파일의 모드 ,링크수, 사용자명, 그룹명, 바이트수, 최종수정시간의 정보를 출력한다.
-p 디렉토리 뒤에 /를 추가한다.
-R 서브디렉토리의 내용 까지 출력한다.
-t 시간 순서로 출력.
-F 디렉토리,실행파일,텍스트 파일을 구분지어 출력.

cat
* 파일의 내용을 보거나 만들거나 연결하는 명령.
$ cat test
* test 파일의 내용 display
$ cat test1 test2 > test3
* test1과 test2를 합쳐서 test3을 만듬
* 만약 test3이 있었다면 원본삭제
$ cat test4 >> test3
* test 파일을 test3 파일에 append.
$ cat > test
hellow
It's wonderful day
CTRL+D
* test 파일 생성 

pwd
* 현재 디렉토리의 위치 display.
$pwd
/home/user1

cd
* 디렉토리를 변경.
$ cd /home
* /home 디렉토리로 이동
* cd 명령만 입력하면 해당 유저의 홈 디렉토리로 이동

mkdir, rmdir
* 디렉토리를 만들거나 삭제할 때 사용.

mv
* 파일을 이동한다.
$ mv test1 test2
* test1 파일을 test2 파일로 변경
* test1 파일은 사라짐

cp
* 파일을 복사한다.
$ cp test1 test2
* test1 파일을 test2 파일로 복사
* test1 파일 보존
* -r 이하 디렉토리 모두 복사

rm
* 파일을 삭제
$ rm test1
* test1 파일 삭제
* -r 이하 디렉토리 및 파일 모두 삭제
* -i 삭제 여부 확인 절차 추가

bc
* 간단한 계산기
$ bc
4+3
7
CTRL+D

last
* 사용자와 터미널에 대한 로그인 및 로그아웃 정보를 display

head
* 파일의 앞부분을 출력한다
$ last | head -10
* last명령어의 출력결과를 입력으로 받아들여 앞에서 10줄만 출력
* | 은 왼쪽의 실행 결과를 오른쪽에 전달

tail
* 파일의 뒷부분을 출력
$ last | tail -10
* last명령어의 출력결과를 입력으로 받아들여 뒤에서 10줄만 출력

more
* 파일의 내용을 한 화면씩 출력
$ last | more
* last명령어의 출력결과를 입력으로 받아들여 한 화면씩 출력

tar
* 여러개의 파일이나 디렉토리를 하나의 파일로 묶어주거나 테입 등에 백업
$ tar -cvf backup.tar ./
* 현재 디렉토리 이하 파일들을 backup.tar 파일로 생성
$ tar -xvf backup.tar ./
* backup.tar 파일을 현재 디렉토리로 생성
$ tar -cvf /dev/rmt0 ./
* 현재 디렉토리 이하 파일들을 테입장치 rmt0로 backup
$ tar -xvf /dev/rmt0 ./
* 테입장치 rmt0의 파일을 현재 디렉토리 이하로 생성
$ tar -tvf /dev/rmt0
* 테입장치 rmt0에 있는 파일 display

compress, pack
* 파일을 압축합니다
$ compress test
* test 파일을 압축하여 test.Z 파일 생성
$ uncompress test.Z
* 압축 해제
$ pack test
$ unpack test.z

grep
* 파일의 내용중 특정 단어가 포함된 행 출력
$ grep hellow ./test1
* 현재 디렉토리 밑의 test1파일중 hellow가 포함된 행 출력
$ last | grep user1
* last 명령어로 출력된 내용중 user1이 포함됨 행 출력

find
* 특정 파일을 찾을 때 사용
$ find / -name test1
* / 디렉토리부터 test1이라는 파일 검색

su
* 현 상태 (로그인) 에서 다른유저로 로그인
$ su user10

whoami
* 현재 로그인한 유저 확인
$ whoami

wc
* 지정한 파일의 행수 단어수 문자수 등 출력
$ wc -l ./test1
* test1 파일의 행수 출력

df
* 파일 시스템의 용량과 사용용량 출력
$ df -k
* 파일 시스템의 용량과 사용용량을 k 단위로 출력
유닉스 쉘

유닉스 쉘은 사용자와  운영체제 커널 사이에 위치하는 명령어 해석기  입니다. 쉘은  사용자의 입력을 받아서 이를  해석한 후 상응하는 동작을  취해주는 사용자와 시스템 사이의  인터페이스이며 일반 프로그래밍 언어의 기능도  포함하고 있어서  사용자는 이를 이용하여 응용  프로그램도 만들 수 있습니다.  이 쉘에 다양한 기능들을 추가하기  위해 많은 연구들이 있었으며 따라서 쉘도  하나가 아닌 다양한  종류의 쉘이 존재합니다. 유닉스 시스템에서 기본적인  쉘은 Bourn Shell(/bin/sh)과  C Shell(/bin/csh)인데  일반적으로 시스템  관리자의 경우 sh을 일반사용자의 경우 csh이 로그인될 때  기본으로 작동됩니다. 따라서 여기서는 csh을 기본으로 가정합니다.



명령어 문법

일반적인 유닉스의 명령어는 다음의 형식입니다.

       command [-options] [parameters]

여기서 명령어는 쉘 내부의 내장(built-in) 명령어 이거나  별도의 실행가능한 화일로 존재하는  외장 명령어입니다. 옵션은 명령어의 기본적인 동작을  바꾸기 위해 사용되는 것이며, 일부 명령어는 사용자가 화일명을  명시할 것을 요구하는데 파라메터는 이처럼 주로 화일명을 명시하는데 사용됩니다.  다음은 화일의 리스트를 보는  ls 명령어를 이용하여 "abc"란 화일의 상세정보를  보고자 할 경우의 실제 예입니다.

       % ls -l abc
       |  |  | -+-
       |  |  |  +-- 파라메터(화일명)
       |  |  +----- 옵션(long, 상세정보)
       |  +-------- 명령어
       +----------- 프롬프트



화일명의 확장

  유닉스 쉘은 여러가지 메타문자를 이용한 다양한 화일명의  확장을 허용합니
다. 메타문자와 그 의미는 다음과 같습니다.

       *     0개 또는 그 이상의 문자와 대응
       ?     정확하게 하나의 문자와 대응
       []    리스트 또는 명시한 범위내의 모든 문자와 대응
       {}    명시된 리스트 항목으로 대치
       ~     사용자의 홈디렉토리

  현재 디렉토리에 다음과 같은 화일이 있다고 가정하고

       +--------------------------------+
       |       a.dat    a3.dat    a4c.dat   c.dat         |
       |       a.old    a4.dat    a5d.dat   d.dat         |
       |       a1.dat   a4a.dat   b.dat     e.dat         |
       |       a2.dat   a4b.dat   b.old                     |
       +--------------------------------+

화일을 삭제하는 명령어인 rm  을 이용하여 위의 메타문자를 이용한 화일명  확장의 예를 보이면 다음과 같습니다.

          명령                     삭제된 화일
       ---------------------------------------------
        rm *                    모든 화일
        rm a*                  "a"로 시작하는 모든 화일
        rm *.dat               ".dat"로 끝나는 모든 화일
        rm a4*.dat           "a4"로 시작하고 ".dat"로 끝나는 파일
                                  즉 a4.dat, a4a.dat, a4b.dat, a4c.dat

        rm a?.dat             a1.dat, a2.dat, a3.dat, a4.dat
        rm ?.dat               a.dat, b.dat, c.dat, d.dat
        rm ??.dat             a1.dat, a2.dat, a3.dat, a4.dat

        rm [a-c]*            "a", "b", "c" 로 시작하는 모든 화일
        rm [acd]*            "a", "c", "d" 로 시작하는 모든 화일
        rm [a-c,e]*          "a", "b", "c", "e"로 시작하는 모든 화일
        rm a[2-4].dat       a2.dat, a3.dat, a4.dat

        rm a.{dat,old}       a.dat, a.old
        rm {a4*,b}.dat       a4.dat, a4a.dat, a4b.dat, a4c.dat, b.dat

  "~"는 사용자의 홈디렉토리를  명시하는 메타문자인데 예를 들어  "kimys"란사용자의 홈디렉토리가 "/home/staff/kimys"이라면,

         표현식                   쉘에의한 확장결과
       --------------------------------------
        ~                         /home/staff/kimys
        ~/work                 /home/staff/kimys/work
        ~jyong/doc           /home/staff/jysong/doc

와 같은 결과를 얻을 수 있습니다.

입출력 방향 전환

유닉스 시스템은 기본적으로  키보드로 부터 입력을 받아서, 화면상으로  그 결과를 출력합니다.  유닉스에서는 이러한 입출력  방향도 다음과 같은  기호를 이용하여 적절히 바꿀 수 있습니다.

       command < fn    화일 fn 으로 부터 입력을 받는다.        command > fn    화일 fn 으로 출력한다.
       command >> fn   화일 fn 의 끝에 그 결과를 추가한다.
       command1 | command2   command1의 결과를 command2의 입력으로 보낸다.

  몇가지 예를 들면 다음과 같습니다.

       % ls > list                     ; 화일의 리스팅 결과를 "list"란 화일로 저장
       % sort < in_file > out_file     ; "in_file"의 내용을 정렬하여 "out_file"로 저장
       % ls | more                     ; 화일의 리스팅 결과를 한 페이지 단위로 봄



작업제어(Job Control)

유닉스 시스템은 멀티태스킹을  지원하므로 동시에 복수의 사용자가  여러개의 작업을 수행할 수 있고, 사용자는 이 작업들을 제어할  수 있습니다. 일반적 으로 태스크 또는  프로세스는 현재 실행중인 프로그램을 의미합니다. 현재  유효한 프로세스의 상태를 알아보는 명령어로 "ps"가 있습니다.

       % ps
          PID   TT    STAT TIME    COMMAND
          6656  ttyp0 S    0:12    vi memo
          5657  ttyp0 S    0:01    csh
          6764  ttyp0 R    0:00    ps

  위의 예에서 PID는  시스템에 의해 각 프로세스에 할당된 유일한  번호이며, TT는 그 프로세스를 수행중인 터미널을 나타내는 것이고  TIME은 프로세스가 생겨난 이후 사용한 총  CPU 시간, COMMAND는 실제 그 프로세스의 내용을  나타내는 것입니다.

  일반적으로 프로세스는 포그라운드로 수행되는데 사용자는  이를 백그라운드 로 수행하도록  할 수 있습니다. 아주  실행시간이 긴 포그라운드 작업의  경우 그 작업이 종료되기 전 까지는  아무 작업도 할 수 없습니다. 이 경우 그  작업을 백그라운드로 실행하면 그 작업과 함께 동시에 다른 작업을  수행할 수 있습니다. 어떤  작업을 백그라운드로 실행하는  방법에는 다음의 두가지가  있습니다.

       ▷ 처음부터 백그라운드로 실행 ; 이 방법은 애초 명령어를 입력할 때 명령어 입력행의 제일 끝에 "&" 기호를 붙여 강제로 백그라운드로 실행도록 하는 것입니다.

          예) % du > usage &

       ▷ 처음에는 포그라운드로 실행하고 나중에 백그라운드로 전환 ; 이 방법은 처음 포그라운드로 수행했다가 그 작업이 너무 길어질 것 같은 경우 주로 수행하는 방법으로 절차는 다음과 같습니다.

          - 포그라운드로 수행
          - Ctl-Z 를 눌러 포그라운드 작업을 일시 정지시킴
          - "bg" 명령을 이용하여 일시정지된 작업을 백그라운드로 만듬

  백그라운드로 수행중인 작업을  다시 포그라운드로 되돌리려면 "fg"  명령을 이용하면 되고, 특정 프로세스를 죽이려면 "kill" 명령을 이용합니다.



cat 명령어

cat은 특정화일을 읽어서  화면에 출력하는 명령이나 이외에도 다양한  용도로 사용됩니다.

       ▷ 화일의 화면 출력
          % cat file_name

       ▷ 화일의 생성
          % cat > new_file
          ... 화일의 내용을 입력 ...
          ^D (입력종료)
          %

       ▷ 복수개의 화일을 하나의 화일로 결합
          % cat file1 file2 file3 > all_file



mv 명령어

mv 는 화일의 위치를 옮기거나 이름을 바꾸는데 사용됩니다.

       ▷ 이름변경
          % mv old_name new_name

       ▷ 화일의 위치변경
          % mv file ../doc/new_file

       2.4.3. cp 명령어

  화일을 복사하는 명령어입니다.

       % cp file.org file.cp
       % cp file.org ../doc    ; doc이 디렉토리일 경우 ../doc 디렉토리에
                                 file.org 란 이름으로 복사된다.
       % cp file.org ../doc/file.cp ; ../doc 디렉토리에 file.cp 로 복사



rm 명령어

rm 은 화일을 삭제하는 명령어입니다.

       % rm a.dat
       % rm -r ../doc  ; ../doc 디렉토리 전체를 삭제 (recursive)
       % rm -i a.*     ; "a"로 시작하는 모든 화일을 일일이 삭제할 것인지 확인하면서 삭제 (interactive)



ls 명령어

ls 는 화일의 목록을 보는 명령어입니다. 이 명령어에는 40  여개가 넘는 옵션이 있으며 그 중 중요한 몇개를 보이면 다음과 같습니다.

 -F  화일 유형을 나타내는 기호를 화일명 끝에 표시(디렉토리의 경우 "/", 실행화일의 경우 "*", 심볼릭 링크화일의 경우 "@"를)
 -l  화일에 관한 더 상세한 정보를 출력
 -a  dot 화일(.cshrc 등)을 포함한 모든 화일을 리스트
 -t  화일이 생성된 시간별로 리스트



grep 명령어

grep은 화일내에서 특정 항목을 찾는데 이용되는 명령어입니다.  grep 의 첫번째 파라메터는 찾고자 하는 내용에 대한 표현식이고  나머지 파라메터는 찾을 화일명들입니다. 그 사용예는 다음과 같습니다.

       % grep smith *.doc      ; ".doc" 으로 끝나는 모든 화일에서 "smith"를 포함하는 모든 행을 출력



more/tail 명령어

more 명령어는 한  화면이 넘는 화일을 한 화면단위로 보여주는  명령어입니다. 스페이스바를 누르면 다음 화면으로 넘어가고 "q"를  누르면 출력을 중간에서 종료하게 됩니다. 이 외에도 많은 more 의 내부 명령어가 있으며  이들에 관한 간략한 설명은 "h" 를 누르면 얻을 수 있습니다.

tail 명령어는 화일의 뒷부분을 출력해주는 명령어입니다. "-"  다음에 화일의 끝에서 부터 출력하고자 하는 행 수를 명시할 수 있습니다.

       % tail letter.doc
       % tail -100 letter.doc  ; letter.doc 화일의 마지막 100 행을 출력



chmod 명령어

chmod 는 사용자에 대한 화일의 접근을 제한하는데  사용됩니다. 유닉스에서 각 화일은 읽기(r,  read), 쓰기(w, write), 실행(x, executiuon)에 관한  권한을 소유자(u, user), 그룹멤버(g, group), 일반사용자(o, other)  로 나누어 할당할 수  있습니다. 다음은 "note.doc" 화일에  대한 "ls -l" 명령을  수행하여 그 화일의 상세정보를 출력한 예입니다.

  -rwxrwxrwx  kimys  staff  7631  May 31 09:21 note.doc
   | || || |  -----  -----  ----  ------------ --------
   +-++-++-+  소유주 그 룹  크기   마지막 갱신  화일명
    u  g  o

  위에서 제일 처음의  "-"는 일반화일을 의미하는 것이며 디렉토리일  경우에는 "d"가 표시됩니다.

     몇몇 사용예를 보이면 다음과 같습니다.

       % chmod u+x note.doc ; note.doc 화일의 소유자에게 실행할 수 있는 권한을 부여
       % chmod go-rwx *     ; 모든 화일에 대해 그룹/일반 사용자에게 모든 권한을 박탈



who/w 명령어

자신의 시스템내에 현재 누가, 무엇을 하고 있는지  보는 명령어입니다. who명령은 누가, 어디에서 들어와서 시스템을 사용하고 있는지 보는  것이고, w 는 누가, 무엇을 하고 있는지 보는 명령입니다. 다음은 그 예입니다.

       % who
       kimys   console  Jun 1  09:08
       gglim   ttyp0    May 31 10:30  (guru.kotel.co.kr)

       % w
       User   tty     login@   idle   JCPU  PCPU   what
       kimys  console 09:08    02:30    19     8   ctwm
       gglim  ttyp0   10:30    14:39    43     9   elm

  위의 who 결과에서 보듯이 현재 이 시스템은 두명이  사용하고 있는데 kimys 란 사용자는 콘솔을 사용하고 있으며 gglim 이란  사용자는 guru.kotel.co.kr에서 들어와서 해당 시스템을 사용하고 있음을 보여준다. w  결과를 통해 kimys는 ctwm을 수행중이고 gglim은 elm을  통해 전자우편을 검색하고 있음을 알 수  있다.



finger 명령어

finger 는  특정 사용자에 관한 정보를  조회하는 명령어입니다. finger  는 사용자에 대한  login 명, 실제 이름,  단말기 이름, 로그인한 시간,  유휴시간 (idle time) 등에 관한 정보를 보여줍니다. 명령어 양식은 다음과 같습니다.

       finger [ options ] name

  위에서 name은 정보를 조회하고자 하는 사용자의 id 이며,  여기에 "@" 기호 가 포함한 원격 호스트상의 사용자 id가 오면, 해당  시스템에 접속하여 사용자 정보를 가져  옵니다. 옵션 중 대표적인  것 두가지를 설명하면 다음과  같습니다.

  -s   사용자에 대한 간단한 정보만을 출력
  -l   사용자에 대한 상세 정보를 출력(디폴트)

  다음은 그 사용 예입니다.

  % finger          ; 시스템을 사용하고 있는 전체 사용자에 대한 간단한 사용자 정보 출력
  % finger -s kimys ; 사용자 kimys에 대한 간단한 정보 출력
  % finger gglim@guru.kotel.co.kr ; guru.kotel.co.kr 이란 시스템의 사용자 gglim에 대한 상세정보 출력
  % finger @guru.kotel.co.kr ; guru.kotel.co.kr에 현재 로긴한 가입 에 대한 정보 출력. 단 다른 호스트에 대한 finger시 상대방시스템에서 finger를 허용해야됨.



write 명령어

write는 표준입력으로 부터의  메시지를 특정 사용자의 단말기에 보내는  명령으로 다음의 형식으로 사용합니다.

       write user_name [ ttyname ]

user_name은 사용자 id로 "@" 기호를 이용하여 원격  시스템의 사용자에게도 메시지를 보낼 수 있습니다.  단 이때 write 명령을 이용하여 어떤  사용자에게 메시지를 보내기 위해서는 그 사용자는 반드시 해당 시스템을 로그인한 상태여 야 합니다(사용자의 로그인  여부를 확인하기 위해서는 위에서 언급한 who,  w, finger 등을 이용하면 됩니다). 지정한 사용자가 해당  시스템에 복수개의 로그 인 세션을  맺고 있는 경우에는 ttyname을  붙여서 어떤 단말로 메시지를  보낼 것인지를 명시합니다. 다음은 그 사용예입니다.

       % write gglim@guru.kotel.co.kr
       안녕하십니까? 곧 시스템이 다운될 예정이니 -+
       지금 곧 로그아웃하여 주십시오.            -+ 메시지 내용
       ^D
        write에 의한 장난을 막으시려면 % mesg -n을 하시면 됩니다.



talk 명령어

talk는 두 사용자가 컴퓨터  단말을 통해 대화를 나눌 수 있도록 하는  명령으로 그 형식은 다음과 같습니다.

       talk user_name [ ttyname ]

  위에서 보듯이 명령어 형식은  write 와 동일하나 단지 차이점은 talk의  경우 대화식으로 두  사용자가 통신을 주고받는다는 점입니다. talk 명령을  내리고 상대방이 대화에 응하여  세션이 성립되면 화면이 상하 두단으로 나누어  지면서 상단에는  자신이 입력하는 내용이,  하단에는 상대방이 입력하는  내용이
출력되어 서로 통신을 하게됩니다.



ping 명령어

ping은 네트웍에 연결된  상대 호스트로 패킷을 보내 그 호스트와의  연결상태를 점검하기 위한 명령으로 형식은 다음과 같습니다.

 ping [-s] host_name

아무런 옵션없이 host_name만  명시하면 네트웍을 통한 그 호스트로의  연결 여부만을 출력하며, "-s" 옵션을 이용하면 매초 한 데이타그램을 해당  호스트 로 보내고 그것에 대한 응답여부 및 통계값을 출력하여 줍니다.

이 ping 명령은 특정 시스템으로 접속이 안될 경우  네트웍상의 문제를 진단해 볼 수 있는 가장 유용한 명령의 하나입니다.

마지막 명령어



1) 화일과 디렉토리

사용자가 UNIX 시스템에 계정을 획득 했다고 해도 사용자가 모든 화일을 마음대로 처리할 수 없도록세단계로 사용자를 구분합니다.



1 수퍼 사용자 2 그룹 사용자 3 일반 사용자

일반적으로 일반 사용자는 자신의 홈 디렉토리이외에는 자료를 저장할 수 없고그이외의 영역에 있는 정보는 단지 정보를 읽거나 명령을 실행할 수밖에 없도록 구성되어 있고,수퍼 사용자는 공통의 보를 필요에 따라 일반 사용자가 쓰거나 읽지 못하도록 할 수 있습니다.



보통 명령이 실행되지 않을 때에는 잘못된 path경로 설정을 한경우가 가장 많습니다.



a. 화일의 종류 b. 경로 설정 c. passwd 명령 d. who 명령 e. date 명령 f. cal 명령 g. stty 명령 h. set 명령 i. env 명령

a. 화일의 종류

UNIX 에서는 화일의 종류가 6가지 있습니다.



1 정규화일 2 디렉토리 (directory user-host% ls -al -rwx------ 1 dove 4061 Jul 8 10:02 .cshrc drwx------ 10 dove 1536 Jul 22 17:14 work/ user-host%

이때 각 행의 맨 앞에 - 으로 표시된 것은 정규화일 이고,d 로 표시된 것은 디렉토리입니다.



디렉토리는 수 많은 정규화일을 한곳에 모아 관리하면어디에 어떤 정보가 있는 지를 알수 없으므로분리하여 사용자가 관리하도록 도와 주기 위한 것으로컴퓨터의 활용은 이디렉토리를 어떤게 각자가 운영하는가가 관건이 라고 할 수 있습니다.



사용자는 하나의 디렉토리 밑에 24개 이상의 정규 화일을 두지 않는 것이 좋습니다.



정규화일은 cat명령, more 명령, file명령을 사용하여 어떤 정규화일 인가를 알 수 있습니다.



b. 경로 설정

사용자가 쓰는 UNIX 명령들은 공통의 디렉토리에 존재하고 공통의 디렉토리들은 다음과 같습니다.



/usr /usr/bin /usr/lib /usr/man /bin /dev /etc /lib

사용자는 자신이 소유하고 있는 디렉토리에서 마음대로 위의 디렉토리 밑에 있는 정보를사용할 수 있어야 하며, 위의 디렉토리의 정보는 사용자도 모르는 사이에자신의 명령에 의해서 시스템이 사용하고 있습니다.



set path = (. ~ ~/bin $lpath /usr/local /usr/ucb /usr/bin /usr/etc )

위의 내용은 자신이 소유한 디렉토리 (HOME 디렉토리) 에 있는 .cshrc라는 화일에위와 같은 내용이 있는 지를 검토해보고 more, cat 명령들 없으면 에디터를 이용하여 첨가하고,보다 자세한 내용을 알고자 하면 ftp://sun330.snu.ac.kr 또는 ftp://147.46.80.5에서

pub/Unix/Beginner/Csh.* 라는 화일들을 가져와서 보십시오.



your-host% cd your-host% ftp://sun330.snu.ac.kr Connected to sun330.snu.ac.kr.

220 sun330 FTP server (SunOS 4.1 ready.)Name (sun330:dove: anonymous)331 Guest login ok, send ident as password.

Password: 여러분의 E-mail 주소 이부분은 화면에 나타나지 않습니다.

230 Guest login ok, access restrictions apply.

ftp> cd /pub/Unix/Beginner 250 CWD command successful.

ftp> get Cshrc.ks : (중간 생략) : 4273 bytes received in 0.04 seconds (1+02 Kbytes/s)ftp> quit

221 Goodbye.

your-host% mv .cshrc Cshrc.old your-host% mv Cshrc.ks .cshrc your-host% rehash your-host% source .cshrc

c. passwd 명령

시스템의 관리자가 가장 권고하는 명령입니다.

일반 사용자는 이명령의 중요성을 인식하지 못하고 있으나,사용자의 계정을 다른 사람이 쓰는 것을 막고 정보를 보호 하는 가장 기초적이고 효과적인 방법입니다.

심지어는 자신도 모르는 사이 다른 사람이 자신의 계정을 이용하여다른 컴퓨터의 국가적인 자산에 해를 입힐 수도 있습니다.



사용자는 자신의 패스워드를

* 최소한 1 주일에 한번씩 바꾸주어야 하고, * !@#$%^&*(<>{}[];:'+-_= 등의 특수문자를 사용하고, * 자신의 이름등 남이 추측할 수 있는 용어를 이용하여 만들면 안되며, * 다른 사용자에게 빌려 주어서는 안됩니다.



위의 권고안을 지키지 않았을 때 시스템관리자가 사용자의 계정을 지울 수도 있습니다.



passwd 명령을 사용한 예

your-host% passwd

Changing password for your-login-name on your-host-name .



Old password: - 이 부분은 화면에 보이지 않고, 잘못 입력 했을때는 더이상 진행되지 않습니다.



New password: - 역시 화면에 보이지 않고, 여섯 문자 이상이 아니면 다시 질문을 합니다.



Retype new password: - 역시 화면에 보이지 않고, 앞에 입력한 New passwd와 일치하지 않으면 전에 사용했던 passwd를 유지합니다.



your-host%

d. who 명령

who 명령은 현재 시스템을 사용하고 있는 계정들의 정보를 출력함으로서UNIX의 강력한 기능인 통신 명령들(write, talk 명령)을 효과적으로 쓸 수있도록 도와주는 명령으로다음과 같습니다.



1. who 2. who am i 3. whoami

who 명령의 사용 예

your-host% who

dove ttyp0 Jul 22 09:27 (kreonX2.kreonet.) cypark ttyp1 Jul 22 14:35 (150.197.1.2) chkim ttyp4 Jul 22 16:44 (nmc.kreonet.re.kr) kaeri ttyp6 Jul 22 17:10 (kaerigw.kaeri.re) ksu ttyp8 Jul 22 17:12 (134.75.95.104)

who am i 명령의 사용예

example% who am i

sun330 ! dove ttyp9 Jul 22 17:12 사용중인 계정 시스템명 이름

whoami 명령의 사용예

example% whoami

dove

e. date 명령

현재의 날씨와 시간을 화면으로 나타내게 하는 명령으로 사용예는 다음과 같습니다.



date 명령의 사용예

example% date

Wed Jul 22 16:38:34 KST 1992

오늘는 수요일이고1992년 7월 22일 오후 4시 38분이라는 뜻입니다.



f. cal

달력을 화면에 출력하는 명령으로 원하는 년의 전체 월을 볼 수도 있고 사용 자가 지정한 월만을볼 수도 있습니다. 다음은 현재의 속해있는 달의 정보만을 출력하는 예입니다.



cal 명령의 사용예

example% cal

July 1992

S M Tu W Th F S 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 31cal 명령의 사용예 2

example% cal 1 1963

January 1963 S M Tu W Th F S 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

g. stty 명령

stty 명령은 현재 사용하고 있는 단말기의 상태를 표시해 주는 것으로서 키보드를 효과적으로활용할 수 있는 정보가 포함 되어있습니다.



stty 명령의 사용예

example% stty -a speed 9600 baud, 24 rows, 80 columns : : (중간 생략)

erase kill werase rprnt flush lnext susp intr quit stop eof ^H ^U ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D

H : U : 영문자 u,U W : 영문자 w,W Z : 영문자 z,Z C : 영문자 c,C S : 영문자 s, Q : 영문자 q,Q D : 영문자 d,D

각사용자 마다 현재 set되있는 stty가 다릅니다.



stty 에서 정의된 키들의 사용 방법 1. erase ^H 2. kill ^U 3. werase ^W 4. susp ^Z/^Y 5. intr ^C 6. stop ^S/^Q 7. EOF ^D

1. erase : 한 글자 지움

example% ls -al wokr

예를 들어 work를 wokr로 잘못된 글자를 입력 한 후, backspace를 두번 사용 하면

example% ls -al wo

와 같이 글자를 지우는 역활을 합니다.

만일 사용자가 이 키를 이미 숙달되어 있는 다른 delete 키로 set하고자 하면A.의 명령을 수행하거나, A.의 명령을 .cshrc 또는 .login 화일에 보관하고B.,C의 명령을 수행 하면 됩니다.



A. stty erase '^?' B. cd;rehash C. source .cshrc

2. kill : 행 전체를 지움

example% ls -al wokr

예를 들어 work를 wokr로 잘못된 글자를 입력 한 후, ctrl - U를 사용하면

example%

와 같이 글자를 지우는 역활을 합니다.

만일 사용자가 이 키를 이미 숙달되어 있는 다른 delete 키로 set하고자 하면A.의 명령을 수행하거나, A.의 명령을 .cshrc 또는 .login 화일에 보관하고B.,C의 명령을 수행 하면 됩니다.



A. stty erase '^?' B. cd;rehash C. source .cshrc

3. werase : word erase

example% ls -al wokr

예를 들어 work를 wokr로 잘못된 글자를 입력 한 후, ctrl - W를 사용하면

example% ls -al

와 같이 단어를 지우는 역활을 합니다.

만일 사용자가 이 키를 이미 숙달되어 있는 다른 delete 키로 set하고자 하면A.의 명령을 수행하거나, A.의 명령을 .cshrc 또는 .login 화일에 보관하고B.,C의 명령을 수행 하면 됩니다.



A. stty erase '^?' B. cd;rehash C. source .cshrc

4. susp : suspend

ctrl - Z

사용자가 지시한 명령을 잠시 중지 시킬때 사용하는 키로서, 작업이 잠시 중지 되지만,사용자는 다음의 명령을 이용하여 쉽게 작업을 재진행 시킬수 있습니다.



bg : back-ground fg : fore-ground

bg 명령은 suspend시킨 작업을 사용자의 화면에 보이지 않으면서 작업을 재동작합니다.

fg 명령은 suspend시킨 작업을 사용자의 화면에 보이면서 작업을 재동작합니다.



editor 작업 중간에 다른 중요한 일을 먼저 처리해야 한다면 ^Z을 누루고한일을 해결한후fg (fore-ground) 라고치면 editor로 되돌아 옵니다.



5.intr : interrupt

ctrl - C

사용자가 지시한 명령을 완전히 중지 시킬때 사용하는 키입니다.

이 키는 반드시 명령을 수행하고 있는 중간, 즉 화면에 prompt가 출력되기 전에만이명령이 유효 합니다.



6. stop : 중지, continue : 계속

ctrl - S : 화면의 출력이 너무 빠라서 잠시 정지 시킬때 ctrl - Q : 정지된 화면을 다시 움직이게 할때

보통 사용자는 문자가 보관된 정규 화일의 경우 cat명령이나 more 명령으로화일에 보관된 정보를 볼수 있으나 이때 화면이 너무 빠를게 넘어가는 것을 잠시중시 시킨 후다시 볼 수 이는 키들입니다.



7. EOF : End Of File

ctrl - D

작업중의 기계에서 빠져나 가고자 할때 사용하는 키입니다.

그러나 사용자가 작업중에 무심고 잘못 이 키를 사용할 수 있으므로 set ignoreeof 명령으로빠져나가지 않게 할 수 있습니다.

또 unset ignoreeof 명령으로 빠져나가는 것을 허락 할 수 있다.

unset ignoreeof, set ignoreeof 명령이 사용자가 소유한 .cshrc나 .login에 있는지를 확인하십시오.



h. set 명령

현재 사용하고 있는 터미날정보를 볼 수있는 명령입니다.



example%set

HOSTNAME sun330 PWD /priv/dove/work

term xterm user dove

이곳에 정의된 정보는 .cshrc 이나 .login에서 정의 된 것이며, 이곳에 정의 된 내용중 term을변경하고자 하면 .cshrc화일을 수정하거나, 다음 명령을 사용하면 됩니다.



example% set term=vt100

i. env 명령

현재 사용하고 있는 terminal 정보를 볼 수 있는 명령입니다.



example% env

HOME=/priv/dove LOGNAME=dove : : (중간 생략) PWD=/priv/dove/work TERM=xterm USER=dove

이곳에 정의된 정보는 .cshrc 이나 .login에서 정의 된 것이며,이곳에 정의 된 내용중 TERM을 변경하고자 하면 .cshrc화일을 수정하거나,다음 명령을 수행됩니다.



example% setenv TERM vt100







2) 에디터들(editors)

UNIX에는 다음과 같이 여러가지 에디터들이 사용되고 있습니다.



ex, e, ed, red (/usr/bin/ 디렉토리에 있음) edit, vedit, vi , view (/usr/ucb/ 디렉토리에 있음) pico (/usr/bin/ 디렉토리에 있음)

이곳에서는 vi 에디터의 사용을 기본으로 이야기 하고 있습니다.

보통 vi 에디터에서의 명령이 다른 에디터에서도 유효합니다.



vi 에디터

1. Cursor 위치를 변경하는 명령들2. vi 명령들3. 자세한 정보를 가져 오려면...



명령을 잘 활용하는 방법은 'man' 명령을 이용하는 것입니다.

UNIX 명령에 좀 익숙 하신분들은 'man' 명령을 활용 하십시오.



1. Cursor 위치를 변경하는 명령들

vi Cursor Positioning - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -

:1G (go) : : /\ ^b (back) : : || /\ ^u (up) : |----------------------||--------------------||--------------------| |H (home) | | k O (open) | |I i (insert) /\ a (append) P (put) A | | | | |O <--------- h> l -------------->$| | | | |M (middle) (backspace) \/ (space bar) p(put) | | j o (open) | | Y (yank) /string | | n repeat last search | |L (last) . repeat last command| |----------------------||--------------------||--------------------| : || \/ ^d (down) : : \/ ^f (forward) : :\$G (go) : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "



2. vi 명령들

1. Cursor를 옮기는 여러가지 방법 2. 화면을 옮기는 여러가지 방법 3. 한 화면 안에서 cursor를 옮기는 방법 4. 한 line 안에서 cursor를 옮기는 방법 5. 검색 6. vi를 빠져나가는 방법 7. 삽입 mode 8. Yanking : (Copying) 9. Deleting 10. Putting 11. Interactive edit : (search and replace) 12. Global 명령 13. Reading in files 14. 여러 화일의 edit 15. Miscellancenous commands

1. Cursor를 옮기는 여러가지 방법

k(-) /\ || h(bs) <------> l(sp) || \/ j(+)

h,j,k 와 i 를 이용하영 간단히 키보를 누르면 cursor의 위치가 변경됩니다.



괄호에 있는 키를 선택하여도 됩니다.



bs : BackSpacesp : Space bar

2. 화면을 옮기는 여러가지 방법

^f - (FORWARD 화면을 one page 앞으로 옮김) ^b - (BACKWARD 화면을 one page 뒤으로 옮김) ^d - (DOWN 화면을 반 page 앞으로 옮김) ^u - (UP 화면을 반 page 뒤으로 옮김)

3. 한 화면 안에서 cursor를 옮기는 방법

H - HOME, 한 화면의 top line으로 옮긴다.

M - MIDDLE, 한 화면의 중간으로 옮긴다.

L - LAST, 한 화면의 마지막 line으로옮긴다.

G - GOTO, 화일의 마지막 line으로 옮긴다.

nG - GOTO nth line the file (or :n) ^G - GIVES file status

4. 한 line 안에서 cursor를 옮기는 방법

w - WORD, 한단어 앞으로 b - BACKWARD, 한단어 뒤로 e - END, 현재 cursor가 위치한 맨 뒤로 o - zero, line의 맨 앞으로 (or ^) $ - end, line의 맨뒤로

5. 검색



/pattern - scan (/ 'pattern'이라는글자를 현재 cursor가 위치한 곳의 다음 단어를 검색) ?pattern - scan (? 'pattern'이라는 글자를 현재 cursor가 위치한 곳의 앞 단어를 검색) n - 앞쪽에서 입력했었던 문자 'pattern' 의 다음단어를 검색 N - 앞쪽에서 입력했었던 문자 'pattern' 의 다음 앞 단어를 검색

6. vi를 빠져나가는 방법

:q! - 화일의 내용을 저장하지 않고 exit :w - WRITE, vi를 빠져나가지 않으면서 내용을 저장 :wq - WRITE and QUIT, vi를 빠져나가면서 내용을 저장 ZZ - :wq의 명령과 같다.



7. 삽입 mode

i - INSERT, cursor 위치 부터 문자 삽입 I - INSERT, line의 맨 앞부터 문자 삽입 a - APPEND, cursor 다음 위치 부터 문자 삽입 A - APPEND, cursor 위치한 line의 끝부터 문자 삽입 o - OPEN line, 현재의 line 다음에 line 삽입 O - OPEN line, 현재의 line 앞에 line 삽입 r - REPLACE, 한 문자만을 대치 (does not require ESC) R - REPLACE, ESC 키가 입력될때 까지 대치 cw - CHANGE word, cursor가 위치한 곳의 단어 끝까지 대치 (cnw - change n number of words) C - CHANGE, cursor가 위치한 곳에서 line 끝까지 대치 u - UNDOES, 마지막 명령의 취소 U - UNDOES, line전체를 원 상태로 복구

Note : INSERT mode 를 만든는 모든 문자(i, a, o,r, c, s <대문자 포함>)를 사용하는 경우 insert mode에서 입력 한 내용을 취소하고자 하면, ESC 를 누르고 undo를 수행하는 u를 입력하면 된다.



Note : ESC (escape key 는 삽입) insert를 중지 시키고 명령어 mode로 돌아가는 키이다.



8. Yanking : (Copying)

Y - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장) yy - YANKS (copies line을 사용자가 보이지 않는 buffer에 저장) nY - YANKS n , n line을 사용자가 보이지 않는 buffer에 저장

9. Deleting

x - deletes, 문자 하나를 삭제 (also 'd sp') dw - DELETES words, 문자 하나를 삭제 D - DELETES, cursor가 있는 곳에서 부터 line끝 까지 삭제 dd - DELETES lines, line하나를 삭제 하고 보이지 않는 buffer에 저장 ndd - DELETES n, n line을 삭제 하고 보이지 않는 buffer에 저장 (i.e., 10dd deletes 10 lines)

10. Putting

p - PUTS, cursor가 위치한 다음 line에 보이지 않는 buffer의 내용을 삽입 P - PUTS, cursor가 위치한 앞 line에 보이지 않는 buffer의 내용을 삽입 xp - cursor 가 위치한 문자와 다음 문자를 교환

11. Interactive edit : (search and replace)

/pattern - find, pattern이라는 문자를 검색 cw - change word, 단어를 대치 (cw. dw, r, s, etc.) n - find, 앞에서 검색했던 'pattern'이라는 문자를 검색하는 반복 명령 N - find, 앞에서 검색했던 'pattern'이라는 문자를 역순으로 검색 하는 반복 명령

12. Global 명령

Global replacement :1,\$s/string1/string2/g 1 line부터 끝까지 string1 를 string2 로 대치 e.g., :1,\$s/sun/SUN/

Global delete :g/pattern/d 1 line부터 끝까지 pattern 을 제거 e.g., :g/###/d (to delete lines inserted by cc file.c | error-v)

13. Reading in files

:r file2 - cursor가 위치한 다음 line에 file2를 삽입

14. 여러 화일의 edit

:w - 다른 화일을 읽기전에 현재의 화일을 저장 (file1) :e file2 - 두번째 file을 edit하기 위해 load (file2) :w - 두번째 화일을 저장 (file2) :e # - original file 을 수정하기 위해 load (file1) example:w /* file1을 빠져 나가기전에 저장 */ :e file2 /* file2 load */ \x4Y /* buffer 'x'에 file2의 top 4 line을 저장 */ :e # /* file1 을 load (no changes) */ \"xP /* buffer 'x'에 저장 되어 있는 내용을 put */

15. Miscellancenous commands

:! cmd - editor안에서 shell command를 수행 하고자 할때 ~ - (tilde or 'wavy') 대문자를 소문자로 소문자를 대문자로 교환 % - 한 line안에서 (,,{,},[,]를 검색) mx - 문자 x에 현재 위치를 표시 d'x - 문자 x에 표시된 위치 부터 현재 cursor 위치 까지 삭제 ^V - allows for insertion of control characters (e.g.,^L) ?string - scan (/ backward for 'pattern') :n,m w file - n line에서 m line까지 내용을 file 이라는 이름으로 (e.g., 15,25 w file) J - JOINS, cusor가 있는 line과 다음 line을 join :set ai - editor 가 자동적으로 insert tabs을 삽입 :set list - special characters 를 보여줌 (i.e., non-printable characters) :set nows - stop wraparound search :set ts=n - set tab stops to be other than the default (8) :set wm=n - set wrap margin (automatic carriage return insert at n)

3. 자세한 정보를 가져 오려면...



ftp sun330.snu.ac.kr or ftp 147.46.80.5

위의 명령을 이용하여 /pub/Unix/Beginner에 다음의 정보가 보관되있습니다 .



-rw-r--r-- 1 root 3 2654 Jul 22 11:52 Cshrc-rw-r--r-- 1 root 3 4644 Jul 23 15:13 Cshrc.ks-rw-r--r-- 1 root 3 4588 Jul 28 10:50 Quick_reference_vi-rw-r--r-- 1 root 3 5260 Jul 28 10:49 Quick_reference_vi.ks-rw-r--r-- 1 root 3 1514 Jul 27 13:41 vi_cursor_positioning-rw-r--r-- 1 root 3 19413 Jul 27 13:41 vi_cursor_positioning.ps







3) 알아두면 편리한 UNIX 명령어들

사용자가 키보드을 보다 빠르게 사용할 수 있도록 도와줍니다.



A. un-alias B. ESC 키의 활용 C. cd ~ D. ^ 문자 E. !$ 명령 F. history 명령 G. pushd/popd 명령 H. goto/goback 명령I. whereis 명령 J. which 명령 K. whatis 명령 L. script 명령

A. un-alias

보통 사용자는 자신의 HOME 디렉토리에 여러가지 alias를 정의하고 사용할 것입니다.



예를 들어 사용자가 자신의 .cshrc 화일에

alias rm 'rm -i'

라는 명령을 삽입하였다면,사용자가 rm 명령을 사용할때 마다 해당하는 화일을 정말로 지우고자 하는 지를 확인하는메세지가 나오고 사용자는 'y'라는 문자를 입력하여야 합니다.

이때 사용자가 확인 없이 여러화일을 지우고자하면 명령의 앞부분에 '\'문자를 첨가하면alias되지 않은 명령을 수행합니다.

이는 모든 alias에 적용됩니다.



unalias의 사용예 example% ls core core example% alias rm rm -i example% rm core rm: remove core? n example% \rm core example%

B. ESC 키의 활용

사용자의 .cshrc화일에 다음과 같은 명령을 추가하십시요.



set filec

위의 명령은 사용자가 문자수가 긴 화일명을 입력할 때 유용합니다.

예를 들어 현재의 디렉토리에 다음과 같은 화일들만이 있고,

vi_cursor_position vi_cursor_positioning

사용자가 more 명령을 이용하여 화일이 어떤 내용인지를 알고자 할때,사용자는 ESC 키를 이용하면 타이핑의 실수를 방지할 수 있습니다.



example% more vi ESC

위와 같이 vi라는 문자 까지만 입력하고 ESC 키를 사용하면위의 두 화일명의 공통된 문자들 까지만 다음과 같이 출력됩니다.



example% more vi_cousor_position example% ls v* vi_cursor_position.ps vi_cursor_positioning.ps example% file v i_cursor_position . ps /* 이행의 입력은 file v - ESC - . - ESC 이다. */ vi_cursor_position.ps: PostScript document example%

C. cd ~login

보통 사용자의 계정은 같은 사무실이나 연구실에 근무하는 다른 사람들과 같이하나의 group 안에서 관리되며, 각 사용자가 같은 group 사용자에게자신이 소유 하고 있는 자료를 참고하도록 허락할 수 있습니다.

이때 사용자는 같은 group의 다른 사용자의 디렉토리로 옮기고자 하면옮기고 자 하는 사용자의 디렉토리들 일일히 기술하지 않아도 ~ 문자를 이용하면쉽게 디렉토리 move가 가능합니다.



example% cd ~ftp/pub

~ 문자의 사용예

your-home% cd ~ftp ftp-user-home% ls README bin/ etc/ ls-lR.Z upload/ ftp-user-home% more README : : (중간 생략) ftp-user-home% cd your-home%

D. ^ 문자

^ 문자는 사용자가 문자 입력의 실수를 다음 명령에서 수정 할 수 있도록 도와주는 c-shell 문자로서,방금전에 사용했던 명령들의 문자를 모두 다시 모두입력 하지 않고 수정하고자 하는 문자만을입력할 수 있는 특수 기호 명령입니다.



^ 문자의 사용 예 example% ls-l ls-l: Command not found.

example% ^-^ - ls -l total 1269 drwx------ 2 dove 512 Dec 2 1991 Garam/ : : : : (중간생략) example%

두번째 명령은 첫번째 명령의 - 부분을 blank와 - 로 대치하는 명령입니다.



E. !$ 명령

!$ 문자는 사용자가 앞에서 사용한 명령의 잘못된 부분을 수정하여 재입력하기 편리한 문자입니다.



!$ 명령 사용예

example% ls -al total 8 drwx------ 10 dove 1536 Aug 3 14:16 ./ drwx------ 35 dove 1536 Aug 3 14:29 ../ -rwx------ 1 dove 796 Apr 2 14:13 wholog.c* -rwxr-xr-x 1 dove 429 Jul 23 14:42 yes.sh* example% file yes.sh yes.sh: EUC text example% more !$ more yes.sh : : (이하 생략) example%

F. history 명령

set history=40 set savehist=40

최근에 사용했던 40개의 명령을 기억해 두는 command로써사용자의 .cshrc 화 일에 저장해두면 편리합니다.



set history=40 명령은 prompt 상에서 수행한 명령들을 지정된 수만큼 저장해 두라는 선언입니다.

뒤의 수치는 명령을 저장하는 최대 갯수로 수행된 명령의 수가 지정된 수보다 많아 지면오래된 순서로 사라지고 최근의 것이 저장됩니다.

등록된 명령은 prompt% !(등록number)를 하여 다시 typing 안하고 사용할 수 있습니다.

prompt% history 하면 수행된 순번과 명령이 나옵니다.

여기서 등록 number를 알 수 있습니다.

set savehist=40 명령은 history 선언에 의해 등록된 명령 중에서logout하기 전의 명령부터 지정된 수치만큼 저장하여 다음번 login하였을 때 사용할 수 있습니다.



history 사용예

your-home% pwd /group/your-login/ your-home% history 1 cd work 2 ls -al 3 ls 4 pwd 5 history your-home% !4 pwd

/group/your-login/ your-home% !! pwd

/group/your-login/ your-home%

G. pushd/popd 명령

pushd와 popd 명령은 ~와 같이 사용자에게 디렉토리 move를 쉽게 해줄 수 있는유용한 도구입니다.

push directory와 pop directory의 뜻으로서 가장마지막에 push 한것이가장먼저 pop되는 원리로서 드럼 모양의 입구가 하나인작은 동전 통을 연상하시면 됩니다.

다음의 내용을 사용자의 .cshrc 화일에 첨가하면 보다 현재의 디렉토리에 관한정보를 prompt 상에서 쉽게 식별 할 수 있고 pushd/popd의 명령 환경을 쉽게 확인할 수 있습니다.

(sun330 의 /pub/Unix/Beginner에 .cshrc화일을 ftp 하십시오.)

alias a alias a pushd 'pushd \!*;.......(중간생략) a popd 'popd \!*;.........(중간생략) a cd 'cd \!*;.............(중간생략)

pushd/popd 사용예

example% pushd . ~ ~ example% cd work example% pushd . ~/work ~/work ~ example% cd ../Mail example% popd ~/work ~ example% pwd /priv/dove/work example% popd ~ example% pwd /priv/dove example%



H. goto/goback 명령

각 사용자의 .cshrc화일에 다음의 사항을 입력하여 두면 gt,gb 두명령을 이용하여작업하는 디렉토리의 변경을 쉽게 할 수 있습니다.



alias gb 'set d2 = \$cwd; cd \$d1 ; set d1 = \$d2; \$cwd'alias gt 'set d1 = \$cwd; cd \\!^'

goto/goback 명령의 사용예

example3% gt ~ftp/pub/Unix/Beginner example4% ls Cshrc beginner.sh*Cshrc.ks vi_cursor_positioningQuick_reference_vi vi_cursor_positioning.psQuick_reference_vi.ks vi_people_helperQuick_reference_vi.psexample5% gb /priv/doveexample6% pwd /priv/doveexample8%



I. whereis 명령

binary, source, manual page files의 위치를 찾을 수 있는 명령으로서,다음에 경로를 검색하여 그결과를 출력합니다.



/usr/{bin, 5bin, games, hosts, include, local, etc, lib, man, src, ucb}

whereis 의 사용예

example% whereis mail mail: /usr/bin/mail /usr/ucb/mail /usr/local/mail.reconf /usr/man/man1/mail.1example% whereis elm elm: /usr/local/bin/elmexample% whereis tar tar: /usr/bin/tar /usr/old/tar /usr/include/tar.h /usr/man/man1/tar.1 /usr/man/man5/tar.5



J. which 명령

which 명령은 각 사용자가 정의한 ~/.cshrc 화일에서 정의 한 내용을 이용하여사용자에게 명령의 위치를 알려주는 유용한 명령어입니다..



which 명령을 활용하는 내용

1 ~/.cshrc 화일의 경로를 따라 명령이 있는곳을 검색2 ~/.cshrc 화일에서 정의한 alias의 검색

which 의 사용예

example% which pwd pwd: aliased to $cwdexample% which ls ls: aliased to ls -Fexample% which mail /usr/ucb/mailexample% which talk /usr/ucb/talkexample% which whiche no whiche in /usr/ucb /usr/local /usr/net /usr/local/net /usr/local/bin /usr/openwin/bin/xview /usr/openwin/demo /usr/etc /usr/bin /usr/openwin/bin /priv/dove /priv/dove/bin /bin /usr/5bin /priv/dove/address .

example% which which /usr/ucb/which



K. whatis 명령

whatis 명령은 시스템이 현재 가지고 있는 명령들의 한줄 요약을 출력시켜주는 명령으로usr/man/whatis라는 화일이 없으면 결과를 출력해 볼수 없습니다.



이때는 시스템 관리자에게 'catman' 이라는 명령을 이용해서 whatis 데이타 베이스 화일을만들도록 요청하십시오.

새로운 명령이 시스템에 추가될때 마다 다시 whatis 데이타 베이스를 만들지 않으면새로운 명령의 whatis 서비스가 제공되지 못합니다.



apropos - keyword가 있는 명령들의 검색 명령도 사용자(UNIX programmer)에게유용한 명령이 될것입니다.



whatis 명령의 사용예

example% whatis telnet telnet (1C - user interface to a remote system using the TELNET)protocol

example% whatis ftp ftp (1C - file transfer program)example% whatis mail mail, Mail (1 - read or send mail messages)example% whatis pine pine (1 - read and send electronic mail with an easy user interface)example%



L. script 명령

script 명령은 사용자가 진행하는 명령들과 그출력 결과의 log화일을 잡는 명령으로데이타 베이스의 query 결과를 log 화일로 남겨 두고자 하는 경우나editor작업을 도와주는 유용한 명령입니다.

script 명령은 exit 라는 명령을 입력하는 동안 계속 진행되며,사용자가 데이타 베이스(telnet)를 이용중에 exit라는 명령을 수행한다면,그 데이타 베이스의 서버에게 명령을 주는 것이므로 사용자는 반드시 그 데이타 베이스에서자신의 machine 으로 빠져 나온후에 입력해야 유효합니다.

script명령을 변수 없이 사용한다면 typescript라는 log화일로 화일을 만들며,화일명을 변수로 사용하여 원하는 화일명으로 log화일을 만들수 있습니다.



script 명령의 사용예

example% script killer Script started, file is killer example% telnet sun330.snu.ac.kr Trying 147.46.80.5 ...

Connected to sun330.snu.ac.kr.

Escape character is '^]'.



SunOS UNIX (sun330) login: nic SunOS Release 4.1.1 (sunkle #1: Wed Jun 17 13:18:58 KST 1992) The TOUR software is loading. Please wait...

: : : (중간 생략) telnet> quit example% exit script done on Sat Aug 1 15:21:38 1992 example% ls killer







4) 네트워크 관련 명령어들

TCP/IP 네트워크에는 매우 다양하게 다른 사용자와 정보를 교환할 수 있습니다.



A) 다른 시스템 사용자에 대한 정보를 알수 있는 명령들 B) 다른 시스템 사용자의 화면에 정보를 출력할 수 있는 명령들C) 다른 시스템 사용자에게 편지를 보낼 수 있는 명령들 D) 다른 시스템의 정보를 이용할 수 있는 명령들

A) 다른 시스템 사용자에 대한 정보를 알수 있는 명령들

각 사용자는 자신의 home 디렉토리에 자신의 주된 일을 에티터를 이용하여.plan 화일과 .project 화일로 관리하여두면 다른 사용자가 finger명령을 이용하여그정보를 읽을 수 있도록 되어 있습니다.

만일 사용자가 자신의 업무 내용을 공개하고 싶지 않다면.plan화일과 .project 화일을 만들어 두지 않으면 됩니다.

반면에 whois 명령은 세계의 과학자들이 자신의 정보를 한곳에 보관하여자신의 업무나 연구 영역과 같은 사람들이 자신에게 쉽게 연락할 수 있도록자신의 정보를 whois 서비스를 제공하는 머신에 등록하여 활용하는 것입니다.



1) w 명령 2) who 명령 3) .plan/ .project 화일들4) finger 5) whois

1) w 명령

w 명령은 현재 login하고 있는 사용자와 그들이 하고 있는 일을 알 수 있는 명령으로write, talk 등의 명령을 사용하기 전에 그 사용자의 작업내용을 알려 주는 명령입니다.



정보를 주고 받고자 할때 상대 사용자의 작업을 중단케 해야 하므로상대 사용 자가 무슨일을 하고 있는지를 염두에 둘수 있는 매너도통신망의 올바른 사용이라고 할 수 있습니다.



example% w

2:14pm up 6 days, 23:52, 6 users, load average: 0.11, 0.01, 0.00 User tty login@ idle JCPU PCPU what dove ttyp0 10:29am 1 15 hvi -r network.sh mjban ttyp1 12:36pm 30 27 2 hvi fff chlim ttyp2 Tue 5pm 20:07 3 -csh chkim ttyp3 2:12pm telnet seri_nve dove ttyp4 11:12am 40 1 w

2) who 명령

who 명령은 다음과 같이 각사용자가 로그인한 시간과 사용하고 있는 device 명을 포함하여어떤 시스템에서 login하였는지를 나타내 줍니다.



example% who

dove ttyp0 Aug 19 10:29 (kreonX2.kreonet.) mjban ttyp1 Aug 19 12:36 (xgate.kreonet.re) chlim ttyp2 Aug 18 17:58 (xgate.kreonet.re) chkim ttyp3 Aug 19 14:12 (nmc.kreonet.re.k) dove ttyp4 Aug 19 11:12 (kreonX2.kreonet.)

login명 device명 login한 시간 login한 시스템

3) .plan/.project 화일들

자신의 home 디렉토리에는 문자 '.'으로 시작하는 여러가지 화일들을 둘수있습니다.

문자 '.'으로 시작하는 화일들은 ls -al 이라는 명령을 사용하여야 알수 있습니다.

사용자의 시스템이 Berkely 대학에서 만든 운영체제를 채용하고있는 경우에는.login 이라는 화일을 갖고 있을 것입니다.
 <


  피시넷
안녕하세요.
피시넷입니다.

 2830
 41


텍스트 화일에서 ^M 빼기
서버이전이나 백업시 압축방법 -mysql포함

Copyright (C) 1997-2025 All Rights Reserved.

Powered by
DNS server, DNS service 우분투 리눅스 웹서비스 AbuseIPDB Contributor Badge