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 |