리눅스(4) - 소프트링크, 퍼미션, umask, 메타문자, 프로세스

김형선·2023년 9월 7일
0

Linux

목록 보기
4/16

심볼릭 링크

  • 심볼릭 링크 사용해서 특정한 것(실행 파일 같은 것들)을 써도 다른거(다른 실행 파일)랑 연결시킬 수 있다.
  • 이게 뭔 말이냐면 centos8에서는 yum 대신 dnf 명령어를 쓰는데 사람들은 yum 명령어를 쓰는게 편하다.
  • 그래서 yum을 써도 dnf 기능을 쓰고 싶으면 심볼릭 링크를 걸면 된다는 것이다.(현재는 centos7쓰고 있어서 상관은 없음.)
  • 만약 해보고 싶으면 cd /usr/bin들어가면 거기에 ls -l | grep yum해보면 있는 것 확인가능하다.
  • 거기서 sudo yum install -y dnf를 하면 dnf도 깔려서 which dnf하면 생긴걸 확인할 수 있다.(깔기 전에는 없다고 나옴)
  • 그리고 심볼릭 링크 걸면 위에서 얘기했던 것이 될 것임.

참고 파이썬들 심볼릭 링크 걸려있는 것도 같은 느낌.


find, grep

  • 파일 및 디렉토리 검색

절대경로로 find(현재 어디있던 상관 없음)
상대경로로 find(현재 있는 디렉토리가 /etc임)


퍼미션

참고 블로그 Click


/etc/passwd (uid확인)

  • /etc/passwd에서도 uid 확인할 수 있고, 그냥 id치면 다 확인 가능하다. ls -n하면 각 디렉토리나 파일 소유자 확인 가능.

  • 이제 관리자 입장에서 어떻게 권한을 바꿔줄지에 대해서 얘기하겠다.

  • chmod를 사용해서 쓰는데, 이를 통해 퍼미션 변경을 수행할 수 있다. 파일의 소유자가 변경하거나 root 사용자 권한으로 변경이 가능하다.

  • 심볼릭 모드랑 8진수 모드 두 가지 방식으로 바꿀 수 있다.





umask

  • 파일은 최대 권한이 666, 디렉토리는 777이다.
  • umask는 강력한 보안을 위해 기타 사용자들에게 권한을 부여하지 않기를 원할 때 부여하는 것이다.
  • 따라서 어떤 유저가 umask가 002라면 이 사람의 파일 권한은 최대 664인 것이다. 디렉토리는 775일 것이다.

메타문자

1. ~(틸드) 메타문자

예를 들어 한 서버에 유저가 user01, user02, user03이 있다면
root > /root
user01 > /home/user01
user02 > /home/user02
user03 > /home/user03
이런 상태임.
root로 접속한 상태에서 user01의 홈디렉토리 가고 싶으면 cd ~user01하면 된다.

2. 파일 이름 대체 메타문자

*,?,[]

위에 세 개가 파일 이름 대체 메타문자이다.
1. 예를 들어

ls -l | grep pas*

이라고 치면 저기 별표 문자 * 는 아무것도 없거나 하나 이상의 문자를 대체하는 문자로 사용된다.
2. ?는 단 하나의 문자를 대체하는 문자로 사용된다.
3. []는 하나의 문자를 대체하는 문자의 범위를 지정할 수 있다. 예를 들어서 [abc]라고 하면 a,b,c 중에 하나의 문자랑 대치된다. 만약[0-9]면 0에서 9까지의 숫자 범위에 해당하는 숫자랑 대치된다.

3. 인용부호 메타문자


역 홑 따옴표 `` 를 쓰면 특정 명령어의 결과를 출력 하도록 해준다.


이런 것도 된다.
홑 따옴표(''), 이중 따옴표(""), 역 홑 따옴표(``) 잘 구분해야한다.

4. 방향재지정 메타문자



'>'는 기존의 파일이 있다면 덮어쓰지만, '>>' 메타문자는 원래 파일 내용에 추가가 된다.


프로그램과 프로세스

  • 프로그램을 실행시키면 운영 체제가 디스크에서 프로그램을 읽어 메모리에 저장한다.
  • 운영 체제가 프로세스를 생성하고 프로세스에게 메모리 공간을 할당한다.
  • 운영 체제가 프로세스 코드를 실행한다.
  • 프로세스는 CPU에서 실행되고, CPU는 프로세스 코드를 실행하고 데이터를 처리한다.
  • 프로세스가 종료되면 운영 체제는 프로세스의 메모리 공간을 해제하고 프로세스를 삭제한다.

0개의 댓글