Back-end/Linux

[Linux]많이 사용하는 Linux 명령어

cheersHena 2019. 2. 21. 17:47
반응형
  1. Wild Card 사용법 (중요) - 사전숙지 필요

    • : Wild 카드는 여러 개의 파일 이름을 특정 규칙으로 선택할 때 사용되는 것으로 * 와 ? 두 가지가 있다
      • * 는 길이에 상관없이 아무 글자가 와도 상관없다는 의미 (없어도 됨) - 주로 많이 사용
      • ? 는 1글자가 아무글자가 와도 상관없다는 의미
      • example
        • *.gm : 확장자가 gm 으로 끝나는 모든 파일이 대상이 됨 (1.gm, aaaa.gm 등등)
        • ?.gm : 확장자가 gm 으로 끝나는 1글자 길이의 파일이름이 대상이 됨 (1.gm, a.gm 등등)
        • aaaa*.gm : aaaa로 시작하는 확장자가 gm 인 모든 파일 (aaaa.gm, aaaa1111.gm 등등)
        • *aaaa*.gm : 파일 이름중간에 aaaa 가 포함된 확장자가 gm 인 모든 파일 (11aaaa22.gm, aaaaa.gm, ccaaaa.gm, aaaa77.gm 등등)
        • 4csoft-aof5-log-2018*.log : 4csoft-aof5-log-2018 로 시작하는 확장자 log 인 모든 파일(4csoft-aof5-log-20180126.log, 4csoft-aof5-log-201801251022.log 등등)
      • 이것을 사용해서 다른 파일 관련 명령들과 같이 사용하여 대상결과를 줄이는 결과를 가져오게 된다.
    많이 사용하는 명령어 일람
    • 일단 linux 시스템은 거의 대부분 man 명령어 하시면 사용법이 제공됩니다.
    • ls
      • 현재 디렉토리의 파일을 모두 보여준다. 옵션과 파라메터에 따라서 결과는 다르다
      • option
        • -a : . 으로 시작하는 파일이나 디렉토리까지 보여준다 (ls -a)
        • -l : 파일 정보도 같이 보여준다 (권한, 소유자, 그룹, 파일크기, 피일생성시간, 파일이름)
          • drwxrwxr-x 3 ubuntu ubuntu 4096 Oct 28 18:50 lmsdb ==> 권한에 d 가 표시되면 디렉토리
            -rw-rw-r-- 1 ubuntu ubuntu 2883659 Jan 15 13:46 lms_test_20180115_with_functions.sql
        • -R : 서브디렉토리도 같이 보여준다
        • 통상 ls -al 정도를 사용, 서브디렉토리를 같이 보고 싶으면 ls -alR 이렇게 사용한다.

    • chmod
      • 파일의 속성을 바꾼다 (읽기, 쓰기, 실행) 3자리의 숫자를 사용하며 비트로 환산하여 해당 속성이 적용된다 (현재 사용자의 권한에 따라서 안될 수도 있다)
      • 사용법
        • chmod 777 targetfile(파일명에 와일드카드 사용가능)
        • 숫자의 의미
          • 통상 777 이면 시스템의 모든 사용자가 읽기,쓰기,실행이 가능해진다 삭제는 쓰기 권한에 해당.
          • 111 111 111 = 777
            • 첫번째 3비트 (소유자의 읽기,쓰기,실행) : 1이 되면 가능 0이면 불가능
            • 두번째 3비트 (그룹의 읽기,쓰기,실행)
            • 세번째 3비트 (전체의 읽기,쓰기, 실행) : 소유자가 아닌 다른 모든 사용자에 대한 권한
          • 권한 예
            • 400 이 되면 100 000 000 이 되고 소유자만 읽기가 가능하고 나머지계정들은 모두 접근조차 불가
            • 755 가 되면 111 101 101 이 되고 소유자는 전부가능, 나머지계정들은 읽기와 실행만 가능
        • 여기에 옵션으로 -R 을 붙여주면 서브디렉토리 아래의 모든 파일에도 적용가능.
        • chmod -R 777 targetdirectory (대상 디렉토리안의 모든 파일 적용)
    • chown
      • 파일의 소유자를 변경한다.
        • (ls -al 했을때 -rw-rw-r-- 1 ubuntu ubuntu 2883659 Jan 15 13:46 lms_test_20180115_with_functions.sql 이렇게 나오는데서 첫번째 ubuntu 에 해당하는것이 소유자이름입니다)
      • chown ownername targetfile (파일명에 와일드카드 사용가능)
        • 여기에 옵션으로 -R 을 붙여주면 서브디렉토리 아래의 모든 파일에도 적용가능해집니다.
        • chown -R ownername targetdirectory (대상 디렉토리안의 모든 파일 적용)
    • chgrp
      • 파일의 소속 그룹을 변경한다.
        • (ls -al 했을때 -rw-rw-r-- 1 ubuntu ubuntu 2883659 Jan 15 13:46 lms_test_20180115_with_functions.sql 이렇게 나오는데서 두번째 ubuntu 에 해당하는것이 그룹이름입니다)
      • chgrp groupname targetfile (파일명에 와일드카드 사용가능)
        • 여기에 옵션으로 -R 을 붙여주면 서브디렉토리 아래의 모든 파일에도 적용가능해집니다.
        • chgrp -R groupname targetdirectory (대상 디렉토리안의 모든 파일 적용)
    • cp
      • 파일을 복사한다
      • cp 옵션 소스파일경로 타겟파일경로
        • 옵션으로 -R 을 주면 서브디렉토리도 복사가능
        • cp aaa.txt bbb.txt (aaa.txt파일을 bbb.txt파일로 복사)
          cp -R aaa ccc (aaa디렉토리를 서브디렉토리포함 ccc 디렉토리로 복사)
    • mv
      • 파일을 이동한다, 혹은 이름변경으로 사용할 수도 있다.
      • mv 소스파일경로 타겟파일경로
        • 별도의 옵션은 사용하지 않는다
        • mv aaa.txt bbb.txt (디렉토리명을 쓰지 않으면 해당 파일 이름변경) mv aaa.txt kkk/bbb.txt (aaa.txt 파일을 kkk 디렉토리 안의 bbb.txt로 이동시킨다)

    • cd
      • 디렉토리를 변경한다
      • cd 타겟디렉토리명
        • 별도의 옵션은 사용하지 않는다
        • cd /home/euroup/ /home/euroup 디렉토리로 이동한다 (이 경우 해당 디렉토리를 읽을수 있는 권한이 있어야만 이동이 가능하다)
          cd ~euroup (~ 마크는 euroup의 홈디렉토리를 의미한다 euroup의 홈디렉토리로 이동)
          cd .. (현위치의 디렉토리보다 1계단 상위의 디렉토리로 이동한다)
          cd ../aaa/ (현위치의 디렉토리보다 1계단 상위의 디렉토리로 이동한후 하위의 aaa 디렉토리로 이동한다)
          cd ../../../ (현위치보다 3계단 상위의 디렉토리로 이동한다)
          cd ~ 현재 사용자의 홈디렉토리로 이동한다.
    • man
      • 특정 명령의 사용법을 보여준다. 대부분의 Linux 및 Unix 시스템은 man page를 가지고 있다.
      • man 명령어
        • 별도의 옵션은 없다
        • man cp
    • ssh
      • 원격 sshd가 설치된 장비에 접속 (Linux, Unix)
      • ssh 계정@서버주소 실행할명령어
        • -i 개인키파일 옵션 : 해당 서버에 대한 개인키파일이 있으면 패스워드를 묻지않고 접속가능하다
        • -p 포트번호 : 기본포트 (22번)이 아닌 다른포트로 접속해야하는 경우 사용
        • ssh root@61.40.96.9
          ssh -p 11800 root@61.40.96.9
          ssh -i /c/ssh-key/activetutor-key-pair.pem ubuntu@52.78.123.138
          ssh root@61.40.96.9 release.sh (접속하자마자 release.sh 를 실행한다)
    • scp
      • ssh로 접속가능 원격장비에 파일복사















반응형