반응형
리눅스의 중요한 개념
리눅스는 모든 것을 파일로 취급하는데요, 리눅스에서 실행되는 모든 프로그램들이 파일로 관리된다는 의미입니다. 그렇기 때문에 파일과 디렉토리에 대해 아는 것은 매우 중요합니다.
파일 및 디렉토리 명령어
명령어 ls
ls는 list를 의미하며, 디렉터리 내용을 출력하는 명령어다. 주로 ls -al로 사용한다.
짧은옵션 | 긴옵션 | 설명 |
-a | --all | 모든 파일을 보여준다. .으로 시작하는 숨김파일도 보여준다. |
-d | --directory | 디렉토리 자체에 대한 정보를 보여준다. |
-F | --classify | 파일명에 파일종류를 알려주는 문자렬 보여준다. 실행파일 *. 디렉터리 /, 심볼릭 링크 @ |
-h | --human-readable | 바이크 크기가 아닌, 읽기 쉬운 형태로 가공하여 보여준다. 1024 => 1K |
-i | --inode | inode번호를 보여준다. |
-l | --formant=long | 긴 포맷의 결과를 보여준다. |
-r | --reverse | 알파벳 오름차순이 아닌, 내림차순으로 리스트에 표시한다. |
-R | --recursive | 재귀적으로 수행하여, 서브디렉터리 내용도 나열한다. |
-S | --sort=size | 파일 크기 오름차순 정렬 |
-t | --sort=time | 최종 수정시간 순서대로 정렬 |
$ ls -al 출력결과
파일 리스트는 많은 정보를 담고 있는데, 이를 읽는 방법을 알아두는 것은 리눅스 사용에 많은 도움이 된다.
디렉토리 명령어
명령어 | 설명 |
cd [파일경로] | 디렉토리로 이동한다. |
mkdir [디렉토리명 ...] | 디렉토리를 만들 수 있으며, 한번에 여러개 생성가능. 옵션 p : 필요한 경우 상위디렉토리를 만들고 디텍토리를 생성함 mkdir -p 하위디렉토리1/하위디렉토리2 |
rmdir [디렉토리명] | 디렉토리를 삭제한다. 단, 비어있는 디렉토리만 삭제 가능 |
rm [디렉토리명] | 파일이나 디렉토리를 삭제한다. 디렉토리 내의 파일과 하위 디렉토리를 삭제하려면 rm -r dir, rm -rf dir을 사용한다. (하지만 복구가 안되므로 주의가 필요하다) |
rm을 안전하게 사용하기
alias rm='rm -i' 명령어를 실행하여 rm명령어를 실행 할 때, 물어보도록 한다.
파일 복사 & 이동 명령어
명령어 | 설명 |
cp | copy 파일 또는 디렉토리 복사 cp [option...] file1 file2 => file1을 file2로 복사한다. file2가 이미 존재하는 경우 덮어씌우므로 -i옵션을 사용한다. cp -r [option...] file... dir => file1을 dir1 디렉토리 하위로 복사한다. cp -r [option...] dir1 dir2 => 명령어를 사용해, 디렉토리 하위의 모든 내용을 복사할 수 있다. |
mv | move 파일 또는 디렉토리 이동 및 이름 변경 mv [option...] file1 file2 => file1을 file2로 이름을 변경한다. file2가이 이미 존재하는 경우 덮어씌운다. mv [option...] dir1 dir2 => dir1을 dir2로 이름을 변경한다. dir2가 이미 존재하는 경우, dir1이 dir2의 서브디렉터리로 이동된다. mv [option...] file... dir => 마지막 인자가 존재하는 디렉토리라면, 여러 파일들을 지정 디렉터리로 이동시킨다. |
파일 읽기 명령어
명령어 | 설명 |
more [파일명] | 파일 내용이 큰 경우 한화면을 보여주고 일단 멈춤 - 다음화면 보기 : space bar - 다음라인 보기 : enter - 종료 : q more -20 +10 /etc/services => 20라인 단위로 보여주며, 10번째 라인부터 보여줌 |
less | more의 개선된 버전 방향키나, page up, page down으로 스크롤 할 수 있다. |
head | 파일의 맨 앞부분 출력 head -n -5 /etc/services => 맨 앞 5줄 출력 |
tail | 파일의 맨 뒷부분 출력 tail -f -n 20 /server/logs/catalina.out => 맨 뒤 20출을 출력하며, 변화하는 파일 내용을 계속 감시할 수 있음. 실시간으로 로그 볼 때 자주 사용 |
cat | 파일내용 확인하기 cat file => 파일 내용이 전체 출력된다. |
파일종류 정규파일(-) - 데이터를 저장하는 데 사용하는 보통의 파일이다. 디렉터리(d) - 리눅스에서는 디렉터리도 파일이다. - 디렉터리에는 저장된 파일이나 하위 디렉터리에 대한 정보가 저장된다. 심볼릭링크(l) -'소프트링크'라고도 하며, 원본 파일을 가리키는 링크다. 윈도우의 '바로가기'와 비슷하다. 장치파일 - 프린터, 키보드 같은 각종 장치를 파일로 취급한다. - 블록 디바이스 파일(b) 과 문자 디바이스 파일(c)로 구분된다. |
파일의 접근권한
분류 | 구성 |
사용자 부류 | 소유자(u), 그룹(g). 기타(o) |
권한 | 읽기(r, 4), 쓰기(w, 2), 실행(x, 1) |
디렉토리를 자유롭게 사용하려면, 읽기와 실행권한이 필요하다. 디렉터리로 이동하거나 ls명령어를 사용 할 수 있다.
파일 접근권한 명령어
명령어 | 설명 |
chmod [option...] mode files | 파일 소유자가 파일의 접근 권한을 변경한다. chmod -R 755 dir1 => -R 옵션을 디렉터리에 적용하면, 포함된 모든 파일과 서브 디렉토리까지 권한을 변경한다. - dir1과 모든 파일 및 하위디렉토리에 대하여 권한을 변경한다. - 소유자: 읽기,쓰기,실행 / 소유 그룹&기타 : 읽기,실행 chmod [u+x] file1 => file1에 대한 소유자의 실행권한을 추가한다. |
umask [-S] [mask] | 파일이나 디렉터리 접근 권한의 기본값 출력, 설정 umask => 002 출력, 디렉터리에 775, 파일에 664권한 부여 (기본적으로 파일은 실행권한을 부여하지 않기 때문에 1을 뺌) umask -S => u=rwx,g=rx,o=rx 출력 touch file1 => 파일 접근/수정 시간을 현재시간으로 변경하며 파일이 존재하지 않으면 파일을 생선한다. 이를 이용해서 파일을 생성하고, 이 때 파일생성시 접근 권한을 확인할 수도 있다. |
chown [option...] newowner files | change owner, 소유자를 변경하는 명령어 파일이나 디렉토리가 생성되면, 생성한 사람이 소유자이며, 해당 그룹이 소유그룹으로 설정된다. chown username: => 소유자와 소유자 그룹 모두 변경 chown :group => 소유자 변경없이 그룹 변경 |
파일 링크 명령어
명령어 | 설명 |
ln [option...] file1 file2 | hard link,파일을 다른 이름으로 연결하는 명령어 - 파일 링크 카운트 증가 - 파일에 생성 가능 / 디렉터리에 생성 불가능 - 다른 파일시스템에 있는 파일에 링크 생성 불가능 ln file1 file2 |
ln [option...] dir1 dir2 | symbolic link,디렉토리의 바로가기 생성 - 윈도우의 '바로가기'와 같은 독립적인 파일 - 다른 파일시스템에 심볼릭 링크를 만들 수 있다. - 원본을 삭제하면, 의미가 없어진다. - 디렉토리에 생성 가능 / 파일에 생성 불가능 ln -s dir1 dir2 |
하드링크 예시
$ ln file file2 ; ls -ali
51894433 -rw-r--r--. 2 username username 12 10월 10 13:23 file
51894433 -rw-r--r--. 2 username username 12 10월 10 13:23 file2
file과 file2를 하드링크를 걸어주었더니, 파일의 링크 카운트가 1에서 2로 증가하였다. 원본 파일의 새로운 이름이 생성되는 것이며, 새로운 파일이 만들어지는 것은 아니다. 파일을 하나를 열어서 수정한 뒤 두 파일의 내용을 확인해보면 동일한 내용을 확인할 수 있다.둘 중 하나가 삭제되는 경우 해당 파일을 삭제 되고, 다른 파일은 링크 카운트가 1감소하며, 다른 영향은 없다. 즉, 파일의 다른 이름이 삭제되는 것으로 생각하자.
소프트링크 예시
$ ln -s dir1 dir2 ; ls -al
18721165 drwxr-xr-x. 2 username username 16 10월 10 11:43 dir1
51894440 lrwxrwxrwx. 1 username username 2 10월 10 13:20 dir2 -> dir1
심볼릭 링크는 파일정보가 i로 표시되며, t2가 t1을 가리키고 있음이 표시된다.
알아두면 좋은 명령어
명령어 | 출력결과 | 설명 |
file [파일경로/파일명] | file.out: UTF-8 Unicode text | 파일의 종류를 알려준다. |
pwd | /home/username | 현재 디렉토리 경로를 알려준다. |
반응형
'OS > LINUX' 카테고리의 다른 글
CentOS7 image 다운로드 / VMware 가상화 (0) | 2020.08.28 |
---|---|
리눅스 명령어 정리 (1) | 2020.08.27 |
VIM - 빔 에디터 사용법 (윈도우) (0) | 2020.06.18 |
댓글