Unix & Linux

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


7
スレッドはLinuxのプロセスとして実装されていますか?
私は通過つもりだこの本マーク・ミッチェル、ジェフリー・オールダム、そしてアレックス・サミュエルことにより、高度なLinuxのプログラミング。2001年からですので、少し古いです。しかし、とにかくかなり良いと思います。 しかし、シェル出力でLinuxが生成するものとは異なる点に到達しました。92ページ(ビューアでは116ページ)の4.5 GNU / Linuxスレッド実装の章は、次の文を含む段落から始まります。 GNU / LinuxでのPOSIXスレッドの実装は、他の多くのUNIX系システムでのスレッド実装とは重要な点で異なります。GNU/ Linuxでは、スレッドはプロセスとして実装されます。 これは重要なポイントのようで、後でCコードで説明します。本の出力は次のとおりです。 main thread pid is 14608 child thread pid is 14610 そして、私のUbuntu 16.04では: main thread pid is 3615 child thread pid is 3615 ps 出力はこれをサポートします。 2001年から現在までに何かが変わったに違いないと思います。 次のページの次のサブセクション4.5.1シグナル処理は、前のステートメントに基づいています。 シグナルとスレッド間の相互作用の動作は、UNIXに似たシステムごとに異なります。GNU / Linuxでは、スレッドはプロセスとして実装されるという事実によって動作が決定されます。 そして、これはこの本の後半でさらに重要になるようです。誰かがここで何が起こっているのか説明できますか? 私はこれを見ましたLinuxカーネルスレッドは本当にカーネルプロセスですか?、しかしそれはあまり役に立ちません。よくわかりません。 これはCコードです: #include <pthread.h> #include <stdio.h> #include <unistd.h> void* thread_function …

4
すべてのロード可能なカーネルモジュールをリストする方法
私はロードするために、いくつかのカーネルモジュールを探していますi2c-devとi2c-bcm2708。ただし、modprobeコマンドは以下を返します。 sudo modprobe i2c-dev modprobe: module i2c-dev not found in modules.dep システムで利用可能なすべてのモジュールを一覧表示するにはどうすればよいですか?それらはどのディレクトリにありますか?

6
grepを使用して行末のパターンを検出する
私が行った場合: $ ls -R .: 4Shared/ Cloud/ ./4Shared: UFAIZLV2R7.part3.rar ./Cloud: UFAIZLV2R7.part2.rar.part UFAIZLV2R7.part1.rar.part UFAIZLV2R7.part4.rar.part .rarファイルのみをリストしたい場合にgrepを使用すると、.rar.partファイルも表示されますが、これは私の望みではありません。 私はこのスレッドでfindまたはls **/*.rarを使用してこれを解決していますが、うまく動作しますが、を介してそれを行うことができるかどうかを知りたいgrepです。 私は試しました(について考えてEOL): ls -R | grep ".rar\n" 結果なし。行の終わりに グレーピングが見つかったかどうかを発見することに問題があると思いますが、わかりません。 ここで助けてください?
65 grep 

5
rsyncは2つのローカルドライブ間でコピーされたファイルを検証しますか?
あるローカルドライブから別のローカルドライブに大量のファイルの新しいコピーを作成したい。 ネットワーク経由でリモートマシンにファイルを送信するときに、rsyncがファイルのチェックサム比較を行うことを読みました。 rsyncは、2つのローカルドライブ間でファイルをコピーするときに比較を行いますか? 検証を行う場合-安全な賭けですか?または、バイトごとの比較を行う方が良いですか?

9
スクリプトを実行可能にすることはできますが、読み取ることはできませんか?
スクリプトを読み取る権限がない場合、スクリプトを実行することは可能ですか?ルートモードでスクリプトを作成し、他のユーザーにこのスクリプトを実行させたいが、読み取らせたくない。私がやったchmod許可が拒否されました:しかし、ユーザーモードでは、私が言うのメッセージを見て、読み取りおよび書き込みますが、実行できるように禁止します。


4
コマンドが履歴に追加されないようにする方法はありますか?
コマンドが履歴に追加されないようにする方法はありますか?履歴ファイルに保存したくないコマンドがあり、メモリに保存されている履歴を検索するときにそこに保存することはあまり気にしませんが、それは心配ではありません。これを防ぐ方法はありますか、または戻って履歴ファイルを編集する必要がありますか? 更新:これがシェル固有である可能性があることを知りませんでした。私のシェルはzsh。他のシェルについても回答してください。そうすれば、シェルでこれを行う方法がわかります。


5
シェルで引用符をエスケープする方法は?
bashで文字をエスケープするのに問題があります。別のユーザーでコマンドを実行しているときに、一重引用符と二重引用符をエスケープしたいと思います。この質問の目的のために、画面に以下をエコーし​​たいとしましょう。 'single quote phrase' "double quote phrase" 別のユーザーに切り替える必要がある場合、すべての特殊文字をエスケープするにはどうすればよいですか: sudo su USER -c "echo \"'single quote phrase' \"double quote phrase\"\"" もちろん、これは正しい結果を生み出しません。


10
LinuxでPDFに署名.pngを追加するにはどうすればよいですか?
筆記された署名のスキャンされたコピーがあり、署名ブロック内のいくつかのドキュメントに適用する必要があります。私はこれまでずっとWindowsでこれを行っていましたが、現在はLinuxしかありません。 これは可能ですか?Linux(Gnome 3)でPDFファイルに署名画像を追加するにはどうすればよいですか?
65 pdf  evince 

8
crontabの@rebootはrootでのみ機能しますか?
man 5 crontab crontabを使用してブート時にスクリプトを実行する方法についてはかなり明確です。 These special time specification "nicknames" are supported, which replace the 5 initial time and date fields, and are prefixed by the `@` character: @reboot : Run once after reboot. そこで、幸いにもcrontabに(rootではなく、ユーザーアカウントの下に)1行追加しました。 @reboot /home/me/myscript.sh しかし、何らかの理由で、マシンの再起動時にmyscript.shが実行されません。(コマンドラインから呼び出すと正常に実行されるため、権限の問題ではありません) 私は何が欠けていますか? @Anthonの質問に答えるための更新: Oracle-linuxバージョン:5.8(uname:2.6.32-300.39.2.el5uek#1 SMP) cronバージョン:vixie-cron-4.1-81.el5.x86_64 はい、/home あるマウントされたパーティション。これが問題のようです。これを回避するにはどうすればよいですか? 現在、myscript.shテキストメッセージのみをのファイルにエコーします/home/me。
64 cron  reboot 

12
ほぼすべてにsudoを使用する必要があるのはなぜですか?
Linuxの哲学を正しく理解している場合は、sudo控えめに使用し、ほとんどの操作は特権のないユーザーとして実行する必要があります。しかし、sudoパッケージの管理、構成ファイルの編集、ソースからのプログラムのインストール、またはあなたが何を持っているかにかかわらず、私は常に入力する必要があるため、それは意味をなさないようです。これらは技術的なものでもなく、通常のユーザーが行うことです。 これは、WindowsのUACを非常に思い出させます。これは、ユーザーが無効にするか、パスワードを必要としないように構成する(クリックするだけ)ものです。さらに、多くの人々のWindowsユーザーは管理者アカウントでもあります。 また、を使用sudoせずに特権を必要とするコマンドを表示する人もいますsudo。sudo必要のない方法でシステムが構成されていますか?
64 sudo 

7
cat出力から最初と最後の行を読み取る方法は?
テキストファイルがあります。タスク-後のファイルから最初と最後の行を取得する $ cat file | grep -E "1|2|3|4" | commandtoprint $ cat file 1 2 3 4 5 cat出力なしでこれが必要です(1と5のみ)。 ~$ cat file | tee >(head -n 1) >(wc -l) 1 2 3 4 5 5 1 たぶんawkともっと短い解決策が存在する...
64 bash  shell  sed  awk  grep 

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