最新記事

Emacs: ターミナルとシェルの違いは? 質問する
shell
emacs
terminal

Emacs: ターミナルとシェルの違いは? 質問する

私はEMACS内でシェルを使用する方法を読んでいましたが、その途中でターミナルの概念を見つけました。これは、シェルと対話する古い物理デバイスを抽象化したものです。 しかし、最近では、その使用に関する利点がまったく理解できません。そこで、Emacsでシェルの代わりにターミナルを使用する必要がある状況や例をいくつか教えていただけますか?

Admin

ターミナルの現在の行をクリア/削除するにはどうすればよいですか? [closed] 質問する
bash
terminal

ターミナルの現在の行をクリア/削除するにはどうすればよいですか? [closed] 質問する

終了しました。 この質問は Stack Overflow ガイドライン 現在回答を受け付けておりません。 この質問は、特定のプログラミング問題、ソフトウェアアルゴリズム、またはプログラマーが主に使用するソフトウェアツール質問がトピックに沿っていると思われる場合は、別の Stack Exchange サイト質問がどこで回答される可能性があるかを説明するコメントを残すことができます。 1年前に閉鎖されました。 この質問を改善する ターミナルを使用してコマンドのテキスト行を入力している場合、その行をクリア/削除するホットキーまたは方法はありますか? たとえば、現在の行/コマンドが次のように非常に長い場合: > git log --graph --all --blah..uh oh i want to cancel and clear this line 上記の状態から次の状態へ移行するためのホットキーまたはコマンドはありますか? > ? 通常、キーを押す↓と、現在の行が履歴上の新しい行である場合は、その行がクリアされます。ただし、キーを使用してコマンド履歴を調べ↑、それらのコマンドを編集または使用し始めると、↓プロンプトは履歴内の次の最新のコマンドに変更されるだけなので、複数回押さない限りはここでは機能しません↓。

Admin

SSH+byobu経由でマイクロからCtrl+左/右
terminal
keyboard-shortcuts
editors
byobu

SSH+byobu経由でマイクロからCtrl+左/右

現地で営業microテキストエディタ、Ctrl + left/rightうまく動作します(1ワードジャンプ)。 しかし、SSH + byobuを介して実行するCtrl + left/rightと[1;5C]と[1;5D]。 Ctrl + S機能しない場合は、Ctrl + Q保存して終了するのではなく端末を一時停止します。 この問題の原因は何であり、回避策は何ですか? 修正する ローカルでbyobu同様の問題が発生して[1;5Candを提供し[1;5DましたがCtrl + S、andはCtrl + Qうまくいきました。 SSHがないと、byobuこの問題は発生せず、すべてがうまく機能します。

Admin

inotifywaitはDELETEイベントを受け取りません。
bash
command-line
terminal
inotify

inotifywaitはDELETEイベントを受け取りません。

テストするには、次のbashスクリプトを使用しています。inotify待つ。 while true; do inotifywait -r -e modify,create,delete "$DIRECTORY_TO_WATCH" done inotifywaitは生成されたファイルを受け取ります。 /directory_to-watch/ CREATE test (copy).sh また、ファイルを修正しました。 /directory_to-watch/ MODIFY test.sh ただし、ファイルをコピーして削除すると仮定すると、inotifywaitは何も記録しません。どうしたの?

Admin

端末コマンドで列名を識別する方法
linux
grep
terminal
man
filter

端末コマンドで列名を識別する方法

コマンド出力データから特定の列を選択/選択解除することが役に立つ場合もありますが、マンページにこれらの列が必ず名前でリストされるわけではありません。これらの名前をどのように見つけることができますか? 例えば 2 つのコマンドを実行して出力を表示します。 $ sudo journalctl -eu NetworkManager -o short Feb 06 06:52:56 user NetworkManager[713]: [1707206156.8193] device (tun0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external') Feb 06 06:52:56 user NetworkManager[713]: [1707206156.8195] device (tun0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external') Feb 06 06:52:56 user NetworkManager[713]: [1707206156.8207] device (tun0): Activation: successful, device activated. この出力には、6つの異なる列(強調表示のために類似名が付けられています)が含まれているようです。 日付、ユーザー、プロセス、タイプ、日付2、メッセージ 2番目のコマンドを実行すると、列にlsblk名前が割り当てられていることがわかります。 $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT zram0 253:0 0 7.3G 0 disk [SWAP] nvme0n1 259:0 0 238.5G 0 disk --output以下を実行して必要な列を選択できます。columns $ lsblk --output NAME,SIZE NAME SIZE zram0 7.3G nvme0n1 238.5G man lsblkページは、他の多くのコマンドが提供しない列のヘルプを提供します。 -o, --output list Specify which output columns to print. Use --help to get a list of all supported columns. The columns may affect tree-like output. The default is to use tree for the column 'NAME' (see also --tree). The default list of columns may be extended if list is specified in the format +list (e.g., lsblk -o +UUID). マンページにリストされていない場合(選択または見つからない場合)、どのように列を識別して名前を付けますか?

Admin

新しくインストールされたAlmaLinux 9(Puttyを使用)でLINESとCOLUMNSの問題
bash
terminal
ncurses

新しくインストールされたAlmaLinux 9(Puttyを使用)でLINESとCOLUMNSの問題

Almalinux 9で私が解決できない奇妙な問題に気付いたようです。 LINES変数とCOLUMNS変数は、対話型の非ログインシェルの場合はフルサイズに設定されていますが、対話型ログインシェルの場合はフルサイズに設定されていないようです。残念ながら、これはユーザーがvimログインしlessたときに一部のツールが正しく機能しないように見える副作用がありますman(提供されたVMでコンソールを有効にすると、対話型の非ログインのルートシェルが表示されますqemu-guest-agent)。 以前の展開ではこの問題は発生せず、検索によってこれらの値を自動的に設定するシェルに関するいくつかの情報が見つかりました(bashv5.1.8を使用しています)。すべてのインタラクティブシェルに対してシェルオプションを設定してこれを確認しましたが、ターミナルのサイズを変更しようとするcheckwinsizeと変更は表示されません(明らかにこれはPuttyターミナルとAlmalinux 9にのみ影響するようです)。on/etc/bashrc /tmp/size.sh私の問題が何であるかを示すために、各セッションで次のエイリアス(場所)を実行します。 alias test_size="echo -e \ \"login: \$(shopt -q login_shell && echo 'yes' || echo 'no') \ \ninteractive: \$([[ -t 0 || -p '/dev/stdin' ]] && echo 'yes' || echo 'no') \ \n\$(id) \ \n\$(tty) \$TERM \${COLUMNS}x\${LINES} \ \"" KVMのデフォルトコンソールには、正しいフルスクリーンサイズ(列= 425、行= 79)があります。 bash-5.1# . /tmp/size.sh bash-5.1# test_size login: no interactive: yes uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 425x79 非ログインシェルのサイズも正確です。 bash-5.1# su test2 [test2@files01 /]$ . /tmp/size.sh [test2@files01 /]$ test_size login: no interactive: yes uid=1001(test2) gid=1001(test2) groups=1001(test2) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 425x79 [test2@files01 /]$ exit ログインシェルのサイズは非常に小さいです(COLUMNS = 80、LINES = 24)。 bash-5.1# su - test2 [test2@files01 ~]$ . /tmp/size.sh [test2@files01 ~]$ test_size login: yes interactive: yes uid=1001(test2) gid=1001(test2) groups=1001(test2) context=system_u:system_r:unconfined_t:s0 /dev/pts/0 putty-256color 80x24 [test2@files01 ~]$ logout これを入力している間、他のコンピュータの端末が正しく実行され、サイズ変更に反応することがわかりました。 適切なサイズの対話型ログインシェル: [root@files01 ~]# . /tmp/size.sh [root@files01 ~]# test_size login: yes interactive: yes uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 /dev/pts/1 xterm-256color 238x58 これで問題になる可能性がありますが、TERM=putty-256color同じ端末が他の展開でも機能するかどうかはわかりません。私はAlmalinux 9で利用可能な最新バージョンであるように見えるterminfoをncurses-base-6.2-10.20210508提供しました。putty-256color最新のncursesterminfo(v6.4.20231202)を使用したローリングリリースがあり、Puttyを使用すると正しく機能し、サイズが変更されます。 私の質問は、正しいフルスクリーンサイズを取得し、checkwinsizeログインしているすべての端末で作業する方法です。他のインストール(主にCentOS 7/8、Debian 10/11/12、およびOpenSUSE Tumbleweed)では、この特定の問題は表示されません。各ユーザーに対して行と列のサイズをハードコードすることを避けたいと思います。サポートが必要な場合は、追加情報を提供できます。 ありがとう

Admin

編集する
bash
shell-script
shell
command-line
terminal

編集する

このスレッドで質問があります。sudoersに入力されたパスをダブルクリックしてbashスクリプトを実行するには?。sudoファイルに権限を付与することは安全ではないという説明を聞いたので、ファイル自体に権限を付与せずにscript.shファイルをダブルクリックする方法を見つけることにしました。script.shsudo安全を確保し、。 私はDebian 12とKDE Plasmaデスクトップ環境を使用しています。コマンドを実行するには、sudo sh /path/to/script.sh端末に移動してを入力してからsudo sh /path/to/script.shパスワードを入力する必要があります。ユーザーインターフェイスでダブルクリックしてファイルを実行できるファイルが必要なので、ダブルクリックsudo sh /path/to/script.shしてパスワードを入力するだけです。 sudoスクリプトには、ip tuntap add devまたはでのみ使用できるいくつかのコマンドがありますroute add。どうすればいいですか? ありがとうございます。

Admin

Linux端末でコマンドをすばやく編集するには?
bash
centos
terminal

Linux端末でコマンドをすばやく編集するには?

Linux端末にコマンド、特に非常に長いコマンドを入力し、1つ以上の単語を削除して別の単語に置き換えたい場合は、端末でそれをすばやく実行する方法はありますか? これはLinuxとは何の関係もありませんが、メモ帳などのアプリケーションでは、1つ以上の単語を選択して1段階で削除できます。しかし、私が知っている限り、端末から1文字ずつ削除する必要がありますが、これは遅くなる可能性があります。 Vimがこれを行うことができることを知っていますが、Vimで開くのではなく、端末で直接編集したいとしましょう。

Admin

出力リダイレクトの問題 - 自動インクリメントビルドカウンター付きのm4マクロ
terminal
pipe
macro
m4

出力リダイレクトの問題 - 自動インクリメントビルドカウンター付きのm4マクロ

BUILD私の目標は、ファイル()から値を読み取ってその値を増やし、出力をファイルに保存するm4マクロを作成することです。私は次の解決策を思い出しました(BUILD.m4)。 define(`__buildnumber__',`esyscmd(cat BUILD)')dnl define(`counter',__buildnumber__)dnl popdef(__buildnumber__)dnl define(`count',`define(`counter',eval(counter+1))counter')dnl count dnl BUILD3が含まれると出力m4 BUILD.m4が実行されます4。本当に良いです! ところで、このように呼び出すと、m4 BUILD.m4 > BUILDファイルにはBUILD常に1。 別のファイルにパイプするとm4 BUILD.m4 > B機能し、ファイルにはwasがB含まれます。4BUILD3 私はこれが出力リダイレクトに関連していると思います>。これら2つのバリアントをデバッグトレースと比較すると、同じファイルにリダイレクトされるバリアントはもはやそのファイルから読み取れなくなっているようです。 バリアントは別のファイルにリダイレクトされます。 % m4 -dtaeq BUILD.m4 > B m4trace: -1- define(`__buildnumber__', `esyscmd(`cat BUILD')') m4trace: -1- dnl m4trace: -2- __buildnumber__ -> `esyscmd(`cat BUILD')' m4trace: -2- esyscmd(`cat BUILD') -> `3' m4trace: -1- define(`counter', `3') バリアントは同じファイルにリダイレクトされます。 % m4 -dtaeq BUILD.m4 > BUILD m4trace: -1- define(`__buildnumber__', `esyscmd(`cat BUILD')') m4trace: -1- dnl m4trace: -2- __buildnumber__ -> `esyscmd(`cat BUILD')' m4trace: -2- esyscmd(`cat BUILD') m4trace: -1- define(`counter', `') これを行う方法はありますか?または、出力をキャプチャするために別の方法を使用する必要がありますか?

Admin

adbコマンドが見つかりません 質問する
android
macos
terminal
adb

adbコマンドが見つかりません 質問する

ユーザーがブラウザを使用して電話で入力できるようにするezkeyboardadb forwardアプリケーションを使用する前に、コマンドを実行する必要があります。 adb forward tcp:8080 tcp:8080コマンドを実行するとadb command not foundエラーメッセージが表示されます。 androidターミナルからコマンドを実行できます。なぜadb動作しないのですか?

Admin