grep은 정규식을 사용하여 텍스트를 검색하고 일치하는 줄을 인쇄하는 강력한 텍스트 검색 도구입니다. 이 기사를 통해 Linux grep 및 정규식에 대한 지식을 공유하겠습니다. 관심 있는 친구들은 함께 살펴보세요
grep 소개
Grep은 정규식을 사용할 수 있는 강력한 텍스트 검색 도구입니다. 텍스트를 입력하고 일치하는 줄을 인쇄합니다. 일반적으로 grep에는 grep, egrep(grep -E와 동일) 및 fgrep의 세 가지 버전이 있습니다. egrep은 확장 grep이고 fgrep은 빠른 grep입니다(검색 텍스트에 대한 고정 문자열, 정규식 참조를 지원하지 않지만 쿼리는 매우 빠릅니다). grep은 Linux 텍스트 처리의 삼총사 중 하나입니다.
grep 사용 방법
사용 방법:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
일반 옵션:
--color=auto: 일치하는 텍스트에 색상을 지정하고 강조 표시합니다. : 대소문자 무시
-o: 일치하는 문자열만 표시
-v: 패턴과 일치하지 않는 행 표시
-E: 확장 정규식 사용 지원
-q: 자동 모드, 즉 이면 정보가 출력되지 않습니다
-A #: 패턴과 일치하는 행과 그 뒤의 # 행을 표시합니다
-B #: 패턴과 일치하는 행과 그 앞의 # 행을 표시합니다
-C #: 패턴과 일치하는 줄과 그 앞의 # 줄을 표시합니다
패턴 일치 줄과 앞과 뒤의 # 줄을 표시합니다
참고: grep 일치를 사용할 때 큰 따옴표(작은 따옴표는 강한 따옴표)를 사용해야 합니다. 시스템이 이를 매개변수나 특수 명령으로 착각하여 오류를 보고하는 것을 방지합니다.
확장 grep 사용법
사용법:
egrep [OPTIONS] PATTERN [FILE...] grep -E [OPTIONS] PATTERN [FILE...]
-i: 대소문자 무시
-o: 일치하는 문자열 자체만 표시
-v: 패턴과 일치하지 않는 표시 -q: 무음 모드, 즉 정보가 출력되지 않습니다
-A#: 패턴과 일치하는 줄과 그 뒤의 #줄을 표시합니다
-B#: 패턴과 일치하는 줄과 그 앞의 #줄을 표시합니다
-C # : 패턴과 일치하는 행과 앞뒤의 # 행을 표시합니다.
-G: 기본 정규식 지원
grep 정규식 메타문자
'^': 행의 시작 부분 고정 '$' : 줄 끝의 앵커 '.': 임의의 한 문자와 일치 '*': 0개 이상의 이전 문자와 일치 '?': 선행 문자를 0 또는 1번 일치 '+' : 그 앞의 문자를 1번 이상 일치시킵니다. '{m}': 그 앞의 문자를 m번 일치합니다(이스케이프 문자의 경우) '{m,n}': 그 앞의 문자와 최소 m번 일치 최대 n번 []': 지정된 범위 내의 문자와 일치 | '[^]' 지정된 범위 밖의 단일 문자와 일치 ': 완전한 단어 일치) '()': 여러 문자를 전체로 처리 역참조: 이전 항목 인용 그룹화 괄호 그룹화 괄호의 패턴과 일치하는 내용은 정규식 엔진에 의해 내부 변수에 자동으로 기록될 수 있습니다. 1: 패턴은 왼쪽부터 시작하고 첫 번째 왼쪽 괄호와 사이의 패턴과 일치하는 내용 일치하는 오른쪽 괄호 2: 패턴은 왼쪽부터 시작하고, 두 번째 왼쪽 괄호와 일치하는 오른쪽 괄호 사이의 패턴과 내용이 일치합니다... 확장 정규식은 정규식과 약간 다릅니다: [] ': 여전히 지정된 범위 내의 단일 문자와 일치하지만 특수한 일치 방법이 많이 있습니다. T [: Digit:] 임의의 단일 숫자와 일치 [: LOWER:] 임의의 단일 소문자와 일치 [: upper:] 임의의 단일 대문자와 일치 [: alpha:] 임의의 단일 문자와 일치 [:: alnum:]은 임의의 단일 문자 또는 숫자와 일치합니다 [:punct:]는 임의의 단일 기호와 일치합니다 [:space:]는 단일 공백과 일치합니다 일부 위치에서는 이스케이프 문자 사용이 취소되었습니다. '?' : 일치합니다. 선행 문자가 0회 또는 1회입니다. '+': 선행 문자와 1회 이상 일치합니다. '{m}': 선행 문자와 m회 일치합니다(이스케이프 문자의 경우). ,n}': 앞의 문자를 최소 m번, 최대 n번 일치시킵니다. (): 하나 이상의 문자를 함께 묶고 전체적으로 처리합니다. 역참조는 평소와 같이 사용됩니다. |': 또는 (참고: 'C|cat'은 C와 cat이고, '(C|c)at는 Cat과 cat'입니다.) 연습 질문: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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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 SET 파일 권한 설정, ChownUserFile 변경 파일 소유자 및 CHGRPGROUPFILE와 같은 허가 관리 명령은 파일 그룹을 변경합니다. 이러한 명령은 파일 시스템 구조 및 사용자 및 그룹 시스템을 기반으로하며 시스템 호출 및 메타 데이터를 통해 작동 및 제어합니다.

MaintenanceModeInlinlinlinuxisspecialbootenvernmentforcriticalsystemmaintenancetasks.itallowsAdministratorStorformtaskSlikeresettingpasswords, Repairingfilesystems, Andrecoveringfrombootfailuresinaminimalenvernment.toentermaintingancemode, intermainteancemode

Linux의 핵심 구성 요소에는 커널, 파일 시스템, 쉘, 사용자 및 커널 공간, 장치 드라이버 및 성능 최적화 및 모범 사례가 포함됩니다. 1) 커널은 하드웨어, 메모리 및 프로세스를 관리하는 시스템의 핵심입니다. 2) 파일 시스템은 데이터를 구성하고 Ext4, BTRF 및 XFS와 같은 여러 유형을 지원합니다. 3) Shell은 사용자가 시스템과 상호 작용하고 스크립팅을 지원하는 명령 센터입니다. 4) 시스템 안정성을 보장하기 위해 사용자 공간을 커널 공간과 별도로 분리하십시오. 5) 장치 드라이버는 하드웨어를 운영 체제에 연결합니다. 6) 성능 최적화에는 튜닝 시스템 구성 및 다음 모범 사례가 포함됩니다.

Linux 시스템의 5 가지 기본 구성 요소는 다음과 같습니다. 1. Kernel, 2. System Library, 3. System Utilities, 4. 그래픽 사용자 인터페이스, 5. 응용 프로그램. 커널은 하드웨어 리소스를 관리하고 시스템 라이브러리는 사전 컴파일 된 기능을 제공하며 시스템 유틸리티는 시스템 관리에 사용되며 GUI는 시각적 상호 작용을 제공하며 응용 프로그램은 이러한 구성 요소를 사용하여 기능을 구현합니다.

Linux 유지 관리 모드는 Grub 메뉴를 통해 입력 할 수 있습니다. 특정 단계는 다음과 같습니다. 1) Grub 메뉴에서 커널을 선택하고 'e'를 눌러 편집, 2) 'Linux'라인 끝에 '단일'또는 '1'추가, 3) Ctrl X를 눌러 시작합니다. 유지 보수 모드는 시스템 수리, 비밀번호 재설정 및 시스템 업그레이드와 같은 작업을위한 안전한 환경을 제공합니다.

Linux 복구 모드를 입력하는 단계는 다음과 같습니다. 1. 시스템을 다시 시작하고 특정 키를 눌러 Grub 메뉴를 입력하십시오. 2. (복구 계)로 옵션을 선택하십시오. 3. FSCK 또는 루트와 같은 복구 모드 메뉴에서 작업을 선택하십시오. 복구 모드를 사용하면 단일 사용자 모드에서 시스템을 시작하고 파일 시스템 검사 및 수리를 수행하고 구성 파일 편집 및 기타 작업을 수행하여 시스템 문제를 해결할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
