특정 폴더의 하위 폴더에 있는 확장자가 .log인 파일을 모두 찾고 싶어졌습니다. 어떻게 하면 될까요? 저는, 제일 쉬운 방법 중 하나인 grep 으로 하는 방법을 소개하고자 합니다. 물론, 이것 말고도 다른 방법도 있습니다만, 저는 grep을 자주 쓰는 사람이니, 이것을 기준으로 설명해 보도록 하겠습니다. ls는 디렉토리 내에 있는 내용들을 출력해 주는 명령어입니다. 제가 이것을 쓸 때 습관적으로 쓰는 옵션은 -ail 입니다. man 페이지를 쭉 보시다 보면, 왠지 익숙한 명령어가 보입니다. -R이 보입니다. 이것은, 서브 디렉토리들을 재귀적으로 탐색한다는 의미입니다. 다음에, 이 결과물을 가지고 piping을 할 건데요. grep 명령어로 할 거에요. 이 때에는 그냥, 정규 표현식을 입력해 주시면 됩..
리눅스 검색 결과
간혹 가다, 파일 시스템을 확인해야 할 때가 있습니다. 이 때 쓸 수 있는 명령어는 df입니다. 이것은 file system, disk space 관련한 명령어임을 알 수 있습니다. 쭉 내려봅시다. T 옵션은, 파일 시스템을 출력하는 겁니다. 그리고 -h옵션을 같이 넣어서 출력해 봅시다. 우리가 읽기 쉽게 출력하는 h 옵션은 필수인 듯 해요. 그러면, FileSystem과 Type 등이 나오는데요. /dev/sda6이 ext4 타입임을 알 수 있습니다. 그리고 이것은 /에 Mount가 되어 있습니다. 거기에 109기가. 이 친구를 쓸 가능성이 있겠군요. /home/cho가 쓰고 있는 Filesystem을 체크해 봅시다. df -T 뒤에 /home/cho만 붙이면 됩니다. 그러면, 이것은 Type이 ext..
리눅스에 있는 head 명령어에 대해 알아봅시다. 문제는 표준 출력으로 특정한 소스 파일들의 맨 마지막 줄만 제외하고 이어서 출력하라는 것입니다. man 페이지에서는, 기본적으로 파일에 있는 처음 10개 줄을 출력한다고 되어 있습니다. 10개 줄보다 적다면, 당연하게도 파일의 줄 수만큼 출력할 겁니다. file name은 여러 개 올 수 있습니다. 예를 들어 1.txt, 2.c와 같은 것들입니다. 옵션을 보니, 문제 상황에 맞아 떨어지는 것은 -c나 -n인 듯 싶습니다. 문제는 line과 관련된 것이므로, -n이나 --lines를 주면 좋겠네요. 여기서 [-]NUM이라는 것이 있는데, 앞에 -가 붙으면, 마지막 NUM개의 line을 제외하고 출력합니다. 예를 들어, 파일이 11개의 줄로 이루어져 있고 -..
이번 시간에는 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..
최근댓글