파일의 권한
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 |