grep は、正規表現を使用してテキストを検索し、一致する行を出力する強力なテキスト検索ツールです。この記事を通じて Linux の grep と正規表現についての知識を共有しましょう。興味のある友達は一緒に見てください
grep の紹介
grep は正規表現を使用できる強力なテキスト検索ツールです。テキストと一致する行を印刷します。通常、grep には grep、egrep (grep -E と同等)、fgrep の 3 つのバージョンがあります。 egrep は拡張 grep で、fgrep は高速 grep (テキストを検索するための固定文字列、正規表現参照はサポートしていませんが、クエリは非常に高速です) です。 grep は Linux テキスト処理の三銃士の 1 つです。
grep の使い方
使用法:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
共通オプション:
--color=auto: 一致したテキストに色を付けて強調表示します
-i: I無視する文字の場合
-o: 一致した文字列のみを表示
-v: パターンに一致しない行を表示
-E: 拡張正規表現の使用をサポート
-q: サイレントモード、つまり情報は出力されません
-A #: パターンに一致した行とその後の # 行を表示します
-B #: パターンに一致した行とその前の # 行を表示します
-C #: を表示しますパターンに一致する行とその前の # 行
パターンに一致する行と前後の # 行
注: grep マッチングを使用するときは、システムが一致しないように二重引用符 (一重引用符は強い引用符です) を使用する必要があります。パラメータまたは特別なコマンドと間違えてエラーを報告します。 拡張 grep 使用法
Usage:
egrep [OPTIONS] PATTERN [FILE...] grep -E [OPTIONS] PATTERN [FILE...]
-i: 文字の大文字と小文字を無視します
-o: 一致した文字列自体のみを表示します
-v: パターンと一致しないものを表示します -q:サイレントモード、つまり情報は出力されません
-A #: パターンに一致した行とその # 行目以降を表示します
-B #: パターンに一致した行とその前の # 行目を表示します
-C # : パターンで一致した行とその前後の # 行を表示します -G: 基本的な正規表現をサポートします
grep 正規表現メタキャラクター
'^': 行頭のアンカー '$' : 行末のアンカー '.': 任意の 1 文字と一致 '*': 0 個以上の前の文字と一致 '?': 前の文字と 0 回または 1 回一致 '+' : 前の文字と 1 回以上一致します : 前の文字と m 回一致します (エスケープ文字の場合) : 前の文字と m 回以上一致します最大 n 回 []': 指定範囲内の文字と一致 | '[^]' 指定範囲外の任意の 1 文字と一致 ': 完全な単語に一致) : 複数の文字を全体として扱います 後方参照: 前の文字を引用しますグループ化括弧 グループ化括弧内のパターンと一致するコンテンツは、正規表現エンジンによって自動的に内部変数に記録される場合があります: 1: パターンは左から始まり、最初の左括弧と、その間のパターンと一致するコンテンツ一致する右括弧 2: パターンは左から始まり、2 番目の左括弧と一致する右括弧の間のパターンによって一致するコンテンツ... 拡張正規表現は正規表現とは少し異なります: [] ': 指定された範囲内の任意の 1 文字に一致しますが、特別な一致方法が多数あります。 T [: Digit:] 任意の 1 つの数字と一致します [: LOWER:] 任意の 1 つの小文字と一致します [: upper:] 任意の 1 つの大文字と一致します [: alpha:] 任意の 1 つの文字と一致します [:: alnum:] は任意の 1 つの文字または数字に一致します [:punct:] は任意の 1 つの記号に一致します [:space:] は単一のスペースに一致します いくつかの場所でエスケープ文字の使用がキャンセルされました: '?' : 前の文字が 0 回または 1 回一致します。 '+': 前の文字と 1 回以上一致します。 '{m}': 前の文字が m 回一致します (エスケープ文字の場合) {m ,n}': 前の文字と少なくとも m 回、最大で n 回一致します (): 1 つ以上の文字を束ねて全体として処理します。通常どおり、後方参照が使用されます。 |': または (注: 'C|cat' は C と cat、'(C|c)at は Cat と cat' です)練習問題:
1. 現在のユーザー名をリストします。システム上のすべてのログイン ユーザーの数。 注: 同じユーザーが複数回ログインした場合、表示されるのは 1 回だけです[root@localhost ~]# who | cut -d' ' -f1|uniq root
2、取出最后登录到当前系统的用户的相关信息
[root@localhost ~]# id `last | head -1 | cut -d' ' -f1` uid=0(root) gid=0(root) groups=0(root)
3.取出当前系统上被用户当做其默认shell最多的那个shell
[root@localhost ~]# cut -d':' -f7 /etc/passwd|uniq -c|sort -n|tail -1|cut -d' ' -f7 /sbin/nologin
4.将/etc/passd中的第三个字段设置最大的后10个用户的信息全部改为大写保存至/tmp/maxuser.txt文件中
[root@localhost ~]# sort -t':' -k3 -n /etc/passwd|tail -10|tr 'a-z' 'A-Z' >/tmp/maxusers.txt [root@localhost ~]# cat /tmp/maxusers.txt NOBODY:X:99:99:NOBODY:/:/SBIN/NOLOGIN SYSTEMD-NETWORK:X:192:192:SYSTEMD NETWORK MANAGEMENT:/:/SBIN/NOLOGIN NGINX:X:996:994:NGINX WEB SERVER:/VAR/LIB/NGINX:/SBIN/NOLOGIN CHRONY:X:997:995::/VAR/LIB/CHRONY:/SBIN/NOLOGIN POLKITD:X:998:996:USER FOR POLKITD:/:/SBIN/NOLOGIN SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUS PROXY:/:/SBIN/NOLOGIN DINGJIE:X:1000:1000:DINGJIE:/HOME/DINGJIE:/BIN/BASH JEFF:X:1001:1024:WOSHIDASHUAIBI:/HOME/JEFF:/BIN/BASH EGON:X:1002:1002::/HOME/EGON:/BIN/BASH NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN
5.取出当前主机的IP地址
[root@localhost ~]# ifconfig | egrep "inet.*broadcast.*"|cut -d' ' -f10 192.168.0.133
6.列出/etc目录下所有已.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中
[root@localhost ~]# find /etc -name '*.conf' | egrep -o "[^/]*(\.conf)$"|tr 'a-z' 'A-Z' >/tmp/etc.conf [root@localhost ~]# cat /tmp/etc.conf RESOLV.CONF CA-LEGACY.CONF FASTESTMIRROR.CONF LANGPACKS.CONF SYSTEMD.CONF VERSION-GROUPS.CONF LVM.CONF LVMLOCAL.CONF ASOUND.CONF LDAP.CONF MLX4.CONF RDMA.CONF SMTPD.CONF
7.显示/var目录下一级子目录或文件的总数
[root@localhost ~]# ls /var | wc -l
8.取出/etc/group第三个字段数值最小的10个组的名字
[root@localhost ~]# sort -t: -k3 -n /etc/group|head -10 |cut -d':' -f1 root bin daemon sys adm tty disk lp mem kmem
9.将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中
[root@localhost ~]# cat /etc/fstab /etc/issue > /tmp/etc.test [root@localhost ~]# cat /tmp/etc.test # # /etc/fstab # Created by anaconda on Sat May 13 10:12:58 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/cl-root / xfs defaults 0 0 UUID=2789d01a-4e2b-47a5-9c3c-537641648663 /boot xfs defaults 0 0 /dev/mapper/cl-swap swap swap defaults 0 0 \S Kernel \r on an \m
以上がLinux grep と正規表現の簡単な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

メンテナンスメモデンリンリンアスピアルブーテンビロンメント、criticalsystemmaincencetasks.itallowsadministratorstopertopertopertopersetstingtingpasswords、Repainingfilesystems、およびRecoveringfrombootfailurureSinaMinimalenvironment.

Linuxのコアコンポーネントには、カーネル、ファイルシステム、シェル、ユーザー、カーネルスペース、デバイスドライバー、パフォーマンスの最適化とベストプラクティスが含まれます。 1)カーネルは、ハードウェア、メモリ、プロセスを管理するシステムのコアです。 2)ファイルシステムはデータを整理し、Ext4、BTRFS、XFSなどの複数のタイプをサポートします。 3)シェルは、ユーザーがシステムと対話するためのコマンドセンターであり、スクリプトをサポートします。 4)システムの安定性を確保するために、ユーザースペースをカーネルスペースから分離します。 5)デバイスドライバーは、ハードウェアをオペレーティングシステムに接続します。 6)パフォーマンスの最適化には、システム構成とベストプラクティスのチューニングが含まれます。

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Linuxメンテナンスモードは、Grubメニューから入力できます。特定の手順は次のとおりです。1)GRUBメニューのカーネルを選択し、「E」を押して編集し、2)「Linux」行の最後に「シングル」または「1」を追加し、3)Ctrl Xを押して開始します。メンテナンスモードは、システム修理、パスワードリセット、システムのアップグレードなどのタスクに安全な環境を提供します。

Linux Recoveryモードを入力する手順は次のとおりです。1。システムを再起動し、特定のキーを押してGrubメニューを入力します。 2。[RecoveryMode)でオプションを選択します。 3. FSCKやrootなどの回復モードメニューで操作を選択します。リカバリモードを使用すると、シングルユーザーモードでシステムを開始し、ファイルシステムのチェックと修理を実行し、構成ファイルを編集し、システムの問題を解決するのに役立ちます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









