Ⅰ. 概要
Linux ファイル構造上部にあります root ディレクトリがあり、その下には bin, boot, dev, home, lib, media, mnt, opt, sbin, tmp, usr, var, proc, run ディレクトリがあり、それぞれのディレクトリにどのようなファイルが含まれているかを知る必要があります。また、特定のタスクのためにどのファイルやディレクトリを検索し、アクセスするかも知る必要があります。 Linuxでは さまざまなコマンドしかし、今日はユーザーグループに関するコマンド、ファイルやディレクトリに関するコマンド、リンクコマンド、管理者コマンド、およびネットワークやシステム設定に関するコマンドについて学習します。 Linuxこれにより、ドキュメントの編集が簡単になります vi エディタについて説明します。
Ⅱ. Linux のファイル構造
Linuxファイル構造はファミリーごとにわずかに異なる場合がありますが、ほぼ同じ構造です。 サーバーを構築する場合でも、それを保護する場合でも、ファイル構造を理解する必要があります。のための それがタスクであろうとコマンドであろうとを通じて 簡単にできます。, 構造を知らなければ、どうやって作業するか分からないでしょう。最初は、 Linux コマンドを初めて学んだときも、使い方がよく分からなかったのですが、ファイル構造を理解していくにつれて、徐々に概念を掴むことができました。

デフォルトでは、上部に root ディレクトリあります。 Windowsこれは「Local Disk c:\」と似ており、ディレクトリ全体の最上部に存在するため、 Linuxすべてのパスにおいて root ディレクトリから始めます。管理者アカウントでログインすると、このディレクトリから始まるパスが設定されます。
bin
このディレクトリには、Linux 上の実行可能ファイルが含まれています。システムには、共通のシステムコマンドに関連するファイルを含むバイナリファイルのセットが用意されています。
boot
kernelには、カーネルに関連するファイルと、カーネルが起動時に読み込む情報が含まれています。
dev
このディレクトリには、ドライバ関連ファイルが含まれています。仮想マシンを使用する場合、仮想ハードウェアに関するデバイス制御 のための情報と、ドライバ関連ファイルが含まれています。
etc
このディレクトリには、サーバーの構築、運用、管理の際に頻繁にアクセスされることがあり、Linux に関連するすべての設定ファイルがこのディレクトリに格納されています。後でサーバーをインストールした場合(ex. nginx)、対応する設定ファイルもこのディレクトリからアクセスおよび変更することができます。
home
このディレクトリは、Windowsのユーザーアカウントディレクトリと似ているように見えます。Linuxでユーザーアカウントを作成すると、このディレクトリの下にユーザーアカウント名のディレクトリが作成されます。通常、このディレクトリに複数のファイルをアップロードしたり、別の場所に送信したり、さまざまな方法で変更したりできます。通常のユーザーアカウントとしてログインすると、このパスから始まります。
lib
Windowsのdllファイルのように、複数のプロセスが同じコードを共有することでメモリ(リソース)を効率的に管理できるため、Linuxのファイルもディレクトリにまとめられています。Windowsで印刷機能を使用すると、同じウィンドウをどこからでも表示できるようになるのと同様に、Linuxの共通なプログラム機能もこのディレクトリを参照して実行されます。
media, mnt
このディレクトリを理解するには、マウントします。Mount) この概念を理解する必要があります。マウント usb, ディスクなどのデバイスを接続する場合は、ディレクトリに接続します。 Windows外部ハードドライブに usbディレクトリに接続してファイルをバックアップまたはインポートするプロセスを考えると、物理デバイスをディレクトリに接続することでどのように活用できるかが分かります。
※ ubuntu「自動マウント」のための cdrom ディレクトリがあります。 media ディレクトリとの違いは、どのデバイスが読み取られるかです。 cdromこの場合 CD/DVD読んだけど、 mediaこの場合は、手動で取り付ける必要があります USB, 外部ハードドライブ, SD カードなどそれを読みます。
opt
Windowsユーザプログラム 'Program Files' ディレクトリにインストールされた状態 Linux追加でインストールされた外部ユーザープログラムは、このディレクトリに配置されます。通常、sudo apt-get install プログラムコマンドでインストールされた外部プログラムが格納されているディレクトリ。
usr
optディレクトリと同様に、これは通常のユーザーアカウントで使用されるデフォルトのアプリケーションが格納されているディレクトリです。外部ユーザープログラムでは使用されません。通常のユーザーに関連するシステム関連ファイルが含まれています。
var
ログ (log) とデータファイルがここに保存されます。Webサーバ、DB などのソースがここにインストールされ、ユーザーが直接変更する多くのファイルがここにあります。サーバの設定、管理、運用を行う場合、このディレクトリはかなり大きくなる可能性があります。
proc
Windowsで「ctrl+alt+del」キーを押すと表示されるタスクマネージャでは、各プロセスが使用しているメモリ量やcpu使用量などのプロセス情報を確認できます。同様に、Linuxではこのディレクトリでプロセスに関する情報を確認できます。
12. run
サーバ間の通信 socket, プロセス ID を管理し、実行中のサービスに関連するファイルを格納します。
13. sbin
はシステムコマンドに関連するファイルを含みます。bin ディレクトリに共通のシステムコマンドがある場合、system binary などの、root 特権を持つユーザーのみがアクセスできる重要なシステムバイナリが含まれます。これには、「sudo apt update」プログラム、「sudo su」プログラム、および「sudo apt-get install」プログラムが含まれます。
14. tmp
これは、システムをシャットダウンして再起動したときに削除される可能性のある一時ファイルディレクトリです。不要になったバッファや一時的にダウンロードされたファイルを削除します。一時的にダウンロードされたファイルを実際の使用ディレクトリに移す前に、一時的な保存場所として機能します。
VMware仮想マシンをからにコピーする方法があります。

上の画面で、コピーする仮想マシンをマウスカーソルで移動し、右クリックします。 Manage - Clone押す

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

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

ここでは、仮想マシンのすべてのデータをコピーするか、元の仮想マシンにリンクするかを選択できます。デプロイメントに関連する場合は、リンクにコピーするとディスク容量を節約できます。full cloneこの場合、すべてのデータをコピーするとより多くのスペースが必要になります。

最後に、仮想マシンの名前とディレクトリパスを指定します。
Ⅲ. Linux コマンド
前回の投稿以来、学んだ追加のコマンドを以下に示します。
ユーザーおよびグループに関連するコマンド
ユーザーおよびグループに関連するファイルの中で、/etc/passwdファイルは重要です。Linux に接続してログインするとき、このファイルにアクセス権を付与することでログインを制限できます。すべてのアカウントがこのファイルに保存されています。

上の画像のように、/etc/passwd ファイルは、次の行構造で構成されています。 ':(コロン)最初の区別はユーザーアカウント名です。以下の「x」シンボル 暗号化されたパスワードは、次の数字のうち最初のものを意味する ユーザー ID, そして、もう一つはユーザーの所属関係です。 グループ ID意味があります。次に 追加情報そして次のパスは ホームディレクトリホームディレクトリを意味します。ユーザーアカウントでログインすると、自動的にそのディレクトリに接続されます。最後に表示される情報は、システムで使用されるデフォルトのパスです。 shellたとえば、/bin/bashで終わっている場合、rootアカウントでログインすると、シェルが実行されます。
注: 以前は、/etc/passwd ファイルを使用してユーザーアカウントのパスワードを表示できましたが、このファイルはすべてのユーザーがアクセスできるため、セキュリティ上の理由から、/etc/shadow ファイルにパスワードが格納されており、これらは一方向に暗号化されています。
ログイン時にデフォルトで /bin/bash が実行されている場合、/usr/sbin/nologin では、パスワードが正しい場合でもログインが制限されます。同様に、/bin/false もログインを妨げますが、誤ったパスワードのメッセージが表示され、パスワードが正しい場合でもログインが制限されます。


Linuxシェルでは、上の両画像の最後の部分は、$'または#'で終わっている。'$'は通常のユーザーの状態を示し、'#'はスーパーユーザー(管理者権限)の状態を示します。通常、'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, - これらの四つの文字と記号の組み合わせは重要で、ファイルやディレクトリへのアクセス権を表します。ファイルやディレクトリの区切り記号を除く場合、合計で九つの文字があり、それらは三つのグループに分けられています。 アカウントの権限、グループの権限、およびその他のユーザーの権限です。 ''r' は読み取り権限,'w' は書き込み権限,'x' は実行権限以下は内容の写真です。

※ 'man' コマンド が存在します。man コマンドの後に知りたいコマンドを入力すると、関連するオプションとその説明が表示されるヘルプ コマンドが用意されています。

許可が数字で表示されている場合、それはオクテットで表されており、次のようになります。 読み取りおよび書き込みアクセス権を付与する場合は、数値 6 を使用します。読み取りアクセス権のみを付与する場合は、4 を使用します。すべてのアクセス権を付与する場合は、7 を使用します。実行アクセス権のみを付与する場合は、1 を使用します。全くアクセス権を付与しない場合は、0 を使用します。を通じて 権限また、数字の代わりに文字を使用することもできます。たとえば、「r+w」では所有者に書き込み権限が与えられます。
#파일 허가권 변경
chmod 숫자(ex. 777) 파일명, 디렉토리명
#파일 소유권 변경
chown 변경하려는 소유자, 그룹 변경하려는 파일, 디렉토리
chgrp 변경하려는 그룹 변경하려는 파일, 디렉토리両方のコマンドで、'-R' オプションを使用すると、すべてのサブディレクトリのアクセス権を変更できます。
3. リンク関連のコマンド
ファイルへのリンクLink)二つのことがあります。 ハードリンク (Hard Link)と シンボリックリンク (Symbolic Link or Soft Link)ただし、ハードリンクは元のファイルとデータを共有しますが、元のファイルが削除されてもデータは残り、別途取り出すことができます。 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では tarさらに多くのものを見ることができます。基本的に、ファイルをまとめるのは tar の形式です。 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. ファイルの場所を指定するコマンド
ファイル検索コマンドには、find (ファイル名)、-name (所有者)、-user (アクセス権)、および-perm (アクセス権) のオプションがあります。 でファイルを検索した後、-print、-exec を使用して追加のコマンドを実行できます。-exec が外部コマンドを実行するために指定されていない場合、デフォルト値は-print (出力) です。
find 경로 옵션 파일명/소유자/허가권 -print(디폴트), -exec 추가 명령어※ コマンド: コマンドの実行可能ファイルのパスを検索します。 whereisコマンド: コマンドの実行可能ファイル、ソースコード、およびマニュアルページの場所を検索します。 locateファイル名/キーワード: ファイルリストデータベース内のファイル名/キーワードをすばやく検索します。
grep 키워드 -r 경로
grep 키워드 경로ファイル内のコンテンツを検索するためのコマンドがあります。'grep keyword' を使用し、-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주소:경로※ WindowsからLinuxを実行している仮想マシンにファイルを直接送信できるプログラムがあります。アドレスは以下に記載しています。
※ 'wget URL アドレス' コマンドを通じて URL アドレスを通じて Linux も直接ダウンロードできます。
※ ubuntu では、サーバのインストールと運用を同時に行うことができますが、Red Hat ファミリーでは、サーバのインストールと運用を別々に行う必要があります。* sudo apt-get install nginx
8. システム関連のコマンド
学習すべき追加のコマンドもありますが、ここでは簡単に紹介します。 cronと atそれは存在する。 cronat は、定期的に繰り返されるタスクを自動的に実行することができ、シェルスクリプトと併用すると便利です。at は、単回のタスクをスケジュールして実行できます。 cronシステム管理者によって広く使用されています Windowsこれはタスクスケジューラに似ています。バックアップ機能を活用するのに便利です。

たとえば、cron コマンドは、'minute hour day month weekday user command' の形式で使用されます。at コマンドは、'at hour > script > Ctrl+D' の形式で使用でき、指定した時間にスクリプトを実行し、完了後に Ctrl+D が実行されます。
psと topps というコマンドがあり、プロセス情報を出力します。 '-ef' これはオプションと併用して使用されます。'-ef'オプションは、現在実行中のプロセスに関連しています UID(User ID), PID(Process ID), C(CPU Utilization), STIME(Start Time), TTY(Terminal Type) その他にも、次のような情報が表示されます。 UIDこのプロセスを実行したユーザー IDそして PIDはプロセスの固有識別子です。 Cそれがプロセスです CPU 分数の単位で、平均的な使用量を表します。 STIMEプロセスが開始された時刻または日付です。 TTYプロセスが実行されているターミナルの種類です。'?' はバックグラウンドを表します。 pts/0それはリモートアクセスです tty1これがローカルコンソールです top コマンドは、Windows のタスクマネージャと同様の役割を果たし、システムリソースに関する情報を出力します。画面の更新頻度を指定するには、オプション '-n'' を使用します。
dmesg コマンドシステムコマンドを使用して、システムが起動すると表示されるメッセージを確認することができます。これにより、起動時のエラーやシステムの問題により正しく実行されなかったプロセスを特定することができます。
※ コマンド 順次実行するキーワードコマンドの末尾に ';' (セミコロン) を付けて続行することができます。 'コマンド ; コマンド ; コマンド ;' このようにして、コマンドを順番に実行できます。 ';'コマンドの最後にありますecho コマンドは、文字列をターミナルに出力します。 sleepis コマンドは、一時的に実行を中断します。
echo "abc"; sleep 1; echo "1234"; sleep 1; echo "finish";IV. Linux エディタ
Linuxファイルを編集する場合、最も一般的に使用される標準は vi エディタです。 すべてはキーボードを使用して入力する必要があります。 Linux 本質上 エディタは不可欠です Windowsメモ帳を編集する LinuxWebからのアップロードやダウンロードは面倒なので、エディタをうまく使えることはよいことです。しかし、最初はエディタに慣れていないため(WindowsのようなGUI環境に慣れているから)、苦労するかもしれません。しかし、実践することをおすすめします。基本的に、 'コマンドモード', '入力モード', 'ラインコマンドモード'あります。
vi /etc/passwd(경로와 파일명)上図のように、vi を入力し、パスとファイル名を入力すると、エディタが起動します。入力時に、デフォルトでコマンドモードに切り替えるか、ラインコマンドモードに変更することができます。ラインコマンドモードに切り替えるには、 ':(コロン)入力しなければなりませんが、一度入力すると w(save), q(終了) 編集中の内容を終了するには w、エディタを終了するには q、警告を無視して即座にコマンドを実行するには w! または q! などのコマンドを選択できます。コマンドモードから入力モードに切り替えるには、現在のカーソル位置から開始します。 'i'押すか 'a'押すだけです。入力モードを終了してコマンドモードに戻るには、 'ESC'を押すことができます。基本的な機能については、以下の表を参照してください。

レビュー
学ぶべき新しい内容がたくさんあり、すべてを覚えるのは難しくなってきましたが、以前のウェブプロジェクトの開発と展開の過程で十分に理解されていなかったネットワークやサーバーに関するトピックを理解できるのは素晴らしいことです。後々それがクラウドにどのように結び付くのか興味深く、Linuxコマンドをあまり使っていないので、将来が楽しみです。😁
ログイン