lsで見つけたディレクトリへそのままcd、海外Linux民が伝授する時短技

姉妹サイトの新着

他サイトの新着

海外の掲示板Lemmyのasklemmyコミュニティで、「lsで中身を確認してから、目当ての場所が見つかったらパスを打ち直さずにcdで移動したい」という投稿が反応を集めていた。寄せられた解決策は一つではなく、直前コマンドの最後の引数を呼び出すbashのヒストリー展開`!$`、Alt+.やControl-P/Control-A/Alt-Dといったreadlineのキー操作、さらに`^ls^cd`で直前のコマンドの文字列を置き換える技まで幅広く紹介された。「IT学位で学んだことより勉強になった」という声も出るなど、シンプルな質問をきっかけに玄人向けの小技が次々と披露される展開になった。

2 海外の名無しさん 2026-09-08 19:54
こういうことかな?
ls /your/long/path/name
cd !$
3 海外の名無しさん 2026-09-08 20:04
>>2
補足すると、

!$ は直前のコマンドラインの最後の単語に置き換わる

!! は直前のコマンドをそのまま繰り返す

!-N はN個前のコマンドを繰り返す

!string は「string」で始まる直近のコマンドを繰り返す
6 海外の名無しさん 2026-09-08 20:32
>>3
直前のコマンドをsudo付きで実行し直したいとき、!!は神
7 海外の名無しさん 2026-09-08 20:12
>>3
IT学部で学んだことより、このレスから学んだことの方が多い
5 海外の名無しさん 2026-09-08 20:20
みんなもっといい回答してるけど、自分のも書いとく。上矢印キーでlsをcdに書き換えるだけ
13 海外の名無しさん 2026-09-08 20:39
>>5
うん、自分もそうしてた。でももっとスマートな方法がないかなと思って(笑)
8 海外の名無しさん 2026-09-08 20:42
cd と入力してからAlt+.を押すと、直前のコマンドの最後の引数がコピーされる。それが欲しいものか確認してEnterを押せばいい
9 海外の名無しさん 2026-09-08 20:02
bashを使っていて、readlineのデフォルト(emacsキーバインド)を変えていないなら:

$ ls foo/bar/baz

まさにこれが欲しかった!

Control-P Control-A Alt-D cd Enter
15 海外の名無しさん 2026-09-08 20:27
>>9
完全に天才

そういえば、bashでうっかりControl-CやControl-Vなんかを押したときに何が起きてたのか、ずっと気になってたんだ
新しいレベル解放
10 海外の名無しさん 2026-09-08 19:50
lsをcdに書き換えるだけじゃダメなの?
19 海外の名無しさん 2026-09-08 20:22
>>10
書き方からすると、質問者はたぶん ls /mnt/drive/backups/2017/03/19/documents/taxes/w2s みたいに打った後、

cd !$ と打つことで、コピペしたり上矢印キーで戻ってlsを消したりせずに、あの長いパスを打ち直さずに済ませたいってことだと思う
11 海外の名無しさん 2026-09-08 20:07
>>3
!-Nなんて初めて知った

ありがとう🙏
14 海外の名無しさん 2026-09-08 20:27
>>2
その発想いいね!でも困ったことに、一見空っぽに見える投稿に26分も遅れて返信しちゃった。Redditでもこういうの、誰かがカルマ稼ぎのために一番人気の返信を言い換えてるのを見るのが昔から嫌いだった
21 海外の名無しさん 2026-09-08 20:48
>>13
^ls^cd
これでまさにやりたいこと、lsをcdに置き換えるのができる

この話題の背景と論点

ここで挙がった技は目新しい発明ではなく、bashに昔から備わるヒストリー展開とreadlineの標準キーバインド(emacsモード)の範囲内のものだ。`!$`は直前のコマンド行の最後の引数を呼び出す機能で、`!!`(直前のコマンドを再実行)や`!-N`(N個前を再実行)、`!string`(その文字列で始まる直近のコマンドを再実行)と同じヒストリー展開の仲間にあたる。Control-P/Control-A/Alt-Dの組み合わせも特別な設定なしに使えるreadlineの標準操作で、`^ls^cd`は直前のコマンド中の文字列を置換して再実行する「クイック置換」という別のヒストリー展開機能になる。スレで「IT学位より勉強になった」という声が出たように、bashを日常的に使っていても意外と知られていない基本機能であることが浮き彫りになった。なおzshなど別のシェルでは挙動やキー割り当てが異なる場合があり、そのまま同じ操作が通用するとは限らない点は補足しておきたい。

※本記事は5ch(Lemmy c/asklemmy)スレッド「Linux question: I like to browse using ls. Than when I find what I’m looking for, I would like to directly move there with cd without having to retype the path. Is there an elegant solution for that?」より抜粋・要約して構成しています。

この記事のリアクション

他サイトの新着

まだコメントはありません。

コメントする

誹謗中傷・個人を特定する書き込みは削除対象です。投稿は承認後に表示されます。

相互リンクサイト新着記事