WindowsユーザがLinuxに乗り換える際に、知っておくとイイ情報集。
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る
--[[Linux OSの設計思想]]
--[[Linuxを触ってみる。]]
*目次 [#n54d8442]
#contents
*概要 [#x549ea3f]
「Linuxってドライブレター無いの?」的な質問をしたら、~
「重症」と言われてしまったので、本ページを作成するに至り...
*設計思想の違い。 [#f78c9253]
**Windows [#ge4f2253]
[[こちら>https://techinfoofmicrosofttech.osscons.jp/index...
**Linux [#zf7c1a89]
[[こちら>Linux OSの設計思想]](Linux OSの設計思想)が参考...
*詳細 [#a4d79c36]
**論理ボリューム・マネージャ [#a786ed5c]
-LVM : Logical Volume Manager
***Windowsでは [#j1928516]
ダイナミック・ディスクに相当する。
-ソフトウェアRAID等の機能を持つ
-不評で、あまり利用されていない。
***スタック [#uc147015]
以下のようなスタックになっている模様。
-マウント・ポイント
-論理ボリューム(logical volume)
-ボリューム(volume group)
-物理ボリューム(physical volume)
-ディスク装置
**ファイル・システム [#xa32166c]
***種類 [#jbcdf618]
-Windows
--FAT32
--NTFS
-Linux
--ext4
--XFS
--Btrfs
-参考
--【ゼロから解説】Linuxのフォーマットの方法~
https://eng-entrance.com/linux-format
--Linuxファイルシステムをまとめてみました~
https://qiita.com/sion_cojp/items/c8e015db39ddbf43012e
***ディレクトリ構造 [#gd5d9232]
-Windows
--Cドラ、Dドラ、...といったドライブ・レターを頂点にしたツ...
--階層化には、バックスラッシュ(\)、又は円記号(¥)を使う。
-Linux
--ドライブレターは無く、ルートディレクトリ(/)を頂点にした...
>先ずディスクをパーティションに区切り、それぞれの上にファ...
それをマウントすることで、一本の巨大なディレクトリツリー...
--階層化には、フォーワードスラッシュ(/)を使う。
--各種ディレクトリ
---/~
Windowsの「SystemDrive」に近いルートディレクトリ
---/var、/tmp~
Windowsの「SystemRoot」に近いLinuxの動作に必要なディレク...
---/usr、/bin、/lib~
Windowsの「ProgramFiles」に近いソフトウェアを格納するディ...
---/media~
USBやSDカードなどの記憶媒体がマウントされるディレクトリ
---/home/userXXX~
Windowsの「USERPROFILE」に相当
-参考
--ここがWindowsと違う、Linuxのディレクトリ構造 [Linuxの使...
https://allabout.co.jp/gm/gc/438840/
***断片化 [#b4a66959]
-Windows:起きる。
-Linux:断片化が起こりづらい。
-参考
--ファイルシステム - マイクロソフト系技術情報 Wiki > デフ...
https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%...
**フォルダ移動、ファイル操作コマンド [#p5ea3e98]
パス区切りは、「\」(逆スラッシュ)ではなく「/」(スラッ...
-ASCII.jp:Windowsのパス区切り文字は、~
なぜ逆スラッシュになったのか?|Windows Info~
https://ascii.jp/elem/000/001/763/1763591/
***lsコマンド [#d76e2694]
Windowsの「dir」は、Linuxで「ls」コマンド
***cdコマンド [#i515e7b7]
作業ディレクトリを移動(Windowsと同じ)
***mkdir関連コマンド [#abd40780]
-mkdirコマンド~
ディレクトリを作成するコマンド(Windowsと同じ)
-rmdirコマンド~
ディレクトリを削除するコマンド(Windowsと同じ)~
※ Linuxにはrdと言うエイリアスがある。
-cpコマンド~
Windowsの「copy」は、Linuxで「cp」コマンド
-rmコマンド~
Windowsの「del」は、Linuxで「rm」コマンド
-mvコマンド~
Windowsの「move」は、Linuxで「mv」コマンド
**ファイル編集コマンド [#fd5949d0]
***[[vi]]コマンド [#o069af69]
***[[nano]]コマンド [#b43f6dbe]
***catコマンド [#m30d6f93]
ファイル操作を行う
-ファイルの閲覧
-- -n(--number)
-- -b(--number-nonblank)
-- -s(--squeeze-blank)
-- -E(--show-ends)
-- -T(--show-tabs)
-ファイル更新
--新規作成
---リダイレクトの「>」を使用
---複数行に渡った新規作成
cat > ファイル <<EOF
書き込む内容
EOF
--追加~
---リダイレクトの「>>」を使用
---複数行に渡った追加
cat >> ファイル <<EOF
付け足す内容
EOF
--結合~
catコマンドの後にファイルを並べる。
**シェル、シェルスクリプト [#l6178abc]
***CMDではなくてBash [#e68ece16]
-Windows:
--CMD
--PowerShell
-Linux:Bash
****.batではなくて*.sh [#ra1c937d]
-シェルスクリプト、バッチ
--Windows:
---Windowsバッチファイル
---PowerShellスクリプトファイル
--Linux:UNIXシェルスクリプト
-それぞれ、拡張子は、
--Windows:
---*.bat
---*.ps1
--Linux:*.sh
**実行ファイル [#r0d60646]
***PEではなくてELF [#p176c59d]
実行ファイルのファイルフォーマット
-Windows:Portable Executable (PE)
-Linux:Executable and Linkable Format (ELF)
***EXEでなくて拡張子無し [#zc86cb9d]
-Linuxは全てファイルで拡張子無し。
-"*.*"は、拡張子ではなくファイル名の一部
-なので基本的にはルールベース
--シェルスクリプトは、お約束として"*.sh"
--ただ、別に、"*.exe"としてもイイ。
-コンパイラの既定値から、以下のような説もある。
--Windows:*.exe
--Linux:*.out
***DLLではなくてSO [#y81d4bc4]
-Windows:****.dll
-Linux:lib****.so.****
**メモリ管理 [#uc3370ee]
***仮想メモリ [#lf833caa]
-スワップファイルシステム
--Windows:ページファイル(pagefile.sys)
--Linux:ページファイル、スワップファイルシステム
-[[API>#h59b6623]]
***物理メモリ [#wf110cea]
-ページテーブルの容量削減の技術
--Windows:large page
--Linux:huge page
-ファイルのキャッシュ
--Windows:ファイル・システム・キャッシュ
--Linux:ページ・キャッシュ
-ストレージのキャッシュ(ファイル・システムを介さない)
--Windows:バッファ・キャッシュ
--Linux:バッファ・キャッシュ~
Linuxカーネル2.4からページ・キャッシュに統合された。
**API [#y0ca1946]
***Win32 APIではなくてPOSIX [#p6598902]
-Windows:Win32 API
-Linux:POSIX
--開発用のライブラリというより、カーネルに対するC言語用の...
--Linuxカーネルと、Win32サブシステムを含めたWindows全体を...
***fork、exec [#l96162d2]
-Linux
--forkはコピーオンライトで親プロセスとメモリを共有する。
--シェルが(開発を奨励している)フィルタをパイプで連結す...
---シェルはシェルは自分自身をforkし2つの子プロセスを生成
---子プロセスがexec(3)ファミリのシステムコールを使って、~
実行コマンドのプログラムをオーバーレイする。
-Windows
--fork、exec単独に相当するシステムコールがない。
--代わりにspawn()(英語版)ファミリ関数が fork-exec に相...
***メモリ管理 [#h59b6623]
-malloc
--Windows:HeapAlloc
--Linux:mmap
-メモリ マップト ファイル、デマンド ページング、コピーオ...
--Windows:CreateFileMapping
--Linux:mmap
-参考
--仮想アドレス空間の確保のAPI - マイクロソフト系技術情報 ...
https://techinfoofmicrosofttech.osscons.jp/index.php?%E4%...
*参考 [#bea01d18]
**[[Windows Terminal>https://techinfoofmicrosofttech.ossc...
**[[PowerShell Core>https://techinfoofmicrosofttech.ossco...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る
--[[Linux OSの設計思想]]
--[[Linuxを触ってみる。]]
*目次 [#n54d8442]
#contents
*概要 [#x549ea3f]
「Linuxってドライブレター無いの?」的な質問をしたら、~
「重症」と言われてしまったので、本ページを作成するに至り...
*設計思想の違い。 [#f78c9253]
**Windows [#ge4f2253]
[[こちら>https://techinfoofmicrosofttech.osscons.jp/index...
**Linux [#zf7c1a89]
[[こちら>Linux OSの設計思想]](Linux OSの設計思想)が参考...
*詳細 [#a4d79c36]
**論理ボリューム・マネージャ [#a786ed5c]
-LVM : Logical Volume Manager
***Windowsでは [#j1928516]
ダイナミック・ディスクに相当する。
-ソフトウェアRAID等の機能を持つ
-不評で、あまり利用されていない。
***スタック [#uc147015]
以下のようなスタックになっている模様。
-マウント・ポイント
-論理ボリューム(logical volume)
-ボリューム(volume group)
-物理ボリューム(physical volume)
-ディスク装置
**ファイル・システム [#xa32166c]
***種類 [#jbcdf618]
-Windows
--FAT32
--NTFS
-Linux
--ext4
--XFS
--Btrfs
-参考
--【ゼロから解説】Linuxのフォーマットの方法~
https://eng-entrance.com/linux-format
--Linuxファイルシステムをまとめてみました~
https://qiita.com/sion_cojp/items/c8e015db39ddbf43012e
***ディレクトリ構造 [#gd5d9232]
-Windows
--Cドラ、Dドラ、...といったドライブ・レターを頂点にしたツ...
--階層化には、バックスラッシュ(\)、又は円記号(¥)を使う。
-Linux
--ドライブレターは無く、ルートディレクトリ(/)を頂点にした...
>先ずディスクをパーティションに区切り、それぞれの上にファ...
それをマウントすることで、一本の巨大なディレクトリツリー...
--階層化には、フォーワードスラッシュ(/)を使う。
--各種ディレクトリ
---/~
Windowsの「SystemDrive」に近いルートディレクトリ
---/var、/tmp~
Windowsの「SystemRoot」に近いLinuxの動作に必要なディレク...
---/usr、/bin、/lib~
Windowsの「ProgramFiles」に近いソフトウェアを格納するディ...
---/media~
USBやSDカードなどの記憶媒体がマウントされるディレクトリ
---/home/userXXX~
Windowsの「USERPROFILE」に相当
-参考
--ここがWindowsと違う、Linuxのディレクトリ構造 [Linuxの使...
https://allabout.co.jp/gm/gc/438840/
***断片化 [#b4a66959]
-Windows:起きる。
-Linux:断片化が起こりづらい。
-参考
--ファイルシステム - マイクロソフト系技術情報 Wiki > デフ...
https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%...
**フォルダ移動、ファイル操作コマンド [#p5ea3e98]
パス区切りは、「\」(逆スラッシュ)ではなく「/」(スラッ...
-ASCII.jp:Windowsのパス区切り文字は、~
なぜ逆スラッシュになったのか?|Windows Info~
https://ascii.jp/elem/000/001/763/1763591/
***lsコマンド [#d76e2694]
Windowsの「dir」は、Linuxで「ls」コマンド
***cdコマンド [#i515e7b7]
作業ディレクトリを移動(Windowsと同じ)
***mkdir関連コマンド [#abd40780]
-mkdirコマンド~
ディレクトリを作成するコマンド(Windowsと同じ)
-rmdirコマンド~
ディレクトリを削除するコマンド(Windowsと同じ)~
※ Linuxにはrdと言うエイリアスがある。
-cpコマンド~
Windowsの「copy」は、Linuxで「cp」コマンド
-rmコマンド~
Windowsの「del」は、Linuxで「rm」コマンド
-mvコマンド~
Windowsの「move」は、Linuxで「mv」コマンド
**ファイル編集コマンド [#fd5949d0]
***[[vi]]コマンド [#o069af69]
***[[nano]]コマンド [#b43f6dbe]
***catコマンド [#m30d6f93]
ファイル操作を行う
-ファイルの閲覧
-- -n(--number)
-- -b(--number-nonblank)
-- -s(--squeeze-blank)
-- -E(--show-ends)
-- -T(--show-tabs)
-ファイル更新
--新規作成
---リダイレクトの「>」を使用
---複数行に渡った新規作成
cat > ファイル <<EOF
書き込む内容
EOF
--追加~
---リダイレクトの「>>」を使用
---複数行に渡った追加
cat >> ファイル <<EOF
付け足す内容
EOF
--結合~
catコマンドの後にファイルを並べる。
**シェル、シェルスクリプト [#l6178abc]
***CMDではなくてBash [#e68ece16]
-Windows:
--CMD
--PowerShell
-Linux:Bash
****.batではなくて*.sh [#ra1c937d]
-シェルスクリプト、バッチ
--Windows:
---Windowsバッチファイル
---PowerShellスクリプトファイル
--Linux:UNIXシェルスクリプト
-それぞれ、拡張子は、
--Windows:
---*.bat
---*.ps1
--Linux:*.sh
**実行ファイル [#r0d60646]
***PEではなくてELF [#p176c59d]
実行ファイルのファイルフォーマット
-Windows:Portable Executable (PE)
-Linux:Executable and Linkable Format (ELF)
***EXEでなくて拡張子無し [#zc86cb9d]
-Linuxは全てファイルで拡張子無し。
-"*.*"は、拡張子ではなくファイル名の一部
-なので基本的にはルールベース
--シェルスクリプトは、お約束として"*.sh"
--ただ、別に、"*.exe"としてもイイ。
-コンパイラの既定値から、以下のような説もある。
--Windows:*.exe
--Linux:*.out
***DLLではなくてSO [#y81d4bc4]
-Windows:****.dll
-Linux:lib****.so.****
**メモリ管理 [#uc3370ee]
***仮想メモリ [#lf833caa]
-スワップファイルシステム
--Windows:ページファイル(pagefile.sys)
--Linux:ページファイル、スワップファイルシステム
-[[API>#h59b6623]]
***物理メモリ [#wf110cea]
-ページテーブルの容量削減の技術
--Windows:large page
--Linux:huge page
-ファイルのキャッシュ
--Windows:ファイル・システム・キャッシュ
--Linux:ページ・キャッシュ
-ストレージのキャッシュ(ファイル・システムを介さない)
--Windows:バッファ・キャッシュ
--Linux:バッファ・キャッシュ~
Linuxカーネル2.4からページ・キャッシュに統合された。
**API [#y0ca1946]
***Win32 APIではなくてPOSIX [#p6598902]
-Windows:Win32 API
-Linux:POSIX
--開発用のライブラリというより、カーネルに対するC言語用の...
--Linuxカーネルと、Win32サブシステムを含めたWindows全体を...
***fork、exec [#l96162d2]
-Linux
--forkはコピーオンライトで親プロセスとメモリを共有する。
--シェルが(開発を奨励している)フィルタをパイプで連結す...
---シェルはシェルは自分自身をforkし2つの子プロセスを生成
---子プロセスがexec(3)ファミリのシステムコールを使って、~
実行コマンドのプログラムをオーバーレイする。
-Windows
--fork、exec単独に相当するシステムコールがない。
--代わりにspawn()(英語版)ファミリ関数が fork-exec に相...
***メモリ管理 [#h59b6623]
-malloc
--Windows:HeapAlloc
--Linux:mmap
-メモリ マップト ファイル、デマンド ページング、コピーオ...
--Windows:CreateFileMapping
--Linux:mmap
-参考
--仮想アドレス空間の確保のAPI - マイクロソフト系技術情報 ...
https://techinfoofmicrosofttech.osscons.jp/index.php?%E4%...
*参考 [#bea01d18]
**[[Windows Terminal>https://techinfoofmicrosofttech.ossc...
**[[PowerShell Core>https://techinfoofmicrosofttech.ossco...
ページ名: