linux中的grep命令怎么用事例介紹
Linux系統(tǒng)中的grep命令很強大,主要用于查找文件里符合條件的字符串,那么具體怎么應(yīng)用呢?下面由學(xué)習(xí)啦小編為大家整理了linux中的grep命令的相關(guān)知識,希望對大家有幫助!
linux中的grep命令實例
1、在當(dāng)前目錄中,查找后綴有"test"字樣的文件中包含"test"字符串的文件,并打印出該字符串的行。此時,可以使用如下命令:
grep test *file
結(jié)果如下所示:
$ grep test test* #查找后綴有“test”的文件包含“test”字符串的文件
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行
2、以遞歸的方式查找符合條件的文件。例如,查找指定目錄/etc/acpi 及其子目錄(如果存在子目錄的話)下所有文件中包含字符串"update"的文件,并打印出該字符串所在行的內(nèi)容,使用的命令為:
grep -r update /etc/acpi
輸出結(jié)果如下:
$ grep -r update /etc/acpi #以遞歸的方式查找“etc/acpi”
#下包含“update”的文件
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)
Rather than
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.) Rather than
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update
3、反向查找。前面各個例子是查找并打印出符合條件的行,通過"-v"參數(shù)可以打印出不符合條件行的內(nèi)容。
查找文件名中包含test 的文件中不包含test 的行,此時,使用的命令為:
grep -v test*
結(jié)果如下所示:
$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行
testfile1:helLinux!
testfile1:Linis a free Unix-type operating system.
testfile1:Lin
testfile_1:HELLO LINUX!
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.
testfile_1:THIS IS A LINUX TESTFILE!
testfile_2:HELLO LINUX!
testfile_2:Linux is a free unix-type opterating system.
相關(guān)閱讀:Linux系統(tǒng)常見故障現(xiàn)象
1. MBR中g(shù)rub損壞,1_5階段的數(shù)據(jù)損壞,2階段的grub損壞
2. initramfs*.img文件損壞,內(nèi)核文件損壞
3. /boot/grub/grub.conf文件丟失
4. /etc/fstab丟失,無法掛載根等文件系統(tǒng)
5. /boot 目錄全部的文件丟失
6. root密碼忘記
7. 為grub設(shè)置密碼,開機時生效,保護(hù)root密碼被惡意修改等
二、常見故障的分析解決:
1. 1階段和1_5階段出問題時會開機執(zhí)行完BIOS自檢后直接報錯
2. 前面兩個階段順利通過,到了執(zhí)行/boot/ 下面的第二個階段時的程序調(diào)用/boot/grub/grub.conf 時文件丟失或者/boot/下內(nèi)核文件和initramfs*.img 文件丟失都會造成卡在第二個階段:丟失initramfs文件時會在過了開機選擇內(nèi)核啟動之后卡住不動,沒有任何提示(在/boot/grub /grub.conf 配置文件中定義了timeout時間,會過了倒計時,然后沒有任何提示)如果是丟失grub.conf 是會進(jìn)入grub>提示符由管理員指定內(nèi)核文件和initramfs文件位置
3. /etc/fstab丟失:
系統(tǒng)可以開機,但是開機時會卡好長時間,因為許多服務(wù)等待超時無法啟動,此時磁盤按照默認(rèn)以只讀掛載根,這個掛載是在開機時掛載的,因為沒有fstab文件所以無法重新掛載根文件系統(tǒng)以及其他的系統(tǒng),沒有運行級別
4. 為grub設(shè)置了密碼會在開機進(jìn)入內(nèi)核啟動時,想要修改grub和內(nèi)核的參數(shù)或者進(jìn)入系統(tǒng)時需要輸入密碼,當(dāng)然忘記這樣的密碼也只能使用光盤引導(dǎo)進(jìn)入救援模式修改配置文件/etc/grub/grub.conf 把相應(yīng)的密碼行刪除即可