ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Linux Ubuntu 정리(기본)
    Back end/Server 2024. 4. 4. 09:59

    1. 커맨드라인 사용법

    1.기본 명령어

    - 매뉴얼 조회: man 
    - 파일목록/내용 조회 관련 명령어: ls, cat, head, tail
    - 검색/탐색 관련 명령어: grep, find 
    - 압축/해제 관련 명령어: tar, gzip/gunzip. zip/unzip
    - 시간 관련 명령어: date, cal 
    - 기타 명령어: echo, exit, history
    - 관리자 권한 실행: sudo
    - 패키지 매니저: apt 
    - 텍스트 에디터: nano
    + 호스트네임 확인: hostname
    + ip 확인: hostname -i

     

    2. 디렉토리 내용 조회/이동/확인

    - 직전 이동했던 디렉토리로 이동: cd - 
    - 모든 하위 디렉토리 조회: ls -al

     

    3. 파일 내용 조회

    - 파일 내용 조회: cat
    - 앞에 3줄만 조회: head 파일명 -n 3 
     (tail도 커맨드 똑같음)
    - man과 비슷하게 보여줌: less 파일명

     

    4. 파일 내용 검색

    - 파일 내용 검색: grep
    ex)   hello를 찾아라 dpkg.log 에서 : grep "hello" dpkg.log 

    -  ls -al 안에 있는 kern.log 파일 검색(파이프 기법):  ls -al | grep "kern.log" 
    -  dpkg.log 안에 있는 "2021-03-25 22:15:49" 내용을 찾아라: cat dpg.log | grep "2021-03-25 22:15:49" 



    5. 파일 검색

    - 파일 검색: find
    ex 1) conf 라는 파일명을 가진 이름을 찾아라: find /etc -name "*.conf" -print
    ex 2) conf 라는 파일명을 가진 이름을 찾아라(상대경로 이용) : find .  -name "*.conf" -print
    ex 3) conf 라는 파일명을 가진 이름을 찾아라(파이프 이용) : find | grep "conf"

    6. 압축 관련 커맨드
    - 파일 압축하기 : gzip 파일명 
    - 파일 압축풀기 : ungzip 파일명
    * 많이 쓰는 압축명 



    test.tar.gz 파일 안에 filelist.gz 과 snap / 그리고 시작을 압축 할것이다. (tar명령어를 사용한 압축 방법)
    : tar -zcf test.tar.gz filelist.gz snap/ 시작

    - 하위 디렉토리의 testdir 안에 test.tar.gz파일을 푼다.
    : tar -zxf ../test.tar.gz



    7. 시간 및 기타 커맨드 

    - 현재 시간 : date 
    -  cal : 달력보기
    -  전 명령어들 찾기 : history 
    -  전 명령어 중 12번 명령어 실행 하기: !12
    -  PWD라는 변수가 어떻게 실행하는지 궁금하다? : echo $PWD 
    (즉 ECHO를 이용하면 변수의 내용을 볼수가 있음.)
    -  echo $PATH 안에 hello가 존재하는지 보고싶다?  echo $PATH 타이핑 후 hello
    -  해당 명령어가 사용되도록 저장된 디렉토리 위치 표시: which ls 

    8. 관리자 권한 실행

    관리자권한 : sudo
    9. 패키지 매니저 사용(apt)
    패키지 설치: sudo apt install 패키지이름
    패키지 삭제: sudo apt remove 패키지이름
    설치된  패키지 조회: apt list | grep 패키지이름
    설치된 패키지 조회: apt list --installed | grep 패키지이름

     

    10. nano 편집기
    ^X : nano 편집기 커맨드인데 여기서 ^은 ctrl 키를 의미함.
    M-A: 여기서 M은 alt키를 의미함

     

    2. 파일

    ● 파일의 종류

     
     디렉터리 종류

     
     추가 디렉터리 내용

     

         

      파일 만들기 
    - 빈 파일 만들기 : touch 파일명
    - 이름 변경: mv 파일명 수정할파일명
     ex1) 파일 디렉토리 경로 이동 가능하다(기존 디렉터리 폴더에서 /tmp/pineapple로 옮김)
    : mv apple /tmp/ pineapple
     
    ex2) (절대경로 이용) 이동했던 /tmp/pineapple을 현재 디렉토리로 옮겨라 
    : mv /tmp/pineapple .  (.은 현재 디렉토리를 나타냄)
     
    ex3) (상대경로 이용)  기존 /home/test/pineapple 파일을 /tmp/pineapple로 이동하라 
    : mv pineapple ../../tmp

     

      디렉터리 
    - 생성: mkdir 생성할 디렉터리명 
    - 삭제: rm 삭제할 디렉터리명 
    • -i : 파일이나 디렉토리가 삭제될 때마다 확인한다.(y : 삭제, n : 취소)
    • -f : 사용자에게 확인하지 않고 삭제한다.
    • -v : 각각의 파일 지우는 정보를 자세하게 모두 보여준다.
    • -r : 해당 디렉토리의 하위 디렉토리까지 모두 삭제
    - 강제 삭제1 : rm -r 삭제할 디렉터리명 (삭제 여부 물어봄)
    - 강제 삭제2: rm -rf 삭제할 디렉터리명 (상제 여부 안물어보고 바로 삭제)
    - 디렉터리명 및 위치 변경 :  mv 기존 디렉터리명 변경할 디렉터리명
                                                  mv  기존 디렉터리명  /tmp (위치할 디렉터리 위치)

     

      아이노드 && 하드링크 || 소프트 링크
    - 아이노드: 파일의 데이터를 저장해 놓은 구조체
    - 하드 링크는 동일한 파일에 대한 다른 이름의 링크로, 모든 링크가 동일한 데이터 블록을 가리킵니다.
    - 소프트 링크는 다른 파일이나 디렉터리에 대한 참조를 저장하며, 원본 파일의 경로를 가리키기 때문에 간접적으로 접근 - 가능합니다.


      하드링크 && 아이노드

    - 아이노드 아이디 확인 : ls -ali
    - 하드링크 방법 : ln 기존파일 하드링크할 파일 
    같은 데이터가 조회가 된다.


    - stat을 이용하면 파일의 자세한 내용을 확인 가능
      소프트링크 : 하드링크보다 많이 사용함 
    - 소프트링크 방법: ln -s 기존파일 소프트링크할 파일 


    - 하드링크 vs 소프트링크 
    하드링크는 링크가 된 파일이 다른 디렉토리로 이동해도 데이터 연결성이 있지만 소프트링크는 그와 반대로 연결이 안됨.

     

    - 파일 권한

     

     

      사용자 추가
    sudo adduser 추가할아이디


      사용자 삭제
    sudo deluser 사용자명 --remove-home (home밑에 있는 사용자 삭제)

     

     

      그룹 추가
    - sudo addgroup 그룹명 
    apple 이라는 유저를 fruits라는 그룹에 추가한다. 이후 cat /etc/passwd 를 통해 계정추가 확인 -> sudo apple 을 통해 로그인 후 ls -al을 통하여 그룹 확인.

     

     프로세스 목록 조회 및 구조 파악


    - 프로세스 목록 조회 : ps -f


    - 모든 프로세스 목록 조회: ps -ef


    ● 프로세스 종료 상태 확인 : echo $?


    ● 시그널 전송 
    - 프로세스 강제 종료: kill -옵션 PID
    ( 가장 강력한 옵션은 kill -9 옵션임)

    ● 포어그라운드 && 백그라운드 
    - 포어그라운드는  입력시 프로세스가 사용자에게 연결이 됨 
    - 백그라운드는 입력시 프로세스가 사용자에게 연결이 안됨


    => 뒤에 & 붙이면 백그라운드로 실행이 됨.


    => 백그라운드에서 포어그라운드로 전환은 fg를 타이핑 입력



     

     

     리디렉션과 파이프 라인 

    - 출력 리디렉션 : ls & > result  (파일 예시)
    : &는 리눅스나 유닉스 시스템에서 사용되는 기호로, 명령어를 백그라운드(background)에서 실행하도록 지시하는 역할을 합니다.

    예를 들어, "ls &"는 현재 디렉토리의 파일 목록을 표시하는 ls 명령어를 백그라운드에서 실행하라는 뜻입니다. 이렇게 하면 명령을 실행하는 동안 다른 작업을 할 수 있습니다.

    "& > result"에서는 ">"는 출력을 파일로 리다이렉션하는 명령입니다. 그리고 "&"는 앞의 명령을 백그라운드에서 실행하도록 하고, 동시에 그 명령의 출력을 파일 "result"로 리다이렉션하라는 뜻입니다. 따라서 이 명령은 현재 디렉토리의 파일 목록을 "result" 파일로 저장하면서 백그라운드에서 실행합니다.

    - 입력 리디렉션:  wc < process.sh(파일 예시)

     

    - "command << world": 이 구문은 히어 도큐먼트(Here Document)를 사용합니다. 이 구문은 "command"의 표준 입력(stdin)으로 여러 줄의 데이터를 제공하는 방식입니다. "world"는 히어 도큐먼트의 종료 문자열을 나타내며, 이 문자열이 나올 때까지 사용자가 입력한 모든 줄이 "command"의 입력으로 전달됩니다.

      ex:
       cat << EOF
       Hello
       World
       EOF


       위의 예시는 "Hello"와 "World"를 출력하는 cat 명령을 실행합니다.

    - "command <<< word": 이 구문은 히어 스트링(Here String)을 사용합니다. 이 구문은 "command"의 표준 입력(stdin)으로 문자열 "word"를 제공하는 방식입니다. (자주 사용안함)

      ex:
       cat <<< "Hello World"

       위의 예시는 "Hello World"를 출력하는 cat 명령을 실행합니다.
    따라서, "command << world"는 히어 도큐먼트를 사용하고, "command <<< word"는 히어 스트링을 사용합니다.
    - 파이프라인은 연결해서 쓸수가 있음 

     

    출저: 리눅스 입문 - 개념으로 탄탄히!!(인프런) | 개인적인 공부 기록입니다.

    https://www.inflearn.com/course/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9E%85%EB%AC%B8/dashboard

     

    리눅스 입문 - 개념으로 탄탄히!! 강의 - 인프런

    리눅스의 주요 개념에 대해 공부하시면 리눅스를 더 쉽고, 더 강력하게 다루실 수 있습니다. 기초부터 탄탄히 쌓아나가시길 바랍니다!! :D, 처음 만나는, 입문자를 위한 리눅스!!기본부터 튼튼하

    www.inflearn.com

     

    +  추가추가 

    - "~"를 사용하는 이유 중 하나는 특정 사용자의 홈 디렉토리를 가리키기 위해 사용됩니다. 만약 사용자 "rocky"의 홈 디렉토리 경 로가 "/home/rocky"라면, "mv test ~rocky/" 명령어는 "mv test /home/rocky/"와 동일한 역할을 합니다.

     

    ldd는 리눅스에서 실행 파일이나 공유 라이브러리의 의존성을 확인하는 명령어입니다. 이 명령어는 해당 실행 파일이나 공유 라이브러리가 다른 어떤 라이브러리들에 의존하고 있는지를 보여줍니다.
    보통은 ldd 명령어 다음에 확인하고자 하는 실행 파일의 경로를 입력하여 사용합니다. 예를 들어:

    ldd /bin/ls

    위와 같이 입력하면 /bin/ls 파일이 어떤 공유 라이브러리에 의존하고 있는지를 확인할 수 있습니다.

     

    'Back end > Server' 카테고리의 다른 글

    FTP 파일 전송 프로그램 (Filezila, mobaXterm 등) 없이 전송하는 법(~ing)  (0) 2024.04.04
    리눅스 관련 추가사항 정리  (0) 2024.04.04
    AIX Server?  (0) 2024.04.03
    디스크 추가하기  (0) 2024.03.15
    Cron 과 at 기능  (0) 2024.03.08
Designed by Tistory.