특정 폴더의 하위 폴더에 있는 확장자가 .log인 파일을 모두 찾고 싶어졌습니다. 어떻게 하면 될까요? 저는, 제일 쉬운 방법 중 하나인 grep 으로 하는 방법을 소개하고자 합니다. 물론, 이것 말고도 다른 방법도 있습니다만, 저는 grep을 자주 쓰는 사람이니, 이것을 기준으로 설명해 보도록 하겠습니다. ls는 디렉토리 내에 있는 내용들을 출력해 주는 명령어입니다. 제가 이것을 쓸 때 습관적으로 쓰는 옵션은 -ail 입니다. man 페이지를 쭉 보시다 보면, 왠지 익숙한 명령어가 보입니다. -R이 보입니다. 이것은, 서브 디렉토리들을 재귀적으로 탐색한다는 의미입니다. 다음에, 이 결과물을 가지고 piping을 할 건데요. grep 명령어로 할 거에요. 이 때에는 그냥, 정규 표현식을 입력해 주시면 됩..
전체 글 검색 결과
자바에서 Array 둘을 비교할 때에는 어떻게 해야 할까요? 카톡방에 올라온 질문이였습니다. 이에 대한 제 대답은 Arrays.deepEquals를 써라였습니다. 이 글에서도 잠깐 언급을 한 적이 있긴 했습니다만, 질문을 받다 보니, Arrays.equals라던지 equals랑 혼동되는 경우가 있는 듯 하였습니다. 예제 프로그램 하나를 보면서 이해해 보도록 합시다. 2차원 배열이 있습니다. 이들은 각각 2x2짜리 배열입니다. 그리고, 같은 내용물을 담고 있습니다. 첫 번째는 Arrays의 deepEquals, 또 다른 하나는 그냥 Arrays의 equals, 다른 하나는 그냥 equals였습니다. 실행 결과는 어떻게 나왔을까요? 결과는 true, false, false가 나옵니다. 어떻게 된 일인지, 8..
sftp만 되는 유저를 생성하고 싶습니다. 그리고, 루트 폴더를 함부로 접근하지 못하게 하고 싶습니다. 이와 관련된 키워드라고 하면, chroot, 격리 정도가 있을 텐데요. ssh에서도 설정할 수 있습니다. 먼저 ftpuser를 추가해 보겠습니다. adduser 명령어를 치시면 됩니다. 이 유저에 대해서 root의 위치를 /home/ftpuser로 바꿀 겁니다. 도커 공식 문서에서도 많이 본 거 같은데, 기분 탓일 겁니다. 이제 sshd_config 파일을 보겠습니다. 맨 밑에까지 쭉 내려보면 Example of overriding setting on a per-user라고 되어 있는데요. 유저마다 setting값을 오버라이딩 할 수 있다는 의미입니다. 여기서, Match User는 유저에 대해서, M..
간혹 가다, 파일 시스템을 확인해야 할 때가 있습니다. 이 때 쓸 수 있는 명령어는 df입니다. 이것은 file system, disk space 관련한 명령어임을 알 수 있습니다. 쭉 내려봅시다. T 옵션은, 파일 시스템을 출력하는 겁니다. 그리고 -h옵션을 같이 넣어서 출력해 봅시다. 우리가 읽기 쉽게 출력하는 h 옵션은 필수인 듯 해요. 그러면, FileSystem과 Type 등이 나오는데요. /dev/sda6이 ext4 타입임을 알 수 있습니다. 그리고 이것은 /에 Mount가 되어 있습니다. 거기에 109기가. 이 친구를 쓸 가능성이 있겠군요. /home/cho가 쓰고 있는 Filesystem을 체크해 봅시다. df -T 뒤에 /home/cho만 붙이면 됩니다. 그러면, 이것은 Type이 ext..
이펙티브 자바를 보면, 다중 정의를 사용할 때에는 신중하게 하라고 되어 있습니다. 이펙티브 자바 3판의 아이템 52를 잘 읽어보면, 어떨 때 overloading을 신중하게 써야 하는지를 알려주는데요. 그 중 하나의 예로, ArrayList의 remove를 들고 있습니다. 이에 대한 글은, 하도 질문이 들어와서 예전에 레퍼런스 분석에도 상세히 썼던 기억이 납니다. 그나마 이건 단순한 편이지, 상황이 조금이라도 더 복잡해 지면. 왜 그 책에서, remove를 짚어서 이야기를 했을까 고민을 해 보겠습니다. 보시면, remove는 int를 받는 것이 있고, Object를 받는 것이 있습니다. 파라미터가 다릅니다. 물론, 리턴형도 다르지만, 리턴형만 다르다고 오버로딩이 되었다고 하지는 않습니다. 이 글에서도 언..
최근댓글