Unix & Linux

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

2
Muttで<Control> <Arrowkey>をバインドする方法は?
私はここで立ち往生しています: &lt;enter&gt;, &lt;backspace&gt;, &lt;up&gt;, &lt;down&gt;, &lt;left&gt;, &lt;right&gt;コントロールの1つをバインドすることは可能ですか? \C&lt;foo&gt;|foo&gt;ヘルプのように表示され、^&lt;up&gt;バインドされていません。 '\C&lt;foo&gt;も機能'\C &lt;foo&gt;'しません("代わりに同じです)。 &lt;control&gt; 存在しません。 実際にヘルプに表示される可能性が^&lt;foo&gt;ありますが、マップした場合に限り^&lt;foo&gt;、これは正確には望んでいません。;)
9 mutt 

2
パターンに一致するサブディレクトリのみをgrep
私は数千のサブディレクトリで構成されるディレクトリツリーを持っていますが、頻繁にそれらのディレクトリの小さなサブセットのみをgrepする必要があります。grepパターンに一致するサブディレクトリのみをどうすればよいですか? たとえば、grepを実行する次のサブディレクトリがあるとします。 ... ... ... /foo /fooLib /fooHandler /fooGizmo ... ... ... 上記の...エントリは、grepに含めたくない他の何千ものディレクトリを表しています。 barこれを行うと、のすべてのインスタンスを探していると仮定します。 grep -n --recursive bar * 探しているものが見つかりますが、すべてのディレクトリにあります。パターンに一致するサブディレクトリのみを検索するにはどうすればよいfoo*ですか?
9 grep 

4
オーディオデバイス/サウンドカードが現在再生されているかどうかをテストしていますか?
オーディオデバイスが無音かどうかを確認できるデフォルトのプログラムはありますか? 編集:沈黙とは、何かが再生されている場合(アクティブ化または開かれただけではない) このようなもの: if [[ device0 is silent ]] ; then radio $RANDOM fi 編集2:私が達成しようとしているのは、ラジオを再生し、プレーヤーに障害が発生しても再生を続けることができるスクリプトです。たとえば、インターネット接続がダウンし、プレーヤーが回復しなかった場合、プレーヤーを殺してやり直します

3
別のシェル(ターミナルウィンドウまたはタブ)で開始されたジョブを強制終了するにはどうすればよいですか?
プロセスを開始し、ターミナルウィンドウでそれをバックグラウンド化する場合(たとえばping google.com &amp;)、それを使用kill %1してプロセスを強制終了できます(ジョブ1と想定)。 ただし、別のターミナルウィンドウ(またはタブ)を開くと、バックグラウンドプロセスはリストに表示されjobsず、を使用して直接終了することはできませんkill。 別のターミナルウィンドウまたはタブからこのプロセスを強制終了することはできますか? 注:私はXfceターミナルエミュレータ0.4.3とbashを使用しています(ただし、ソリューションが別の一般的なシェルに存在するがbashではない場合は、それにオープンしています)

2
複数のLinuxディストリビューションに必要なスワップパーティションは1つだけですか?(およびその他の質問)
Linux Mint 14を唯一のOSとしてインストールしています。/ swap、/、/ homeを含む1つの拡張パーティションがあり、ドライブに未割り当ての領域があります。 Mintがこれをすべて3つのプライマリパーティションではなく拡張パーティションに置くことにしたと思います。 そのため、割り当てられていないスペースの一部を使用してLinux From Scratchを構築したいと思います。 最初の質問は、ディストリビューションごとにスワップパーティションが必要ですか、それともLFSはすでに持っているスワップパーティションを使用できるのですか?もしそうなら、スワップパーティションはプライマリパーティションでなければなりませんか、それとも問題ではありませんか? プライマリパーティションと論理パーティションの間に実際的な違いはありますか? 定義に関する質問: 拡張パーティションは、論理パーティションを含むプライマリパーティションにすぎませんか? 最後に、Windows 7(sda 1-3)を削除したので、私のLinuxパーティションの番号は5-7のままです。新しいパーティションを作成すると、sda1という名前になりますか?

2
BashでXDGディレクトリとパスを利用する方法は?
私はどのようにアクセスするには定義された変数だけでなく、不思議~/.config/user-dirs.dirsとxdg-user-dir、例えば"$(xdg-user-dir VIDEOS)"、だけでなく、次の標準の変数を: XDG_CACHE_HOME:-$HOME/.cache XDG_CONFIG_HOME:-$HOME/.config XDG_DATA_HOME:-$HOME/.local/share XDG_RUNTIME_DIR:-"/run/user/$USER" XDG_CONFIG_DIRS:-/etc/xdg XDG_DATA_DIRS:-/usr/local/share:/usr/share そのために、~/.bash_loginファイルで次のようにします。 # Define standard directories. declare -gx XDG_CACHE_HOME=~/.cache declare -gx XDG_CONFIG_HOME=~/.config declare -gx XDG_DATA_HOME=~/.local/share declare -gx XDG_RUNTIME_DIR="/run/user/$USER" declare -gx XDG_CONFIG_DIRS="$(IFS=: path /etc/xdg)" declare -gx XDG_DATA_DIRS="$(IFS=: path /usr/local/share:/usr/share)" # Source supplementary directories to export or overwrite existing standard ones. declare a="$XDG_CONFIG_HOME/user-dirs.dirs" if [[ …

3
openvpn警告:サーバー証明書の検証方法が有効になっていません
openbianをdebian squeez(サーバー)にインストールして、fedora 17から(クライアント)として接続しようとしました。これが私の設定です: サーバー構成 # Server TCP proto tcp port 1194 dev tun # Keys and certificates ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem # Network # Virtual address of the VPN network server 192.170.70.0 255.255.255.0 # This line adds the client to the router network server push "route …

2
`ls -l`のKiB範囲の異なる色
でファイルサイズの右から4番目、5番目、6番目の列を強調表示する正気な方法はありますls -lか?私の意図は、ファイルサイズをバイト、KiB、またはMiBで読みやすくすることです。-h旗については知っていますが、数字の長さ(大きさ)を見て見ているだけではなく、末尾の文字を解釈する必要がある方が煩雑であることがわかりました。これは、レースカーがデジタルではなくアナログダイヤルを使用するのと同じ理由です。 私のターゲットシェルはBashです。ありがとう。 編集:私は、サイズの列の数千、1万、および10万の場所を強調表示しようとしています。このように:123 456 789
9 bash  ls 

2
オプションの終わりに対処する方法— getoptsで
getoptsを使用してbashスクリプトの引数を解析します while getopts ":hd:" opt; do case $opt in d ) echo "directory = $OPTARG"; mydir="$OPTARG"; shift $((OPTIND-1)); OPTIND=1 ;; h ) helptext graceful_exit ;; * ) usage clean_up exit 1 esac done exeparams="$*" exeparams未解析のオプション/引数を保持します。exeparamsを使用して、スクリプト内で実行されるコマンドのオプションを保持したいので(スクリプト自体のオプションと重複する可能性があります)、スクリプトに渡されるオプションを終了するために-を使用します。私が通過した場合 myscript -d myscriptparam -- -d internalparam exeparams 開催します -- -d internalparam --これらの引数を内部コマンドに渡すために、先頭を削除したいと思います。これを行うためのエレガントな方法はありますか、または--getopts なしで残りだけを保持する文字列を取得できますか?
9 bash  getopts 

3
ユーザーがディレクトリを削除できないようにするにはどうすればよいですか?
「chattr + i DIRNAME」を試してみましたが、すばらしいのですが、chatrの後でDIRにファイルを作成できません。ユーザーがディレクトリを削除できないようにするために他に何がありますか? root@HOST ~] mkdir test [root@HOST ~] chattr +i test [root@HOST ~] cd test [root@HOST ~/test] touch sth touch: cannot touch `sth': Permission denied [root@HOST ~/test] cd .. [root@HOST ~] chattr -i test [root@HOST ~] cd test [root@HOST ~/test] touch sth [root@HOST ~/test] 更新:ディレクトリの削除のみが重要であるため、ファイルを削除する必要があります

6
サイズで画像を検索:find / file / awk
私は一定の高さ(500px以上)のpng画像ファイルを見つけようとしています。私はそれfileが画像の寸法を返すことを知っています。例: $ file TestImg1a.png TestImg1a.png: PNG image data, 764 x 200, 4-bit colormap, non-interlaced しかし、私はこれを使用して、高さが500pxを超えるディレクトリ内のすべてのファイルを検索する必要があります。高さに関係なくすべてのファイルを印刷する方法を知っています。 find . -name '*.png' | xargs file | awk '{print $7 " " $1}' しかし、どうすれば$ 7を500を超える結果に制限できますか?
9 files  find  awk  xargs  images 

2
FreeBSD rcスクリプトを作成する簡単な方法はありますか?
次のコマンドを使用してサーバーを実行するFreeBSDの刑務所があります。 /usr/sbin/daemon /path/to/script.py 現時点では、マシンを再起動して刑務所が起動するたびにこのコマンドを実行する必要があります。このコマンドをから開始したいの/etc/rcですが。daemonコマンド用のFreeBSD rcスクリプトを作成する簡単な方法はありますか? 更新:私はrcスクリプトに関するこのBSDドキュメントを読み、そこから次のスクリプトを作成しました/etc/rc.d/pytivo: #!/bin/sh . /etc/rc.subr name=pytivo rcvar=pytivo_enable procname="/usr/local/pytivo/pyTivo.py" command="/usr/sbin/daemon -u jnet $procname" load_rc_config $name run_rc_command "$1" これは、刑務所が起動したときにデーモンとして必要なpythonスクリプトを開始するように機能します...(指定さpytivo_enable="YES"れて/etc/rc.confいる場合)起動しようとすると警告が表示されます。 [root@meryl /home/jnet]# /etc/rc.d/pytivo start [: /usr/sbin/daemon: unexpected operator Starting pytivo. [root@meryl /home/jnet]# ですから、近づいてきて動作しますが、これよりも優れた機能を手に入れることができるはずです。

3
rxvt-unicodeのMap Control-Shift-Tab
私はキーバインドにマッピングしたい Ctrl+ Shift+ Tabでをrxvt-unicode。Ctrl+ Tabを次のようにマッピングすることができました。の対応するエントリ.Xresourcesは URxvt.keysym.Control-Tab: \033[27;5;9~ を使用するとcat -v、このマッピングが機能することが確認されます。 $ cat -v ^[[27;5;9~ ^[[27;5;9~その後、シーケンスはvimマッピングCtrl+ などのアプリケーションで使用できます Tab。次の.Xresourcesエントリが同じように機能することを期待しています。 URxvt.keysym.Control-Shift-Tab: \033[27;6;9~ ただし、cat正しいマッピングは表示されません。 $ cat -v ^[[Z Ctrl+ Shift+ Tabマッピングを設定するには? 編集する マッピング URxvt.keysym.Control-ISO_Left_Tab: \033[27;6;9~ URxvt.keysym.Control-Shift-ISO_Left_Tab: \033[27;6;9~ 同じように動作します。最初にCtrl+を押してTabから両方を離し、次にReturn 2回押してからCtrl+ Shift+ Tabを押してすべてを離してからReturn 2回押すと、次の出力が得られます。 $ cat -v ^[[27;5;9~ ^[[27;5;9~ ^[[27;6;9~↵ ^[[27;6;9~M-bM-^FM-5 ケースCtrl+ Tab:最初のリターンにより、入力が出力として再び表示されます。 ケースCtrl+ Shift+ Tab:最初の戻りは符号を生成し↵、2番目の戻りは上記の最後の行を生成します。 次の編集:詳細 …

2
シェルスクリプトでユーザーを変更し、環境全体を読み込む
ユーザーを変更し、いくつかのrubyデーモンプロセスを起動する、私たちのupstartスクリプトに問題があります。 以前bash -c "do the business" -l someuserは、-lフラグを使用してログインをエミュレートすることを確認するだけでした。 これは今までうまく機能しており、ルビープロセスは次のエラーをスローしていました:require: no such file to load -- rubygems (LoadError)調査の結果、このエラーはスクリプトをrootユーザーとして実行した場合(つまり、私sudo suまたはupstartで実行した場合)にのみ発生することがわかりました。 最初にパスを手動で設定すると問題が解決するため、これはPATHの問題だと思います。 ユーザーを変更して環境全体をロードする方法はありますか? 私も試してみましたsu user -cとsudo。 テストを簡単にするために、私は「ルート化」(sudo su)して実行していますwhich bundle(バンドルはルビーです)。 ここに私が得るものがあります: sudo -i -u webuser which bundle #=&gt;出力なし su -l webuser -c which bundle #=&gt;出力なし sudo su - webuser -c which bundle #=&gt;出力なし しかし、sshはwebuserとして …

2
OpenCLIでWPA2AES wifiに永続的に接続する方法(CLIを使用)
OpenBSD 5.1 i386がインストールされています。GUI / Xがありません。私は答えを探しましたが、本物を見つけることができません。端末のみを使用してWPA2 PSK / AES wifiネットワークに接続するにはどうすればよいですか?(つまり、特定のSSIDを選択してからpassphare:Dを入力するだけの「ネットワークマネージャー」はありません) 更新: wifiカード:Atheros AR5424、「ath0」と表示されます アップデート#2: DHCP NWID SSID wpakey SSIDPWD /etc/hostname.ath0では動作しません(その後、sh / etc / netstart ath0) アップデート#3: ifconfig ath0 nwid SSID wpa wpapsk $(wpa-psk SSID SSIDPWD) 与えられた: ksh: wpa-psk not found ifconfig: wpapsk: bad value アップデート#4: ルーターはOpenWrt 10.03.1ボックスです。 cat /etc/config/wireless config 'wifi-iface' …
9 wifi  openbsd 

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