컴퓨터 관련/리눅스
4. 리눅스 디렉터리 및 파일 관련 명령어 모음
0wner
2021. 4. 30. 21:56
1. 디렉터리 관련 명령어
1. pwd
2. cd
cd [상대경로|절대경로] [설정경로]
이름 |
설명 |
~ (틸다) |
현재 사용자의 홈 디렉터리로 이동 |
. (점 하나) |
현재 디렉터리 |
.. (점 두 개) |
현재에서 한 단계 상위 디렉터리로 이동 |
/ |
루트 디렉터리로 이동 |
3. mkdir
mkdir [옵션] 디렉터리명
옵션 |
설명 |
-m |
디렉터리를 생성할 때 권한을 설정 (디폴트는 755) |
-p |
상위 경로 생성 |
-v |
디렉터리 생성 후 디렉터리의 메시지 출력 |
4. rmdir
- 디렉터리를 삭제하나, 내부에 파일이 있을 경우 삭제하지 않음
rmdir 디렉터리명
2. 파일 관련 명령어
1. ls
- 현재 위치한 디렉터리의 파일 목록들을 나타내는 명령어
ls [옵션] [경로명]
옵션 |
설명 |
-a |
모든 파일과 디렉터리 표시 |
-l |
자세한 정보 표시 |
-d |
지정된 디렉터리의 정보 출력 |
-r |
알파벳 역순으로 정보 출력 |
-R |
하위 경로와 그 안에 있는 파일 표시 |
2. cp
cp [옵션] 원본 대상
옵션 |
설명 |
-b |
백업 파일을 만듦 |
-f |
복사 대상 파일을 강제로 지우고 복사 |
-i |
사용자에게 덮어 씌울 것인지 확인 |
-r |
하위 디렉터리와 파일을 모두 복사 |
3. rm
rm [옵션] 파일명|디렉터리명
옵션 |
설명 |
-f |
강제로 파일이나 디렉터리 삭제 |
-i |
삭제 시 사용자에게 질의 |
-r |
하위 디렉터리를 포함하여 모든 파일 삭제 |
4. mv
- 파일 또는 디렉터리를 이동하거나 파일명을 변경할 때 사용하는 명령어
mv [옵션] 원본 대상
옵션 |
설명 |
-b |
백업 파일 생성 |
-v |
파일이 옮겨지는 과정을 자세히 표시 |
5. touch
touch [옵션] 파일명
옵션 |
설명 |
-a |
접근시간(Access Time)을 변경 |
-m |
수정시간(Modify Time)을 변경 |
-c |
시스템 현제 시간으로 파일 시간 정보를 수정 |
-t 시간정보 |
특정 파일의 시간 정보 변경 |
-r 파일1 파일2 |
파일1의 시간 정보를 파일2에 동일하게 적용 |
6. file
- 파일 종류 및 파일 속성 값을 나타내는 명령어
file [옵션] 파일명
옵션 |
설명 |
-b |
파일 유형만 표시 |
-f |
지정한 파일들에 대해서만 명령을 수행 |
-z |
압축된 파일의 내용 출력 |
-i |
MIME 타입 문자로 출력 |
7. find
find [경로] [옵션] [정규표현식] [파일명]
옵션 |
설명 |
-name |
이름을 기준으로 파일 검색 |
-user |
user의 파일이나 디렉터리 검색 |
-perm |
지정된 권한의 파일 검색 |
-type |
파일 유형에 따라 파일 검색 |
-atime n |
n일 이전에 접근한 파일 검색 |
-exec |
검색된 파일에 수행할 명령어를 지정 |
8. locate
locate [파일명]
3. 텍스트 파일 관련 명령어
1. cat
cat [옵션] [파일]
옵션 |
설명 |
-n |
각 문장 앞에 번호 표시. 비어있는 행 포함 |
-b |
각 문장 앞에 번호 표시. 비어있는 행 제외 |
-s |
연속되는 2개 이상의 빈 행을 한 행으로 출력 |
-A |
텍스트 파일에 존재하는 개행 문자나 탭 문자 등을 확인 |
2. grep
- 파일에서 특정한 패턴 또는 정규 표현식으로 나타낸 단어를 찾는 명령어
grep [옵션] 문자열 파일명
옵션 |
설명 |
-r |
디렉터리 내의 모든 디렉터리와 파일들을 검색하도록 지정 |
-E |
패턴을 정규 표현식으로 확장 |
-i |
대문자, 소문자 차이 무시 |
-v |
검색할 문자열이 포함되지 않은 줄만 출력 |
-n |
라인 수 출력 |
-l |
문자열이 포함된 파일명 출력 |
4. 파일 비교 명령어
1. cmp
- 두 개의 파일을 바이트(문자) 단위로 비교하여 다른 부분을 출력하는 명령어
cmp [옵션] 파일명1 파일명2
옵션 |
설명 |
-b |
두 파일 간의 다른 바이트를 출력 |
-l |
두 파일 간의 다른 문자 위치와 문자를 출력 |
-s |
아무것도 출력하지 않고 실행 결과 코드만 반환 |
5. 리다이렉션과 정규 표현식
1. 리다이렉션
연산자 |
설명 |
> |
프린터나 파일에 출력하도록 전송 파일이 존재하지 않으면 새로운 파일을 만들고 같은 파일이 존재하면 덮어씀 |
>> |
지정된 파일에 결과를 추가 파일이 존재하지 않으면 지정된 이름으로 파일 생성 |
< |
파일에서 입력 내용을 읽어옴 |
>& |
명령의 출력을 다른 명령의 입력으로 내보냄 |
<& |
명령의 입력을 다른 명령의 출력으로 내보냄 |
2. 파이프
- 둘 이상의 명령을 함께 묶어 출력 결과를 다른 프로그램의 입력으로 전환하는 기능
3. 정규표현식
기호 |
의미 |
사용 예 |
설명 |
^ |
라인의 첫 글자 |
^a |
a로 시작하는 문자 |
$ |
라인의 끝 글자 |
a$ |
a로 끝나는 문자 |
. |
한 글자 |
a...b |
a와 b 사이에 3개 문자가 들어가 있는 단어 |
* |
*기호 바로 이전의 글자나 정규 표현식을 0회 이상 반복 |
abc* |
c가 0번 이상 반복 |
[] |
- 대체 글자 목록을 []에 나열 - "-"로 문자의 범위 지정 |
[abc]d |
a,b,c 한 글자라도 반드시 있는 단어 예시) ad, bd, cd |
[^] |
- 대체 글자 목록을 [^]에 나열 - "-"로 문자의 범위 지정 |
[^abc]d |
a,b,c 한 글자라도 반드시 있는 단어는 불포함 예시) ad, bd, cd는 불포함 |
+ |
+ 기호 바로 이전 글자나 정규 표현식이 1회 이상 반복 |
abc+ |
c가 1번 이상 반복 |
? |
? 기호 바로 이전 글자나 정규 표현식이 없거나 1회만 존재 |
abc? |
c가 없거나 한 번만 존재 |
() |
부분 정규 표현식의 시작과 끝을 표시 |
a(bc)* a(bc)+ a(bc)? |
- bc가 0회 이상 반복 - bc가 1회 이상 반복 - bc가 있거나 없거나 |
| |
|로 구분된 단어들 중 최소 하나 존재 |
a(b|c) |
b 또는 c가 최소 하나 존재 |
|
{} 기호 바로 이전 글자나 정규 표현식이 m개 이상 n개 이하 반복 |
ab |
'ab','aab','aaab'를 포함하지만, 'b'나 'aaaab'는 포함하지 않음 |
출처: 이기적 리눅스마스터 2급 기본서