1. '파일명'을 찾을때 find명령어를 많이 쓴다. find를 사용하면 경로를 입력한 파일 내에서 폴더가 있으면 재귀적으로 들어가면서 파일명들을 조건에 맞게 검색이 가능하다.
ex) 모든 경로에서 na가 들어간 모든 파일 이름을 찾자 -> find / -name *na* 2>/dev/null
그러면 파일에 쓰여있는 내용들을 현재 파일 내에서 재귀적으로 들어가면서 검색을 하려면 어떻게 해야 할까??
grep을 사용하면 현 경로에서 recursive하게 파일 내용들을 검색해볼수 있다.
맥 기준.
https://apple.stackexchange.com/questions/275373/how-to-make-grep-work-like-in-ubuntu/275379 를 참조한다.
grep -R '검색할 내용' 검색할_위치 처럼 입력한다.
위 사진에서 보면
test폴더 안에 t1.txt가 있고 ra가 들어가있다.
test/test2 의 경로에는 t2.txt가 있고 내부에는 rara가 쓰여있다.
path가 test인 상태에서 grep -R 'ra' .으로 검색해보면 재귀적으로 들어가면서 파일 내용을 찾는걸 알 수 있다.
참고로 우분투는 grep -rn '검색할 내용' 으로 찾으면 된다.
2. 대부분 시중에 나와있는책으로 리눅스를 배운 우리(?)들은 파일들을 이동할때 당연히 cd를 쓴다. 근데 이런 경우가 있다.
현재 /a/b/c/d/e/f/ 경로인데 /xx/yy/zz/ww경로로 cd로 이동을 했다.
그러다가 작업을 다시 해야해서 /a/b/c/d/e/f/로 돌아가려고 한다면? 이전 경로가 너무 복잡해서 기억을 잘 못하는 경우가 많다. 아 이전에 작업하던 폴더가 어디였지... history쳐서 뒤져봐야하나 어쩌구 저쩌구 하는데 pushd와 popd를 쓰면 이 문제를 해결할 수 있다. pushd와 popd는 우리팀의 vi,쉘 마스터이신분들중 한분이 뒤에서 작업하는걸 몰래 보다가 발견했다.
(vi마스터하신 분들 보면 코딩도 인텔리제이안쓰고 vi에 플러그인깔아서 알록달록하게 만들어서 하던데 신기하다.)
https://unix.stackexchange.com/questions/77077/how-do-i-use-pushd-and-popd-commands 를 참조하자.
보면 처음 시작시 경로는 /Users/qkqhxla1/Downloads/work/test이다. 그후 pushd로 Downloads/work/test/test2 경로로 이동한다. pushd명령어는 뒤의 경로로 이동하면서 스택에 이동하는 경로 히스토리를 쌓아놓는다.
pushd test2후에 ~/Downloads/work/test/test2 ~/Downloads/work/test가 출력되는데 스택에 이 두경로가 들어가있다는 뜻이고, 오른쪽으로 갈수록 스택에 첫번째로 들어간 경로이다. 최근에 들어온 경로는 왼쪽으로 삽입된다.
popd를 하면 가장 최근에 들어왔었던 ~/Downloads/work/test/test2가 스택에서 빠지면서 나도 이 경로로 이동하게 된다.
꿀팁인데 여태까지 몰라서 적어놓음.
'setting, git, shell etc' 카테고리의 다른 글
docker Error saving credentials: error storing credentials (0) | 2020.12.09 |
---|---|
jq, awk (0) | 2020.07.06 |
ssh to server without password (0) | 2020.04.29 |
intellij, pycharm git 단축키 설정. (0) | 2019.12.17 |
pycharm git line history (0) | 2019.11.20 |