becool

20210405 (월) 본문

linux

20210405 (월)

gusalstm 2021. 4. 5. 18:05
반응형

9:30 review.

 

grep 명령어 

 + 정규표현식 : 메타문자 

 

grep 예제

 cat

 concatenate

 category

 educated

 vindication

 

[user@localhost 20210405]$ cat example2
cat
cbt
c11t
c12t
google
gAbgle
type
!at
cabct
cabcdt
linux123
[user@localhost 20210405]$ grep c[0-9][0-9]t example2
c11t
c12t

[user@localhost 20210405]$ grep c.*t example2
cat
cbt
c11t
c12t
cabct
cabcdt

 

vim에디터

 

================================

1. Linux 파일시스템 계층 구조

위치 목적
/usr 설치된 소프트웨어, 공유 라이브러리, 포함된 파일 및 읽기 전용 프로그램 데이터
중요한 하위 디렉터리에는 다음이 포함된다
/usr/bin : 사용자 명령
/usr/sbin : 시스템 관리 명령
/usr/local : 로컬 사용자 지정 소프트웨어
/etc 이 시스템 고유의 구성 파일이다.
/var 재부팅 후에도 유지되는 이 시스템 고유의 가변 데이터이다. 동적으로 변경되는 파일
(예 : 데이터베이서, 캐시 디렉터리, 로그 파일, 프린터로 전송된 문서, 웹 사이트 콘텐츠 등)
/run 마지막 부팅 이후 시작된 프로세스의 런타임 데이터이다. 여기에는 프로세스 ID 파일과 잠금 파일 등이 포함된다. 이 디렉터리의 내용은 재부팅하면 다시 생성된다. 이 디렉터리는 이전 버전의 RHEL에 있던 /var/run 과 /var/lock 을 통합한다.
/home 홈 디렉터리는 일반 사용자가 개인 데이터 및 구성 파일을 저장하는 디렉터리이다.
/root 관리자 수퍼유저의 홈 디렉터리
/tmp 어디에서나 쓸 수 있는 임시 파일용 공간이다. 10일동안 엑세스, 변경 또는 수정되지 않은 파일은 이 디렉터리에서 자동으로 삭제된다. 다른 임시 디렉터리는 /var/tmp 에 존재한다. 30일 이상 엑세스, 변경 또는 수정되지 않은 파일은 자동으로 삭제된다.
/boot 부팅 프로세스를 시작하는 데 필요한 파일이다.
/dev 시스템에서 하드웨어에 엑세스하는 데 사용되는 특수 장치 파일을 포함한다.

 

 

/bin : 시스템 명령어 디렉터리

/boot : 부팅 설정 디렉터리

/mnt : 디스크 장치 등을 연결(마운트)하기 위한 경로

/proc : 시스템의 메모리 공간의 데이터를 위한 경로

/lib64 : 

/run : runtime 실행시 저장 데이터 저장을 위한 경로

/tmp : 임시파일 보관, 모든사용자가 파일을 만들수 있는 디렉터리

/usr : 패키지 설치시 공유 파일 등이 위치하는 경로

 /usr/bin : 시스템 명령어

 /usr/sbin : 시스템 관리 명령어

 /usr/lib : C 라이브러리 등이 위치

 /usr/share : 문서, 샘플 설정 파일 등

/var : 가변 데이터(Web, FTP. Log) 저장 경로

 /var/www : 웹문서

 /var/FTP : FTP

 

================================

2. 권한 (Permission)

 - 파일/디렉터리 접근 권한

 1 Read 파일 읽기 / 파일 목록 확인

 2 Write 파일 내용 수정 / 파일 생성 및 삭제(디렉터리 사용권한)

 3 Executable (execute)  / 디렉터리 이동, 접근 (cd 명령어)

 

 소유자 (User)

 소유그룹 (Group)

 기타사용자 (Others)

 

[user@localhost 20210405]$ ls -l
-rw-rw-r--. 1 user user   88 Apr  5 09:58 example1

-rw-rw-r--. 1 user user   88 Apr  5 09:58 example1
타입(-. d. l 등) 권한 8진수 하드링크의 갯수 소유자 소유그룹
- rw-rw-r--. 1 user user

$ chmod [option] PERM FILE

 

<8진수>

r : 4, w : 2, x : 1

[user@localhost 20210405]$ chmod 755 file01

 -rwxr-xr-x. 1 user user 28 Apr  5 14:43 file01

 

<심볼릭>

[user@localhost 20210405]$ chmod u+w user01

 

-rwx---r-x. 1 user user 28 Apr  5 14:43 user01
[user@localhost 20210405]$ chmod u=rx user01
[user@localhost 20210405]$ ls -l
-r-x---r-x. 1 user user 28 Apr  5 14:43 user01

 

chmod Who What Which file/directory

구분 표현 의미
Who u, g, o, a 사용자, 그룹, 기타, 모두
What +, -, = 추가, 제거, 정확히 설정
Which r, w, x 읽기 쓰기, 실행

 

umask (기본 권한)

최대권한 777

umask값을 뺀 권한 : 디렉터리 생성 기본 PERM

위 값에서 111을 뺀 권한 : 파일 생성 기본 PERM

 

[user01@localhost dir1]$ umask 022

[user01@localhost dir1]$ vim /etc/profile

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022

재부팅하면 설정된 umask값으로 돌아가므로 반영할려면 위 파일을 변경해야함.

 

 

================================

3. 쉘 명령어 사용

쉘 메타 문자 : 쉘에서 특별한 의미를 가지는 메타 문자

 

1) 경로 이름 메타 문자

  ~ : 현재 로그인 된 사용자의 홈 디렉터리

   ~

   ~user

   ~+

   ~-

 

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

  ① * : 아무것도 없거나 하나 이상의 문자를 대체하는 메타문자

[user01@localhost dir1]$ ls user01_*
user01_file1  user01_file2  user01_file3

 

  ② ? : 임의의 한 문자를 대체하는 메타문자

[user@localhost dir1]$ ls -l user01_f?
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f1
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f2
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f3

 

 ③ [] : 정의된 문자 세트  

[user@localhost dir1]$ ls -l user01_f[a-z]
-rw-rw-r--. 1 user user 0 Apr  5 17:54 user01_fa
[user@localhost dir1]$ ls -l user01_f[0-9]
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f1
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f2
-rw-rw-r--. 1 user user 0 Apr  5 17:53 user01_f3

 

 3) 인용부호 메타 문자

   '' : 홑 따옴표 안에 있는 모든 메타문자를 일반 문자로 취급하는 인용부호 메타문자

   "" : 이중 따옴표 안에 있는 '$', '`', '\' 세 가지 문자를 제외한 모든 메타 문자를 일반문자로 취급하는 인용부호 메타문자

[user@localhost dir1]$ echo 'I am Happy.'
I am Happy.
[user@localhost dir1]$ echo "$USER"
user

 

   `` : 역 홑 따옴표 안에 있는 내용의 (명령어)실행 결과로 대체하는 인용부호

[user@localhost 20210406]$ echo "the current time is `date`."
the current time is Tue Apr  6 12:26:57 KST 2021.

 

 4) 방향 재지정 메타 문자 : redirection

번호 채널 이름 설명 기본 연결 사용법
0 stdin 표준 입력 키보드 읽기 전용
1 stdout 표준 출력 터미널, 모니터 쓰기 전용
2 stderr 표준 오류 터미널, 모니터 쓰기 전용
3+ 파일 이름 기타 파일 none(없음) 읽기 및/또는 쓰기

 방향 재지정(Redirection) = 입출력 방향을 기본장치가 아닌 다른 곳으로 지정하는것.

stdout

 > [FILE] : stdout를 리다이렉션하여 파일을 덮어씀 (overwrite)

[user@localhost 20210406]$ ls -l > file2 → 기본내용을 삭제하고 덮어씀.

 >> [FILE] : stdout를 리다이렉션하여 파일에 첨부 (append)

[user@localhost 20210406]$ ls -l >> file2 → 기본내용 뒤에 덧붙임.

 

stderr

 2> [FILE] : stderr를 리다이렉션하여 파일을 덮어씀 (overwrite)

 2>> [FILE] : stderr를 리다이렉션하여 파일에 첨부 (append)

 2> /dev/null : 오류 메세지 폐기

  

stdin

 cat < /etc/hosts

 

 

 

 

 

 

728x90

'linux' 카테고리의 다른 글

20210408 (목)  (0) 2021.04.08
20210407 (수) -NEW  (0) 2021.04.07
20210407 (수)  (0) 2021.04.07
20210406 (화)  (0) 2021.04.06
20210402  (0) 2021.04.02
Comments