탕구리's 블로그

리눅스 파일 관리하기 명령어 본문

Conception/Linux

리눅스 파일 관리하기 명령어

탕구리당 2017. 12. 20. 19:45
반응형

리눅스 파일 관리하기


리눅스에서는 파일을 통해 텍스트, 이미지, 영상, 디렉터리 정보, 네트워크 소켓, 자료의 흐름, 시스템 장치까지도 파일로 처리합니다.

1. 리눅스에서 파일의 대,소문자 구별은 엄격합니다.

2. . 파일 이름은 최대 256자 까지 가능하며, 공백을 포함한 특수문자를 사용 가능( 하지만, 특수문자 사용은 지양합니다.)


파일 정보 확인하기

파일 정보를 확인하는 명령은 ls [옵션] [파일]  형식으로 입력합니다.


옵션


-l : 파일의 형태, 파일의 소유권과 허가권, 파일 크기, 파일을 최종적으로 변경한 날짜와 시간을 알려준다.

-a : 숨겨진 파일까지 보여줍니다.


* ( '.' 현재디렉터리를 의미합니다, '..' 상위디렉터리를 의미합니다, '.'으로 시작하는 파일은 숨김파일을 의미합니다.)


파일 정보의 이해


ls -l 명령에 의해 출력되는 파일 목록은 다음과같이 표시됩니다


ex) drwxrwxr-x 6 dongsu dongsu 4096 5월 19 02:30 project   :      접근권한, 링크, 소유자, 소유그룹, 크리 최종 변경한 날짜와 시간, 파일이름 순 입니다.


1. 접근권한 


(1) d (2)rwx (3)rwx (4)r-x


(1) 파일의 종류를 의미합니다.

(2) 소유자를 의미합니다.

(3) 소유그룹을 의미합니다.

(4) 다른 모든 사용자를 의미합니다.



2. 소유권 변경하기


소유권을 변경하는 명령어는 chown(change of the owner of a file)입니다. chown [옵션][사용자 계정 및 그룹][파일]의 형식을 갖습니다.

* 파일의 소유권을 변경할 때는 루트 계정의 권한이 필요합니다    


sudo chown dongsu sample -> sample파일의 소유권자를 "dongsu"로 바꾼다.

sudo chown dongsu:dongsu sample -> 소유자와 그룹을 동시에 바꿀 수 있습니다. 파일의 소유권자는 변경되지만 디렉토리 안에 있는 파일의 권한은 유지된다.

sudo chown -R dongsu:dongsu sample/ -> sample 디렉터리 안에 있는 모든 파일의 소유권은 변경시켜 줍니다.





3.접근 권한 변경하기


접근 권한을 병경하는 명령은 chomod(change mode)입니다. chomod [레퍼런스][연산자][접근권한][파일] 형식으로 입력 합니다


chown과는 다르게 파일의 소유자도 명령을 내릴 수 있습니다.


레퍼런스 : 변경할 대상 소유자(user), 그룹(group), 다른 모든 사용자(others)를 뜻하며 차례대로 u,g,o로 표시한다.

a는 소유자와 그룹, 다른 사용자 모두를 의미한다.

권한을 부여하는 연산자는 "+", 해지하는 연산자는 "-"이다.

접근 권한은 읽기(read), 쓰기(write), 실행(excute)로 각각 r,w,x로 표현한다.


chmod ugo+rwx sample -> sample 파일의 접근 권한을 u,g,o모두에게 r,w,x를 부여한다.

chmod u-rwx sample -> other에 대한 모든 접근 권한을 해제합니다.

chmode 444 sample sample -> sample 파일에 대해 u,g,o 모두에게 읽기권한을 줄수 있습니다.



400 :  파일 소유자의 읽기권한

200 : 파일 소유자의 쓰기 권한

100 : 파일 소유자의 실행 권한

40 :  그룹 사용자의 읽기권한

20 : 그룹 사용자의 쓰기 권한

10 : 그룹 사용자의 실행 권한

4 :  파일 소유자의 읽기권한

2 : 파일 소유자의 쓰기 권한

1 : 파일 소유자의 실행 권한






4. 리눅스 시스템 디렉터리


리눅스를 설치하면 기본적으로 시스템 디렉터리가 생성됩니다. 기본으로 생성되는 시스템 디렉터리들은 함부로 삭제하거나 변경해서는 안됩니다.


/ : 모든 디렉터리가 시작하는 뿌리인 최상위 디렉터리 "루트"라고 읽는다.

/dev : 시스템에 설치된 주변 장치(마우스, 모니터, 비디오카드, 하드디스크)들이 파일도 등록되어 있는 디렉터리

/etc : 시스템 설정 파일이 들어 있는 디렉터리입니다. 사용자, 그룹 정보, 파일 시스템 테이블과 같이 기본적으로 시스템의 환경을 경정하는 파일들

/bin : 사용자가 사용하는 가장 기본적인 명령들이 실행 파일 형태로 저장되어 있습니다.

/lib : 공유 라이브러리 파일들이 저장되어 있는 디렉터리, 시스템의 부팅과 응용 프로그램의 실행에 필요한 코드들이 들어있다.

/home : 사용자 계정 생성시 계정의 이름과 동일한 디렉터리가 /home 안에 만들어 진다.

/root : 루트를 위해 제공되는 홈 디렉터리

/proc : 시스템 정보를 제공하는 가상 파일 시스템 디렉터리, 해당 디렉터리의 파일들을 통해 CPU정보, 인터럽트 목록, 입출력 주소 목록과 같은 시스템 상태를 모니터링 할 수 있다.

/sbin 시스템 관리 명령들이 들어있는 디렉터리

/tmp : 임시로 파일을 생성 또는 삭제하는 공간

/var 시스템을 운영하면서 생기는 각종 임시파일 을 저장하는 디렉터리

/usr 시스템, 응용 프로그램에서 필요한 파일들이 저장되어 있는 디렉터리 입니다.






5. 파일과 디렉터리 다루기


pwd : 현재 작업하고 있는 디렉터리 위치를 알려줍니다.

mkdir [생성할 디렉터리 명] : 디렉터리를 생성합니다.

rmdir [제거할 디렉터리] : 디렉터리를 제거합니다.

mkdir -p(parents) 옵션은 상위 디렉터리를 포함하는 하위 디렉터리를 생성합니다.

mkdir -p dongsu/genius

touch [파일명] : 빈 파일을 생성합니다.

cp [옵션][원본파일][사본파일] : 현재 작업 디렉터리에 다른 이름의 파일을 복사해서 만듭니다.

cp -r : cp 명령은 디렉터리 전체를 복사합니다.

mv [옵션][원본파일][사본파일] : 파일을 이동하는 명령어





6. 파일 내용 확인하기


cat [파일명] : 파일 내용을 화면에 표시하는 명령


보여줄 내용이 많은 경우에는 more 이나 less 명령어를 사용합니다.

more [파일명] : f를 누르면 다음 화면, b를 누르면 이전 화면 , enter 한줄 한줄, q를 누르면 종료 

less [파일명] : g(가장 첫화면) G(가장 마지막 화면) /검색문자(검색) n,N 검색결과 찾기

head [파일명] : head -n 15 15번재 라인까지만 출력

tail [파일명]  : tail은 마지막 부터 보여줌, 

tail -f : 실시간으로 로그를 갱신


7. 검색하기


find [탐색경로][옵션][표현식] : find -name <- 경로를 생략하고 이름으로 검색하는 옵션


sudo find / -name backup : 전체 디렉터리 중 backup으로 된 파일을 찾습니다.




8. 파일 이름에 정규 표현식 적용하기


grep [옵션][표현식][파일명] 형식으로 입력합니다


 파일 내용을 검색하는 명령어 grep 입니다.


grep pit teamdata : teamdata안에 있는 pit이란 문자열을 포함하는 행을 보여줍니다.

grep -c pin teamdata : pit이 포함된 행의 개수를 보여줍니다.

grep -n pit teamdata : 문자열이 포함된 행과 행번호를 보여줍니다.

grep -i pit teamdata : 대소문자 구별 없이 문자열을 검색합니다.


ex) ls -l | grep base

- ls -l의 결과 중에서 base라는 문자열을 검색하라는 명령어 입니다.


파이프 라인과 함께 혼용하여 사용하면 유용한 결과를 얻을 수 있습니다.









생각보다 명령어가 많아서 정리하며 치는 것도 정말 힘드네요...





반응형

'Conception > Linux' 카테고리의 다른 글

for문 활용하기 - shell script  (1) 2020.03.12
리눅스 프로세스 관리하기 명령어  (0) 2017.12.21
Comments