본문 바로가기
  • 반가워요 : )
전기기사/리눅스

[리눅스1]-기본 명령어

by 교육의 기울기 2018. 12. 26.
반응형

 

    반응형

    리눅스-기본 명령어

    리눅스 기본명령어


    리눅스 명령어 중 많이 쓰이는 명령어, 옵션을 모아놓은 글입니다.

    직접 입력을 해보시면서 익히는 게 좋습니다.

     

    1. pwd(print working directory)   :현재 작업 중인 디렉터리를 출력

     
    \home\heath\ 
    ①         ②          ③

    ① 최상위
    ② 구분자 
    ③ 마지막경로가 디렉터리라는 것을 의미하며 생략 가능하다. 

     

    2. cd(change directory)  : 원하는 디렉터리로 이동한다. 


    -사용법 


    cd [디렉토리]         <---file에 사용할 수 없고 디렉터리의 이동만 가능합니다.

     

    -사용 예시

     

          cd /home/heath 
          cd .               <---현재 위치로 이동.  ( '.'은 현재 위치를 의미)
          cd ..              <---상위 디렉터리로 이동  ('..'상위 디렉터리 의미) 
          cd ~             <---현재접속되어있는 홈 디렉터리로 이동 ('~' 현재 접속되어있는 홈 디렉터리 의미)  
          cd ~heath      <---heath계정의 홈 디렉터리로 이동. 


    3. ls (list) : 디렉토리내의 목록보기 : 경로의 목록을 보여준다( 현재 위치 목록)


    -사용법 

     

    ls [경로 명]     <-경로의 목록을 보여준다. (현재 위치 목록) 
     

    - ls의 옵션들 

       -a  모든 파일과 디렉터리 표시 
       -l  자세히 출력 
       -R  하위 경로와 그 안에 있는 모든 파일까지 표시

     

    - ls -l 사용 예시

     

    ls -l /etc 
     (-)  일반 파일 의미 
     (d)  디렉터리 
     (l)  링크, 바로가기 
     (b)  블록형 특수장치 파일 (ex)HDD) 
     (c)  문자형 특수장치파일 (ex) 입출력 장치) 

     

    EX)) 
    -rw-r--r--.  1 root root   1057 2016-05-12 04:34 sysctl.conf (일반 파일) 
    drwxr-xr-x.  2 root root   4096 2016-05-12 04:34 sysctl.d    (디렉터리)  
    lrwxrwxrwx.  1 root root     14 2016-07-04 17:31 system-release -> centos-releas (바로가기) 



    4. mkdir(make directory)  : 디렉토리 생성 


    -mkdir의 옵션들

      -p: 필요한 경우, 상위 디렉터리까지 생성 
      
    -사용 예시


    1.mkdir  /home/test 1 
             → 'test 1'이라는 폴더를 home에 만듭니다.

     2.mkdir  /home/test1/a/b 
             
               #mkdir: `/home/test1/a/b' 디렉터리를 만들 수 없습니다: 그런 파일이나 디렉터리가 없습니다 
               →  현재 a라는 폴더가 없는데 b를 만들려고 하므로 나오는 문구입니다. 이럴 경우에 옵션을 사용합니다. 

    3.mkdir -p /home/test1/a/b    → 옵션 -p를 사용하여 상위 디렉터리까지 생성합니다.
     
    4.mkdir /home/123 /root/abc   (띄어쓰기를 통하여 home에 123 디렉터리 root에 abc디렉터리를 동시에 만들어줍니다.) 
           

    5.touch- 파일 생성 및 파일 시간 정보 변경 

    -touch의 옵션들

    touch -d 시간:분 [target]==> 당일의 해당 시간, 분으로 변경 

             ex) touch -d 12:34 1--->1이라는 파일의 시간을 12:34분으로 바꾼다. 
     

    touch -t [yyyy]mmddhhmm[.ss] [target] ==> 해당 연월일시 분초로 변경 
              [생략가능]          [생략가능] 
     
    touch -t 201807091212 2 --->  2라는 파일의 시간을 2018년 07091212로 바꾼다. 

     

    -사용 예시


            1.touch /touch/1  ---> 터치 디렉터리에 1이라는 파일을 생성한다.
            
            2.mkdir 1 ---> 같은 명의 파일 폴더 사용불가      
            
            3.touch /home/3 4 ./5   ---> 홈에 3 만들고 현재 위치에 4  현재위치에 5 


    6. man(manual)-명령어에 대한 매뉴얼을 열람 

     

    -사용 예시

    man [명령어] 
    man ls → ls에 대한 명령어의 메뉴얼을 엽니다. 

     

     

    7. cp-파일을 복사하는 명령어 
     

    - 사용법

     

    cp [원본] [target] 


    -cp의 옵션들

     
     -i : 대상 파일이 이미 존재하는 경우 덮어쓸 것인지 물어본다. 
     -r : 디렉터리 복사 
     -p : 원본 파일의 권한, 소유자, 시간 정보를 보존하며 복사한다 

     

    - 사용 예시 

     

    /cptest생성 
    1) cp /touch/1 /cptest/1  ---> touch에 있는 1이라는 파일을 cptest/1로 복사해주자.
    2) cp /touch/2 /cptest  --> 이름을 똑같이 가져올 경우 뒤에 1 붙일 필요 없다 
    3) cp /home/3 /cptest/heath --->3을 복사해서 heath로 이름을 바꾸어서 가져온다. 
    4) cp -p /touch/5 /cptest  ----> 원래 5 파일과 시간 정보가 같게 복사되어 온다. 
    5) cp -r /touch /cptest ----> 디렉터리를 복사 (가장 많이 씀) 
    6) cp -i /touch/5 /cptest ---> 덮어쓸 건가 물어본다 
    7) cp -r /touch/a /home/3. ---> touch의 a디렉터리와 home의 3 디렉터리를 현재 디렉터리로 이동 

    ※cp, mv 사용 시 주의점 
      원본과 타깃의 이름이 같게 할 경우 file/dir 명 생략 가능
      원본과 타깃의 이름이 다르게 할 경우 복사/이동과 동시에 타깃 이름으로 변경 

     

     

     

    경로 쓰는 법 


      -절대 경로 


       경로를 나타낼 때 /(최상위)가 기준이 되며  
       최상위에서부터 나타내고자 하는 경로까지 모든 경로를 명시해 주어야 한다. 
        
       ex))/home/heath/a/b/c 
       
      -상대 경로 
        
       경로를 나타낼 때 현태 위치가 기준이 되며 
       절대 경로에서 현재의 경로를 빼고 나타내 준다.  
     
     /가 맨 앞에 있을 시 무조건 절대 경로이다. 

     

     

    실습 예제  

     

    - 직접 풀어보기 1

     

    1.ls /etc 
    2.ls -l /etc(★) 많이 씀. 
    3.ls -l /home/heath        (마지막 경로의 디렉터리 본다.) 
    4.ls -al /home/heath 
    5.ls -lR /home 
    6.ls -l  
    7.ls -l /home/heath /root         (띄어쓰기를 이용해 heath와 root의 경로 두 개 보고 싶음)  


    -직접 풀어보기 2


    cd, pwd경로 문제 


    /heath /a /b 
    /home 
     /test /c /d 

    1. 로그인 후 현재 경로 확인 
    2. 하나 상위 디렉터리로 이동 후 현재 위치 확인 
    3.home으로 이동후 상대 경로로 test로 이동 
    4. 절대 경로로 /home/test/c로 이동 
    5. 상대 경로로 /home/test/c/d/로 이동(현재 위치 확인해보고 할 것) 
    6. 현재 위치가 /home/test/c/d 인 상태에서 상대 경로로 /home/heath/a/b 로 이동 
    7.6번 까지 진행한 후 상대경로로 최상위로 이동 

     

    # pwd 
    /root 
    # cd /.. 
    # pwd 
    / 
    # cd /home 
    # pwd 
    /home 
    # cd test 
    # pwd 
    /home/test 
    # cd /home/test/c 
    # pwd 
    /home/test/c 
    # cd d 
    # pwd 
    /home/test/c/d 
    # cd ../../../heath/a/b 
    # pwd 
    /home/heath/a/b 
    # cd ../../../.. 
    # pwd 
    /




    -직접 풀어보기 3


    1. 최상위에 mktest, touchtest라는 디렉터리 생성 
    2. 현재 경로를 / 한 뒤 mktest 안에 a, b, c라는 디렉터리 생성 
    3. 그대로 / 에서 touchtest에 1, 2, 3이라는 파일 생성 
    4.touchtest 에 1번 파일을 본인 생일로 날짜 변경 
    5.mktest로 이동 뒤 1, 2, 3, abc라는 파일 한 줄로 생성 
    6.touchtest로 이동 뒤 abc라는 디렉터리 생성, aaa 라는 디렉토리 mktest에 생성, / 에 bbb라는 디렉토리 생성 
    (단 한 줄로 생성할 것) 
    7.mktest에 a라는 디렉터리의 날짜 정보를  / 에 bbb와 똑같이 맞추기. 



    -직접 풀어보기 4



     1./final이라는 디렉터리 생성 
     2./final 디렉터리에 12,34,56이라는 파일 생성 
     3.34 파일의 시간을 199901011200으로 변경 
     4./back이라는 디렉터리 생성 
     5./final의 12,56 파일을 /back 디렉터리에 복사  
     6./final의 34 파일을 /back 디렉터리에 보존복사 

     

    # mkdir /final 
    # cd /final 
    # pwd 
    /final 
    # touch 12 34 56 
    # ls -l 
    합계 0 
    -rw-r--r--. 1 root root 0 2018-07-08 17:56 12 
    -rw-r--r--. 1 root root 0 2018-07-08 17:56 34 
    -rw-r--r--. 1 root root 0 2018-07-08 17:56 56 
    # touch -t 199901011200 34 
    # ls -l 
    합계 0 
    -rw-r--r--. 1 root root 0 2018-07-08 17:56 12 
    -rw-r--r--. 1 root root 0 1999-01-01 12:00 34 
    -rw-r--r--. 1 root root 0 2018-07-08 17:56 56 
    # mkdir /back 
    # cp 12 56 /back 
    # ls -l /back 
    합계 0 
    
    -rw-r--r--. 1 root root 0 2018-07-08 17:57 12 
    -rw-r--r--. 1 root root 0 2018-07-08 17:57 56 
    # cp -p 34 /back 
    # ls -l /back 
    합계 0 
    -rw-r--r--. 1 root root 0 2018-07-08 17:57 12 
    -rw-r--r--. 1 root root 0 1999-01-01 12:00 34 
    -rw-r--r--. 1 root root 0 2018-07-08 17:57 56 
    #



    -직접 풀어보기 5


    1. /etc/login.defs /etc/inittab /boot/grub/grub.conf 파일을 확인하고
       3개의 파일 /backup 디렉토리 생성한 뒤 복사
    2. /backup에 있는 3개의 파일
       /backup/test 디렉토리에 각각 login init grub 란 이름으로 이름 변경 복사
    3. /backup에 test 1이라는 파일 ,
     /backup/test 에 test2라는 파일을 한 줄 명령어로 생성
    4. /backup/test 디렉터리를
      /home/test/c/d/linux란 이름이 되도록  이름 변경 보존 복사
    5. /home으로 이동(cd /home) 한 뒤
     경로를 변경하지 않고 /backup안에 있는 "파일"들 4개를 /home/test/c/d/test
      디렉터리에 한줄명령으로 보존복사 (이름변경및 디렉토리 복사 금지)

     

    반응형

    댓글