링크 파일
우리가 많이 사용하는 운영체제 MS윈도우를 사용하다 보면 바로가기 파일이 있는데 이 바로가기 파일은 그 파일에 내용이 있는 것이 아니라 다른 파일을 가리키고 있는 파일이 바로 링크 파일이라고 한다.
확장자도 바로가기는 .lnk 로 끝난다. 그래서 리눅스에서 이와 비슷한 개념이 있는데 링크 파일은 그것인데 다른 파일을 가리키고 있다는 파일이다. 윈도우 말고 리눅스에서 링크 파일을 만드려면 ln 명령어를 쓰면되는데 여기서 옵션 -s 를 주고 링크를 탈 파일을 적고 타고 들어가는 파일을 만들면 된다. 여기서  옵션 -s 는 심볼릭 링크(Synbolic link) 를 생성하라는 옵션인데 이 옵션을 주지 않으면 하드 링크 (Hard link) 파일이 생성이 되기 때문에 이를 유의해야 한다. 예를 들어서 이런식으로 하면 링크 파일을 만들면 된다.

ln -s test.txt qwe

qwe 가 아니여도 qwe.txt 를 해도 된다.
여기서 내가 만든 링크파일이 잘 만들어졌는지 어떤 파일이 링크 파일인지 알고 싶다면

ls -l

 

이것을 치게 되면

이것이 보일것이다.
여기서 앞에 lrw 에 l 은 심볼릭 링크 파일일 경우에만 저렇게 된다. 하드 링크 파일은 어떤 파일이 링크 가 되어있는지 알기가 까다로운데 파일시스템의 inode 값을 확인해야 된다.
하드 링크가 된것을 확인하려면 -i(inode)를 치면 된다.
 
ls -i
 
이걸 치게 되면 번호가 같은 걸 보면서 하드 링크가 되어 있는 것을 볼 수 있다.
 
파일 찾기
특정 파일을 찾는 방법은 find 명령어를 쓰면 된다.
 
find . -name '*.jpg'
 
이 명령어는 현재 디렉토리와 그 하위 디렉토리를 검색해서 모든 jpg 파일을 찾으라는 명령이다.
또 find 명령어는 매우 다양한 옵션으로 파일을 찾을 수 있다. -type 옵션을 이용해서
find / -name 'Music' -type d
 
이건 루트 디렉토리부터 전부 검색해서 Music이라는 폴더를 찾으라는 명령이다.
다양한 옵션을 살펴보려면 help 명령을 사용하자.
find -help
 
이외에도
whereis vi
locate imci.txt
등이 있는데 whereis 는 vi 실행 파일이 어디 있냐 라고 해서 위치를 알려주는 명령어이다.
locate 는 find 명령어와 비슷하게 동작하지만 find보다 속도가 조금 빠르지만 다양한 옵션들이 별로 없다.
 
파일 내용 검색하기
파일명이 아니라 파일의 내용중에서 찾고 싶은게 있다면 특정 키워드가 파일 내용 안에 있는지 검색할 수 있는 방법이 있다.
find . -name '*.txt' | xargs grep -n test
현재 디렉토리와 하위 디렉토리에 있는 확장자가 txt인 파일들 중에서 저장된 내용 중에 test라는 문자열을 포함하는 파일을 찾으라는 명령이다. 또는 다르게 간단하게 입력해도 된다.
grep -r test ./
 
현재 디렉토리와 하위 디렉토리를 검색해서 test라는 문자열을 가지고 있는 파일을 찾으라는 명령이다.
이제 찾았다면 파일의 내용을 봐야되는데 파일의 내용을 살펴보자고 한다면 cat 명령어를 사용하면 된다.
cat test.txt​
파일이 너무 크다면 가장 끝에 부분의 내용만 보고 싶을때 tail 명령어를 쓰면 된다.
tail -n 50 test.txt
 
test.txt 의 내용에 끝 부분 50줄만 보여주라는 명령어 이다. tail 의 반대로 head 가 있는데 즉 맨 앞 줄 몇 라인만 보여주는 명령어도 있다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

+ Recent posts