第 1 章 Linux の簡単な使い方
1.1 Linuxの構成
1.Linux カーネル: カーネルはシステムの中核であり、プログラムを実行し、ディスクやプリンターなどのハードウェア デバイスを管理するためのコア プログラムです。
2. ファイル システム: ディスクなどの記憶装置に保存されているファイルを整理する方法。
Linux は、ext4、FAT、VFAT、ISO9660、NFS、SMB など、現在利用可能なさまざまなファイル システムをサポートできます。
3. シェル: シェルはシステムのユーザー インターフェイスであり、ユーザーがカーネルと対話するためのインターフェイスを提供します。
アプリケーション: テキスト エディタ、プログラミング言語、X Window、オフィス スイート、インターネット ツール、データベースなどを含みます。
Linux のオペレーティング インターフェイスはシェルと呼ばれることが多く、シェルはオペレーティング システムがユーザーに提供するインターフェイス (グラフィックス、文字) であり、
ユーザーがカーネルと対話するためのインターフェイスを提供します。ユーザーが指示 (コマンドやマウス操作) を発行すると、その指示はまずシェルに送信され、シェルが
ユーザーの指示を翻訳してカーネルに送信し、カーネルがハードウェアの動作を制御します。次に、カーネルはハードウェアの動作ステータスを
シェルに送信し、シェルはハードウェアの動作情報とステータスを返します。
シェルの分類:
グラフィカルインターフェースを備えたシェル: KDE、GNOME
キャラクターインターフェースを備えたシェル: bash など
(1) 現在の Linux ディストリビューション情報を確認する
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
(2) カーネルのバージョンを確認する
[root@localhost ~]# uname -r
4.18.0-240.el8.x86_64
Linux カーネルのバージョン番号は 3 つの異なる命名スキームを経ています:
1.0 ~ 2.6 より前のバージョン: ABC
A – 大幅な変更が加えられたメジャー バージョン番号;
B – いくつかの大きな変更が加えられたマイナー バージョン番号
C – マイナー リビジョンを指します リビジョン番号, Cは奇数番号の開発版、偶数番号が安定版です。
バージョン 2.6.0.0 ~ 2.6.39.4: ABCD
A と B – それぞれ 2 と 6 に固定されています;
C – カーネル バージョン;
D – セキュリティ パッチ番号。
バージョン 3.0 以降: XAB
X – メジャー バージョン番号 (現在は 3 または 4)、
A – カーネル バージョン、B – セキュリティ パッチ。
このバージョンから、偶数は安定版、奇数は開発版となる 命名方法
mainline – メインライン版(本隊が開発中のバージョンまたは開発版を表す)
stable – 安定版
longterm – 長期サポート版
EOL (End of Life) – テクニカル サポートが終了した古いバージョン。
(3) シェルの種類を確認する
方法1:cat /etc/shells
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
方法2:chsh -l
[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[root@localhost ~]#
(4) 現在のデフォルトシェルを表示する
`[root@localhost ~]# echo $SHELL
/bin/bash
(5) シェル プロンプト: # および $
. 一般ユーザーの場合、Base シェルのデフォルト プロンプトはドル記号 $ ですが、
スーパー ユーザー (root ユーザー) の場合、Bash シェルのデフォルト プロンプトはポンド記号 # です。
一般ユーザーのログイン: [当前登录用户@主机名 当前工作目录 ] $
root ユーザーのログイン:[root@主机名 当前工作目录 ] # (6)使用命令重启和关闭linux操作系统:
再起動: reboot, shutdown -r now
シャットダウン: shutdown -h now, poweroff
(6) コマンドを使用して、Linux オペレーティング システムを再起動およびシャットダウンします。
再起動: reboot, shutdown -r now
シャットダウン: shutdown -h now , poweroff shutdown -r +30 'システムが再起動します' さらに 30 分後、システムが再起動し、すべての
オンライン ユーザーに次のメッセージが表示されます
(7) ネットワーク カード情報を確認し、IP アドレスを取得します
#获取ip地址 [root@localhost ~]# dhclient #如果提示没有该命令,则需要先装包才能使用,可使用nmcli命令获 取地址
[root@localhost ~]# nmcli con up ens160
#查看ip地址 [root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:53:e2:2c brd ff:ff:ff:ff:ff:ff
inet 192.168.168.128/24 brd 192.168.168.255 scope global dynamic noprefixroute ens160
valid_lft 1284sec preferred_lft 1284sec
inet6 fe80::1d40:7cea:e3be:32d9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#注:lo网卡是环回网卡,主要用来本地测试;ens160才是我们远程连接的网卡。
1.2 Linux サーバーにリモート接続する
Linuxサーバーへのリモート接続方法:ディスプレイの種類によって分類され、キャラクターインターフェイスとグラフィカルインターフェイスの2種類に分けられます。キャラクタ インターフェイス ソフトウェア
には、SecureCRT、PUTTY、xshell、mobaxterm などが含まれ、グラフィカル インターフェイス ソフトウェアには、Xmanager、Xdmcp、VNC ソフトウェアなどが含まれます。
1.2.1Xshell による Linux へのリモート接続
Linuxサーバーへのリモート接続方法:ディスプレイの種類によって分類され、キャラクターインターフェイスとグラフィカルインターフェイスの2種類に分けられます。キャラクタ インターフェイス ソフトウェア
には、SecureCRT、PUTTY、xshell、mobaxterm などが含まれ、グラフィカル インターフェイス ソフトウェアには、Xmanager、Xdmcp、VNC ソフトウェアなどが含まれます。
(1) デスクトップの Xshell アイコンをダブルクリックして、Xshell プログラムを起動します。
このウィンドウにホスト IP アドレスを手動で入力し、Enter キーを入力して、ssh root@linux
ポップアップ パスワード プロンプト ウィンドウに
root ユーザーのパスワードを入力すると、root ユーザーとして正常にログインできます。
このウィンドウに手動でパスワードを入力し、Enter キーを入力して、ssh 普通用户名@linux主机IP地址
ポップアップ パスワード プロンプト ウィンドウ
に通常のユーザーのパスワードを入力すると、通常のユーザーとして正常にログインできます。
1.2.2 MobaXterm を使用して Linux にリモート接続する
1.3 リモート ソフトウェアによるサーバーの制御
下図のようにリモート接続が成功します。
(1) システムインストール時に追加した一般ユーザーに切り替えます。
[root@localhost ~]# su - centos
Last login: Mon Jun 6 15:15:20 CST 2022 on pts/0
[centos@localhost ~]$
#输入exit退出 [centos@localhost ~]$ exit
logout
[root@localhost ~]#
#查看当前登录的用户
[root@localhost ~]# whoami
root
(2) ホスト名を変更するには、リモートから再接続して有効にする必要があります。
[root@localhost ~]# hostname server #临时修改,重启linux系统之后失效
[root@localhost ~]# hostnamectl set-hostname server #永久生效,修改的是文件内容。重启linux系统后依旧生效
#查看主机名配置文件
[root@localhost ~]# cat /etc/hostname
server
(3) 現在の作業ディレクトリを表示します。pwd
[root@localhost ~]# pwd
/root
[root@localhost ~]# su - centos
Last login: Mon Jun 6 15:16:56 CST 2022 on pts/0
[centos@server ~]$ pwd
/home/centos
注意:windows和linux系统的目录路径表示的不同
(4) 現在の作業ディレクトリの変更、つまりディレクトリの切り替え
・絶対パス(/で始まるパス)
・相対パス(/で始まらないパス)
[root@localhost ~]# cd /
[root@localhost /]# cd - 注:该操作会让你回到上一次切换的目录下
/root
[root@localhost ~]#
[root@localhost /]# cd /home
[root@localhost home]# cd /home/centos
[root@localhost centos]# cd ~ 注:~代表当前用户的家目录,当前用户为root,则代表为 root用户的家目录
[root@localhost ~]# cd .. 注:..代表当前工作目录的上一级目录
[root@localhost /]# cd . 注:.代表当前工作
(5) パスワード変更
[root@localhost ~]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd centos
Changing password for user centos.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd -d centos #删除centos用户的密码
分析: パスワード変更における一般ユーザーと root ユーザーの類似点と相違点
一般ユーザー: 1. 元のパスワードを入力する必要がある 2. パスワード変更時にユーザー名を指定できない 3. 8 文字を超える必要があり、変更することはできないシステム化された
1.4rootパスワードをリセットする
rhel8/centos8 の root パスワードのリセット
方法 1:
ステップ 1: システムを再起動し、以下に示すインターフェイスで e キーを押します。
ステップ 2: linux 行を見つけ、末尾のスペースの後に「rd.break」と入力し
、ctl+x を押して次のインターフェイスに入り
ます。
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
以下に示すように:
前の手順を完了した後、 を入力してパスワードを変更します。
注: 新しいパスワードを書き込む場合、ページには入力した番号は表示されません (以下を参照)
。その後、次を入力します。
touch /.autorelabel
下の図を見てください:
パスワードを変更した後、「exit」を 2 回入力し
、自動的にログインする必要があります。時間がかかるので、気長に待ちます。
方法 2:
方法 1 と似ていますが、ステップ 2 が異なります。
次のページに入ったら、下の図の「ro」を「rw」に変更し、次に示すように最後に「init=/bin/sh」を追加します。 次に、以下に示すように 2 行のコードを入力し
ます
。
後者の方法も同様です。
第 2 章 Linux でのコマンドの実行
2.1 コマンドフォーマット
コマンド形式: メインコマンド オプション パラメータ (操作オブジェクト)
コマンドは 2 つのカテゴリに分類されます:
組み込みコマンド (builtin): シェル プログラムに付属するコマンド
外部コマンド: 独立した実行可能プログラム ファイル、ファイル名はコマンド名です オプション
:コマンドを指定します。 実行特性は、コマンド内のどの機能コードが実行されるかを示します。
短いオプション: 例: -l、-d。同じコマンドで複数の短いオプションを同時に使用する場合、それらのほとんどをマージできます。[注: 一部のコマンド オプションには - がありません。]
長いオプション: –help、–human-readable など
パラメータ: コマンドのオブジェクト、つまりコマンドが適用される対象。
コマンドごとに異なるパラメータがあります。
パラメータを取得できるオプションもあれば、パラメータを取得できないオプションもあり
、同時に複数のパラメータを取得できるコマンドもあります。複数のパラメータは空白文字で区切る必要があります。
現在のコマンドを終了します:
[Ctrl+C] を押してください。実行中のコマンドには
2 種類の補完があります:補完コマンド: コマンド キーワードの最初の数文字を入力した後、Tab キーを押すとコマンドが自動的に補完されます ファイル名とディレクトリ名
の補完: 入力後
ファイルの最初の数文字。Tab キーを押すと自動的に入力されます。
[root@localhost ~]# passwd -d centos
[root@localhost ~]# cat /etc/redhat-release
[root@localhost ~]# uname -r
4.18.0-240.el8.x86_64
bash 内部コマンドのヘルプを表示する
[root@node13 ~]# help cd
コマンド --ヘルプ
[root@node13 ~]# cat — —help
示例如下:cat [OPTION]... [FILE]... 表明cat后面可以加上多个可选的选项以及多个可选的文件参数
下面是对于命令的语法的一些符号的说明:
[] :表示的是可选
...: 表示的可以存在多个参数
| : 表示是可选的
<>: 必填
{
}:表示作为一个整体存在的
man はオンライン ヘルプを提供するために使用され、使用権限はすべてのユーザーに与えられます。man コマンドを使用してヘルプ情報を参照することができ、非常に便利ですman コマンドのヘルプ情報のインターフェイスで
役立ちます共通の操作ボタンは次のとおりです。
ボタン | 効果 |
---|---|
スペースバー、ページダウン | 1 ページめくってください |
ページアップ、b | 1ページめくってください |
家 | ホームページに直接アクセス |
終わり | 最後のページに直接移動します |
/ | 1 ページめくってください |
スペースバー、ページダウン | 「/linux」などのキーワードを上から下に検索します。 |
? | 「?linux」など、下から上にキーワードを検索します。 |
n | 次に検索されたキーワードを見つける |
N | 最後に検索したキーワードを見つける |
q | ヘルプドキュメントを終了する |
man コマンドのヘルプ情報の構造は次のとおりです。
構造名 | 代表的な意味 |
---|---|
名前 | コマンド名 |
概要 | パラメータの一般的な使用法 |
説明 | 導入 |
例 | デモ(簡単な説明付き) |
概要 | 概要 |
デフォルト | デフォルト機能 |
オプション | 利用可能な具体的なオプション (紹介付き) |
環境 | 環境変数 |
ファイル | 使用したファイル |
関連項目 | 関連文書 |
歴史 | メンテナンス履歴と連絡先 |
マニュアルのいくつかの部分
区段1:用户指令,查看命令的帮助
区段2:系统调用,查看可被内核调用的函数的帮助
区段3:程序库调用,查看函数和函数库的帮助
区段4:设备,查看特殊文件的帮助(主要是/dev目录下的文件)
区段5:文件格式,查看配置文件的帮助
区段6:游戏,查看游戏的帮助
区段7:杂项,惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
区段8:系统指令,查看系统管理员可用的命令的帮助
区段9:内核内部指令,查看内核相关文件的帮助
使用如下命令可以知道某个命令在man的哪个区段有相关帮助文档:
[root@node13 ~]# whatis man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@node13 ~]# man -f man
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man (1p) - display system documentation
[root@node13 ~]# man 1 man
[root@node13 ~]# man 7 man
info ページ
info と man の使用法は実際には似ており、どちらもコマンドの使用法やファイルの形式を照会するために使用されます。ただし、マニュアル ページとは異なり、情報ページはファイル データを段落に分割します。各段落は独自のページに記述され、
各ページには Web ページに似た、各ページにジャンプするための
「ハイパーリンク」があります。異なるページ間では、それぞれが独立していますページはノードとも呼ばれます。
ただし、 info の特別な機能 (ハイパーリンクなど) を使用するには、クエリするターゲット データの記述ファイルを info の形式で記述する必要があります
。info コマンドをサポートするファイルは、デフォルトで /usr/share/info/ ディレクトリに配置されます。
情報ページで使用できるキー:
ショートカットキー | 効果 |
---|---|
上矢印 | 1 行上に移動 |
下矢印 | 1 行下に移動 |
PgUp | 1ページめくってください |
PGDN | 1 ページめくってください |
タブ | 「*」記号でノードを切り替えます |
入力 | 詳細なヘルプ情報を表示するには、「*」記号の付いたサブページに入ります。 |
あなた | 前のレベルの情報に移動する |
n | 次の情報セクションに移動します |
p | 情報の前のセクションに戻る |
s または / | 情報ページでキーワード検索を使用する |
? | ヘルプ情報を表示する |
q | 出口情報 |
2.2 日付コマンド
date コマンドは、システムの時刻と日付を表示または設定するために使用されます。構文形式は次のとおりです。date [OPTION]... [+FORMAT]
ユーザーは、強力な date コマンドの後に + で始まるパラメータを入力するだけで、システムの時刻または日付を指定した形式で出力できます。
このようにして、日々の仕事、一緒に働きましょう。たとえば、パッケージ化されたファイルは
「backup-2020-9-1.tar.gz」に「年-月-日」の形式で自動的にパッケージ化されるため、ユーザーはファイル名を一目見るだけで各ファイルを大まかに把握できます
。バックアップの時間。
date コマンドの一般的なパラメータの形式と関数
パラメータ | 効果 |
---|---|
%Y | 完全な年 (例: 2020) |
%m | 月(1~12) |
%d | 月の日 |
%H | 営業時間(00~23) |
%M | 分(00~59) |
%j | 今年は何日ですか? |
現在のシステム時刻をデフォルト形式で表示する date コマンドは次のとおりです。
[root@kongd ~]# date
Sat Sep 5 09:13:45 CST 2020
date コマンドのパラメータ %j を使用すると、今日が何日かを確認できます。このパラメータは、古いバックアップ時刻と新しいバックアップ時刻を明確に区別できます。つまり、
数値が大きいほど、現在の時刻に近づきます。このパラメータの使用方法と表示結果は次のとおりです。
[root@kongd ~]# date "+%j"
306
現在のシステム時刻を「年-月-日 時:分:秒」の形式で表示する date コマンドは次のとおりです。
[root@kongd ~]# date "+%Y-%m-%d %H:%M:%S"
2020-09-05 09:14:35
システムの現在時刻を 2020 年 11 月 1 日の 8:30 に設定する date コマンドは次のとおりです。
[root@kongd ~]# date -s "20201101 8:30:00" 或者[root@kongd ~]# date
110108302020
Sun Nov 1 08:30:00 CST 2020
2.4 timedatectlコマンド
timedatectl コマンドは、システム時刻を設定するために使用されます。完全な英語名は、「time date control」です。構文形式は、次のとおりです。timedatectl [OPTIONS...] COMMAND ...
コンピュータの時刻が実際の時刻と一致しないことがわかりましたか? 数分の違いであれば直接修正できますが、数時間の違いの場合は現在時刻の修正に加えて
タイムゾーンも確認する必要があります timedatectlコマンドのパラメータと機能:
パラメータ | 効果 |
---|---|
物語 | ステータス情報を表示する |
リストタイムゾーン | 既知のタイムゾーンをリストする |
タイムゾーンの設定 | 有効なタイムゾーンを設定する |
セットタイム | システム時刻を設定する |
システム時刻とタイムゾーンを確認します。
[root@kongd ~]# timedatectl status
Local time: Sun 2020-09-06 19:51:22 CST
Universal time: Sun 2020-09-06 11:51:22 UTC
RTC time: Sun 2020-09-06 19:51:21
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
見つかったタイムゾーンが上海 (アジア/上海) ではない場合は、手動で設定できます。
[root@kongd ~]# timedatectl set-timezone Asia/Shanghai
それでも時間が正しくない場合は、システムの日付を手動で変更できます。
[root@kongd ~]# timedatectl set-time 2021-05-18
時刻を変更したい場合も、非常に簡単です。
[root@kongd ~]# timedatectl set-time 9:30
[root@kongd ~]# date
Tue May 18 09:30:01 CST 2021