Ⅰ. 概要
Linux のファイル構造最上位にはルートディレクトリがあり、その下に bin, ブート、開発、ホーム、ライブラリ、メディア、マウント、オプション、sbin、一時ファイル、usr、var、プロセス、実行ファイル ディレクトリなどがあります。それぞれのディレクトリにどのようなファイルが格納されているかを確認します。また、特定の作業を行うために、どのファイルまたはディレクトリにアクセスする必要があるかを特定します。Linuxには 様々なコマンドしかし、本日は、ユーザーグループに関連するコマンド、ファイルやディレクトリに関連するコマンド、リンクコマンド、管理者コマンド、ネットワークおよびシステム設定に関連するコマンドについて解説します。また、Linuxでドキュメント編集を容易にする方法についても紹介します。 vi エディターそれについて調べてみます。
Ⅱ. Linux のファイル構造
Linuxのファイル構造は、ディストリビューションによって多少異なる場合がありますが、基本的な構造は共通しています。 ファイル構造を理解していれば、サーバーの構築やセキュリティ対策など、コマンドラインでの作業をスムーズに進めることができます。構造が分からないと、どのように作業を進めるべきか分かりません。最初はLinuxのコマンドを学ぶ際も、どのようにコマンドを使用すれば良いか分からなかったのですが、ファイル構造を理解していくうちに、少しずつ理解が深まっていくようです。

基本的には、一番上に ルートディレクトリこれは、Windows の「ローカル ディスク C:\」に似ており、ディレクトリ全体の最上位に位置するため、Linux ではすべてのパスがルートディレクトリから始まります。管理者アカウントでログインすると、このディレクトリからパスが始まります。
ゴミ箱
このディレクトリには、Linux上で実行可能なファイルが保存されています。これは、システム実行ファイルを含むバイナリファイルの集まりであり、一般的なシステムコマンドに関連するファイルも含まれています。
ブーツ
カーネルに関連するファイルがまとめられており、起動時にカーネルが読み込む情報がすべて含まれています。
開発
このディレクトリには、ドライバーに関連するファイルがまとめられています。仮想マシンを使用する場合、仮想ハードウェアのデバイス制御に必要な情報や、ドライバーに関連するファイルが含まれています。
など
このディレクトリは、サーバーの構築、運用、管理を行う際に頻繁にアクセスされる可能性があります。Linuxに関連するすべての設定ファイルがこのディレクトリに保存されています。後でサーバー(例:nginx)をインストールする際には、関連する設定ファイルをこのディレクトリから変更することができます。
ホームページ
このディレクトリは、Windows のユーザーアカウントディレクトリと似ていると考えられます。Linux でユーザーアカウントを作成すると、このディレクトリの下に、ユーザー名で命名されたディレクトリが作成されます。通常、このディレクトリに複数のファイルをアップロードし、別の場所に移動したり、編集したりするなど、さまざまな操作を行うことができます。通常ユーザーとしてログインすると、このディレクトリから操作を開始します。
ライブラリ
複数のプロセスが動作する際に、メモリ(リソース)の効率的な管理のために、Windows の DLL ファイルのように、Linux では「.so」ファイルがまとめられた場所です。Windows で印刷機能を使用する場合と同様に、Linux でも共通のプログラム機能がこのディレクトリを参照して実行されます。
メディア、メンテナンス
このディレクトリを理解するためには、「マウント」という概念を理解しておく必要があります。マウントとは、USBやディスクなどのデバイスを接続した際に、そのデバイスをディレクトリと関連付けることです。Windowsで、外付けハードディスクやUSBにファイルをバックアップしたり、取り出したりする操作を考えると、理解が深まるでしょう。これにより、物理的なデバイスをディレクトリと関連付けて利用できるようになります。
※ Ubuntuでは、自動マウント用のCD-ROMディレクトリが存在します。これは、メディアディレクトリとは異なり、CD-ROMのデバイスを読み込むためのものです。 CD/DVDしかし、メディアの場合、手動でマウントする必要があります。 USB、外付けハードディスク、SDカードなどその内容を読み取る。
選択
Windows のように、Linux でも、追加でインストールした外部のユーザープログラムは、この「Program Files」ディレクトリにインストールされます。通常、`sudo apt-get install プログラム` のようなコマンドでインストールされるプログラムがインストールされる場所です。
ユーザー
opt ディレクトリと同様に、ユーザープログラムがインストールされる場所ですが、外部のユーザープログラムではなく、通常のユーザーアカウントで使用される基本的なアプリケーションに関連するディレクトリです。通常のユーザーに関連するシステム関連のファイルが含まれています。
var
ログファイルやデータファイルはこの場所に保存されます。ウェブサーバー、データベースなどのソースがこの場所にインストールされ、ユーザーが直接変更するファイルも多く含まれています。サーバーの構築、管理、運用において、このディレクトリは頻繁にアクセスされる可能性があります。
処理
Windows の「タスクマネージャー」に、Ctrl + Alt + Del キーの組み合わせでアクセスできる。このツールでは、現在実行されているプログラムからバックグラウンドプログラムまで、それぞれのプロセスがどれだけのメモリと CPU を使用しているかといった情報を確認できる。Linux でも同様に、このディレクトリからプロセスに関する情報を確認できる。
12. 走る
これは、サーバーが動作する際に、他のプログラムとの通信に必要なソケットやプロセスIDなどを管理し、実行中のサービスに関連するファイルが保存されている場所です。
13. sbin
このディレクトリには、システム関連のファイルがまとめられています。一般的にシステムコマンドが `bin` ディレクトリに存在する場合、このディレクトリには、`sudo apt update`、`sudo su`、`sudo apt-get install プログラム`など、root権限を持つユーザーのみがアクセスできる、重要なシステムバイナリファイルが含まれています。
14. tmp
これは一時的なファイル用ディレクトリであり、システムを再起動する際に消去される可能性があります。不要になったバッファや一時的にダウンロードしたファイルを削除します。一時的にダウンロードしたファイルを、実際に使用するディレクトリに移動する前に、一時的に保存する役割があります。
※VMware社 仮想マシンの複製その方法があります。

画面に表示されている仮想マシンにマウスカーソルを合わせ、右クリックして「管理 - コピー」を選択してください。

この画面が表示されます。

次の画面に既存のスナップショットがある場合は、そのデータに基づいて復元できます。もしスナップショットがない場合は、現在の仮想マシンの状態をそのままコピーします。

ここでは、仮想マシンのすべてのデータをそのままコピーするか、元の仮想マシンをリンクで接続するかを選択できます。配布に関連する場合は、リンクでコピーすることでディスク容量を節約できます。フルクローンの場合、すべてのデータをそのままコピーするため、より多くの容量を必要とします。

最後に、仮想マシンの名前とディレクトリのパスを指定して完了です。
Ⅲ. Linux コマンド
過去の投稿以降に新たに学んだコマンドをまとめます。
ユーザーおよびグループに関するコマンド
ユーザーとグループに関連するファイルについて /etc/passwd このファイルは重要です。Linuxにアクセスし、ログインする際に、このファイルに権限を付与することで、ログインを制限することができます。また、すべてのユーザーアカウントの情報はこのファイルに保存されています。

写真に示されているように、/etc/passwdファイルは、以下のような構成になっています。1行の構成は、以下のようになります。 :( コロンまず、最初に表示されるのはユーザーアカウント名です。 次に表示される「x」は 暗号化されたパスワードこれは〇〇を意味し、以下の数字の中で最初の〇〇が ユーザーIDそして、2つ目は、ユーザーが所属する グループIDという意味です。 次は 追加情報そして、その後の道は… ホームページのトップページこれは、ユーザーアカウントでログインした際に、すぐにホームディレクトリにアクセスできるパスを意味します。最後に表示される情報は、通常、使用している シェル例えば、`/bin/bash` で終わる場合、ルートアカウントでログインすると、シェルが実行されます。
※ 以前は /etc/passwd ファイルからユーザーアカウントのパスワードを確認することが可能でしたが、このファイルはすべてのユーザーがアクセスできるため、セキュリティ上の理由から /etc/shadow ファイル内に、一方通行の暗号化されたパスワードを隠し持っている。
※ /bin/bash は、ログイン時にデフォルトでシェルを実行しますが、 /usr/sbin/nologinパスワードが正しい場合でも、ログインを制限することがあります。同様に /bin/falseログインをブロックしますが、正しいパスワードを入力しても、「パスワードが間違っています」と表示され、ログインが制限されます。


これはLinuxのシェルですが、上記の2つの写真を見ると、最後に ドル記号「~で終わるかどうか」 「#」これによって、ユーザーの種類を区別できます。'$'は通常ユーザーの状態を示し、'#'はスーパーユーザー(管理者権限)を示します。 「sudo ~」「」で始まる管理者コマンドは、スーパーユーザー権限を使用する場合に利用できます。
ここでは、ユーザーやグループに関連する、頻繁に使用されるコマンドを紹介します。
#유저추가
adduser 유저명
#유저 비밀번호 지정 및 변경
passwd 유저명
#유저 속성 변경
usermod [옵션: -c, -d, -g, -l, -s] 바꿀 내용 유저명
-- c옵션은 사용자에 대한 주석이다.
-- d옵션은 사용자의 홈디렉토리 경로를 변경한다.
-- g옵션은 사용자가 속할 그룹을 변경한다.
-- l옵션은 사용자 이름을 변경한다.
-- s옵션은 사용자의 로그인 셸을 변경한다.
#유저 삭제
userdel 유저명
#유저 암호 주기적 변경 설정
chage -m 숫자 유저명
-- m옵션 뒤의 숫자는 달(몇월)을 이야기 한다.(만약, 2라면 2달 간격이다.)
#그룹 목록
groups
-- 현재 사용자가 속한 그룹을 보여준다.
#그룹 생성
groupadd 그룹명
#그룹 삭제
groupdel 그룹명
#그룹 암호 설정 혹은 관리 수행
gpasswd 그룹명上記の手順例には省略されていますが、基本的には、ユーザーやグループに関するコマンドを使用するには、管理者権限が必要です。
※ Linuxをインストールした際に最初に作成したアカウントは、管理者権限を持つアカウントですが、ログイン時には通常のユーザーアカウントとして扱われます。 「sudo su」これにより、スーパーユーザー権限に変更することができます。その結果、`sudo`を使わずに、管理者権限が必要なコマンドを実行できるようになります。
2. ファイルのアクセス権に関するコマンド

写真の最前列に写っている '-' と 'd' はそれぞれ、ファイルとディレクトリを表します。これを示しています。その後に6桁の r, w, x, - これらの4つの文字と記号の組み合わせは重要であり、これはファイルやディレクトリへのアクセス権を表します。ファイルやディレクトリの区切り文字を含めて9文字ありますが、3つずつグループに分けられています。 アカウントの権限、グループの権限、その他のユーザーの権限それはそうです。 'r'は読み取り権限、'w'は書き込み権限、'x'は実行権限その後の内容は、以下の写真に記載されています。

※ 「man」コマンド「man」コマンドの後に、知りたいコマンドを入力すると、関連するオプションとその説明を確認できるヘルプコマンドがあります。

この権限を数値で表すと、8進数で表現すると以下のようになります。 もし、読み取りと書き込みの権限を与えたい場合は、数字6、読み取り権限のみを与える場合は4、すべての権限を与える場合は7、実行権限のみを与える場合は1、権限を一切与えない場合は0という数字を使って、コマンドで権限を設定します。例えば、「r+w」というアクセス権は、所有者に書き込み権を与えることを意味します。数字だけでなく、アルファベットでも可能です。
#파일 허가권 변경
chmod 숫자(ex. 777) 파일명, 디렉토리명
#파일 소유권 변경
chown 변경하려는 소유자, 그룹 변경하려는 파일, 디렉토리
chgrp 변경하려는 그룹 변경하려는 파일, 디렉토리これらのコマンドは、どちらも'-R'オプションを使用することで、サブディレクトリにもすべての権限を変更することができます。
3. リンクに関するコマンド
ファイルのリンクには、2種類あります。 ハードリンクわあ シンボリックリンク(またはソフトリンク)ハードリンクは、元のファイルを複製したファイルを通じてデータを共有しますが、元のファイルを削除してもデータは残っており、別途参照することも可能です。また、同じ inode を共有します。
※ inodeとは? このファイルは、ファイル名、inode番号、ファイルの種類、所有者ID、ファイルサイズ、アクセス権などのメタデータを保持しています。ハードリンクの場合、同じinode番号を参照しますが、シンボリックリンクの場合は、元のファイルとは異なるinode番号を持っています。
そのため、シンボリックリンクは新しい inode 番号を作成し、元のファイルと関連付けられます。しかし、実質的には元のファイルとは別のファイルであるため、元のファイルを削除してもリンクは残りますが、元のファイルがないため、呼び出すとエラーが発生します。Windowsでプログラムをインストールした際に、一緒にインストールされるショートカットを考えると、理解しやすくなるかもしれません。
ln 원본 경로/파일 대상 경로/파일명
ln -s 원본 경로/파일 대상 경로/파일명上記はハードリンクファイルの作成方法、下記はシンボリックリンクファイルの作成方法です。
4. パッケージ関連のコマンド
`dpkg`コマンドは、Linux環境で外部プログラムをインストールする際に使用されていましたが、依存関係の問題があり、使い勝手が悪かった。 `apt` コマンド例えば、Pythonをインストールする場合、aptコマンドを使用すると、関連するパッケージがすべて自動的にインストールされますが、dpkgの場合は、個々のプログラムを個別にコマンドでインストールする必要があります。 /etc/apt/sources.list ファイルを確認すると、基本的なリポジトリ構造が確認できます。url このパスに設定されている場合、`apt`コマンドを使用することで、このリポジトリを参照し、関連するパッケージをインストールできます。また、追加のサードパーティ製ソフトウェアをインストールできる、独自のレポジトリも存在します。このパスのsources.list ファイルにurl 追加のパスを指定することで、インストールできるようになります。
sudo apt-get install 프로그램명
#패키지 목록 업데이트
sudo apt-get update
sudo apt remove 패키지명
#사용하지 않는 패키지 제거
sudo autoremove 패키지명
#내려 받은 파일 제거
sudo apt clean/apt autoclean
#패키지 정보 보기
sudo apt-cache show 패키지명
#패키지 의존성 확인
sudo apt-cache depends 패키지명5. ファイル圧縮に関するコマンド
Windows で圧縮すると、ZIP ファイルを思い浮かべるでしょう。Linux でもファイルを圧縮できます。Linux では、 タールより多く利用するようになるでしょう。基本的な機能としては、ファイルをまとめて圧縮する機能です。このような圧縮されたファイル xz, bz2, gz, zip, Z形式さらに圧縮処理が必要になります。
#파일 묶는 명령어(파일을 묶거나 풀어준다)
#묶기
tar cvf my.tar 경로
#풀기
tar xvf my.tar
#cvf와 xvf는 옵션
#옵션의 종류로
#동작 관련 옵션은 c - 묶기, x - 풀기, t - 경로 확인
#나머지 옵션으로 f - 파일, v - 묶거나 푸는 과정 보이기, J - tar + xz, z - tar + gzip, j - tar + bzip2
#이렇게 묶은 파일을 압축하고 풀 수 있다.
xz 파일명
xz -d 파일명.xz
bzip2 파일명
bzip2 -d 파일명.bz2
gzip 파일명
gzip -d 파일명.gz
zip 새로운 파일명.zip 압축할 파일 이름
unzip 압축 파일 이름.zip
#파일을 묶으면서 동시에 바로 압축까지 할 수 있다.
#gzip 형태
tar cvzf 파일명.gz 경로
tar xvzf 파일명.gz
#xz 형태
tar cvfJ 파일명.xz 경로
tar xvfJ 파일명.xz※ 圧縮するファイル名に .gz, .xz, .zip などのファイル形式ファイルの種類が分からなくなることが主な理由です。Linuxでは拡張子という概念がないため、`file`コマンドを使ってファイルの種類を特定する必要があり、手間がかかります。
6. ファイル検索に関するコマンド
「ファイル検索」コマンド 見つけるそこにあります。オプションとして -ファイル名、-所有者、-アクセス権 背中があり、 -印刷、-実行ファイルが見つかった後、追加のコマンドを実行することができます。`-exec` オプションで外部コマンドを実行する際に、明示的に指定しない場合は、デフォルトでは `-print` (表示) が実行されます。
find 경로 옵션 파일명/소유자/허가권 -print(디폴트), -exec 추가 명령어※ 「which」コマンド: 実行ファイルのパスを特定します。 `whereis` コマンド: 実行ファイル、ソースコード、マニュアルの場所を特定する。 ファイル名/キーワードの検索: ファイルリストデータベースから、ファイル名またはキーワードによる迅速な検索を提供します。
grep 키워드 -r 경로
grep 키워드 경로ファイルの内容を検索する際に使用できるコマンドがあります。 「grep でキーワードを検索」「-r」オプションを指定すると、サブディレクトリも検索します。
7. ネットワーク関連のコマンド
ネットワーク設定ファイルの修正 /etc/netplan/01-network-manager-all.yaml この設定は、ファイルを通じて変更できます。設定ファイルであり、インデントも考慮する必要があるため、個別に設定項目を入力する必要があります。そのため、GUI(グラフィカルユーザーインターフェース)を通じてネットワーク設定を編集するためのコマンドが用意されています。 「nmtui」しかし、BIOSの設定を修正するような操作を簡単に行うことができます。

次に SSHコマンドわあ scpコマンドSSHコマンドを使用すると、PuTTYのようなクライアントで既に接続している仮想マシンから、別の仮想マシンにリモートでアクセスできます。SCPコマンドを使用すると、リモートサーバー上のファイルをコピーしたり、送信したりできます。SSHコマンドのオプションの一つに'-p'があり、これを使用すると、接続先のサーバーのポート番号を指定できます。セキュリティ上の理由から、通常はサービスを提供するアプリケーション以外のポート番号は変更しないため、接続する際には、一致したポート番号を指定する必要があります。
ssh 계정명@IP주소(원격으로 접속하고자 하는 서버)
#그 후 해당 서버의 계정 비밀번호로 로그인해야 한다.#원격 서버에서 내 로컬 서버로 복사(다운로드)
scp 원격서버계정@IP주소:경로 ./내서버경로
#내 로컬 서버에서 원격 서버로 업로드
scp ./내서버경로 원격서버계정@IP주소:경로※ 仮想マシン(Linux)からWindowsにファイルを直接送信できるプログラムがあります。そのアドレスは下記に記載します。
※ 「wget URL」 また、コマンドを通じて、URLを指定することで、Linux環境から直接ダウンロードすることも可能です。
※ Ubuntuは、サーバーのインストールと同時に動作しますが、Red Hat系のディストリビューションは、サーバーのインストールと動作が別々です。 * sudo apt-get install nginx
8. システム関連のコマンド
さらに、学習が必要なコマンドもいくつかありますが、ここでは簡単に紹介します。 cron卵 ~にこれらは利用できます。cronは、定期的に繰り返されるタスクを自動的に実行できるようにし、シェルスクリプトと組み合わせて使用すると便利です。atコマンドは、一度きりのタスクを予約して実行することができます。cronは、Windowsのタスクスケジューラと同様に、システム管理者がよく使用するツールです。バックアップ機能の活用にも役立ちます。

例えば、cronコマンドのような場合 「時間、曜日、ユーザーによる実行コマンド」形状として使用します。 「at」コマンドは 「時間」 > 脚本 > Ctrl+Dこの形式で利用できます。指定された時間にスクリプトを実行し、完了したらCtrl+Dを押します。
注釈わあ トップ「ps」というコマンドがあり、このコマンドはプロセスに関する情報を表示します。 '-ef' オプションとして使用されることがあります。'-ef'オプションは、現在実行中のプロセスに関連する UID(ユーザーID)、PID(プロセスID)、CPU使用率、開始時刻、TTY(ターミナルタイプ) プロセスを実行したユーザーID(UID)、プロセスの固有識別子(PID)、およびプロセスのCPU使用量の分単位の平均値(C)を表示します。STIMEはプロセスの開始時間または日付を示し、TTYはプロセスが実行されているターミナルの種類を示します('?'はバックグラウンド、pts/0はリモート接続、tty1はローカルコンソールを示します)。`top`コマンドは、Windowsのタスクマネージャーと同様に、システムのリソース情報を表示します。オプション '-n'この設定を使用することで、画面を何度更新するかを、数秒ごとに指定することができます。
`dmesg`コマンド起動時に表示されるメッセージを確認できます。起動時にエラーが発生し、正常に動作していないプロセスやシステムの問題を特定できます。
※ コマンド 連続して実行されるキーワードそこにあります。「;」(セミコロン)をコマンドの最後に付けることで、後から続けて記述することができます。 「コマンド;コマンド;コマンド;」 このような方法で、コマンドを順番に実行することができます。 ';'は、コマンドの終了を示す。これらを区別します。「echo」コマンドは、文字列をターミナルに出力し、「sleep」コマンドは、実行を一時的に中断するコマンドです。
echo "abc"; sleep 1; echo "1234"; sleep 1; echo "finish";Ⅳ. Linux エディター
Linuxでファイルを編集する際に、一般的によく使われるツールは… vi エディターそれはそうです。 Linuxは、すべての操作をキーボードで行う必要があるという特性を持っています。 エディターは必須ですが、Windowsでメモ帳を編集してLinuxにアップロードしたり、Webからダウンロードしたりするのは手間がかかるため、エディターをうまく活用できると良いでしょう。ただし、最初はエディターに慣れるまで時間がかかるかもしれませんが、練習することを推奨します。基本的には 「コマンドモード」(省略) 「入力モード」(省略) 「ラインコマンドモード」そこにあります。
vi /etc/passwd(경로와 파일명)上記のように「vi」と入力し、パスとファイル名を指定すると、エディタが起動します。起動時には、デフォルトでコマンドモードまたは行コマンドモードに切り替えることができます。行コマンドモードで起動するには、 :( コロン入力が必要ですが、入力すると… (保存)(省略) (終了) 実行する内容を選択できます。 "w" は編集作業を終了し、「q」はエディターを終了します。さらに、「w」または「q」に「!」を付けると、警告メッセージを無視して、すぐにコマンドを実行します。コマンドモードから通常の入力モードへの切り替えは、現在のカーソル位置から行われます。 「i」または、 「a」「これを押してください。入力モードからコマンドモードに戻るには」 「ESC」「ここをクリック」すれば動作します。基本的な機能については、以下の表をご参照ください。

おまけ
確かに、初めて知ることばかりで、時間が経つにつれて覚えるべきことが増えてきますが、以前のウェブプロジェクトの実施と公開の過程で、ネットワークやサーバーに関する内容が理解できるようになったのは大変助かりました。今後、クラウドとの連携についてどのように進むのか、そして、これまで使ったことのないLinuxコマンドも試してみたいと思っています。😁
ログイン