Linux_Working With Files Exercise

history 커멘드는 매우 유용하다. 내가 사용했던 명령어들을 확인 할 수 있고, !1209라고 명령어를 작성하면

해당 1209번째에 사용했던 커멘드를 불러온다. 

ctrl+r을 누르고 원하는 단어를 입력하면 나의 history 내역에서 사용했던 명령줄을 찾아보고 불러올 수 있다. 

첫번째 불러온 명령줄이 원하는 줄이 아니라면 한번더 ctrl+r을 입력하면 히스토리 아네서 동일한 검색 단어의 다른

커멘드를 찾아서 불러올 수 있다. 커멘드가 길었었던 경우 유용하게 사용될 수 있다. 

home 디렉토리에서 .bash_history 파일로 숨겨져 있다. history -c는 커멘드 입력 내역을 지울 수 있다.

 

tail 커멘드는 중요한 옵션이 있는데 바로 -f이다.

-f는 운영체제 위의 서버에서 활동되고 있는 활동을 실시간으로 확인할 수 있다.

이 점을 이용하여 /var/log/syslog/파일에서 서버의 로그나 sql같은 데이터베이스의 로그나 시스템 로그등을 추적할 수 있따다.

 

 

파일로 작업하기 위한 명령어 cat head tail sort less 등등 명령어들을 활용하여 주어진 과제를 푼다.

1번 미션을 해결하기 위해 FilesExercise 폴더를 Desktop에 다운받은 후, cat 커멘드의 n 옵션을 활용하여 poem 파일의 줄의 수를 확인해보았다. 총 132줄이다.

poem 파일의 크기가 크니 less를 활용하여 읽기 쉽게 처리하라고 한다.

 

less 명령문을 사요하여 위 처럼 cat 명령문보다 보기 쉽게 확인할 수 있으며 한줄 위는 윗 방향키,

한줄 아래는 아랫 방향키, 한페이지 넘어가기는 space, 한페이지 뒤로가기는 b를 활용하여 less 명령문을 활용해

파일을 읽을 수 있다. 빠져나올 때에는 q 단축를 사용한다.

 

위 미션을 해결하기 위해 less 명령어로 폴더를 연 후, '/dog' 혹은 '/Dog'를 작성하여 해당 단어의 위치로 이동할 수 있고,

'='를 이용하여 현재 보여지는 단어의 위치를 확인할 수 있다.

이를 통해 dog 단어느 9번째 라인에 있고,

Dog는 43번째에 있는것을 확인할 수 있다. 

보너스 문제로 dog 단어를 대소문자 구부없이 검색하기 위해서는 less 커멘드의 i 옵션을 활용하면 된다.

'less -i 파일이름' 으로 커멘드르 작성하고 '/dog'를 사용하여 단어를 검색해보면 가장 먼저 소문자 'dog' 를 찾아주고

이 후 'n' 을 누르면 대소문자 구분없이 또다른 'dog'를 찾아준다.

이를 해결하기 위해 '-N' 옵션을 활용한다. 'less -N 파일이름' 을 사용하면 라인도 같이 표시된다.

 

위처럼 라인에 number가 표기된걸 확인할 수 있다.

위 미션을 해결하기 위해 less 메뉴얼을 확인해본 결과 '+숫자%' 옵션을 활용하여 해당 폴더의 원하는 위치로 이동 할 수

있다는 것을 확인했다.

'less +50%' 입력 후 나타난 폴더 내용 화면이 반절인지 확인하기 위해 '='를 입력해보니 첫번째 줄인 132개의 줄중 68번째 줄로 폴더의 반절 부분으로 파일을 연 것을 확인 할 수 있었다.

 

 

위 미션 파일안에 있는 단어의 수를 카운트 하기 위해,

 

'wc -w' 명령어를 파일 앞의 4개 줄을 출력하기 위해 'head -n 4'를 

 파일 뒤의 8개 줄을 출력하기 위해 'tail -n 8'을 작성하였다.

 

해당 파일을 뒷 라인부터 출력하기 위해 tac 명령문을 사용하고, 파일을 알파벳 순서로 확인하기 위해서는 sort 명령어를

활용하면 된다.

실행시킨 결과를 확인해보면 cat 을 이용하여 먼저 파일을 확인 후 tac 명령문을 사용하니 해당 폴더가 reserve 되는 것을 확인 했고, sort 명령문을 통해 알파벳순으로 파일의 내용을 정렬하여 보여준 것을 확인할 수 있었다.

위 미션을 해결하기 위해서는 wc 커멘드의 -l 옵션을 활용했다. 

 

총 7줄이다.

이후 가격 순으로 정렬 하기 위해 sort 커멘드의 '-n' 옵션을 활용하여 숫자로 정렬될 수 있도록 하고 '-k3' 옵션을 활용하여

세번째 열을 기준으로 정렬하게 만들었다. reserve를 하기 위해선 '-r' 옵션까지 붙여준다.

 

그리고 미션은 아니지만 sort에서 재밌는 옵션인 '-u'를 활용해보았다. 이 옵션은 중복된 값을 제거해준다.

purchases 파일은 steve1의 이름이 중복되어 있는데, 3번째 열의 값은 다르기에 -u를 사용하면 어떻게 결과값을

나타내는지 궁금했다.

변화된게 없었다. steve1은 1열 2열이 같은 값이지만 3열의 값이 다르기에 중복된 것으로 취급하지 않은 듯 하다.

이를 통해 -u 옵션은 행이 모두 동일할 경우에만 중복된 값으로 취급하는 것을 확인할 수 있었다.

나의 예상이 맞는지 확인하기 위해 nano 명령문을 통해 test 파일을 만들고 -u 옵션을 실행해 보았다.

 

예상대로 1행 2행은 값이 모두 동일하니 지워지고 3행은 지워지지 않았다.

 

 

재밌네 리눅스

'Linux' 카테고리의 다른 글

Linux_Piping Exercise  (0) 2024.03.15
Linux_Redirection Exercise  (0) 2024.03.14
Linux_Deleting, Moving & Copying Exercise  (0) 2024.03.07
Linux_Making Files and Folders Exercise  (0) 2024.03.06
Linux_Navigation Exercise  (1) 2024.03.05