Unix & Linux

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

2
改行を無視してファイル内のテキストを検索する方法は?
ファイル内の複数行に分割されている可能性のあるテキストを検索したいのですが。改行を無視し、一致する行のスパンを返すgrep。 例えば、私はを検索していてis an example file、それが次のファイルにあることを期待しています: これは、 サンプルファイル。 先頭または末尾のスペースに依存しないようにするには、すべての形式の空白を完全に無視するのが最適です(理想的には、一連の空白を単一のスペースとして扱う)。 非理想的な解決策の1つはtr '\n' ' ' | grep、一致と非一致を区別しますが、一致を表示せず、大きなファイルを適切に処理しません。

4
作業ディレクトリごとに履歴を保持する(シェルセッションごとに参照)
最新のシェルの履歴機能をパスにスコープする方法はありますか? 私の作業コンテキストは、ファイルシステム上のパスとして分割され、繰り返し発行されるコマンドなどのシェルアクティビティのパターンは、各「プロジェクト」で異なる傾向があります。履歴機能を現在のパス(またはサブパス)から発行されたコマンドにスコープできると便利です。


2
2つのネットワークインターフェイスでのネットワークトラフィックの分離
2つのネットワークインターフェイスでネットワークトラフィックの分離を構成する方法を理解するための専門知識を貸していただけませんか? これまでのところ理解しているように、デフォルトルートを使用するように設計されていないネットワークトラフィックには静的ルートが使用されます。デフォルトゲートウェイは、ローカルネットワーク宛ではなく、ルーティングテーブルで優先ルートが指定されていないすべてのトラフィックに使用されます。 シナリオは次のとおりです。 ネットワーク内の各コンピューターには、2つのネットワークカードがあります。 それぞれの本番インターフェースはeth0(GW = 10.10.10.1)です。 それぞれの管理インターフェースはeth1(GW = 192.168.100.1)です。 生産と管理のトラフィックは完全に分離する必要があります。 以下に、Debian Wheezyで何を試したかを投稿しました。そして、私の問題は、両方のインターフェースで通信するようにホストをセットアップしているにもかかわらず、個々のホストが間違ったインターフェースでトラフィックを「聞く」ように見えることです。例えば: ホスト140 eth0 Link encap:Ethernet HWaddr 08:00:27:d1:b6:8f inet addr:10.10.10.140 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fed1:b68f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1341 errors:0 dropped:0 overruns:0 frame:0 TX packets:2530 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:641481 (626.4 …
11 debian  centos  rhel  routing 

1
シェル内のすべてのbtrfsファイルシステムとサブボリュームをリストする
Cに頼らずに、つまりPOSIXシェルで、すべてのbtrfsファイルシステムのサブボリュームに関する情報を取得する便利な方法はありますか? /sys/fs/btrfsファイルシステムに関する情報のみが含まれ、サブボリュームには何も含まれないため、現在私はすべてのファイルシステムを一時フォルダーにマウントし、でスキャンしてbtrfs subvol list、結果の出力を解析しています。言うまでもなく、それはかなり醜いです。 これは3.16.xカーネルとbtrfs-progs v3.14.1(標準の Ubuntu 14.10から)を使用しています。 以下は、私が現在使用している(醜い)スクリプトです。純粋なCを使用して必要な情報を取得できることはわかっています。おそらくそれが最終的に行うことですが、もっとシンプルでエレガントな方法があるかどうか疑問に思っていました。 #!/bin/bash for i in /sys/fs/btrfs/*[!features]; do device="/dev/$(basename $i/devices/*)" mountpoint=/var/lib/btrfs/tmp/mnt/$(basename "$i") [ -d "$mountpoint" ] || mkdir "$mountpoint" grep -qs $mountpoint /proc/mounts [ $? -ne 0 ] && mount -v "$device" "$mountpoint" while read -r subvol; do # whatever you want done …
11 shell  btrfs 

2
バッシュ:「履歴番号」と「コマンド番号」
PS1変数を使用してシェルプロンプトをカスタマイズする方法をグーグルで調べているときに、使用できる特殊文字の表が表示されます。特に: \! the history number of this command \# the command number of this command 「履歴番号」はより一般的に使用されているようで、コマンドを使用!523して履歴からコマンドをやり直す方法を知っています。しかし、「コマンド番号」に同様の機能があるかどうかはわかりません。私は\#PS1変数を入れてみましたが、特定のセッションで入力されたコマンドの数を出力しているようです(とは異なり\!、ログアウト/終了後も存続します)。 誰もが「コマンド番号」を便利または意味のある方法で使用する方法を知っていますか?

2
ThinkPadで中クリックスクロール/貼り付けを回避
ThinkPad USBキーボードを使用していて、貼り付けとスクロールの両方に中央クリックを使用できるようにしたいと考えています。 これは私のThinkPadラップトップで動作します。ラップトップでは、中央のクリックボタンが十分に短い時間保持されている場合、ボタンが離されると「貼り付け」と解釈されます。長く保持すると、「スクロール」と解釈されます。 問題は、USBキーボードを使用して、中ボタンが離されたときではなく、押されたときに貼り付けの決定が発生するため、中クリックでスクロールしようとすると、最初に貼り付けられ、押し続けるとスクロールされますダウン(興味深いことに、現在の回避策であるカーソルを既に移動している場合、この貼り付けは行われません)。 X11を押すのではなく中央ボタンを離して貼り付けるように指示する方法はありますか(貼り付けではなくスクロールするという決定は、それが保持された時間に基づいて行われます)?
11 x11  mouse  thinkpad 

4
stdinの終了時にnetcatが終了しない
からメッセージを送信しようとしていますnetcat。メッセージを送信した後、netcat終了する必要があります。 私は以下を試しました: cat tsmmessage.bin | nc -u localhost 4300 nc -u localhost 4300 < message.bin -qオプションの状態: -q秒 stdinのEOFの後、指定された秒数だけ待機してから終了します。秒が負の場合、永久に待機します。 だが nc -q0 -u localhost 4300 < message.bin また動作しません。 何が欠けていますか?
11 netcat 

2
ifconfig RXパケット出力の「errors」、「dropped:」、「overruns:」、「frame:」フィールドの違いは何ですか?
誰かRX packetsがifconfig出力のさまざまなフィールドの違いについて詳しく説明できますか? たとえば、実行ifconfigして次のように表示するとします。 eth0 Link encap:Ethernet HWaddr AA:BB:CC:DD:EE:FF inet addr:1.1.1.1 Bcast:1.1.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:202723544 errors:0 dropped:4959 overruns:0 frame:37 TX packets:158354057 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4261083782 (3.9 GiB) TX bytes:1224803677 (1.1 GiB) Interrupt:83 Memory:f6bf0000-f6c00000 違いは何ですかerrors: dropped: overrunsとframe: この時点での私の推測(いくつかのあいまいなグーグルに基づく)はframe:、nicが着信フレームを分析するときのCRCの失敗に特に関係し、それerrors:はより広い一般的なカテゴリーです。繰り返しますが、その場合は、両方のフィールドに数字が表示されると思います。

1
/ proc / net / unixの内容の意味は何ですか?
私のAndroidデバイスには、/proc/net/unix誰のコンテンツ が標準の Linuxディストリビューションのファイルに準拠していないというファイルがあります(UNIXドメインソケットを示しています)。最初の数行: Num RefCount Protocol Flags Type St Inode Path 00000000: 00000002 00000000 00000000 0002 01 5287581 /data/misc/wifi/sockets/wpa_ctrl_789-3189 00000000: 00000003 00000000 00000000 0001 03 6402 /dev/socket/qmux_radio/qmux_client_socket 297 00000000: 00000002 00000000 00010000 0001 01 7180 /dev/.secure_storage/ssd_socket 00000000: 00000002 00000000 00010000 0001 01 6424 /dev/socket/cnd 00000000: 00000002 00000000 00010000 0001 01 …

3
debian / controlからビルド依存関係をインストール/解析する方法は?
既存の/debian/フォルダーと/debian/controlファイルを含むソースコードフォルダーをダウンロードしたとします。 問題のパッケージがDebian公式リポジトリにないため、使用apt-get build-depできないとします。 Build-Depends:行を解析する方法は? たとえば、行がと表示される場合、エコーBuild-Depends: debhelper (>= 8), faketimeするツールはありますか?control-parse debian/control build-dependsdebhelper faketime 特にマルチラインの時は? 既存のDebianツールはありますか、またはこれを解析するための独自のコードを作成するツールがありますか?

1
機械可読形式でaptのキーIDとフィンガープリントを取得する
40桁のキーフィンガープリントによって特定のキーが存在することを確認するために、キーフィンガープリントを識別子として使用できるように、puppetlabs-aptの問題にパッチを当てようとしています。 キーが存在することを確認するのに問題があり、以下を出力するコマンドが必要です。 キーの8桁のID。 鍵の16桁のID。 鍵の40桁のID。 apt-keyこれらの値を1行に1つずつ出力するために使用できるコマンドはありますか?出力を解析して、キーが存在するかどうかを確認できますか?
11 apt  gpg 


2
RHEL 6でイーサネット速度を決定する
eth0接続速度が10Mbit、100Mbit、1Gbitのどれであるかを確認する方法は?私は試しましたethtoolが、それは言いNo data availableます。私も試しましdmesg | grep -i duplexたが空です。 [root@dioptase ~]# lspci 00:0a.0 Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 20) [root@dioptase ~]# ethtool eth0 Settings for eth0: No data available [root@dioptase ~]# ethtool -i eth0 driver: tulip version: 1.1.15 firmware-version: bus-info: 0000:00:0a.0 [root@dioptase ~]# ifconfig eth0 eth0 Link encap:Ethernet …

4
`ls`を使用してソースファイルとターゲットリンクファイルのみを表示する
リンクが使用するターゲットファイルを使用して表示できますls -l。 snowch$ ls -l /usr/local/bin/mvn lrwxr-xr-x 1 snowch admin 29 12 Dec 08:58 /usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn awkなどの別のコマンドをパイプすることなく、出力を少なくする方法はありますか?例えば: snowch$ ls ?? /usr/local/bin/mvn /usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn OS X 10.9.5で3.2.53を実行しています。いくつかのコマンドの出力を以下に示します。 snowch$ ls -H /usr/local/bin/mvn /usr/local/bin/mvn snowch$ ls -L /usr/local/bin/mvn /usr/local/bin/mvn snowch$ file /usr/local/bin/mvn /usr/local/bin/mvn: POSIX shell script text executable snowch$ file -b …
11 ls  symlink 

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