Secret Poten

우분투(Ubuntu) 제8장 - 파일다루기 (제4장) 본문

리눅스/우분투(Ubuntu)

우분투(Ubuntu) 제8장 - 파일다루기 (제4장)

potentail 2016. 7. 5. 11:38

티스토리 블로그로 오면서 다시 진행되는 우분투 강좌입니다~!


그 이전강좌를 보고싶으시다면

http://blog.naver.com/PostList.nhn?blogId=poten1022&from=postList&categoryNo=18


위 링크로 가셔서 차근차근히 보시면됩니다

물론 기초적인것이기때문에 쉽게 쉽게 따라하실수 있을텐데요


이제부턴 슬슬 더 중요해질 내용이니 구독하기 눌러주셔서 계속 올라오는 강좌 보시면 될것 같습니다 ~!


그럼 거두절미하고 시작해보겠습니당




1. touch

형식 : touch [-옵션] 파일명


옵션 : 

▷ -t : [[CC]YY]MMDDhhmm[.ss] 형식을 추가해서 파일의 시간을 변경할수 있습니다


이 터취터취는 빈 파일을 생성하는 명령어로써 간~~~혹 파일의 시간을 변경할때 사용하기는 하지만

보통은 잘 안씁니다


빈파일을 생성한다.... 라는것은 안에 아무것도 없는 빈파일을 생성하는것인데요

활용도가 높은편에 속하는 명령어이니 익혀두시면 편리합니다


*파일의 시간을 변경한다는것은 파일의 마지막 수정시간이라던지 파일에 남겨진 시간로그를 변경하는것입니다

*파일의 시간을 변경하는 이유는 아무래도 해킹의 목적이 가장큰것이 아닐까싶네요

* Ex > 해킹해서 파일을 수정한후 파일의 시간을 원래대로 돌려놓는다 ( 들키지 않게 뒷처리를한다 ) 정도 되겠네요 (?)


먼저 빈파일부터 그냥 하나 생성해봅시다


touch touchtest



아무것도 없는 빈 파일이 생성 되었습니다

자세히 보시면 크기가 0byte죠??


gedit으로 한번 열어보도록 하죠!

gedit touchtest



아무거나 입력해서 저장하고 닫아줍시다

그다음 ls -l 명령어로 확인을 해보시면..!

세상에 마상에!! 파일 크기가 커졌습니다!!

는 당연한 소리겠지요...


그다음 명령어인


2. grep

형식 : grep [-옵션] 패턴 (파일명)


옵션 : 

▷ -i : 대 *소문자를 모두 검색한다

▷ -l : 해당 패턴을 포함하는 파일의 이름을 출력한다

▷ -n : 행 번호를 출력한다


이 grep(그랩) 명령어는 아마 롤하시는분들이라면 블리츠 그랩해!! 그랩해!!

하시는거 많이들 들어보셨을텐데 그 그랩의 의미가 맞습니다 :D

지금은 파일이 몇줄 되지않아서 괜찮지만 나중에 중요한 파일을 설정할때 필요한 부분만 찾아서 봐야할때

이 grep명령어를 사용하게됩니다

grep명령어로 필요한 부분만 찾아올수 있도록 하는것인데요


일단 직접 한번 해보도록하죠


grep root /etc/passwd

passwd파일은 제가 cat명령어나 다른명령어 설명하실때 많이 보셧을텐데

파일길이가 조금 있던 파일이였죠 후훗


거기에서 root라는 단어를 포함한 행을 출력해주게 되는데요

포함된 단어는 빨간색으로 강조가 되어있군요


-i 옵션은 대소문자 기억이 잘안나실때 활용하시면 될것같습니다


grep명령어는 | (파이프) 를통해서 가장많이 이용됩니다 (키보드에 쉬프트키를 누른채로 달러표시를 누르시면됩니다)

ex > rpm -qa | grep httpd


3. find

형식 : find [경로] [검색조건] [동작]


옵션 : 

▷ -name 파일이름 : 파일 이름으로 검색

▷ -type 파일종류 : 파일 종류로 검색

▷ -user 로그인ID : 지정한 사용자가 소유한 파일검색

▷ -perm 접근권한 : 지정한 권한과 일치하는 파일검색


동작 : 

▷ -exec 명령어 {} \; -> 검색된 파일에 명령을 실행합니다

▷ -ok 명령어 {} \; -> 사용자의 확인을 받아 명령을 실행합니다

▷ -print : 검색된 파일의 절대경로명을 화면에 출력시킵니다 (디폴트값)

▷ -ls : 검색 결과를 긴 목록형식으로 출력합니다


아무래도 리눅스 강좌에서 최초로 사용하기 조금 힘든 명령어가 등장 했는거 같군요

바로이 find!!

find 명령어는 패키지 설치이후 설정파일을 찾을때라던지 여러가지로 많이 쓰이게 되는데요

어려운이유가 아무래도 조금 활용하기가 어려워서 그렇지 않을까 싶네요 ㅎㅎ...


그렇다면 일단은 여러번 써보는것이 가장 중요할터!!

직접한번 명령어를 써보면서 확인을 해봐야죠


*TIP : 경로명을 지정해주면 그 경로를 찾아다닙니다 만약에 어디있는지 정확하게모른다면 시간이 오래걸리더라도 / (최상위) 로 맞춰주시고 검색하면 되겠습니다


find /home -name touchtest

요로코롬 찾아지게 되는데요 검색시간이 엄청빠른데

만약에 / (최상위) 부터 찾게된다면 시간이 조금 걸리게 되겠죠...?


그렇다면 최상위 / 부터 찾아보도록 합시다

find / -name touchtest



쭉쭉 뜨면서 찾긴 찾는데 굉장히 뭔가좀 이상하죠...?!

퍼미션 디나이뜨는건 바로 권한부족때문에 일어나는 자연스러운 현상입니다


퍼미션 디나이가 뜨니까 일단 루트계정으로 접속해서 한번 확인해보도록하죠


su root

비밀번호를 입력해주시게되면

루트권한으로 모든것을 사용하실수가있습니다


다시 find / -name touchtest

전처럼 퍼미션디나이가 쭉~ 뜨지않아서 천만다행입니다


그래도 루트계정은 위험하니 공부할때 이외엔 안쓰시는것이 가장 좋습니다 ^^


마지막으로 find에서 exec를 한번 보도록하겠습니다


exec는 검색된 파일에 명령을 실행하는것으로

간단하게 검색된 파일은 삭제하도록 해보겠습니다


find / -name touchtest -exec rm {} \;


음... 삭제가 잘 된것같은데요

이상하게 /run/user/100/gvfs는 퍼미션 디나이가 뜨네요 ㅠㅜ (root계정인데?!)


그렇다면 잘삭제 됫는지 ls -l 명령어로 확인해봅시다 ( 현재 접속중인 디렉터리는 계정홈디렉터리여서 바로뜹니다 :D)

touchtest파일이 잘 삭제된것을 확인할수가 있습니다.


마지막 두가지 명령어만 확인하고 끝내도록하겠습니다.


4. whereis

형식 : whereis [-옵션] 명령어


옵션 : 

▷ -b : 바이너리 파일만 검색한다.

▷ -m : 매뉴얼 파일만 검색한다.

▷ -s : 소스 파일만 검색한다.


이건 명령어 파일위치를 확인할때 사용하지만

실제로는 사용을 거의(아예)안합니다


그래도 한번 보고가는것이 좋을것 같아서 ㅎㅎ


whereis cat

고양이는 저기있어!! 라는것을 가르쳐주네요


사실 우리가 치고있는 명령어들은 기본적으로 지원해주고 하는것이아니라

명령어 실행파일에서 전부 실행이 되고있는것입니다

명령어또한 파일인것이죠~ ^^

리눅스에대해 조금더 깊게 공부하시게되면 아시게 될날이 올겁니다 :D

(깨달음의 경지?!)


5. which

형식 : which 명령어


이것도 whereis랑 비슷한 명령어이긴하지만

which명령어는 path환경변수로 지정된 경로에서 파일을 찾습니다

이것또한 잘 안쓰는 찬밥신세 명령어죠 (주륵..)


which cat

고양이를 찾았습니다!!


이런식으로 명령어를 찾긴찾는데 딱히 명령어를 저렇게 찾을필요까진 필요없을거 같네요...ㅎㅎ


오늘로써 파일다루기는 모두~ 끝낫습니다


다음 강좌는 문서편집기로 vi 와 vim에대해서 강좌를 진행할 생각입니다

(gedit도 좋긴좋지만 아무래도 vi는 어떤리눅스던지 있을뿐더러 회사나 다른곳에서도 vi로 편집을하기때문에 vi는 거의 필수라고 보시면 됩니다)


그외 궁금한점은

http://secretpoten.tistory.com/category/%EA%B3%B5%EC%A7%80%EC%82%AC%ED%95%AD

공지사항을 잘보시고 오픈채팅으로 물어봐주시면 감사하겠습니다 :D


Comments