Unix & Linux

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

1
UnicodeのサポートのためにUbuntuの/ etc / default / localeにあるにもかかわらず、ロケールでLANGを設定する方法は?
を実行しましたがUbuntu 12.04、ロケールをに設定できませんen_US.utf8。私は設定LANGの設定で/etc/default/locale説明したように、ここで。 $cat /etc/default/locale LANG=en_US.utf8 $locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=POSIX しかし、上記のように機能しません。このLANG変数をどのように設定しますen_US.utf8か? 私が尋ねる理由は、を実行するecho -e "\x03\bb"とunicode greek letter lambda symbol正しく表示されるのですが、私の問題はemacsにあります。:emacsのでは、私はユニコードのシンボル、例えば表示できないC-x 8 RET 03bb出力\u03bb、代わりにgreek letter lambda symbol。問題はこれらのロケール設定にあると思いましたが、設定できません。 編集:問題は修正されたと思います。 $su $USER -c 'env; echo ==; locale' | egrep '==|LANG' LANG=en_US LANGUAGE=en_US == LANG=en_US …

3
ファイル内のヌル区切りのアイテムを数える
find -print0処理するファイルのリストを一時ファイルに保存するために使用するシェルスクリプトがあります。ロギングの一部として、見つかったファイルの数を出力したいので、その数を取得する方法が必要です。-print0オプションが安全のために使用されていなかった場合、私wc -lはカウントを取得するために使用できます。

1
テキストファイルの改行文字を決定しますか?
テキストが与えられた場合、Windows、Mac、またはLinuxの改行文字を検出できるプログラムはありますか? たとえば、次のテキストは less メモ:^ M ^ MisストレージはCPUから直接アクセス可能^ M ^ M「メモリ」という用語は、多くの場合(常にではありません)、アドレス可能な半導体メモリ、つまりシリコンベースのトランジスタで構成される集積回路に関連付けられています。^ M半導体メモリは^ Mmemoryセル Macでは^ Mが改行文字だと思いました。しかし、emacsでは、Ctrl-q Ctrl-mで検索しても何も見つかりませんでした。 ありがとう。
8 text 

2
Java JDKの依存関係リストにlibjli.soパスがない、Debian
私はchroot刑務所の作成をスクリプト化しています。その自動化の一部には、さまざまな実行可能ファイルとその依存関係を刑務所にコピーすることが含まれます。次のbash行を使用して、依存関係のリストからファイルパスを解析しています(Javaなど)。 $ ldd `which java` | grep -o '/[^()]*' /lib/x86_64-linux-gnu/libz.so.1 /lib/x86_64-linux-gnu/libpthread.so.0 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2 これはNode.jsとPythonに最適ですがjava、jail内から実行しようとすると、エラーが発生します。 java:共有ライブラリのロード中にエラーが発生しました:libjli.so:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません libjli.soパスが依存関係のリストから欠落していることがわかります...少なくともldd私たちを示すもの(5行目): $ ldd `which java` linux-vdso.so.1 => (0x00007ffff7f4d000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7ac3928000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7ac370c000) libjli.so => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7ac3507000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7ac317c000) /lib64/ld-linux-x86-64.so.2 (0x00007f7ac3b48000) ファイルを見つけました... $ find /usr/lib …

2
ntfs-3g:入出力エラー
過去3日間(更新後)、私のDebian JessieはNTFSディスクのマウントを拒否しました。libfuse2とntfs-3gを再インストールしましたが、同じ入出力エラーが発生します Windows 7とOSX Mavericks(ntfs-3gを使用)で同じディスクを試しましたが、正常に動作しました。私はntfs-3gを削除して再インストールしましたが、それでも同じ問題が発生しました。 ディスクがマウントされる場合とマウントされない場合があります。マウントすると、マウントディレクトリに入ることができる場合がありますが、マウントディレクトリのbashエラー入出力エラーが発生する場合もあります。マウントディレクトリにアクセスできる回数、ls -lを実行すると、file / dir属性ではなく、大量の疑問符が表示されます。 私はWindowsでntfsfixとchkdiskを試してみましたが、どちらも問題は報告されませんでした。このJessieインストールの下でのみ、突然、すべて適切にマウントできなくなります。 dmesgには、接続されている外部ディスク以外に役立つ情報はありません。 [12816.210969] scsi 20:0:0:0: Direct-Access Seagate External SG16 PQ: 0 ANSI: 4 [12816.211825] sd 20:0:0:0: Attached scsi generic sg7 type 0 [12816.212542] sd 20:0:0:0: [sdg] 732566642 4096-byte logical blocks: (3.00 TB/2.72 TiB) [12816.213591] sd 20:0:0:0: [sdg] Write Protect is off …
8 debian  mount  ntfs-3g 

3
コマンドのグループをパイプする/リダイレクトする
現在、次の設定を使用して複数のコマンドの出力をリダイレクトしています。 echo "Some normal commands" ( echo "Error: something happened" echo "Warning: this incident will be logged" ) >> logfile echo "More normal commands" これはかなり便利で、パイプでも機能します。 これはこれを行う最良の方法ですか?考慮すべき代替案はありますか?

1
inotifywait-名前を変更するときに古いファイル名と新しいファイル名を取得する
ファイルの名前変更を検出し、古いファイル名と新しいファイル名の両方を取得する信頼できる方法を探しています。これは私がこれまでに持っているものです: COUNTER=0; inotifywait -m --format '%f' -e moved_from,moved_to ./ | while read FILE do if [ $COUNTER -eq 0 ]; then FROM=$FILE; COUNTER=1; else TO=$FILE; COUNTER=0; echo "sed -i 's/\/$FROM)/\/$TO)/g' /home/a/b/c/post/*.md" sed -i 's/\/'$FROM')/\/'$TO')/g' /home/a/b/c/post/*.md fi done 動作しますが、監視フォルダーにファイルを移動したり、監視フォルダーからファイルを移動したりしないことを前提としています。また、イベントは、最初にmoved_from、次にmoved_toのペアで発生すると想定しています。これが常に正しいかどうかはわかりません(これまでのところ機能します)。 私はinotifyがcookieを使用してイベントをリンクすることを読みました。クッキーはどういうわけかアクセス可能ですか?クッキーがないので、タイムスタンプを使用してイベントをリンクすることを考えました。FROMとTOをより信頼できる方法で取得するためのヒントはありますか? 完全なスクリプトの要点。


1
パイプとリダイレクションバインディングの優先順位は、論理和、論理積などですか?
演算子「;」、「&」、「&&」、または「||」の相対的なバインディング優先順位を知っています。 http://www.gnu.org/software/bash/manual/bashref.html#Lists しかし、パイプが「&&」と一緒に画面に入ってくると、結合の強さを理解するのに苦労し、正しいコマンドに出くわすか、あきらめます。 '|'のバインディングの優先順位とは 上記と比較して「>」ですか? 私が混乱する例: ls _thumbnails/video.mp4.jpg 2>/dev/null && echo "thumbnail already generated. Not regenerating" \ && exit \ || ffmpeg_thumbnail_create video.mp4 2>/dev/null \ && ls _thumbnails/video.mp4.jpg \ && echo "Thumbnail successfully created" \ && exit \ || echo "Thumbnail creation failed" \ | tee ~/thumbnails.log 上記の目的は、サムネイルがまだない場合にのみサムネイルを作成することです(私は毎日cronjobを実行しています)。そして、エラーがない場合(Unixの方法ではない)のffmpegの大量の出力は好きではありません。他の状況もあるので、これらのプログラムに固有の個別のステートメントまたは特別なオプションを使用するアドバイスを私に与えないでください。バインディングの優先順位を理解したい。


2
Arch Linuxがkhugepagedから応答しなくなります
私はVMwareワークステーション10.0.3のヘビーユーザーで、システムに32GBのRAMを搭載しています。私の唯一のオペレーティングシステムは、デスクトップにUnityを使用するArch Linuxです。 通常、それぞれに約3GBのRAMが割り当てられた2つの仮想マシンを実行している場合、非常に頻繁にランダムな間隔で、システム全体が数秒間応答しなくなります。 端末で "top"を実行している場合、犯人はkhugepagedコマンドのようです。これは、システムが100%のCPUで応答しなくなってから消えるコマンドです。 これを回避する方法はありますか?私はkhugepagedについてググってみましたが、2011年の古代の投稿または未回答の質問しか見つけられないようです。 これらは私の完全なシステム仕様です: CPU:Intel i5 4570@3.2GHz 32GB Corsair Vengeance RAM @ 2400MHz M / B ASrock Z87 Pro 4

3
ジェンキンスからsudoを呼び出す
abcsudoアクセスが制限されているユーザーがいるビルドマシンを1つ持っています。ソースコードをチェックアウトしてビルドスクリプトを実行すると、問題なく動作します。ビルドスクリプトにsudoは、「sudo:ttyが存在せず、askpassプログラムが指定されていません」と書かれていない呼び出しが含まれています。しかし、スレーブとして追加されたビルドマシンでJenkinsを使用して同じことを実行すると、「sudo:ttyが存在せず、askpassプログラムが指定されていません」と表示されます。 Default requirettyファイルでコメント化するという解決策が1つ見つかりました/etc/sudoers。しかし、私はこのファイルにアクセスできません。 この問題を解決するにはどうすればよいですか?

2
端末で実行されているEmacsがCtrl +を区別できないのはなぜですか。「;」から?
この質問は、emacsベータに関する私の以前の質問から生じました。つまりC-;、ターミナルでEmacs関数にバインドしたいのですが、Emacsに到達する前に何かがこのキーをキャプチャしているようです。Emacsはを押し;たと思っています。 明らかな疑いはターミナルエミュレーターですが、私はそれらの多く(xterm、gnome-terminal、ターミネーター、用語)をチェックしましたが、どれも動作しません。EmacsのGUIバージョンではキーがC-;正常に機能するため、ウィンドウマネージャーを除外できる可能性があります。また、bashとzshの2つの異なるシェルを試しましたが、やはり成功しませんでした。 他に何を試すことができますか?


6
空の文字列はいつ現在のディレクトリを示していますか?
次のようfindに、現在のディレクトリでいくつかのファイルを収集するために使用するスクリプト $ find . -name "*.h" ./foo.h 今、私はそれをプレフィックスfoo.hなしで単に出力したいと思い./ます。空の文字列""はシェルコマンドの現在のディレクトリを表すと思いました。しかし、これは与える: $ find "" -name "*.h" find: ftsopen: No such file or directory だから私は間違っていました。今私の質問は、いつ/どのように/どこで/ ..「空の文字列(?)」は、ファイル名またはパス名を期待するコマンドの現在のディレクトリを示していますか?きちんとした啓発的な説明はありますか? サイドの質問は、検索つべこべは、上記のラ・文字列操作なしで、簡単に解くことができるかどうかである${parameter#word}かcutまたはsed?
8 find  filenames 

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