본문 바로가기

Study/유용한 정보

[Linux] Linux Command

1. 서비스 및 포트 번호

- 현재 우리가 사용하는 방식: 하나의 LINUX server – 여러 대의 Windows clients

- 원격 Client) Putty를 통해 로그인을 할 수 있음 -> Server) ssh(22)를 통해서 로그인할 수 있게 함

- 원격 Client) FTP client를 통해 파일을 주고 받음 -> Server) ftp(21)을 통해 파일을 주고 받음

 

원격 client의 요청 사항을 해결하는 각각의 프로그램이 서버에 있고, 이러한 프로그램을 Daemon이라고 하고 각각의 DaemonServer라고 일컫는다.

한 컴퓨터에 여러 개의 Daemon이 돌아가고 있는데, 각 프로그램의 port번호를 통해서 요청을 하면 해당 프로그램이 작동하게 된다. 따라서 사용자는 원격 서버에 요청 시, IP 주소와 port 번호를 넘긴다.

 

2. 로그인/로그아웃

서버 컴퓨터) telnet (ssh) 프로그램이프로그램이 실행 중이어야 함

클라이언트) telnet (ssh)을 수행하기 위한 클라이언트 프로그램이 필요 -> ex. Putty

 

-로그인: 서버 이름 + port번호 -> 아이디 -> pw ( asswd명령어로 변경 가능, 비밀번호 정보는 /etc/passwd에 저장되어 있음)

-로그아웃: logout 또는 exit 또는 ^d

 

3. 파일 및 경로

파일 명) 대 소문자 구분, “.”으로 시작하는 파일은 시스템 파일이 많음

경로) 절대 경로 (루트 디렉터리로부터 위치) / 상대 경로(현재 디렉토리로부터 위치)

“.” -> 현재 디렉토리  “..” -> 부모 디렉토리

 

4. Command

1) man -> 온라인 도움말 정보

   입력: man [-k(해당 커맨드의 키워드 검색)] command_name

   결과 중 숫자는 각각 다음을 의미한다. (1) = command, (2) = system call, (3) = library function

 

2) pwd -> 현재 작업 디렉토리 출력

 

3) cat -> 파일 내용 출력

   표준 입력 또는 파일로부터 입력받아 표준 출력한다. -> read/write 시스템 콜 대체 방법

   리다이렉션(“>”)을 통해 파일 생성과 입력을 동시에 할 수 있음

   $cat 치고 입력하면 입력한 내용이 echoing (반복해서 나옴)

       -> ^d(정상종료-입력의 끝을 알림)/^c(강제 종료)로 종료

   $cat > [File name] : 파일을 생성하면서 그 파일에 저장할 내용을 입력

   $cat [-n (줄 번호 표시)] FILE : 저장되어 있는 파일 내용 보기 (없는 파일은 안됨)

  

4) ls -> 디렉터리의 내용 보기

   ls [-adlR] [FILE | Directory] (특정 파일, 디렉토리 명을 입력하지 않으면 현재 디렉토리 기준)

   options) -a (숨겨진 파일 나열) ,

               -d(디렉터리디렉토리 정보),

               -l(상세 정보 제공 -> 접근권한/하드 링크 수/사용자 ID/그룹 ID/크기/마지막 수정시간/파일 이름).

               -R(서브 디렉터리 내용까지 재귀적으로 제공)

     +) $ls -li : inode 번호를 포함한 상세 정보 제공, $ls: 현재 디렉터리의 모든 파일 이름 출력

         $ls -l -d: 현재 디렉터리에 대한 자세한 정보 제공

 

     ** 접근권한 앞에 첫 번째 필드 부호는 파일 유형을 의미함

         (“-“ : 일반 파일, d: 디렉토리 파일.. 등등)

 

5) mv -> 파일의 이름 변경 및 이동

   mv [-i (있는지 확인, overwrite 여부 확인)] OLD NEW //파일 또는 디렉터리의 이름 변경

   mv [i] FILE directory // 해당 파일을 디렉터리로 이동

 

6) mkdir -> 디렉토리 생성

   mkdir [-p(상위 노드도 한 번에 생성)] directory

     ex) mkdir -p A/B/C -> A, B, C한 번에 생성    

                     

7) cd -> 디렉터리 이동 ($cd만 입력 시 사용자의 홈 디렉터리로 이동)

 

8) cp -> 파일 복사

   cp [-i (이미 존재 확인), -r(재귀적 복사)] OLD NEW // 파일이나 디렉터리를 복사

 

9) rmdir->디렉터리 제거

   -r option : 해당 디렉터리를 재귀적으로 삭제

   옵션을 사용하지 않고 디렉토리 명만 기입 시, 디렉토리가 비어 있지 않다면 디렉토리 삭제가 진행되지 않음.

        ->삭제 전에 디렉터리를 비워야 함

 

10) rm -> 파일의 삭제

   rm [-f(에러x,지시사항x), -r(재귀적 삭제), -i(사용자에게 확인 요구)] FILE

   rm * -> 해당 디렉터리 내의 모든 파일 삭제

 

11) chmod

   디렉토리 파일) ls로 내용보기 r, 파일 추가 삭제 w, cd로 디렉터리에 들어가는 것 x

   chmod [-R] mode FILE

      mode : 대상(u,g,o,a(all)) [+,-,=] 허가권 (rwx)

                또는 숫자를 이용해서 파일 허가권 설정 가능

      user – group – others ) rwx 3 bit씩 부여

 

12) more -> 출력 내용이 길 경우, 한 화면 씩 끊어서 보여줌

   pipe (“|”)를 이용해서 동시에 사용되는 경우 많음

      ex) 보통cat과 자주 쓰임 >> $cat FILE | more

 

13) wc -> 파일 내 단어 수 세기

   wc [-l(라인 수), w(단어 수), c(문자 수)] FILE

 

14) cut [-d(필드 구분자)] [-f(몇 번째 필드)] FILE 

   (i.e. cut -d”:” -f 2 test)

 

기말고사 준비하면서 정리한 내용,,

계속 쓰일 정보들이라서 여기에 업로드 해둔다.