先週とその前の週に、この5部構成のシリーズのパート1とパート2を公開しました。タイトルは「Linuxシステム管理者が頻繁に使用するLinuxコマンド」です。 。これらの2つの記事では、Linuxシステム管理者やパワーユーザーがよく使用する約50〜100個のコマンドについて少し詳しく説明しました。また、パート4とパート5もご覧ください。
Linuxシステムによって実行されるファイル転送、ファイル操作、ネットワークトラブルシューティング、およびその他の管理タスクによく使用される別のコマンドセットとコマンドラインツールを使用して、パート3に進みましょう。このシリーズと今後のシリーズでは、関連するコマンドを可能な限りグループ化し、目次を追加して、このシリーズの5つのパートすべてを相互リンクします。
1。 rsync
–リモートファイル転送と同期。
Rsync(リモート同期)は、ローカルシステムとリモートシステムの両方の間でファイルを同期するためのオープンソースツールです。 2016年に、私はLinuxディストリビューションやその他のリポジトリ用にグローバルCDNバックアップミラーを設定する任務を負いました:Evowise CDN(https://mirros.evowise.com)。このプロジェクトはrsync
に大きく依存しています 数百テラバイトのファイルが常に同期していることを確認します。時間の経過とともに、より多くのディストリビューションが独自のグローバルCDNバックアップミラーを提供してきました。ただし、マルチディストリビューションおよびマルチソフトウェアミラーはまだほんの一握りです。 rsync
の使用例を次に示します。 ファイルをリモートでバックアップするコマンド:
rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/
リモートディレクトリからダウンロードするには、コマンドの順序を逆にします。
rsync -avze ssh user@IP_or_hostname:/remote/backup/directory1/ /path/to/directory1/
Rsyncはそれ自体がトピック全体です。そのため、後日、このコマンドをさらに詳しく調べてみましょう。それまでの間、開始するのに最適な場所は、ドキュメントとチートシートを読むことです。
2。 tar
、gzip
、b2zip
、およびzip
ファイル操作。
tar
(テープアーカイブ)はアーカイブユーティリティです。
アーカイブから抽出するには、次を使用します:(オプションx
=抽出、v
=詳細、f
=ファイル):
tar - xvf archive.tar
ファイルまたはディレクトリからアーカイブを作成するには、次を使用します(オプションc
を使用) =作成)
tar -cvf archive.tar file1 file2 file3
圧縮されたアーカイブを作成するには、次を使用します:(オプションz
gzipで圧縮するには)
tar -cvzf archive.tar file1 file2 file3
アーカイブに保持されているすべてのファイルを表示するには、(オプションt
を使用)を使用します =リスト):
tar -tvf archive.tar
gzip
GNUzipの略です。ファイルの圧縮と解凍に使用されます。
圧縮ファイルを作成するには、次を使用します:
gzip file1
ファイルを解凍するには、次を使用します:
gunzip file1.gz
tar
を使用して作成されたアーカイブとして 追加のオプションがないと圧縮されません。これは、gzip
を使用して実行できます 。
圧縮されたアーカイブでファイルを結合するには、(オプションz
を使用)を使用します =gzip):
tar -cvzf archive.tar.gz file1 file2
これにより、archive.tar.gzが生成されます
gzipアーカイブからファイルを解凍して抽出するには、次を使用します。
tar -xvzf archive.tar.gz
bzip2
gzipに似ています。異なる圧縮アルゴリズムを使用しているだけです。
圧縮ファイルを作成するには、次を使用します:
bzip2 file1
ファイルを解凍するには、次を使用します:
bunzip2 file1.bz2
圧縮されたアーカイブ内のファイルを組み合わせるには、(オプションj
を使用)を使用します =bzip2):
tar -cvjf archive.tar.bz2 file1 file2
これにより、archive.tar.bz2になります
bzip2アーカイブの使用からファイルを解凍して抽出します:
tar -xvjf archive.tar.bz2
zip
ファイルのパッケージ化と圧縮(アーカイブ)に使用されます。
圧縮されたアーカイブ内の個々のファイルを組み合わせるには、次を使用します。
zip archive.zip file1 file2
ディレクトリ全体を圧縮アーカイブに結合するには:
zip -r archive.zip directory1 directory2 directory3
zipアーカイブからファイルまたはディレクトリを解凍して抽出するには、次を使用します。
unzip archive.zip
アーカイブに保存されているすべてのファイルを表示するには、次を使用します。
unzip -l archive.zip
3。 locate
–Linuxでファイルを検索します。
パート1では、find
の使用について触れました。 およびgrep
。 Locateは、定期的に実行されるバックグラウンドプロセスを使用して、システムのファイルを検索し、独自のデータベースに保存します。そこに唯一の利点があります…スピード!
一部のディストリビューション、たとえばUbuntuでは、手動でインストールする必要があります:
sudo apt-get install locate
ファイルを検索するには、(オプションi
を使用)を使用します =大文字と小文字を区別しない):
locate -i filename
例:
hydn@ubuntu:~$ sudo locate -i firewall /etc/fail2ban/action.d/firewallcmd-allports.conf /etc/fail2ban/action.d/firewallcmd-common.conf /etc/fail2ban/action.d/firewallcmd-ipset.conf /etc/fail2ban/action.d/firewallcmd-multiport.conf ...
データベースはcronを介して毎日更新されます。ただし、手動で更新する必要がある場合は、次を使用できます。
sudo updatedb
4。 ps
–現在実行中のプロセスに関する情報。
パート1では、pstree
について説明しました。 、psコマンドのより視覚的な代替手段。 ps
を使用する1つの方法 実行中のプロセスの詳細を取得するには、次を使用します。
ps aux | less
a
オプションは、端末に関連付けられていないグループリーダーとプロセスを除くすべてのユーザーのプロセスを一覧表示します。
u
オプションは、各プロセスに関する詳細情報を提供します。
x
オプションは、a
と一緒に使用すると、すべてのプロセスを一覧表示します オプション。
プロセスツリーを表示するには:
ps axjf | less
スレッドに関する情報を表示するには、次を使用します:
ps -eLf | less
ps axms | less
rootとして実行されているすべてのプロセスをユーザー形式で表示するには、次を使用します。
ps -U root -u root u
syslogdのプロセスIDのみを表示するには、次を使用します。
ps -C syslogd -o pid=
PID 411の名前のみを表示するには、次を使用します。
ps -q 411 -o comm=
上記の例は、man ps
からのものです。 。
5。 Bashスクリプトを利用します。
Bashスクリプトは、一連のコマンドを含むプレーンテキストファイルです。これらは、通常コマンドラインに入力するコマンドです(つまり、rsync ...
またはcp ...
)。ただし、毎回手動でコマンドを入力する必要がないため、時間を節約したい。または、cronを使用して、後でそれらのコマンドを実行するようにスケジュールしたい。
bashスクリプトを作成するには、#!/bin/bash
を配置します ファイルの先頭にあります。バックアップを実行するための簡単なbashスクリプトは次のとおりです。
#!/bin/bash rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/ echo "Remote backup for $(date) " | mail -s "backup complete" user@youremail
これを入力するか、新しいファイルに貼り付けると、scriptname.shとして保存できます。この場合、remotebackup.shです。次に、ファイルのアクセス許可を変更して実行可能にします。
chmod +x remotebackup.sh
現在のディレクトリからスクリプトを実行/実行するには、次のように入力します。
./remotebackup.sh
または、次のセクションで説明するように、トウモロコシを使用して実行するようにBashスクリプトをスケジュールすることもできます。
また、Ubuntuの初心者向けBashScriptingもご覧ください。
6。 cron
–実行するスケジュールされたタスクを設定します。
cron
デーモンは、スケジュールされたタスク(コマンドまたはシェルスクリプト)を一定の時間、日付、または間隔で定期的に実行する組み込みのLinuxツールです。システム管理者は通常、cronを使用してシステムの保守および管理タスクを自動化します。たとえば、cron
を使用します rsync
を実行するには 毎晩。
これがcron
の例です 毎晩午前2時にバックアップスクリプトを実行するために使用される1行のエントリ:
0 2 * * * ~/myscripts/remotebackup.sh
開始するには、cron
をお読みください UbuntuとRedHatによって作成されたセットアップガイドで、cronのマニュアルページを参照してください。オンラインのcron式ジェネレーターもあります。
7。 nmcli
–ネットワーク管理。
NetworkManagerは、Linuxシステムのネットワーク接続を管理するためのツールのセットです。有線、無線、さらにはBluetooth接続でも機能します。
使用可能なすべてのネットワークデバイスを表示するには、次を使用します。
nmcli d
例:
Red Hatは、nmcli
の優れたネットワーキングガイドを公開しています。 。
8。 ping
–ICMPECHO_REQUESTをネットワークホストに送信します。
ping
(Packet Internet Groper)コマンドは、サーバーと他のホスト間のネットワーク接続を確認するために使用されます。 IPアドレスまたはURLを入力すると、pingコマンドは「PING」というメッセージとともに指定されたアドレスにデータパケットを送信し、宛先サーバー/ホストからの応答を待ちます。この応答パッケージの受信にかかる時間が報告されます。この時間はレイテンシーと呼ばれます。低遅延=より高速な接続応答。
ping [hostname/ip]
例:
-c
を使用します 送信するpingパケットの数を指定するフラグ。例:
ping -c 5 IP_ADDRESS
9。 traceroute
–パケットが指定されたホストに到達するまでのルートを確認します。
traceroute
指定されたホストに到達するためにパケットがたどるルートをチェックします。 IPプロトコルの存続時間(TTL)フィールドを利用し、ホストへのパスに沿って各ゲートウェイからICMPTIME_EXCEEDED応答を引き出しようとします。 (出典:man traceroute)Tracerouteは、ネットワーク遅延の遅延、停止、およびその他のネットワークルーティングの問題の原因を見つけるのに役立ちます。
また、mtr
もご覧ください。 (私のTraceroute)。
10。 nslookup
–インターネットネームサーバー(NS)をインタラクティブにクエリします。
nslookup
(Name Server Lookup)は、ドメインネームシステム(DNS)から情報を収集するために使用されるコマンドです。 nslookup
を使用 、sysadminsはドメイン名またはIPアドレス情報を照会できます。
ドメインのAレコードを検索するには、次を使用します:
nslookup haydenjames.io
ドメインのNSレコードを検索して、その権限のあるサーバーを見つけるには、次を使用します。
nslookup -type=ns ubuntu.com
ドメインのMXレコードを検索するには、次を使用します:
nslookup -query=mx redhat.com
ドメインのSOA(権限の開始)を検索するには、次を使用します:
nslookup -query=soa debian.com
ドメインのDNSレコードのリストを表示するには、次を使用します。
nslookup -type=any mysql.com
ドメインのrDNS(逆引きDNS)を検索するには、次を使用します。
nslookup [domain_IP]
host
も参照してください およびdig
コマンド。
追加のヒント: Explainshell.comをチェックして、コマンドライン引数とヘルプテキストを照合してください。
今のところ以上です。パート3を楽しんでいただけたでしょうか。共有、購読、ブックマークを付けて、コメントや提案を残してください。
<前へ– Linuxシステム管理者が頻繁に使用するLinuxコマンド–パート2
次へ– Linuxシステム管理者が頻繁に使用するLinuxコマンド–パート4>