Unix & Linux

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

5
Chromeで一部の文字が四角として表示されるのはなぜですか?
たとえば、開発ツールでは次のようになります: これらの正方形のいくつかは行末にあり、最初はキャリッジリターンであると思っていましたが、そうではないことがわかりました。 また、四角は後に表示される=か、>まったく改行がない多くの場所では、との間のすべての任意の文字が存在しないことをバイナリエディタショーでファイルを見ている=と"(例えばid="として表示されますid=? ") これはWebページでも非常にまれに表示されます。たとえば、次のようなものです。 私は、バイナリエディタでそれを見て、その文をコピーして、再度の間に文字が存在しないeとは:。ソースコードにも何も表示されません。 私はこれを見たことがありません。数日前にarchを再インストールしてからです。 Chromeは:バージョン19.0.1084.15 dev Archは:カーネル3.3.1-1-ARCH、x86_64 locale.genたen_GBロケールが(両方のコメント解除UTF-8してISO-8859-1)。chromeのエンコードはデフォルトでに設定されてISO-8859-1いますが、切り替えてUTF-8も違いはありません。 これは私が使用していたhtmlファイルです:test.html 修正は素晴らしく、説明は素晴らしく、これは私のセットアップの問題である(またはそうではない)ことも確認できます。 編集:フォントを調査した結果、どちらの場合も、ttf-ms-fontsパッケージの一部であるarialを使用しようとしていることがわかりました。これをインストールすると、フォントが変更されましたが、正方形は残りました(ただし、形状は異なります)。どちらの場合も、フォントはシステムのデフォルトのフォントに準拠していません。


2
bash履歴検索モードを終了する方法は?
Ubuntu 12.04ではCTRL- を使用Rして、逆履歴検索を入力します。私が欲しいのコマンドは、(反復後に発見されていない場合はCTRL- R、どのように私はすぐにコマンドラインに入力するか、または実行されていない歴史的なコマンドを使用して、コマンドプロンプト(空)に戻って終了しますか)?

3
Unixファイル名のエンコードについて
ファイル名のエンコードがどのように機能するかを理解するのに苦労しています。unix.SEには矛盾する説明があります。 ファイル名は文字として保存されます 別の答えを引用するには: Linuxでのファイルシステムの文字エンコーディングに関するいくつかの質問 […]質問で述べたように、UNIXファイル名は単なる文字列です。カーネルはエンコードについて何も知りません。これは完全にユーザー空間(つまり、アプリケーションレベル)の概念です。 ファイル名が文字として保存される場合、最終的にファイル名がディスク上のビットまたはバイトシーケンスとして終了する必要があるため、何らかの種類のエンコーディングが必要になります。ユーザーが選択できる場合は任意のカーネルに供給されたバイト配列に文字をマップするためのエンコーディングを、作成することが可能である任意の有効なファイル名のバイトシーケンスを。 次のことを想定します。ユーザーがランダムエンコーディングXを使用して、ファイルfooをバイトシーケンスαに変換し、ディスクに保存します。別のユーザーはエンコーディングYを使用します。このエンコーディングでは、αはに変換されますが/、これはファイル名として許可されていません。ただし、最初のユーザーの場合、ファイルは有効です。 このシナリオは起こらないと思います。 ファイル名はバイナリBLOBとして保存されます 別の答えを引用するには: Linuxでファイル名とパスに使用される文字セットエンコーディングは何ですか? 他の人が述べたように、これに対する答えは実際にはありません。ファイル名とパスにはエンコードがありません。OSはバイトシーケンスのみを処理します。個々のアプリケーションは、何らかの方法でエンコードされていると解釈することを選択できますが、これは異なります。 システムが文字を処理しない場合、特定の文字(/またはNULL)をファイル名でどのように禁止できますか?/ エンコーディングなしの概念はありません。 説明は、ファイルシステムは任意の 文字を含むファイル名を格納でき、無効な文字を含むファイル名で停止するのはエンコードを考慮するユーザープログラムのみであるということです。これは、ファイルシステムとカーネルが/。を含むファイル名を問題なく処理できることを意味します。 また、これは間違っていると思います。 エンコードはどこで行われ、特定の文字を許可しないという制限はどこにありますか?

2
lsソートで英数字以外の文字が無視されるのはなぜですか?
ファイル名をソートするとき、などのls文字を無視します-,_。ソートにもこれらの文字を使用することを期待していました。 例: touch a1 a2 a-1 a-2 a_1 a_2 a.1 a.2 a,1 a,2 ここでこれらのファイルを表示しますls -1: a1 a_1 a-1 a,1 a.1 a2 a_2 a-2 a,2 a.2 私が期待したのは次のようなものでした: a1 a2 a,1 a,2 a.1 a.2 a_1 a_2 a-1 a-2 つまり、ソート時に英数字以外の文字が考慮されることを期待していました。 誰もこの行動を説明できますか?この動作は標準で義務付けられていますか?または、これはエンコーディングがUTF-8であるためですか? 更新:これはUTF-8ソートに関連しているようです: $ LC_COLLATE=C ls -1 a,1 a,2 a-1 a-2 a.1 a.2 a1 …
25 ls  sort 

2
変数からすべてのスペース、タブ、改行などを削除しますか?
これは私が得ているエラーであり、値が2になるはずの変数のために失敗しています(これを使用してこれを取得していますselect * from tabel)。その変数にスペースが入っています。 + 0 != 2 ./setjobs[19]: 0: not found. その変数からすべてのスペースまたは改行を削除するにはどうすればよいですか?缶tr、sedあるいは何の助け? これは私がやっていること: set_jobs_count=$(echo "set heading off; select count(*) from oppar_db where ( oppar_db_job_name, oppar_db_job_rec ) in ($var) ;" | \ sqlplus -s ${OP_ORA_USER}/${OP_ORA_PASS}@$OPERATIONAL_DB_NAME) これは提案どおりに機能します。 | sed 's/[[:space:]]//g' しかし、私はまだ次のような値を取得します: set_jobs_count= 2
25 shell  sed  tr  whitespace  newlines 

1
カーネルソースツリーには何が含まれていますか?これはLinuxカーネルヘッダーに関連していますか?
ブックでは、私は一般的にLinuxのソースツリーへの参照を読んで/usr/src/linux、サブディレクトリの通常のセットで(arch、block、crypto、...)。 このツリーには、カーネルを構成するバイナリファイルが含まれていると予想していました。私のシステム(Ubuntu 10.04)では... 私が持っているさまざまなカーネル(手動でインストールされたのではなく、自動化されたソフトウェアダウンロードを使用)では、代わりにこの場所に次のように各カーネルの2つのサブディレクトリがあります。 /usr/src/linux-headers-2.6.32-22 /usr/src/linux-headers-2.6.32-22-generic サブディレクトリでは、とりわけバイナリファイルを期待していました。しかし、かなりの量のツリーをチェックしましたが、ここから最後のサブディレクトリには常にMakefile(それを読むと、通常は構成ファイルよりもインストールファイルのように聞こえます)に加えて、時々いくつかの孤立した他のファイルがあります(主にKconfig)。 私の質問は素朴かもしれませんが、少し混乱しています。(2)カーネルソースツリーに表示されるもの。そして、なぜ「ヘッダー」への明示的な参照があるのですか?linux-generic-headers他のソフトウェアのためにしばらく前にインストールする必要がありましたが、これが関連しているかどうかはわかりません。makefileには(たとえば、/ driverサブディレクトリにモジュールをインストールする)理由がありますが、(ほとんど)makefileだけですか?
25 ubuntu  kernel  source 

4
Linuxの「/etc/init.d」ディレクトリと「/etc/rcX.d」ディレクトリ間の接続は何ですか?
「Linux Command Line and Shell Scripting Bible、Second Edition」という本からコマンドラインを学んでいます。本はこれを述べています: 一部のLinux実装には、起動時に自動的に開始するプロセスのテーブルが含まれています。Linuxシステムでは、このテーブルは通常、特殊ファイル/ etc / inittabsにあります。 他のシステム(人気のあるUbuntu Linuxディストリビューションなど)は、ブート時に個々のアプリケーションを開始および停止するためのスクリプトを含む/etc/init.dフォルダーを利用します。スクリプトは、/ etc / rcX.dフォルダーの下のエントリーを介して開始されます(Xは実行レベルです)。 おそらく私はLinuxが初めてなので、引用した2番目の段落の意味を理解できませんでした。誰かがもっと平易な言語で同じことを説明できますか?

6
ウィンドウマネージャキーバインドから最後に使用したディレクトリと同じディレクトリで新しいターミナルを開くにはどうすればよいですか?
タイリングウィンドウマネージャーを使用しておりgnome-terminal、複数のタブからurxvtウィンドウマネージャーによって管理される複数のインスタンスに切り替えました。私が見逃している機能の1つは、最後の作業ディレクトリにデフォルト設定される新しいターミナルを開く機能です。 要するに:私は新しいurxvt(bashの)最後に使用された1の$ PWDデフォルトことを開くための方法が必要です。 私の頭に浮かぶ唯一の解決策はcd、次のようなものですべての現在のパスを保存することです: echo $PWD > ~/.last_dir この方法で新しい端末のパスを復元します。 cd `cat ~/.last_dir` 2番目のコマンドをソースにすることはできますが、.bashrcディレクトリが変更されるたびに最初のコマンドを実行する方法がわかりません:) 使用screenやtmux使用を伴わない簡単なソリューションは歓迎します。

4
異なるプロセスの同じfdはどのようにして同じファイルを指すことができますか?
私が持っていると言うプロセス1およびプロセス2を。両方とも整数4に対応するファイル記述子を持っています。 ただし、各プロセスでは、ファイル記述子4はカーネルのオープンファイルテーブル内のまったく異なるファイルを指します。 そんなことがあるものか?ファイル記述子は、Open File Tableのレコードへのインデックスであると想定されていませんか?

3
lessを使用してパイプをフォローしますか?
(Fを押して)パイプ入力(ファイルと同様)をたどることはできませんか?書き込まれているファイルの場合、コマンド less <file> Fを押すと、ファイルを追跡します。 しかし、次のように出力を直接lessにパイプするコマンドがある場合 command | less Fを押しても何も起こりません。 ファイルができるようにパイプをたどることができないように見えますか?それとも、STDERRへの書き込みコマンドにも関係しているのでしょうか?私が達成しようとしている効果は、常にコマンドの最新の出力を見ることです。Pag​​eDownを押したままにするのと同じです! 関連する発言はG(最後に行く)にも当てはまります:直接lessにパイプすると、機能しません。
25 pipe  less  tail 

2
Grepエイリアス-パイプラインにない限り行番号
行番号を追加するgrepのbashエイリアスを作成したい: alias grep='grep -n' しかし、それはもちろん、パイプラインにも行番号を追加します。ほとんどの場合(例外もありません)、パイプライン内に行番号は必要ありません(少なくとも内部的には、おそらく最後であればOKです)。また、sed / awk / cutをそれらを取り出すためのパイプライン。 おそらく私の要件は、「grepが行の唯一のコマンドである場合にのみ行番号を追加する」ように簡略化できます。特にいエイリアスなしでこれを行う方法はありますか?

2
Linuxではマウスイベントはどのように機能しますか?
これは主に好奇心からのものであり、イベント処理が低レベルでどのように機能するかを理解しようとしているので、私のためにそれを行うソフトウェアを参照しないでください。 たとえば、マウスクリックに反応するプログラムをC / C ++で記述したい場合、システムコールを使用して一部の機能をカーネルにフックする必要があるか、マウスのステータスを常にチェックする必要があると思います。知りません。 C / C ++ではほとんどすべてが可能であり、非常に低レベルなので、おそらく自分で実装する必要はないかもしれませんが、私はそれがどのように機能するかに主に興味があるので、それが可能だと思います。 問題は、Linuxでどのように機能するか、特定のシステムコール、Cライブラリなどがあるかどうかです。
25 linux  devices  input 


2
VMDKをVDI / VHDに変換する方法
VirtualBoxのVBoxManage modifyhd --resizeコマンドはVDIまたはVHDファイルでのみ使用できると言われています。悲しいことに、VMDK形式のVirtualBoxイメージがあり、それを他の2つの形式に変換する方法がわかりません。
25 virtualbox 

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