タグ付けされた質問 「linux」

Linuxの質問は、プログラミングに関連している必要があります。このタグは、Linuxでコードを実行したという理由だけでなく、Linux APIまたはLinux固有の動作を使用したプログラミングに関する質問の場合にのみ使用してください。Linuxサポートが必要な場合は、https://unix.stackexchange.comまたは特定のLinuxディストリビューションのStack Exchangeサイト(https://askubuntu.comやhttps://elementaryos.stackexchange.com/など)を試すことができます。


12
straceはどのように使用する必要がありますか?
ある同僚はかつて、Linuxですべてのデバッグに失敗したときの最後のオプションはstraceを使用することであると私に伝えました。 私はこの奇妙なツールの背後にある科学を学ぼうとしましたが、私はシステム管理の第一人者ではなく、実際に結果を得ることができませんでした。 そう、 それは正確には何であり、それは何をしますか? どのように、どのような場合に使用すべきですか? 出力をどのように理解して処理する必要がありますか? 簡単に言えば、簡単な言葉で、どのようにこのようなものに動作しますか?
273 linux  debugging  strace 

13
Windows、Mac OS X、Linuxはどの言語で書かれていますか?
私は、Windows、Mac OS X、Linuxがどのプログラミング言語で構成され、OSの各部分(つまり、カーネル、プラグインアーキテクチャ、GUIコンポーネントなど)にどの言語が使用されているのか、誰が知っているのかと思っていました。 それぞれに複数の言語があると思いますが、LinuxカーネルがCで記述されていることは明らかです。 Mac OS XにはNeXTから派生したAppleの言語であるため、Mac OS Xには多くのObjective-Cコードが含まれていると私は完全に推測しています。 Windowsには、C、C ++、Intelアセンブリが含まれていると聞きました。LinuxまたはMac OSにはアセンブリコードが含まれていますか? また、OSの一部をスクリプト化するためにOS開発者が使用するRuby、Pythonなどのスクリプト言語はありますか?OSのどの部分が各言語で記述されますか?

4
共有オブジェクト(.so)、静的ライブラリ(.a)、DLL(.so)の違いは?
Linuxのライブラリに関していくつかの議論に参加しており、いくつかのことを確認したいと思います。 アプリケーションを構築するときにライブラリを使用する方法は2つあるというのは私の理解です(間違っている場合は修正してください。後で投稿を編集します)。 静的ライブラリー(.aファイル):リンク時に、ライブラリー全体のコピーが最終アプリケーションに入れられるため、ライブラリー内の関数は常に呼び出し側アプリケーションで使用できます。 共有オブジェクト(.soファイル):リンク時に、オブジェクトは対応するヘッダー(.h)ファイルを介してAPIに対して検証されるだけです。ライブラリは、実行時まで実際には使用されません。 静的ライブラリの明らかな利点は、アプリケーション全体を自己完結できることです。動的ライブラリの利点は、「。so」ファイルを置き換えることができることです(つまり、セキュリティのために更新する必要がある場合)バグ)ベースアプリケーションを再コンパイルする必要はありません。 どちらも「.so」ファイルですが、共有オブジェクトとダイナミックリンクライブラリ(DLL)を区別する人がいると聞いています。Linuxまたは他のPOSIX準拠OS(つまり、MINIX、UNIX、QNXなど)でのC / C ++開発に関して、共有オブジェクトとDLLの間に違いはありますか?(これまでのところ)1つの重要な違いは、共有オブジェクトは実行時に使用されるだけであり、アプリケーション内でdlopen()呼び出しを使用してDLLを最初に開く必要があるということです。 最後に、一部の開発者が「共有アーカイブ」について言及しているのを聞いたことがあります。これは、私の理解では静的ライブラリでもありますが、アプリケーションで直接使用されることはありません。代わりに、他の静的ライブラリが「共有アーカイブ」にリンクして、共有アーカイブから構築中の静的ライブラリに一部(すべてではない)の関数/リソースをプルします。 よろしくお願いします。 更新 これらの用語が私に提供された状況では、Linuxを学習する必要があるWindows開発者のチームが使用した事実上誤った用語でした。私はそれらを修正しようとしましたが、(正しくない)言語の規範が行き詰まりました。 共有オブジェクト:プログラムの起動時にプログラムに自動的にリンクされ、スタンドアロンファイルとして存在するライブラリ。ライブラリはコンパイル時にリンクリストに含まれます(つまりLDOPTS+=-lmylib、という名前のライブラリファイルの場合mylib.so)。ライブラリは、コンパイル時とアプリケーションの起動時に存在している必要があります。 静的ライブラリ:アプリケーションコードと、プログラムのビルド時にプログラムに自動的にリンクされるライブラリコード、および両方を含む最終バイナリを含む単一(大きい)アプリケーションのビルド時に実際のプログラム自体にマージされるライブラリメインプログラムとライブラリ自体は、単一のスタンドアロンバイナリファイルとして存在します。ライブラリは、コンパイル時にリンクリストに含まれます(つまりLDOPTS+=-lmylib、mylib.aという名前のライブラリファイルの場合)。ライブラリはコンパイル時に存在している必要があります。 DLL:基本的に共有オブジェクトと同じですが、ライブラリはコンパイル時にリンクリストに含まれるのではなく、dlopen()/ dlsym()コマンドを介してロードされるため、プログラムをコンパイルするためにライブラリがビルド時に存在する必要はありません。また、ライブラリは、dlopen/ dlsym呼び出しが行われたときにのみ必要になるため、アプリケーションの起動時またはコンパイル時に(必ずしも)存在する必要はありません。 共有アーカイブ:基本的に静的ライブラリと同じですが、「export-shared」フラグと「-fPIC」フラグを使用してコンパイルされます。ライブラリはコンパイル時にリンクリストに含まれます(つまりLDOPTS+=-lmylibS、という名前のライブラリファイルの場合mylibS.a)。2つの違いは、共有オブジェクトまたはDLLが共有アーカイブを独自のコードに静的にリンクし、共有オブジェクトの関数を他のプログラムで使用するだけでなく、他のプログラムで使用できるようにする場合に、この追加のフラグが必要になることです。 DLLの内部。これは、誰かが静的ライブラリを提供し、それをSOとして再パッケージ化したい場合に役立ちます。ライブラリはコンパイル時に存在している必要があります。 追加アップデート 「DLL」と「shared library」の違いは、私が当時働いていた会社での(怠惰で不正確な)口語表現(Windows開発者はLinux開発に移行せざるを得ず、用語は行き詰まっている)であり、上記の説明に忠実でした。 さらに、S「共有アーカイブ」の場合、ライブラリ名の後に続く「」リテラルは、その会社で使用されている規則であり、業界では一般的ではありませんでした。
273 c++  c  linux  dll  linker 

21
Hadoop「プラットフォームのネイティブHadoopライブラリをロードできません」警告
私は、現在実行しているサーバー上でHadoopを設定していCentOSのを。start-dfs.shまたはを実行するとstop-dfs.sh、次のエラーが発生します。 警告util.NativeCodeLoader:プラットフォームのネイティブHadoopライブラリをロードできません...該当する場合は組み込みJavaクラスを使用しています Hadoop 2.2.0を実行しています。 オンラインで検索すると、次のリンクが表示されます。http://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html ただし、/native/hadoop 2.x のディレクトリの内容が異なるように見えるため、どうすればよいかわかりません。 また、これら2つの環境変数をに追加しましたhadoop-env.sh。 エクスポートHADOOP_OPTS = "$ HADOOP_OPTS -Djava.library.path = / usr / local / hadoop / lib /" エクスポートHADOOP_COMMON_LIB_NATIVE_DIR = "/ usr / local / hadoop / lib / native /" 何か案は?


8
実際にファイルを開くとどうなりますか?
(少なくとも私が使用している)すべてのプログラミング言語では、ファイルを読み書きする前にファイルを開く必要があります。 しかし、このオープン操作は実際には何をするのでしょうか? 典型的な関数のマニュアルページは実際にはそれが「読み取り/書き込みのためにファイルを開く」こと以外は何も教えていません: http://www.cplusplus.com/reference/cstdio/fopen/ https://docs.python.org/3/library/functions.html#open 明らかに、関数の使用を通じて、ファイルへのアクセスを容易にする何らかの種類のオブジェクトの作成が含まれていることがわかります。 別の言い方をすると、もし私がopen関数を実装したとしたら、それはLinuxで何をする必要があるでしょうか?
266 c  linux 

14
crontabが使用する環境変数はどこに設定できますか?
私は毎時間crontabを実行しています。それを実行して.bash_profileいるユーザーは、ユーザーが端末からジョブを実行するときに動作する環境変数を持っていますが、実行時にcrontabによって取得されないことは明らかです。 私はそれらを設定しようとした.profileと.bashrc彼らはまだピックアップを取得していないようです。crontabが取得できる環境変数をどこに配置できるか、誰か知っていますか?


10
コマンドラインを使用してLinuxでxlsxをcsvに変換する
Linuxでxlsxファイルをcsvファイルに変換する方法を探しています。 私は数百万行を処理することを検討しているので、PHP / Perlやそのようなものを使用したくないので、簡単なものが必要です。xls2csvと呼ばれるプログラムをUbuntuリポジトリで見つけましたが、それはxls(Office 2003)ファイル(現在使用中)のみを変換しますが、新しいExcelファイルのサポートが必要です。 何か案は?
266 linux  excel  csv  converter  xlsx 

6
過去24時間に変更されたファイルを見つける
たとえば、MySQLサーバーがUbuntuマシンで実行されています。過去24時間に一部のデータが変更されました。 過去24時間に変更されたファイルを見つけることができる(Linux)スクリプトは何ですか? ファイル名、ファイルサイズ、変更日時を記載してください。
265 linux  bash  find 

18
bashスクリプトを使用してファイル名のスペースを置き換える方法
特定のルートディレクトリから始まるファイルおよびディレクトリ名のスペースをアンダースコアで再帰的に置き換える安全なソリューションを誰かが推奨できますか?例えば: $ tree . |-- a dir | `-- file with spaces.txt `-- b dir |-- another file with spaces.txt `-- yet another file with spaces.pdf になる: $ tree . |-- a_dir | `-- file_with_spaces.txt `-- b_dir |-- another_file_with_spaces.txt `-- yet_another_file_with_spaces.pdf




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