์๋ ํ์ธ์,
์ด๊ฒ์ด ๋ด ๋ฌธ์ ์
๋๋ค. ํน์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ j pu
์ ๊ณ์ ์ฌ์ฉํฉ๋๋ค. ์ด๊ฒ์ ์ผ์ ์๊ฐ, ๋๋ก๋ ๋ช ์ฃผ, ๋๋ก๋ ๋ฉฐ์น ๋์ ์๋ํ๊ณ ์ธ์ ๊ฐ๋ .
ํ๊ณ ๋ด ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ ์ ์์ต๋๋ค. ๋์๋ง์๋ db ๋๋ ๊ธฐํ ์ฒญ์๋ฅผ ์ ์ํ๋ ๊ฒ์ด ์์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ง์ํ ์ ์์ต๋๋ค ...ํ์ง๋ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋ ํ์ธ์,
์ฌ๋ถํ ํ์ ๋ง โโ๋ฐ์ํ๋ค๊ณ ์๊ฐํ๋ ๊ฒ์ ์ ์ธํ๊ณ ๋ ๋์ผํ ๋ฌธ์ ์ ๋๋ค.
์๋ง https://github.com/wting/autojump/pull/383์ ์ํด ์์ ๋์์ ๊ฒ์ ๋๋ค.
๋ถ๋ช ํ ์์ ๋์ง ์์์ต๋๋ค. ์ด๊ฒ์ ์ ๋ง ์ฑ๊ฐ์ ์ผ์ ๋๋ค. ์ด๋ค ์๊ฐ?
๋ต๋ณ์ด ๋ฆ์ด์ ์ฃ์ก ํฉ๋๋ค๋ง ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง, ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ๋์ง ๋๋ต์ ์ผ๋ก ์๊ณ ์์ต๋๋ค.
๋ชจ๋ ๋๋ ํ ๋ฆฌ ๋ณ๊ฒฝ์์ ์๋ ์ ํ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ ๊ทธ๊ณ "๋ฐ์ดํฐ๋ฒ ์ด์ค"์ ๊ฐ์ ํ์์ผ๋ก ์ ์ฅ๋ ํญ๋ชฉ์ ์
๋ฐ์ดํธํฉ๋๋ค. ์ ๊ธ์ด ์คํจํ๊ณ db๋ฅผ ๋ฎ์ด ์ฐ๋ ๊ฒฝํฉ ์กฐ๊ฑด ( find
๊ณผ ๊ฐ์ ๋๋ ํ ๋ฆฌ๋ฅผ ํต๊ณผํ๋ ์ ์คํฌ๋ฆฝํธ / ๋ช
๋ น์ ์ํด ์
ํ๋จ)์ด ์์ต๋๋ค.
์์ ํ๋ ์ ์ ํ ๋ฐฉ๋ฒ์ ๋ค์ ์ค ํ๋์ ๋๋ค.
.bash_history
, .zsh_history
๋ฑ)๋ก ์ ํํ๊ณ ๋๊ตฐ๊ฐ ์๋ ์ ํ๋ฅผ ํธ์ถํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ํ ํ ๋๋ง ๊ฐ์ค์น๋ฅผ ๊ณ์ฐํฉ๋๋ค (์ผ๋ช
j
).ํ ๋๋ ๋ฐฉ๊ธ ์ฝ๋๋ฅผ ๋ณด์๊ณ ์ค์ ์ ๊ธ์ด ์งํ๋๋ ๊ฒ์ ๋ณด์ง ๋ชปํ์ต๋๋ค.
๋ํ ์์ ํ์ผ์์ ์ค์ DB๋ก ์ด๋ ํ ์งํ์ ๋ฐฑ์
์ด ์ด๋ฃจ์ด ์ง๋ฏ๋ก ์ด๋์ด ์คํจํ๋ฉด (์ค๋ฅ ํ์ธ ์์) ๋น ํ์ผ์ ๋ฐฑ์
ํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๊ฐ์ ํ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์๋ง๋ # 383์ด flock
๋ชจ๋ ์ฅ์๋ฅผ ๋ณดํธํ์ง๋ ์์์ง๋ง ๋ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ด ์์ง๋ง autojump
์์ flock
autojump
์ ์ฒด๋ฅผ ๊ฐ์ธ๋ ๊ฒ๋ฟ์
๋๋ค.
alias autojump='flock /tmp/autojump.lock autojump'
@trou ์ด๊ฒ์ ํ ์คํธ ํ ์ ์์ต๋๊น?
_UPD : ๊ตฌ๋ฌธ ๋ฌธ์ ์์ _
๋ฐฉ๊ธ bashrc์ ์ถ๊ฐํ์ต๋๋ค.
๋์์ด๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค :(
ํ , ์ด๋ป๊ฒ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ์ ์์ต๋๊น?
๊ธฐ๊ณ ์ ์์ด ๋น์ ์์ ์ผ๋ก ๊บผ์ก์ต๋๊น (์ฆ, ์ ์ ๋ฒํผ์ ํตํด)?
๋ํ autojump
sh
( bash
๋์ ) ์ผ๋ฐ sh
์์
ํํ? ์ด ๊ฒฝ์ฐ bash ๋ณ์นญ์ด ์๋ํ์ง ์์ผ๋ฏ๋ก์ด ๊ฒฝ์ฐ์๋
๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ๋ํํ์ฌ ์๋ ํ ์ ์์ต๋๋ค.
mv /usr/bin/autojump{,.orig}
echo "flock /tmp/autojump.lock autojump.orig"> / usr / bin / autojump
์๋๋ฉด ์์ ํ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๋ค.
๋ชจ๋ฅด๊ฒ ์ง๋ง ์ด์จ๋ ์ฝ๋์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๋ค.
๋๋ ์ง๊ธ ์ฝ 1 ๋
๋์ autojump๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ๊ฐ์๊ธฐ ์ ์ฒด ๊ธฐ๋ก์ ์ ๋ฆฌ ํ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. ~ / .local / share / autojump๋ฅผ ๋ณด๋ฉด ์ ํ์ผ์ด ์์ฑ ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ฌ๊ธฐ๋ฅผ ๊ฐ๋ฆฌํค๋ https://github.com/wting/autojump/issues/208์ ๋ณด์์ต๋๋ค. ๋๋ ์ฌ์ฉํ๊ณ ์๋ค :
autojump-22.3.2-1.fc24.noarch
์ ๊ณต ํ ์์๋ ๋ค๋ฅธ ๋๋ฒ๊น ์ ๋ณด๊ฐ ์์ต๋๊น?
๋๋ ๋ํ ์ด๊ฒ์ ์ ๊ธฐ์ ์ผ๋ก ๋๋ฒ๊น ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@wting : ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ "์ถ๊ฐ ์ ์ฉ ๋ก๊ทธ"๋ก ์ ํํ๊ณ ์๋ ์ ํ๊ฐ ์คํ๋ ๋ ๊ฐ์ค์น๋ฅผ ๊ณ์ฐํ๋ ๊ฒ์ ๋๋ค.
๋ก๊ทธ๊ฐ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์์ฒญ๋๊ฒ ๊ธธ์ด์ง ์ ์์ผ๋ฏ๋ก์ด ์๋ฃจ์ ์ ํผํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. (๋ํ ๊ธฐ์กด ์์คํ ์ด ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉด ์ข์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.)
๊ทธ๋ฌ๋ ์๋ง๋ ํ์ด๋ธ๋ฆฌ๋ ์๋ฃจ์ ์ด ๊ฐ๋ฅํ ๊น์? ๋ก๊ทธ์ ํญ๋ชฉ์ ์ถ๊ฐํ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์์ผ๋ก ๋ณํํ๋ autojump ๋ช ๋ น์ ์ถ๊ฐํ์ญ์์ค. ์๋ ์ ํ๊ฐ ์คํ๋๋ฉด ๋ก๊ทธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ชจ๋ ์ฐธ์กฐํ์ฌ ์ค์ ๊ฐ์ค์น๋ฅผ ๊ณ์ฐํ์ญ์์ค.
์ด๊ฒ์ ๊ฐ์ฅ ํฐ ๋จ์ ์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋์ผ๋ก ์ถ์ํด์ผํ๋ค๋ ๊ฒ์ ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ ์ ํ๊ฐ ์คํ๋ ๋๋ง๋ค ์์์ ํ ์คํธ๋ฅผ ์ํํ์ฌ db๋ฅผ ์ถ์ํด์ผํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ ์ด๋ ๊ฒฝ์ ์กฐ๊ฑด์ ํ๋ฅ ์ ๋ฎ์ถ ๊ฒ์ ๋๋ค.
@azat : ๋๋ ๋น์ ์ ํด๊ฒฐ์ฑ ์ ์๋ ํ ๊ฒ์ ๋๋ค.
# 482์์ ์ ์ํ ํจ์น๋ฅผ ๊ตฌํ ํ ์ดํ๋ก์ด ๋ฒ๊ทธ๋ฅผ ๊ฒฝํ ํ ์ ์ด ์์ต๋๋ค.
๊ทธ๋๋ @ r-barnes ๊ฒฐ๊ณผ๋ฅผ ๋ฃ๊ณ ์ถ์ต๋๋ค. ์ฑ๊ณตํ๋ฉด์ด "์กฐ๊ธฐ ์ ๊ธ"์ ์๋ ์ ํ์์ ์ฌ์ฉํ ์์๋ ์ด์ ๊ฐ ์์ต๋๊น?
์์! # 482์์ ํจ์น๋ฅผ ๋ฎ์ด ์ด ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์์ต๋๋ค. ๋ค์ ์ฌ๋ถํ ์์ ๋ฐ์ํ์ต๋๋ค. ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ด๋ป๊ฒ ๊ฒฝํํ์ง ์๋์ง ์ดํดํ์ง ๋ชปํฉ๋๋ค. ๊ทธ๊ฒ์ ๋์๊ฒ ๋์์์ด ๋ฐ์ํฉ๋๋ค.
์ ๋ # 482๋ก 100 % ์ฑ๊ณตํ์ง ๋ชปํ์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ์ ํ ์ง์์ง ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฑฐ๋ ํฌ๊ธฐ๊ฐ ์ ํ๋์ด ์์ต๋๋ค. ๋์๊ฒ๋ 23 ๊ฐ ํญ๋ชฉ ์ด์์ผ๋ก ์ฑ์ฅํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
# 482๋ก 100 % ์ฑ๊ณตํ์ต๋๋ค. 4 ์ 21 ์ผ๋ถํฐ 7 ์ 25 ์ผ๊น์ง. ํ์ฌ 279 ๊ฐ์ ํญ๋ชฉ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ์ ์ํฉ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ด๋์ด ๋ฒ๊ทธ์ ๋ํ ์ฌ๋ฌ ํธ๋ฆฌ๊ฑฐ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ๊ทธ ์์ธ์ด ๋ฌด์์ด๋ ๊ฐ์ @Frefreak์ด ์ ์ํ ๊ฒ์ฒ๋ผ
์, ์ง๋์ฃผ์ ๋ค์ ์ผ์ด๋ ์ผ์ธ๋ฐ ์ง๋ ์๊ฐ ์ดํ๋ก ์ค๋๋ง์ 349 ๊ฐ์ ํญ๋ชฉ์ด ์ญ์ ๋๊ณ ํ์ผ ํฌ๊ธฐ๊ฐ 93K์์ 77K๋ก ์ค์์ต๋๋ค.
์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
๋ด ์๋ฃจ์
์ ๊ฐ๋ฐํ์ต๋๋ค (zsh ๋ง ํด๋น). ๋ ์๊ณ , ๋ ์ ์ฉํ๊ณ , ๋ ์ ๋ขฐํ ์ ์์ต๋๋ค. :)
https://github.com/kurkale6ka/zsh (ํด๋น ๋งํฌ์ README)
์ฌ๊ธฐ์ ์ฌ๋ฌ ๊ธฐ์กด ๋์์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ์ง๊ธ https://github.com/clvv/fasd ํ๋ ์ธ 'fasd'๋ฅผ ์๋ํ๊ณ ์์ต๋๋ค.
https://github.com/rupa/z/issues/198- ์ ์ฌํ ๋ฌธ์ ๊ฐ์๋ ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ ์ฌํ ๋ฒ๊ทธ ๋ณด๊ณ ์๋ฅผ ์ฐธ์กฐ
์๋ํ๋ ์๋ ์ ํ์ ์ ์ฌํ ์๋ฃจ์
์ ์ฐพ์ ์ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ์์ ํ์ผ์ ๋ฐ์ดํฐ ํ์ผ๊ณผ ๊ฐ์ ๋๋ ํ ๋ฆฌ๋ก ๋ณ๊ฒฝ ํ ํ 1 ๋ ์ด์์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ต๋๋ค. ํจ์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
--- autojump_data.py 2018-09-07 15:28:30.488681864 +0800
+++ /usr/bin/autojump_data.py 2017-08-26 15:43:50.136781805 +0800
@@ -120,11 +120,12 @@
def save(config, data):
"""Save data and create backup, creating a new data file if necessary."""
- create_dir(os.path.dirname(config['data_path']))
+ data_dir = os.path.dirname(config['data_path'])
+ create_dir(data_dir)
# atomically save by writing to temporary file and moving to destination
try:
- temp = NamedTemporaryFile(delete=False)
+ temp = NamedTemporaryFile(delete=False, dir=data_dir)
# Windows cannot reuse the same open file name
temp.close()
์ฅ์น๊ฐ์ ํ์ผ์ ์ด๋ํ๋ ๊ฒ์ ์ ์์ฑ์ด ์๋๋ฏ๋ก (๋ณต์ฌ + ์ญ์ ์์ ์ ์ํํจ) ์์ ์ ์ผ๋ก ๋ฎ์ด ์ฐ๋ ค๋ฉด ๋์ผํ ์ฅ์น์ ๋ฃ์ด์ผํฉ๋๋ค.
๊ทธ๊ฒ์ ๋์๊ฒ ๋ง์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ด๋์ ๋์ผํ ํํฐ์ ์์๋ ๊ฒฝ์ฐ์๋ง ์์ ์ ์ ๋๋ค.
์ด๊ฒ์ v22.5.2์์ ๊ตฌํ๋ฉ๋๋ค : https://github.com/wting/autojump/commit/bc4ea615462adb15ce53de94a09cec30bcc5dc0a
์ง๊ธ์ ์์ค์์ ์ค์น ๋ฐ ํ ์คํธํ๊ณ ๋ฐ์ดํฐ๊ฐ ์ฌ์ ํ ์์ค๋๋ ๊ฒฝ์ฐ ๋ค์๋ณด๊ณ ํ์ญ์์ค.
์ค์ ๋ก ์๋ ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ํ ์์ฒญ # 495๋ฅผ ์ด์์ง๋ง ๋์ ๋์ง ์์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. https://github.com/wting/autojump/commit/bc4ea615462adb15ce53de94a09cec30bcc5dc0a ๋ฅผ ๋๋๋ฆฌ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ https://github.com/wting/autojump/commit/8fffbad95ac5626f4d9688276ba8a36808c433e3์ ๋ณํฉํ์ต๋๋ค
ํ ์คํธ์ ์ถฉ๋ถํ ์๊ฐ์ธ์ง ํ์คํ์ง ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. @wting ์ด๋ป๊ฒ ์๊ฐํ์ธ์. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ๋น์ ์๊ฒ ์ณ๋ค๋ฉด ๋ฐฐํฌํ์ด ์ ํ ๋ ์ ์๋๋ก ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๊น?
๋๋์ด ๋ฆ๋ ๋ฌธ์ ๋ก ๊ณ ์ํ๊ธฐ ์์ํ์ต๋๋ค. ๋ช ์๊ฐ ํ autojump.txt
์ด ์ญ์ ๋ฉ๋๋ค. ์ด์จ๋ ๋๋ฒ๊ทธํ๋ ค๋ฉด?
์ต๊ทผ์ ์๋ ์ ํ๊ฐ ์์๋๋ก ์๋ํ์ง ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ธํ์ต๋๋ค.
[hendry<strong i="6">@t480s</strong> ~]$ wc -l ~/.local/share/autojump/autojump.txt
35 /home/hendry/.local/share/autojump/autojump.txt
์ด ... ์ฌ์ค์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ด๋ค ์์ด๋์ด?
v22.5.3์์ ์์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํญ๋ชฉ์ ๊ฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ ์กฐ๊ฑด์ด์์์ต๋๋ค.
@minjang , @kaihendry : autojump -v
ํ๊ณ ๋์ด๋ ๋ฒ์ ๋ฒํธ๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น? ํด๋น ๋ฒ์ ๋ณด๋ค ๋ฎ ์ผ๋ฉด ์์ค์์ ์
๊ทธ๋ ์ด๋ ๋ฐ / ๋๋ ์ค์นํ์ญ์์ค.
[hendry<strong i="5">@t480s</strong> ~]$ autojump -v
autojump v22.5.1
[hendry<strong i="6">@t480s</strong> ~]$ pacman -Qi autojump
Name : autojump
Version : 22.5.1-2
Description : A faster way to navigate your filesystem from the command line
Architecture : any
URL : https://github.com/wting/autojump
Licenses : GPL3
Groups : None
Provides : None
Depends On : python
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 121.00 KiB
Packager : Felix Yan <[email protected]>
Build Date : Sat 10 Nov 2018 06:58:45 AM
Install Date : Wed 14 Nov 2018 08:57:48 AM
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
์ ๋ Archlinux ์ฌ์ฉ์์ ๋๋ค btw : rofl :
18.04.2 LTS์๋ v22.5.1์ด ์์ต๋๋ค. ์ ๋ฐ์ดํธ๊ฐ Debian / Ubuntu ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฉ๋์๋์ง ๋๋ ๋ฒ์ ์ด ๊ณ ์ ๋์๋์ง ํ์คํ์ง ์์ต๋๋ค. ์ค์น๋ ์ ๋ฐ์ดํธ : ์ด๋ป๊ฒ ์งํ๋๋์ง ์ดํด ๋ณด๊ฒ ์ต๋๋ค! (์ ๋ง ๊ณ ๋ง์.)
์์ฆ ๋๊ฐ autojump ์ฉ ๋ฐ๋น์ ํจํค์ง๋ฅผ ์ ์งํ๊ณ ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์์ ๋ ํ๊ทธ ๋ง ๋น๋ํ์ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๋ง์คํฐ ๋ธ๋์น๋ 6 ๊ฐ์ ์ด์ v22.5.3์ ์์์ง๋ง ์ค๋ ๋ฐค์๋ v22.5.3์๋ง ํ๊ทธ๋ฅผ ์ง์ ํ์ต๋๋ค.
์ด๋ฌํ ์์์ ๋ฐ์ดํฐ ์์ค์ ์ฒ๋ฆฌํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์์ด ์ง์นจ์ ๋ฐ๋ผ ์์ค์์ ์ค์นํ๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ชจ๋ฅด๊ฒ ์ง๋ง ์ด์จ๋ ์ฝ๋์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๋ค.