대소문자 구분없이 grep을 이용해서 matched 되는 줄을 찾는 방법을 알아봅시다. grep의 man 페이지를 보면 -i, --ignore-case라고 되어 있습니다. 이는, 대소문자의 다름을 무시한다는 이야기입니다. sample.txt를 보겠습니다. 여기에는 5개의 줄로 이루어진 데이터가 들어 있습니다. 여기서, grep group을 뽑으면, 이렇게 2개의 줄만 matched 됩니다. 이는, GROUP은 대소문자를 엄격하게 구분한다면, group이 아니기 때문입니다. 이것을 무시하기 위해서 -i 옵션을 줘 보겠습니다. 그러면, GROUP 또한 매치가 됨을 알 수 있습니다. 이런 옵션은 다른 명령어에서도 유용하게 쓰일 수 있습니다. 예를 들어서, 현재 제가 있는 위치인 /home/cho을 기준으로 해..
OS 검색 결과
이번 시간에는 cut 명령어에 대해서 간단하게 알아보겠습니다. 먼저, 어떤 파일인 거 같나요? 유저 이름이 나오고, /usr/sbin/nologin 같은 것이 나오는 걸로 보아서는, /etc/passwd의 내용으로 보입니다. 여기서 우리는 유저 네임만 뽑아내려고 합니다. 유저 이름은 1번째 필드이고, : 을 구분자로 구분되어 있습니다. 옵션 하나. -d는 델리미터를 의미합니다. 토큰을 구분지을 때, 구분짓는 것을 의미합니다. 둘 이상일 때에는, awk를 쓰는 것이 하나의 방법인 듯 싶어요. 이에 대해서는 awk 명령어 포스팅에서 언급을 드린 바가 있습니다. 옵션 둘. -f는 필드를 의미합니다. 구분자로 구분된 구획이 있을 텐데요. 몇 번째 구역을 출력할 것인가를 나타냅니다. 예를 들어서, /etc/pas..
cp 명령어는 옵션이 생각보다 많습니다. 그제, oh my zsh를 셋팅하는 과정에서 유용하게 써먹었던, -r과 -p 옵션만 배워보도록 하겠습니다. 사실, 그걸 셋팅할 때 cp -r을 하고, chown -r을 썼지만요. 먼저, diff 명령어는 파일이 다른지를 비교합니다. -r 옵션을 치면, 디렉토리 하위에 있는 것들에 대해서 재귀적으로 연산을 수행하게 됩니다. 아래는 홈 폴더에 있는 aa와 bb에 대해서 재귀적으로 비교하는 연산입니다. -r 옵션은 본 거 같긴 한데 익숙치 않은 거 같습니다. 그런데, 사실 rm -rf * 도 많이 보던 류입니다. 해당 위치의 하위 폴더들을 재귀적으로, 강제로 삭제하겠다는 의미입니다. 그래서 진짜 조심해야 하는 명령어입니다. 실습할 폴더들에 대한 정보입니다. tree a..
리눅스에는 kill 명령이 있습니다. 이에 대해서 간단하게 알아보겠습니다. 그 전에, 이 명령을 이해하기 위해서 필요한 시그널에 대해서만 잠깐 짚고 넘어가겠습니다. 먼저, Term, Ign, Core, Stop, Cont 같은 것들이 있는데요. 이는 아래 그림의 Action을 보기 위해서 봐야 할 값들입니다. 이 중에 Term은 디폴트 액션이 종료인 것을 의미합니다. 예를 들어, SIGKILL을 날리면, 종료가 됩니다. 디폴트가 Term이라는 이야기입니다. 각 Signal들을 보냈을 때 디폴트 action과 간단한 설명 등을 나타내는데요. SIGHUP는 저번에 한 번 언급을 했었습니다. putty로 ssh 접속을 했습니다. A라는 프로세스를 돌렸습니다. 그 상태에서, 접속을 끊었습니다. 그랬더니 어랏? ..
linux의 awk 명령어를 알아보겠습니다. 이것은 주로, 데이터를 가공해서 원하는 컬럼만 출력할 때 쓰이는데요. 어떻게 쓰는지 간단하게 예를 들어보겠습니다. jo_test의 testlog.txt에는 2020.09.06이랑 aaaa.bb.cc가 있습니다. awk는 'pattern {action}'으로 쓰는데, action이 print $1입니다. 이것은, 뭔가를 출력하라는 의미입니다. 여기서, $1은 구분자들로 구분된 것 중에서 첫 번째 필드를 의미합니다. 보통은, 스페이스 문자일 테니, 2020.09.06이랑 aaaa.bb.cc가 그대로 출력됨을 알 수 있습니다. 구분자를 .으로 하려면 어떻게 하면 좋을까요? man 페이지를 보면, -F가 있습니다. 이것은 필드 구분자를 주는 옵션입니다. -F 뒤에 옵..
최근댓글