$ cd backup
bash: cd: backup: 그런 파일이나 디렉토리가 없음
$ mkdir !$
$ cp *.c !$
$ cd !$
bash 쉘프롬프트 상에서 !$ 사용법의 극치는 위와 같습니다. 거의 모든 명령의 "목적지"에 해당하는 맨 뒤에 오는 인자입니다. 따라서, !$ 의 연속적인 사용은 긴 목적지를 쉽게 줄여줄 뿐아니라, 사고의 연속성에도 굉장한 도움을 줍니다.

그러나, 습관적으로 ls 를 하는 사람에게는 위와 같은 절제된 신공이 통할리가 없지요.
$ cd backup
bash: cd: backup: 그런 파일이나 디렉토리가 없음
$ ls
client.c  proxy.c  server.c
$ mkdir backup
$ ls
backup/  client.c  proxy.c  server.c
$ cp *.c backup
$ ls
backup/  client.c  proxy.c  server.c
$ cd backup
생각난 김에 자주사용하는 팁으로, 더 설명하자면, 목적지를 유지하면서 하는 것 외에 소스를 유지하면서 작업해야하는 경우도 있습니다 그때는
$ cp -rp controllers views backup
$ cp !:1- backup2
"!:1-" 이란 직전의 명령줄에서("!:") 1번째 인자부터 마지막 인자를 제외한(1-) 것이란 뜻이죠. C언어에서 main 함수에 넘어가는 argv와 비슷하게 0,1,2,3... 으로 생각하시면됩니다.

svn을 자주 사용하다 보면 diff 한 뒤 커밋을 해야할 일이 생깁니다.
$ svn diff controllers views
..
..
$ svn ci !:2-$
제일 많이 쓰는 "!" 을 이용한 명령살이를 살펴 보았습니다. 제발 "ls" 좀 중간중간치지 마세요. 값없어 보입니다.
신고

+ Recent posts