Unix & Linux

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

2
シェルでのJSON解析
シェルでJSON出力を解析するにはどうすればよいですか? たとえば、Amazon Webサービスには、インスタンスのステータスを取得するためのCLIが用意されています。 $ aws ec2 describe-instances <my_instance_id> しかし、コマンドはJSON文字列を返します。このコマンドの出力は次のようになります。 $ aws ec2 describe-instances x12345 { "Reservations" : { "OwnerId": "1345345" "Groups": [], "SecurityGroups": [ { "Foo" : "yes" "Bar" : "no } ] } } JSON出力の解析に使用できるシェルの組み込みはありますか? たとえばFOO、次のシェル変数にキャプチャしたいとしますoutput["Reservations"]["SecurityGroups"][0]{"Foo"}。 それが役立つ場合、私は特にZshで動作するソリューションに興味があります。
11 zsh  string  json 

1
/ sysを介さずにネットワークインターフェイスインデックスを取得することはできますか?
だから私が探しているのはインターフェイスのインデックス(または名前)ですが、実際のものです。 if_nametoindex(3)そしてioctl(2)、ここで私を助けていないように見えます。これを行う方法を見つけた唯一の方法は、を使用すること/sysです。私が必要とするものを例で示しましょう: # cat /sys/class/net/bond0.1007/ifindex 26 # cat /sys/class/net/bond0.1007/iflink 23 <-- I need either this or a reference to bond0 # cat /sys/class/net/bond0/ifindex 23 関数呼び出しでそれを行う方法はありますか、それとも唯一の方法sysfsですか?

2
矢印キー/ Enterメニュー
ユーザーが矢印キーを使用してハイライトカーソルを移動し、Enterキーを押して1つを選択する3つのオプションを表示するシェルスクリプトでメニューを作成する方法

4
nmcliを介して802.1xワイヤレスネットワークに接続する方法
nmアプレットを介して802.1ネットワークに接続できます。私はほとんどの場合nmなしで実行しているのでこれを行うのは好きではありません。ワイヤレスネットワークに接続するためだけにnmをロードするのは嫌です。 802.1ネットワークに接続すると、次のエラーが発生します。 Error: Failed to add/activate new connection: (32) Failed to determine AP security information nmcliはネットワークタイプを指定する手段を提供していないようなので、これを回避する方法はわかりません。

1
tcpdumpキャプチャのマルチキャスト結合の作成
特定のマルチキャストトラフィックをキャプチャするLinuxシェルスクリプトを書きたいのですが。特定のように、1つの特定のマルチキャストグループ/ポートのすべてのトラフィックを含むpcapファイルを作成します。 トラフィックを表示するために使用しているコマンドラインは次のとおりです。 tcpdump -nnXs 0 -i eth1 udp port 22001 and dst 233.54.12.234 これは、そのグループへのマルチキャストサブスクリプションがすでに確立されている限り、正常に機能します。たとえば、これを別のコンソールで実行した場合: mdump 233.54.12.234 22001 10.13.252.51 tcpdumpパケットが表示されます。mdumpが実行されていない場合、tcpdump何も表示されません。 キャプチャを開始する前にこれらのマルチキャスト結合を確立する標準のlinux-y方法はありますか?mdumpこれらの結合を確立するために使用することもできますがmdump、グループ上のすべてのデータを処理するので、それは無駄に見えますが、私はそれを捨てるつもりです。 私の特定の環境のため、インターフェースを無差別モードにすることはお勧めできません。実際には禁止されているかもしれません。

2
chmodは何の略ですか?
コマンドを記憶するには、通常、そのコマンドの名前がどこから来たかを知ることをお勧めします。たとえばcp、コピーから来ています。usermod「ユーザー変更」を意味します(少なくとも私はそう思います)。 chmodはどこから来たのですか、それはどういう意味ですか?

4
fail2banが実行されていることを確認しますか?
fail2banをインストールして設定しました。それが機能していることを確認したいと思います。サーバーから自分自身をブロックしたくないので、何度も(不十分な方法で)ログインすることはできません。fail2banが機能していることをどのように確認できますか?

2
ウェブカメラのLinuxデバイスドライバーについて
私の知る限り、デバイスドライバーは、コンピューターに接続されている特定の種類のデバイスと通信できるSWの一部です。 USB Webカメラの場合、責任のあるドライバーは、UVC準拠のデバイスをサポートするUVCです。これは、使用されているハードウェアの詳細を正確に知る必要なく、OSまたは他のコンピュータープログラムがハードウェア機能にアクセスできるようにすることを意味します。 このため、次のコマンドを実行してUVC Linuxデバイスドライバーをインストールしました。 opkg install kernel-module-uvcvideo ウェブカメラはLinuxカーネルで認識されています:dev/video0。ただし、V4L2 APIがないため、FFmpegでビデオストリーミングを実行できませんでした。カーネルを設定してV4L2をインストールしました。 私の質問は: UVCドライバーとV4L2はどのようにリンクされていますか? V4L2 APIの目的は何ですか? 最初にUVCをインストールしていない場合、V4L2と共にインストールされますか? LinuxTVの言及:uvcvideoドライバーの実装は、V4L2 APIのみに準拠しています。これは、UVCがV4L2 APIの一部であることを意味しますか?
11 linux  drivers  camera  v4l 

4
CentOS 6.5へのOpenSSL共有ライブラリのインストール
OS: CentOS-6.5-x86_64-minimal OpenSSLの最新バージョンをダウンロードしました でそれを抽出しました tar -xvzf openssl-1.0.1e.tar.gz cd openssl-1.0.1e ./config --prefix=/usr/local make 次のエラーが表示されます。 making all in crypto... make[1]: Entering directory `/usr/local/src/openssl-1.0.1e/crypto' making all in crypto/objects... make[2]: Entering directory `/usr/local/src/openssl-1.0.1e/crypto/objects' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/usr/local/src/openssl-1.0.1e/crypto/objects' making all in crypto/md4... make[2]: Entering directory `/usr/local/src/openssl-1.0.1e/crypto/md4' make[2]: Nothing …
11 centos  yum  openssl 

3
ディレクトリ内のすべてのファイルのrw-r--r— root / wheelをオーバーライドするにはどうすればよいですか?
OS Xでディレクトリを削除しようとしています。削除しrm -r /path/dirても、次のようなメッセージが何度も表示されます。 override rw-r--r-- root/wheel for cron/migrate.php? 1つのメッセージに対してyと入力しますが、別のメッセージがポップアップします。1つのコマンドでディレクトリ全体のメッセージを上書きしたいと思います。それ、どうやったら出来るの?

5
単一のディレクトリにある多数のファイルを移動する最も効率的な方法は何ですか?
CentOS 5.x これが繰り返し質問である場合は、お詫び申し上げます。(ファイルの削除に関して)同様の質問をたくさん見ましたが、まったく同じシナリオではありません。 数十万のファイル(おそらく100万を超える)を含むディレクトリがあり、別の問題の短期的な修正として、これらのファイルを別の場所に移動する必要があります。 議論の目的で、これらのファイルが元々存在していて/home/foo/bulk/、それらをに移動したいとします/home/foo2/bulk2/ 試行するmv /home/foo/bulk/* /home/foo2/bulk2/ と、「引数が多すぎます」というエラーが表示されます。 Google氏は、ファイルを一括で削除する別の方法として、findを実行することを教えてくれました。何かのようなもの: find . -name "*.pdf" -maxdepth 1 -print0 | xargs -0 rm 何かを削除していたとしても問題ありませんが、この場合はファイルを移動したいと思います... find . -name "*" -maxdepth 1 -print0 | xargs -0 mv /home/foo2/bulk2/bashのようにタイプすると、ファイルがディレクトリではないというメッセージが表示されます。 あるディレクトリから別のディレクトリにファイルをまとめて移動するためにここで使用するのに最適なコマンドは何ですか?
11 linux  bash  shell  find  rename 

5
.ssh / configはzshでリモートセッションを開始します
次のコマンドを入力せずにリモートセッションを開始したい ssh user@remoteserverip -t zsh のホスト名を変更して、~/.ssh/config次のようなものを使用できることを知っています。 ssh serveralias -t zsh しかし、-t zshパラメーターを削除したいと思います。 関数を書かずにこれを達成する方法はありますか?
11 ssh  zsh  remote  session 

2
sshコマンドで再試行パスワードを無効にする方法
最初にsshが返されたときにパスワードが間違っていた場合、sshコマンドでパスワードを入力する機会を1回だけ許可したい Permission denied (publickey......). sshにパスワードを1回だけ要求するように指示するフラグはありますか? の代わりに: [nir@dhcppc4 ~]$ ssh pokemon@192.168.1.103 pokemon@192.168.1.103's password: Permission denied, please try again. pokemon@192.168.1.103's password: Permission denied, please try again. pokemon@192.168.1.103's password: Permission denied (publickey.....). が欲しいです: [nir@dhcppc4 ~]$ ssh pokemon@192.168.1.103 pokemon@192.168.1.103's password: Permission denied (publickey.....). ソリューションはクライアント側にある必要があります(たとえば、sshコマンドへのフラグまたはパイプラインを使用)、私はsshd_config、またはその他のシステム構成ファイルに触れることができません。一般的に、LAN内のサーバーにアクセスするサードパーティのソフトウェアを構築しているため(キーを生成したり、システムファイルを構成したりできません)、パスワードはDBに保存されます(したがって、2回目の試行は必要ありません)。そして、私のコードで私は、私が唯一する一つの試みがあると仮定することができます場合はssh/ scpそれは、関連するコードを単純化しますが。
11 ssh  password  scp 

2
BashにPerl RegExエンジンの使用を強制する
すでにご存じかもしれませんが、最新のRegExエンジンがサポートする機能の多く(後方参照、ルックアラウンドアサーションなど)は、Bash RegExエンジンではサポートされていません。以下は、私の最終目標が何であるかを説明するために作成した単純なBashスクリプトです。 #!/bin/bash # Make sure exactly two arguments are passed. if [ $# -lt 2 ] then echo "Usage: match [string] [pattern]" return fi variable=${1} pattern=${2} if [[ ${variable} =~ ${pattern} ]] then echo "true" else echo "false" fi したがって、たとえば、次のようなコマンドはfalseを返します。 . match.sh "catfish" "(?=catfish)fish" 一方、PerlまたはJavaScriptの正規表現テスターで使用すると、まったく同じ式で一致が検出されます。 後方参照(例(expr1)(expr2)[] \ 1 \ …

1
依存関係として指定されているよりも多くのパッケージをインストールする
texmakerリポジトリからインストールしようとしていました。インストールについては、ここで説明されてtexliveいる手順に従いました。このために使用した制御ファイルはこれです。texlive-binariesというファイルがあります。 それから私はからインストールしようとしtexmakerましたapt。次のように依存関係がリストされています # apt-cache depends texmaker texmaker Depends: libc6 Depends: libgcc1 Depends: libpoppler-qt4-3 Depends: libqt4-network Depends: libqt4-xml Depends: libqtcore4 Depends: libqtgui4 Depends: libqtwebkit4 Depends: libstdc++6 Depends: zlib1g Depends: texmaker-data Recommends: aspell Recommends: ghostscript Recommends: netpbm Recommends: psutils texlive-local Recommends: texlive-latex-extra texlive-local |Recommends: <hunspell-dictionary> myspell-fr myspell-ru hunspell-an hunspell-ar hunspell-be hunspell-da hunspell-de-at …
11 debian  apt  latex 

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