오늘은 리눅스 강의에서 사용되는 에디터 명령어, 탐색 명령어, 열람 및 정렬 등의 기능을 수행하는 명령어 들에 대해 알아보겠습니다.
먼저 nano 입니다. 리눅스 환경에서 텍스트 파일을 다루어야 할 때가 굉장히 많은데, nano는 이럴 때 정말 유용하게 쓸 수 있는 에디터입니다. 커맨드에 nano 명령어 입력 후 파일명을 입력하면 다음과 같은 에디터가 나타나게 됩니다.
여기서 ^는 CTRL을 의미하고 아래에 보면 이 에디터를 통해 여러가지 기능을 할 수 있어요. 예를 들어 ^T 는 To Spell 인데 해당 문서안에서 오탈자가 있는지를 자동으로 파악해서 올바른 단어로 고칠 수 있도록 도와줍니다. 또한 ^C는 Cur Pos 인데 현재 몇 번째 라인의 몇 번째 열인지, 그리고 몇 번째 글자인지를 커서 위치에 따라 알려주는데 이 기능을 사용하면 특정 위치를 타인에게 쉽게 알려줄 수 있겠죠? ㅎㅎ
다음으로 살펴볼 명령어는 locate와 updatedb 입니다. 먼저 locate부터 보도록 할께요. locate는 데이터베이스에서 파일을 찾아서 리스트 형태로 결과를 보여주는 명령어입니다. locate 명령어만 입력을 하면, 해당 디렉토리 아래에 있는 모든 파일의 경로가 출력이 되고, locate 뒤에 특정 조건을 걸어주면 (ex. *.conf) 해당 조건에 맞는 모든 파일의 경로가 출력이 됩니다. 여기에서 --limit 를 통해 출력값의 갯수를 제한할 수도 있어요.
이렇게 데이터베이스를 사용하는 것은 정말 빠르지만, 업데이트를 필요로 합니다. 업데이트는 기본적으로 리눅스에서 매일매일 자동으로 진행이 되지만, 사용자가 직접 업데이트를 할 수도 있어요. 이 때 사용하는 명령어가 updatedb 입니다. 그리고 업데이트를 할 때는 관리자 권한을 필요로 하기 때문에 다음과 같이 입력을 해야 데이터베이스가 업데이트 되게 됩니다.
$ sudo updatedb
다음으로는 db를 쓰지 않고 파일을 찾아주는 명령어인 find에 대해서 알아보겠습니다. find 명령어를 사용하면 해당 디렉토리 아래에 있는 모든 파일명을 볼 수 있습니다. 여기에 여러가지 조건들을 추가해서 검색을 할 수도 있는데 대표적으로 -name, -type, 그리고 -size 등이 있습니다.
// 명령어 뒤의 . 은 써도 되고 안 써도 된다
// 해당 디렉토리 아래의 모든 파일및 폴더를 검색하고 싶다
$ find .
// 최대 5 뎁스까지의 모든 파일 및 폴더를 검색하고 싶다
$ find . -maxdepth 5
// 파일만 검색하고 싶다
$ find . -type f
// 폴더(디렉토리)만 검색하고 싶다.
$ find . -type d
// 파일 이름이 .txt로 끝나는 파일 및 폴더만 검색하고 싶다.
$ find . -name "*.txt"
// 파일 이름이 세글자인 파일 및 폴더만 검색하고 싶다.
$ find . -name "???"
// 파일 크기가 100kb 이상인 것만 검색하고 싶다.
$ find . -type f -size +100k
또한 파일을 여러개를 한꺼번에 보야할 때도 있는데요. 이 때 사용하는 명령어가 cat 명령어 입니다. 그리고 파일들을 수직적으로 뒤집는 명령어는 tac 이며, 수평적으로 뒤집는 명령어는 rev 입니다.
예를 들어 file1.txt에 hello, file2.txt에 world 가 저장되어 있다고 가정해 봅시다.
$ cat file1.txt file2.txt
hello
world
$ tac file1.txt file2.txt
world
hello
$ rev file1.txt file2.txt
olleh
dlrow
다음으로는 리눅스 환경에서 sort하는 방법을 알아 보겠습니다.
기본적으로 sort 파일명 을 입력하면 오름차순으로 정렬이 됩니다.
여기에서 만약에 숫자 크기로 정렬하고 싶다면 sort -n 파일명 으로 작성을 해 주어야 합니다. 그렇게 안 하게 될 경우 1, 10, 2, 20, 3, ... 이런 식으로 정렬이 되게 됩니다. ls -l 명령을 통해서는 여러 column 값이 있는 표 형태의 리스트를 받아보게 되는데 이러한 경우 특정 column을 기준으로 정렬을 하기 위해서는 sort -k 옵션을 사용합니다. 예를 들어, sort -k 5n (다섯번째 값 오름차순 정렬) 이런 식으로 명령어를 입력해 주어야 합니다. 여기서 다섯번째 값 내림차순 정렬은 sort -k 5nr 입니다.
grep 명령어는 특정 텍스트 안에서 데이터를 찾기 위해서 사용합니다. grep을 사용하면 해당 데이터가 있는 텍스트 라인들을 반환합니다. -c 옵션은 숫자를 세기 위함이고, -i 는 대소문자 구분을 없애줍니다. grep은 특히 파이프로 이루어진 명령에서 유용하게 사용할 수 있습니다.
'Prog. Langs & Tools > Linux' 카테고리의 다른 글
[Udemy] 리눅스 강의 #3 (alias, wildcards, basic commands) (0) | 2019.08.16 |
---|---|
[Udemy] 리눅스 강의 #2 (Command I/O, Pipeline) (0) | 2019.08.07 |
[Udemy] 리눅스 강의 #1 (BASH, Linux Manual) (0) | 2019.08.06 |