터미널의 작업이 끝날지도 모른다 소기 5개

4599 단어 MacUNIXBash리눅스
터미널에서 작업하는 것이 많습니다만, 그 때에 자주(잘) 사용하고 있는 약간의 때에 편리한 커멘드등을 소개합니다.
bash에서 설명합니다.
(zsh 하지만 잡을 수 있고, 더 편리하게 되는 것도 많습니다만)

1. 병렬 계층 구조에 여러 디렉토리를 한 번에 생성


{} 를 이용합니다.
aa,bb,cc라는 디렉토리를 만들 때.
mkdir {dir1,dir2,dir3}

예:


여러 디렉토리 아래에 여러 파일을 터치하는 것도 가능합니다.
touch {dir1,dir2}/{file1,file2}

예:


또한 이름의 일부가 다른 디렉토리와 파일을 동시에 만들 수 있습니다.
touch foo{1,2,3}bar




백업을 할 때 등도 사용할 수 있습니다.
( @tukiyo3 씨에게 코멘트 받은 예를 추가했습니다. 감사합니다!)
cp foobar{,.bak}

예:


2. 디렉토리를 만들어 이동


mkdir /the/directory/path; cd $_

자주 있습니다. 여러 번 치면 귀찮습니다.$_ 로 직전의 명령의 인수를 취득할 수 있습니다.
(행 나누어도 쓸 수 있습니다)

예:

cd 로 이동하지 않고 touch 로 그 디렉토리에 파일 작성 등도 할 수 있습니다.

또한 ESC-. 하지만 $_ 와 같은 것을 삽입할 수 있습니다.
( @tukiyo3 씨 감사합니다!)
예:


3. 이전에 디렉토리로 돌아가기


cd - 

이것은 상당히 사용합니다.




4. 명령을 여러 프로세스로 병렬 실행



xargs -P(maxprocs) 옵션을 사용하면 여러 프로세스에서 병렬로 실행할 수 있습니다.
예를 들어, 다음과 같은 url 리스트 url.list 가 있을 때, 여기에 기재된 URL 각 행에 병렬로 curl 하고 싶다고 합니다.

url.list
http://example.com
http://example.co.jp
http://example.jp
http://example.net
http://example.asia

다음 명령으로 할 수 있습니다. (5 프로세스로 실행)
cat url.list | xargs -L1 -P5 curl

xargs 는 그 밖에도 여러가지 가능하네요.

5. 커서를 단어별로 이동



커서 이동은Ctrl-A 로 선두, Ctrl-E 로 말미에는 날 수 있습니다만,ESC-f 에서 1단어 전진, ESC-b 에서 1단어 돌아갈 수 있습니다.
게다가 이 ESCCTRL-[ 하지만 ok입니다. Vim도 그렇네요.



요약



여러가지 있다고는 생각합니다만, 조작할 수 있으면 좋다고 생각합니다.
더 자세한 것은 man bash 에 여러가지 써 있습니다.
편집기는 Vim파입니다.

좋은 웹페이지 즐겨찾기