タグ付けされた質問 「file-systems」

コンピューター上でファイルとそのデータを整理して保存する手法。

2
ファイルのエンコードを検出する方法は?
私のファイルシステム(Windows 7)には、いくつかのテキストファイルがあります(重要な場合、これらはSQLスクリプトファイルです)。 Notepad ++で開くと、「エンコード」メニューで「UCS-2リトルエンディアン」と「BOMなしのUTF-8」のエンコードが報告されます。 ここの違いは何ですか?それらはすべて完全に有効なスクリプトのようです。Notepad ++なしでファイルにどのエンコーディングが含まれているかをどのように確認できますか?

3
一時的な場所に書き込み、それを目的の場所にコピーすることの利点は何ですか?
私は衛星画像で動作するアプリケーションを書いていますが、上司からいくつかの商用アプリケーションを見て、その動作を確認するように頼まれました。奇妙な振る舞いを見つけたので、探していたとき、他の標準的なアプリケーションでもそれを見つけました。 これらのプログラムは、まずtempフォルダーに書き込み、次にそれを目的の宛先にコピーします。 例:7zipはまずtempフォルダーに抽出し、次にデータを抽出するように要求した場所に抽出したデータをコピーします。 このアプローチにはいくつかの問題があります。 一時フォルダーには十分なスペースがない場合がありますが、目的の場所にはそのようなスペースがある場合があります。 大きなファイルの場合、コピー操作に無視できない時間がかかることがあります。 私はそれについて多くを考えましたが、これを行うための単一の肯定的なポイントを見ることができませんでした。私は何かを逃していますか、これを行うことには本当の利点がありますか?

9
なぜRDBMSではなくファイルシステムがログに優先されるのですか?
質問はそのタイトルから明確でなければなりません。たとえば、Apacheは、使用されている規模に関係なく、RDBMSではなくファイルにアクセスログとエラーログを保存します。 RDMSの場合はSQLクエリを記述するだけで機能しますが、ファイルの場合は特定の形式を決定し、正規表現を記述するか、パーサーとして操作する必要があります。そして、細心の注意を払わないと、特定の状況で失敗することさえあります。 しかし、誰もがログを維持するためにファイルシステムを好むようです。私はこれらの方法のいずれにも偏っていませんが、なぜこのように実践されているのか知りたいです。それはスピードや保守性などですか?

11
なぜ競合するファイルシステムの設計が非常に多いのですか?[閉まっている]
簡単な質問ですが、なぜ今日でも競合して使用されているファイルシステムが非常に多いのですか?(ntfs、fat32、ext3(ffs)など) ファイルシステムの設計者は、各タイプのシステムの最良の側面に同意し、「最良の」ファイルシステムを実装できるようです。これらのファイルシステムはしばらく前から存在しており、どのファイルシステムが他のファイルシステムよりも優れた品質を持っているかは少なくともある程度明らかであるはずです。

4
Gitの.git / objects /フォルダーが多くのSHAプレフィックスフォルダーに分割されているのはなぜですか?
Gitは、オブジェクト(Blob、ツリー)を.git/objects/フォルダーに内部的に保存します。各オブジェクトは、オブジェクトのコンテンツから計算されるSHA1ハッシュによって参照できます。 ただし、オブジェクトは.git/objects/フォルダ内に直接保存されません。代わりに、各オブジェクトは、SHA1ハッシュのプレフィックスで始まるフォルダー内に保存されます。そのため、ハッシュb7e23ec29af22b0b4e41da31e868d57226121c84を持つオブジェクトは次の場所に保存されます.git/objects/b7/e23ec29af22b0b4e41da31e868d57226121c84 Gitがオブジェクトストレージをこのように細分するのはなぜですか? git-scmのGitの内部のページなど、私が見つけることができるリソースは、howではなく、howだけを説明しました。

1
ファイル名の拡張子以外の部分の名前は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 ファイルパスを指定: /some/path/abc.txt ファイル名は「abc.txt」で、拡張子が「TXT」です。 「業界標準」とは何ですか。「abc」部分の明確な名前は何ですか。 参考までに、Javaの古いライブラリjava.ioと新しいjava.nioライブラリの両方で、ファイル名は「abc.txt」を意味し、「abc」の部分に用語はありません(つまり、ライブラリAPIはサポートしていません)。

2
ファイルシステムは、ストレージデバイスを(非常に大きな)バイト配列として「認識」しますか?
ファイルシステムがストレージデバイスにどのように読み書きするかを知りたい。 私はこれがどのように機能するかと思います: ファイルシステムはストレージデバイスに直接アクセスしませんが、ストレージデバイスは(ストレージデバイスのデバイスドライバーによって)(非常に大きな)バイト配列としてファイルシステムに提示されます。 たとえば、ファイルシステムがハードディスクにアクセスする場合、ハードディスクを表すバイト配列にアクセスします。 このように、ファイルシステムはあらゆる種類のストレージデバイス(従来のハードディスク、SSD、USBフラッシュドライブなど)で動作でき、ストレージデバイスのデバイスドライバーのみが変更されます。 この画像は、私が今説明したことを示しています。 私の理解は正しいですか?

5
単純な置換でWindowsファイルパスをUnixファイルパスに変換しても安全ですか?
:だから、例えば私は、すべてのファイルのようなUNIXマシンにWindowsマシンから転送されるようにそれを持っていたと言うC:\test\myFile.txtには{somewhere}/test/myFile.txt(ドライブ文字は、この時点では関係ありません)。 現在、私たちが独自に作成したユーティリティライブラリには、すべてのバックスラッシュをスラッシュに単純に置き換えるメソッドが用意されています。 public String normalizePath(String path) { return path.replaceAll("\\", "/"); } スラッシュは予約されており、ファイル名の一部とすることはできないため、ディレクトリ構造を保持する必要があります。しかし、私が心配する必要があるかもしれないウィンドウとunixパスの間に他の複雑さがあるかどうかはわかりません(例:非ASCII名など)

3
Linuxファイル名の小文字
UpperCaseは長い複雑な名前の最初の文字の単語の区切りで実際に読みやすいことがわかったので、UpperCaseでLinuxファイル名の一部を指定する傾向があります。ほとんどが実行可能ファイル、いくつかのディレクトリも。 しかし、Linux distribのすべてのファイル名の大部分は小文字であることに気付きました。 だから私は少し前にグーグルを作りました、そして私はこの記事を見つけました:Linux File Names、Unixの世界では常に小文字を使うべきだと述べています、 ... 大文字または大/小文字混合を使用する正当な理由が考えられない限り、Linuxでは常に小文字を使用するのが最善です。ほとんどのUnixの人々はほとんど排他的に小文字を使用しますが、この「文化的な」点は別として、小文字を使用するもう1つの正当な理由があります。LinuxでDOSファイルシステムを共有またはアクセスしている場合、DOSは大文字または大文字と小文字が混在したファイル名のファイルを表示できません... それは本当ですか?

7
追加の書き込みなしにファイルに挿入できないのはなぜですか?(私は追加も上書きも意味しません)
これは、プログラミング言語に依存しない問題として発生します。 内容のファイルがあります aaabddd 私がC後ろに挿入したいときはb、私のコードを書き直す必要dddがあります aaabCddd Cこの位置に挿入できないのはなぜですか? Java、Pythonなどではできません。Linux、Windowsなどではできません。私は正しいですか? C追加の書き込みなしに単純に挿入できない理由がわかりません。なぜこれがそうであるのか誰かが説明してくれませんか?

4
「データベースに大きなblobを格納するとパフォーマンスが低下する」とはどういう意味ですか?
データベースの内部を知っている人にとって、これは簡単な質問かもしれませんが、データベースに大きなBLOB(たとえば、400 MBの映画)を格納するとパフォーマンスが低下することになっている理由を明確に説明できますか?これはインターネット全体でよく見られる申し立てですが、実際に説明されたことはありません。 具体的には、SharePoint / MSSQLのパフォーマンス、つまりファイルアップロードのパフォーマンス、サイトの閲覧、リストの表示、ドキュメントのオープンなどについて言及しています。データベースが大きくなりすぎると、動作が遅くなると言われています。ファイルシステムへのBlobの外部化(SharePointではリモートBlobストレージと呼ばれ、データベースからファイルを移動し、参照のみを残します)はこれをある程度解決するはずですが、正確には-最下位レベルで-違いは何ですか?データベースに巨大なファイルが保存されている場合、バックアップに時間がかかることは明らかです...しかし、どの操作が正確に影響を受け、その基本的なメカニズムは何ですか(つまり、データベースの外部のファイルシステムに保存されているファイルは、どのようにアクセスまたは保存されますか?) 列を含む単純なテーブルをID(guid, PK), FileName(string), Data(varbinary(max))考えてみてください-大きなData列は、Webサイトにファイルのリストを表示する(内部的には実行することを意味しますSELECT FileName FROM table)、または新しい行を挿入するなどの操作を本当に遅くしますか?実際のバイナリコンテンツの列にインデックスが付けられるのとは異なります。 このような質問が既に出されていることは知っていますが、十分な説明が見つかりません。

3
設計により異なるビット長によるITの制限の例[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私は1年生向けにコース「プログラミング入門」を教えています。設計によって選択されたビット単位のデータ型サイズが特定の既知の制限または重要な値につながる興味深い例を見つけたいと思います。 ここではいくつかの例を示します。 Bellテレプリンターは7ビットコード(後でASCIIとして受け入れられる)を使用していたため、電子メッセージの添付ファイルを7ビットデータのみを含むようにエンコードすることがよくありました。 32ビットアドレス空間の従来の制限により、32ビットシステムで使用可能な最大4GbのRAMサイズと、FAT32で最大4Gbのファイルサイズが発生します。 データ型の選択(特にそのバイナリ長)が現代のITの世界にどのように影響したか、他に興味深い例をいくつか知っていますか。 コメントでいくつかの議論の後に追加されました: 制限を克服する方法を教えるつもりはありません。1バイトで-127..0 .. + 127 o 0..255の値を保持できること、2バイトで0..65535の範囲をカバーできることを彼らに知ってもらいたい。上記のbase64エンコーディングなど。基本的なデータ型を学習しているだけなので、これらの型の「大きさ」についての適切なリファレンスを見つけようとしています。

4
ファイルシュレッダーアルゴリズム
システムプログラミングの学習の一環として、ファイルシュレッダーの実装を検討しています。最も単純な方法(そしておそらく素朴に見える)は、データバイトをゼロに置き換えることです(OSがファイルを分割し、すべてのチャンクのバイトを置き換えることを知っています)。しかし、このトピックについてググると、複数のパスアルゴリズムを見つけて驚いています。 誰かがマルチパスのメリットを説明できますか?説明が見つかりませんでした。 ありがとう

4
Tortoise SVNで大文字と小文字が区別されるのはなぜですか?
私は最近、TortoiseSVNを使用してこれに遭遇しましたが、CVSベースのプログラムでも同じだと思います(正しいですか?)。 純粋な好奇心から、CVSファイルシステムで大文字と小文字が区別される理由はありますか?つまり、次のURLは異なります。 svn://repo/branches/PROJECT svn://repo/branches/project これにはレガシーな理由がありますか?それはファイルベースでより興味深くなります。ディレクトリに2つのファイルが存在する場合、たとえばProjectOne.vbpとと言いprojectone.vbpます。一方は通常のWindowsファイルシステムで他方を上書きします(または、私が遭遇したように、不可解なTortoiseSVNデータベースエラーをスローします)が、リポジトリに平和的に共存できます。 上記のようなばかげた命名を使用しないことはユーザー次第であることは明らかですが、大文字と小文字を区別することに欠けている利点はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.