Unix & Linux

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

2
エイリアスと関数
bashマニュアルから エイリアスの定義と使用に関する規則はやや混乱しています。Bashは、その行でコマンドを実行する前に、少なくとも1行の入力を常に読み取ります。エイリアスは、コマンドが実行されたときではなく、読み取られたときに展開されます。したがって、別のコマンドと同じ行に表示されるエイリアス定義は、入力の次の行が読み取られるまで有効になりません。その行のエイリアス定義に続くコマンドは、新しいエイリアスの影響を受けません。この動作は、関数が実行されるときの問題でもあります。 エイリアスは、関数定義自体が複合コマンドであるため、関数の実行時ではなく、関数定義の読み取り時に展開されます。結果として、 関数で定義されたエイリアスは、その関数が実行されるまで利用できません。安全のため、エイリアス定義は常に別の行に配置し、複合コマンドではエイリアスを使用しないでください。 「関数が実行されるときではなく、関数定義が読み取られるときにエイリアスが展開される」と「関数が定義されたエイリアスは、その関数が実行されるまで使用できない」という2つの文は相反するようです。 それぞれの意味を説明できますか?
17 bash  alias  function 

1
ラップトップ(最適化/マルハナバチを搭載)でHDMIを有効にしないでください
Debian(ストレッチ)を搭載したPC(HP ZBook)でHDMI出力を使用しようとしています。私はBumblebeeを設定しましたが、うまく機能します(glxinfoとoptirun glxinfoは期待される情報を報告し、期待どおりに動作する複雑なGLSLシェーダーをテストしました)。 今、私はHDMIでビデオプロジェクターを接続できるようにしたいと思います。NVidiaボードにHDMIが接続されている場合(xrandrで操作できるVIRTUAL出力を使用)、intel-virtual-outputを使用して構成できることをここで読みました[1]。ただし、intel-virtual-outputは次のように述べています。 no VIRTUAL outputs on ":0" するとxrandr -q、リストにVIRTUAL出力はありません。 Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm 1920x1080 60.02*+ 59.93 1680x1050 59.95 59.88 1600x1024 60.17 ... other …

2
ソースと なぜ異なる振る舞いですか?
最近知った . ./.a.aそして./.a.a同じです。 ただし、試行source source .a.aするとエラーが発生します。IMO、の.Bashエイリアスであるためsource、異なる動作をするべきではないので、何が欠けていますか? ボーナス、なぜ. .大丈夫なのにそうでsource sourceはないのですか?
17 bash 

2
複数のホップとプロンプト認証のためのProxyCommandの使用
で次のコマンドを書き換えるにはどうすればよいProxyCommandですか? ssh -l username1 -t jumphost1 \ ssh -l username2 -t jumphost2 \ ssh -l username3 -t jumphost3 \ ssh -l username4 server これは機能しません ssh -o ProxyCommand="\ ssh -l username1 -t jumphost1 \ ssh -l username2 -t jumphost2 \ ssh -l username3 -t jumphost3" \ -l username4 server username1@jumphost1's password: …
17 ssh 

2
端末出力の一時停止
大量のデータを出力するコマンドがあります(たとえば、数分間実行される多数のsyscallを使用したstrace)。 コマンドの出力(画面上の出力だけ、バックグラウンドで実行されているコマンドを気にしない)を一時停止し、撮影後に一時停止を解除できるオプション(コマンドラッパーなど)がありますか?その出力を見て?

2
ファイル名を暗号化してディレクトリを圧縮する方法は?
コマンドラインを使用して、次のコマンドでディレクトリを暗号化できることを知っています。 zip -er Directory.zip /path/to/directory ただし、これはファイル名自体を暗号化しません。誰かが実行した場合: unzip Directory.zip 間違ったパスワードを繰り返し入力すると、unzipコマンドは、正しいパスワードが入力されるまで、含まれているすべてのファイル名をループします。サンプル出力: unzip Directory.zip Archive: Directory.zip creating: Directory/ [Directory.zip] Directory/sensitive-file-name-1 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-1 incorrect password [Directory.zip] Directory/sensitive-file-name-2 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-2 incorrect password [Directory.zip] Directory/sensitive-file-name-3 password: password incorrect--reenter: password incorrect--reenter: skipping: Directory/sensitive-file-name-3 incorrect password 等々。 コマンドラインを使用して、ファイル名自体を暗号化または非表示にしつつ、暗号化を使用してディレクトリを圧縮する方法はありますか? …

3
bashで正確に2つの有効数字で浮動小数点数をフォーマットする方法は?
浮動小数点数をbashで正確に2桁の有効数字で出力したい(おそらくawk、bc、dc、perlなどの一般的なツールを使用して)。 例: 76543は76000として印刷する必要があります 0.0076543は0.0076として印刷する必要があります どちらの場合も、有効数字は7と6です。次のような同様の問題に対するいくつかの回答を読みました。 シェルで浮動小数点数を丸める方法は? 浮動小数点変数のbash制限精度 しかし、答えは、有効桁数の代わりに小数点以下の桁数を制限することに焦点を当てています(例:でのbcコマンドscale=2またはでのprintfコマンド%.2f)。 数字を正確に2桁の有効数字でフォーマットする簡単な方法はありますか、それとも独自の関数を作成する必要がありますか?
17 bash  awk  bc  floating-point  dc 

8
電源ボタンをサスペンドではなくシャットダウンに設定する方法は?
私が使用していますGNOME 3.18.1を上アーチのLinux 4.2.5-1-ARCH x86_64でのDell E6530のラップトップに。何年も前にこのOSをインストールして以来、ラップトップの電源ボタンは常にOSを完全にパワーダウンさせてきました。 ただし、ここ数週間でこの動作が変更されたため、電源ボタンを押すとラップトップが省エネモードになります。電源設定を変更しませんでした。pacman -Syyuただし、を使用してシステムを常に最新の状態に保つため、更新によりこの機能が変更されたと思われます。 電源設定には、このオプションはありません。 ボタンを押すとシステムの電源がオフになるように、最初の動作を復元するにはどうすればよいですか?

5
変数が定義されていない場合、スクリプトを実行しないでください
次のようなスクリプトがあります。 c=0 for f in */*; do cp -v "$f" "/myhome/CE$(printf '%0*d' 2 $BATCHNUM)-new-stuctures_extracted/test-$(printf '%0*d' 5 $c)" c=$((c=c+1)) done ただし、ユーザーは変数呼び出しBATCHNUMを提供する必要があり、そうでない場合は、このスクリプトの実行を強制的に停止する必要があります。このスクリプトを呼び出すスクリプト(または、このスクリプトを呼び出す#2スクリプトを呼び出す#1スクリプト)を強制的に停止させることができればさらに良いでしょう。

2
プロセスPIDからChromeタブを見つける方法は?
Webページ用に多くのChromeタブを開きました。 各タブには独自のPIDがあります。たとえば USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND t 3900 1.9 6.3 5718440 508660 ? Sl Jun08 188:31 /opt/google/chrome/chrome --type=gpu-process --channel=3862.0.1604359319 --supports-dual-gpus=false --gpu-driver-bug-workarounds=1,12,42 --disable-accelerated-video-decode --gpu-vendor-id=0x8086 --gpu-device-id=0x2a42 --gpu-driver-vendor --gpu-driver-version 開いている多くのタブのうち、どのタブが特定のPIDに対応するかをどのように見つけるのでしょうか?
17 process  chrome 

1
ifconfigがドロップしたRXパケットとは正確には何ですか?
次RX droppedの出力に非常に高いパケットが表示されていifconfigます。1秒あたり数千パケット、通常よりも1桁多いRX packets。 wlan0 Link encap:Ethernet HWaddr 74:da:38:3a:f4:bb inet addr:192.168.99.147 Bcast:192.168.99.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31741 errors:0 dropped:646737 overruns:0 frame:0 TX packets:18424 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:90393262 (86.2 MiB) TX bytes:2348219 (2.2 MiB) WiFiドングルをテストしています。両方にこの問題があり、ドロップ率の高い方が実際にpingフラッドでより良く機能します。パケットのドロップが少ない方は極端なPing RTTの影響を受けますが、もう片方はビートをスキップしません。 Linuxはドロップされたパケットを何と見なしますか? なぜそんなに多く見られるのですか? なぜパフォーマンスに影響しないように見えるのですか? ドロップされたパケットが次のいずれかである可能性があると答える質問がたくさんありますが、このシナリオではそれらの可能性が意味をなさないようであるため、それはあまり役に立ちません。
17 linux  networking  wifi 

3
gnome-terminalの真の複数プロセスインスタンスを実行する
実行していgnome-terminalて、プログラムの新しいインスタンスが必要な場合は、gnome-terminal &シェルから実行するとうまくいくと思うかもしれません。 驚いたことに、この新しいインスタンスは、不明瞭なWindowsまたはMacプログラムのように動作します。既存のメッセージを送信するだけでgnome-terminal、新しいウィンドウを作成するために実行されます。この1つのgnome-terminalプロセスがクラッシュすると、ターミナルウィンドウがすべて失われます。 (もちろん、各ウィンドウには独立したプロセスである独自のシェルがありますが、実際のターミナルエミュレーターとそのGUIはアプリケーションの単一インスタンスから管理されます。) の独立したインスタンスを作成してgnome-terminal、それぞれを独自のプロセスで実行し、そのプロセスを強制終了すると、そのプロセスに関連付けられたウィンドウのみが破壊されるようにするにはどうすればよいですか?

4
ターミナルを開き、9つのターミナルに分割し、1つのスクリプトを使用してそれらを切り替える方法
ターミナルを開き、9個の部分(3x3)に分割してbashスクリプトを実行したいと思います。ただし、各端末部分ごとに異なるスクリプトがあります。 これは、perl、python、またはbashを使用しても実行できますか? キーボードショートカットを使用せずにこれらの小さな端末を切り替えるにはどうすればよいですか? ああ、ところで、私はを使用していterminatorます。そして、そのような機能を有効にする他の端末エミュレータがある場合、それはどれですか?

4
Linuxファイルコマンド分類ファイル
ランダムファイルに含まれるデータの種類を認識する必要があります。私はLinuxが初めてです。 このfileコマンドを使用して、ファイルに含まれるデータの種類を理解する予定です。私はそのコマンドを試して、以下の出力を得ました。 誰かが、fileコマンドがファイルの最初のバイトを調べてデータ型を判断することを提案しました。このfileコマンドは、ファイル拡張子をまったく調べません。あれは正しいですか?私はマニュアルページを見ましたが、技術的すぎると感じました。fileコマンドがどのように機能するかについて、はるかに簡単な説明が記載されたリンクを誰かが提供していただければ幸いです。 fileコマンドを実行した後に得られる可能性のあるさまざまな答えは何ですか?たとえば、以下のトランスクリプトでは、JPEG、ISOメディア、ASCIIなどを取得します。 画面出力は次のとおりです m7% file date-file.csv date-file.csv: ASCII text, with CRLF line terminators m7% file image-file.JPG image-file.JPG: JPEG image data, EXIF standard m7% file music-file.m4a music-file.m4a: ISO Media, MPEG v4 system, iTunes AAC-LC m7% file numbers-file.txt numbers-file.txt: ASCII text m7% file pdf-file.pdf pdf-file.pdf: PDF document, version 1.4 m7% …

2
確認なしに既存のファイルをコピーしますか?
大量のファイルをコピーして上書きする必要があるため、次のコマンドを使用しました。 # cp -Rf * ../ しかし、同じ名前のファイルが宛先フォルダに存在するたびに、私はこの質問を受け取ります: cp: overwrite `../ibdata1'? 問題は、上書きされるファイルが約200個あることであり、Y then Enter200回押すことが正しい方法だとは思わない。 それで、それへの正しい方法は何ですか?
17 linux  centos  cp 

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