리눅스 기초

linux에 대해

  1. Basic

    • “-“가 붙으면 옵션 ex) -l, -r, -m, -s, -i…

    • “..”은 상위 폴더 ex) cd ..

    • “~”는 user의 최상단 폴더로 진입. user 폴더의 절대 경로

    • “.”은 현재 폴더, “..”은 상위 폴더

    • 최상단 폴더로 진입 가능한 명령어 : cd, cd ~, cd ../..

    • 폴더 만들기

      1
      $ mkdir [폴더 이름]
    • 파일 만들기

      1
      2
      $ touch [파일 이름.확장자]
      # touch 명령어를 통해 같은 파일을 만들면 최종 수정 날짜 변경 가능
    • 대상 이동

      1
      2
      3
      $ mv [이동할 대상] [이동할 폴더]
      # 이름을 바꿀 때도 mv 명령어를 쓴다. ex) mv [현재 폴더] [이름을 바꾼 현재 폴더]
      # 폴더를 이동할 때 "폴더 이름*"을 사용하면 한꺼번에 이동 가능
    • 디렉토리 폴더를 지울 때

      1
      2
      3
      4
      5
      # 폴더 안에 저장되어 있는 것이 있다면
      $ rm -r [폴더 이름]

      # 저장된 것이 없이 빈 폴더라면
      rmdir [폴더 이름]
    • 디렉토리 폴더 내 목록 보기

      1
      2
      3
      4
      5
      6
      7
      $ ls

      # 자세히 보기
      $ ls -l

      # 숨겨진 파일 보기
      $ ls -a
    • 자세히 보기

      1
      ex) -rwxrwxrwx 1 user group 4096 4월 2 00:00 test.txt
    • 맨 앞은 파일의 종류에 대한 속성을 나타낸다. ‘-‘이라면 파일, ‘d’라면 디렉토리 폴더이다.

    • 그 다음으로 세자리씩 끊어서 읽는다. ex) rwx rwx rwx

      • 첫번째 세자리는 파일의 User에 대한 권한이다.

      • 두번째 세자리는 파일의 Group에 대한 권한이다.

      • 세번째 세자리는 관련이 없는 자들(Other)에 대한 권한이다.

      • r은 읽기(read), w는 쓰기(write), x는 실행(execute)이다.

      • rwx는 세 개 모두 된다는 뜻이다.

      • r-x는 읽고 실행은 가능하지만 수정은 불가능하다는 뜻이다.

      • rwx = 7 즉, 8진수로 나타낼 수 있다.

        • r = 4, w = 2, x = 1로 계산하면 된다.
      • 777이면 rwxrwxrwx라는 뜻이다.(퍼미션)

    • chmod 명령어를 통해 권한을 줄 수 있다.

      1
      2
      3
      4
      5

      $ chmod 755 [파일 이름]
      $ chmod u+r [파일 이름] # u+r => user에게 r 권한을 줄 수 있음
      $ chmod g+x [파일 이름] # g+x => group에게 x 권한을 줄 수 있음
      $ chmod o=rwx [파일 이름] # o=rwx => other에게 rwx 권한을 줄 수 있음
    • rwxrwxrwx 다음으로 1은 해당 파일에 link되어 있는 파일의 개수

    • 다음은 user은 해당 파일의 사용자(User)

    • 다음은 group은 해당 파일의 그룹(Group)

    • 4096은 파일의 크기(byte)

    • 날짜는 해당 파일이 최종 수정된 날짜 및 시간

    • 다음 의미를 알아보자.

      • SetUID, SetGID, sticky bit
  2. 하드 링크(hard link)와 심볼릭 링크(symbolic link)

    1. 하드 링크(hard link)

      • 원본 파일과 동일한 inode를 가진다.

      • 원본 파일이 삭제되더라도 원본 파일의 inode를 갖고 있는 링크 파일은 여전히 사용 가능

      • 같은 inode를 가리키는 서로 다른 이름이라고 생각하면 된다.

      • file system이 같을 때만 만들 수 있다.(같은 디스크 내)

      • inode의 값은 ls -i를 사용하면 된다.

    2. 심볼릭 링크(symbolic link)

      • 원본 파일의 이름을 가리키는 링크

      • 원본 파일이 사라지게 되면 역할 수행 불가능

      • file system이 달라도 만들 수 있다.

      • 원본 파일이 삭제되더라도 원본 파일과 같은 이름으로 다시 생성하면 다시 사용 가능

      • ls -F로 링크 파일 파악가능

      • ‘@’가 붙어있으면 심볼릭 링크, ‘/‘가 붙어있으면 폴더, ‘*’가 붙어있으면 실행파일

  3. tar : Tape ARchiver의 앞 글자를 조합

    • 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어

    • Archiver는 통상적으로 여러 개의 파일을 하나의 파일로 합치는 프로그램을 의미

    • 저장 장치에 파일을 저장하거나 네트워크를 통해 파일을 전송할 때

      • 파일이 여러 개 있으면 관리가 복잡

      • 여러 파일을 하나로 합쳐서 처리하기 위한 목적으로 만들어짐

    • c : 아카이브 생성(파일을 묶을 때 사용)

    • v : 처리되는 과정(파일 정보)을 자세하게 나열

    • f : 대상 아카이브 지정

      1
      $ tar cvf test.tar test.txt test2.txt test3.txt
    • t : 아카이브에 포함된 내용 확인

      1
      $ tar tvf test.tar
    • x : 아카이브에서 파일 추출(파일을 풀 때 사용)

      1
      $ tar xvf test.tar
    • u : 아카이브의 마지막에 파일들 추가(update)

      1
      $ tar uvf test.tar test4.txt
    • z : gzip 압축 적용 옵션

      1
      2
      3
      4
      5
      6
      7
      $ tar cvzf test.tar test.txt test2.txt test3.txt

      $ gzip test.tar # test.tar 압축 = test.tar.gz

      $ zcat test.tar.gz # 압축된 파일을 binary code로 풀어서 모두 보여줌

      $ gunzip test.tar.gz # test.tar.gz를 압축 해제 = test.tar
  4. BIOS(Basic Input/Output System)

    • 운영 체제 중 가장 기본적인 컴퓨터의 입출력을 처리하는 소프트웨어

    • 사용자가 컴퓨터를 켜면 시작되는 프로그램

    • 주변 장치와 컴퓨터 운영 체제 사이의 데이터의 흐름을 관리

    • Check hardwares

    • MBR(Master Boot Record)이 부트로더를 알고 있음

  5. User

    • user

      1
      $ cat /etc/passwd
    • user 생성

      1
      $ sudo useradd -s /bin/bash -m -d /home/username username
    • user passward 생성

      1
      $ sudo passwd username
    • user 삭제

      1
      $ sudo userdel -r username
    • group 생성

      1
      $ sudo groupadd groupname
    • group passward 생성

      1
      $ sudo gpasswd groupname
    • group 삭제

      1
      $ sudo groupdel groupname
    • chown 명령어

    • 파일 및 디렉토리의 소유권을 바꾸는 명령어

      1
      2
      3
      4
      5
      6
      7
      # root 계정으로 만든 파일을 user1이라는 계정이 소유하게 변경

      # test.txt 파일이 root(user) root(group) 계정 권한이 있다면

      $ chown user1:user1 test.txt

      # user1(user) user1(group)으로 계정 권한이 변경된다.
  6. Vim 명령어

    • 진입

      1
      $ vim [파일 이름.확장자]
    • vim은 시작하자마자 Normal 모드

    • insert를 시작할 때는 i

    • a를 누르면 내가 원하는 자리에서 시작 가능

    • shift + a를 이용하여 커서의 처음자리에서 끝자리로도 이동가능

    • 복사 : shift + y

    • 붙여넣기 : p(한 단계 위에서 붙여진다.)

    • esc를 통해 Normal 모드

    • Normal 모드에서 ‘shift + :’를 누르면 명령어 입력 가능

    • ‘shift + :’에서 w는 저장, q는 나가기, wq는 저장 후 나가기

    • ‘shift + :’에서 숫자를 입력하면 해당 숫자 라인으로 이동

    • H, J, K, L로 방향키 가능

    • v는 비주얼 모드

    • 비정상적인 종료로 swp 파일이 생겼을 경우, 지우면 된다.

  7. 기타 명령어

    • 시스템 레벨 확인

      1
      $ run level
    • 종료

      1
      $ sudo shutdown -h now
    • 리눅스 설치 비트 확인

      1
      2
      3
      4
      5
      6
      7
      $ arch

      $ getconf LONG_BIT

      $ uname -m

      $ echo $HOSTTYPE
    • python 실행 비트 확인

      1
      2
      3
      4
      5
      $ python

      >> import platform

      >> platform.architecture()
    • 리눅스에서 hard disk, USB mount 하는법 찾아보기

      • fdisk, mke2fs
Share