Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

7
エイリアスコマンドで「which」を使用する方法は?
ほとんどのユーザーと同様に、頻繁に使用するプログラムにデフォルトのフラグセットを提供するために、多数のエイリアスを設定しています。例えば、 alias vim='vim -X' alias grep='grep -E' alias ls='ls -G' 問題はwhich、vim/ grep/ ls/ etcがどこから来たのかを確認したい場合、エイリアスが邪魔になることです: $ which vim vim: aliased to vim -X これは有用な出力ですが、この場合に私が探しているものではありません。私vimはエイリアスさvim -Xれていること を知っていますvimが、どこから来ているのか知りたいです。 エイリアスを一時的に定義解除するだけでは使用できませんが、エイリアスを「アンラップ」してその上で実行whichする簡単な方法はありwhichますか? 編集:which異なるシェル間で異なる動作をするシェル組み込みのようです。Bashでは、SiegeXによる--skip-aliasフラグの提案が機能します。ただし、私はZshを使用しています。似たようなものがそこにありますか?
76 shell  zsh  alias  which 

8
あるローカルポートから別のローカルポートへのトンネルを作成する簡単な方法は?
192.168.1.x:8000ではなく、127.0.0.1:8000からのみアクセス可能な開発サーバーがあります。簡単なハックとして、ローカルネットワークから192.168.1.x:8001に接続し、クライアントと127.0の間のトラフィックをトンネリングできるように、別のポート(8001など)でリッスンするものを設定する方法があります.0.1:8000?



2
コマンドの出力をシェル変数に割り当てるにはどうすればよいですか?
式の結果を変数に割り当て、それを文字列と連結してからエコーします。ここに私が持っているものがあります: #!/bin/bash cd ~/Desktop; thefile= ls -t -U | grep -m 1 "Screen Shot"; echo "Most recent screenshot is: "$thefile; しかし、その出力: Screen Shot 2011-07-03 at 1.55.43 PM.png Most recent screenshot is: したがって、それはに割り当てられておらず$thefile、実行時に印刷されているように見えます。


5
パッケージがbashスクリプトのyumを介してインストールされているかどうかを確認するにはどうすればよいですか?
パッケージをインストールするスクリプトを作成しようとしていますが、後で失敗すると、スクリプトはインストールされたものをロールバックします。もちろん、ユーザーが以前にパッケージを既にインストールしている場合、それらの下からアンインストールしたくありません。パッケージがyumを介して以前にインストールされたかどうかをスクリプトで確認するにはどうすればよいですか?

9
ターミナル画面がめちゃくちゃになるという問題を解決するにはどうすればよいですか?(通常、サイズ変更後)
端末画面がめちゃくちゃになっていて、man lsマンページを読んだり、上矢印を押して履歴の前のコマンドに移動したりすると、画面に文字が正しく表示されないことがあります。(たとえば、画面の終わりを画面の中央にあるものとして扱います)。 コマンドresetが試行され、機能しません。動作する方法の1つは、ログアウトまたはウィンドウを閉じて、最初にウィンドウのサイズを変更してからssh(またはそのタブを閉じてウィンドウのサイズを変更し、新しいタブを開いて新しいシェルを取得する)です。 ただし、この方法では、仮想マシンコンソールの起動など、以前に行ったことはすべて失われます。シェルを閉じない場合、この問題を解決する方法はありますか? (これはFedoraのすぐ前で発生し、Macbook sshをRHEL 5.4ボックスに入れるためにも発生しました)。 更新: Fedoraでどのように起こったか覚えています。ターミナルを開き、FreeVMを実行して仮想マシン(シェル)のコンソールを使用しました。サイズは80 x 25だったと思いますが、しばらくすると、ターミナルのサイズを約130 x 50に変更し、(VMの)「内部シェル」がおかしくなり始めました)。
76 bash  terminal 

5
マシンで開いているすべてのディスプレイをリストするコマンドはありますか?
私のコンピューターにローカルでSSHを実行した場合(回避策です)、実行せずにグラフィカルアプリケーションを起動できません。 export DISPLAY=:0.0 これを最初に実行してからグラフィカルアプリケーションを実行すると、問題は解決します。そうでない場合、機能せず、接続するディスプレイがありません。 マシン上で利用可能なすべてのディスプレイ(すなわち、すべての可能な値)をリストするコマンドはありますか?
76 ssh  x-server 


10
標準エラーストリーム(stderr)をgrepする方法は?
ffmpegを使用して、オーディオクリップのメタ情報を取得しています。しかし、私はそれを理解することができません。 $ ffmpeg -i 01-Daemon.mp3 |grep -i Duration FFmpeg version SVN-r15261, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i386 --extra-cflags=-O2 ... 私がチェックしたところ、このffmpegの出力はstderrに向けられています。 $ ffmpeg -i 01-Daemon.mp3 2> /dev/null したがって、grepは一致する行をキャッチするためにエラーストリームを読み取ることができないと思います。grepでエラーストリームを読み取ることができるようにするにはどうすればよいですか? nixCraftリンクを使用して、標準エラーストリームを標準出力ストリームにリダイレクトすると、grepが機能しました。 $ ffmpeg -i 01-Daemon.mp3 2>&1 | grep -i Duration Duration: 01:15:12.33, start: 0.000000, …


3
lessからすべての行をファイルに書き込むにはどうすればよいですか?
コマンドをlessにパイプし、コマンドの出力をファイルに保存します。それ、どうやったら出来るの? この場合、私は使用したくない、私はteeより少ないから直接解決策が欲しいので、使用するのを忘れた場合に長時間実行するコマンドを再実行する必要はありませんtee。 この質問はこれに似ていますが、唯一の違いは、サブセットではなくすべての行を保存することです:lessから行をファイルに書き込む
76 less 

2
ログインフィールドに誤ってパスワードを入力しましたが、まだ安全ですか?
すでにログイン名を入力したと思ったため、キーボードを見下ろしてパスワードを入力しました。を押したEnter後、パスワードを要求されたときにCtrl+ を押しましたc。 パスワードがプレーンテキストでどこかに保存されていないことを確認するための予防措置を講じる必要がありますか、それともパスワードを変更する必要がありますか? また、これはubuntuサーバー16.04 LTS上のttyにありました。

6
whileループを使用して複数のサーバーにSSH接続する
servers.txtサーバーのリストを含むファイルがあります: server1.mydomain.com server2.mydomain.com server3.mydomain.com ファイルをwhile1行ずつ読み取り、各行をエコーすると、すべて正常に機能します。すべての行が印刷されます。 $ while read HOST ; do echo $HOST ; done < servers.txt server1.mydomain.com server2.mydomain.com server3.mydomain.com ただし、すべてのサーバーにsshしてコマンドを実行すると、突然whileループが機能しなくなります。 $ while read HOST ; do ssh $HOST "uname -a" ; done < servers.txt Linux server1 2.6.30.4-1 #1 SMP Wed Aug 12 19:55:12 EDT 2009 i686 GNU/Linux これは、リストの最初のサーバーのみに接続し、すべてのサーバーには接続しません。ここで何が起こっているのか分かりません。誰か説明してもらえますか? forループを使用するとうまく機能するため、これはさらに奇妙です。 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.