OS

정규표현식 과 리눅스 명령어

쭈녁 2023. 12. 8. 03:12

파일의 권한

r w -
읽기 쓰기 사용가능
4 2 1

파일의 권한 변경 : chmod

chmod [파일권한] [변경할 파일 위치 또는 이름]

chmod 777 hello.txt 

/*숫자는 순서대로 /소유자 /그룹 /그외 사용자를 의미함*/

소유권 변경 : chown

root 권한이 있어야 실행 가능

chown [소유할유저]:[소유할그룹] [소유권 변경하고 싶은 디렉토리 or 파일 명]

디렉토리 생성 : mkdir

빈파일 생성 : touch

  • touch [생성할 파일 이름] 형식으로 사용
  • touch [디렉토리 경로/파일 명] 사용 가능

디렉토리 삭제 : rmdir

  • 비어있는 디렉토리를 삭제 지정한 디렉토리에 파일이 있을 경우 삭제 불가

파일 및 디렉토리 삭제 : rm

rm [option] [삭제할 파일 및 디렉토리 명]

option
-r : 디렉토리와 그 하부 파일까지 삭제
-f : 삭제 여부를 묻지 않고 바로 삭제
-i : 삭제할 것인지 확인을 한다.
-rf : 삭제 여부를 묻지 않고 하부 파일이 있는 디렉토리까지 삭제

파일 및 디렉토리 복사 : cp

cp [option] [대상 위치 및 이름] [복사하고 싶은 위치]

option
-r : 하위 디렉토리와 파일 전체를 복사
-p: 소유주, 그룹, 권한, 시간 정보를 그대로 복사

파일 및 디렉토리 이동 : mv

mv [대상 위치/이름] [이동하고 싶은 위치/이름]

파일 내용 출력 : cat

cat [option] [파일 이름]

option
-n : 왼쪽에 줄 번호와 함께 내용을 출력한다.
> : 파일의 내용을 덮어 쓴다.
>> : 파일의 내용이 있다면 뒤에 내용을 추가한다.

파일 검색 : find

find [파일 경로] [-name] [파일 이름] [-type d/f]

/*
끝에 -type d 혹은 -type f 를 작성하여
디렉토리나 폴더만을 검색할 수도 있다.
*/

정규표현식

메타  문자의미
^ 문자열의 시작
$ 문자열의 끝
\w 알파벳 대소문자 , 숫자, 언더스코어(_)
\W \w에 해당하지  않는 글자
\n 개행문자
. 하나의 문자와 대응
\d 숫자
\D 숫자가 아닌 것.하나의 문자와 대응
\s 공백문자 공백문자
\S 공백문자가 아닌 것
\ 메타 문자를 문자 그대로 사용
\t 탭(tab) 문자

 

pipe 문법

|를 이용하면|A | B의 패턴으로 매칭 가능 예를 들어 bad|bed 라는 정규 표현식은 " bad "와 " bed" 둘 중 하나가 있는 문자를 의미

 

선택 패턴

[ ]  : 대괄호 속에 넣은 문자 중에서 하나에 매칭

[0-9]  : 0부터 9까지의 숫자 하나에 매칭

[A-Z]  : A부터 Z까지의 알파벳 대문자 하나에 매칭

 

^기호는 [ ] 안에서 not의 의미를 가지게 된다.

 

수량 한정자

수량자 의미
 ? 0개 또는 1개
{ n } n개
* 0개 이상
{n, m}ㅍ n개 이상, m개 이하
+ 1개 이상
{n, } n개 이상

 

grep

파일 내에서 지정한 패턴이나 문자열을 찾은 후에 그 패턴을 포함하고 있는 모든 행을 출력

grep [option] [pattern] [파일명]

option

-i : 대소문자를 구분하지 않고 검색한다.

-v : 패턴과 일치하지 않는 행을 출력한다.

-c : 패턴과 일치하는 행의 개수를 출력한다.

-w : 패턴과 단어 단위로 매칭되어야 출력한다.

 

File Redirection

스트흐름바꾸일반적인 표 출력 그리고 오류 로인 파일로 재지정하는 것을 뜻함.

ls > ls.txt
/*표준 출력을 재지정*/

ls >> ls.txt
/*파일이 존재하지 않다면 파일을 생성*/

 

사용 예)

cat < hello.txt > test.txt

/*	
    1.hello.txt의 내용을 cat 명령어의 입력 스트림으로 전송 
    2.cat 명령어는 hello.txt 파일의 내용을 출력 
    3.cat 명령어의 출력 스트림을 test.txt로 변경 
    4.cat 명령어의 출력 스트림은 화면이 아닌 test.txt에 저장
*/

 

'OS' 카테고리의 다른 글

리눅스의 역사  (0) 2024.03.23
운영체제의 종류와 리눅스의 계열  (1) 2024.03.23
OS의 정의와 발전 과정  (0) 2024.03.21
Thread(스레드)  (0) 2023.12.09