liunx grep命令常見用法
liunx grep命令常見用法
對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、磁盤驅(qū)動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統(tǒng)管理的命令是它正常運行的核心,與之前的DOS命令類似。接下來是小編為大家收集的liunx grep 命令常見用法,歡迎大家閱讀:
liunx grep 命令常見用法
1.redis在make時報錯
下載解壓redis-3.0.2后,執(zhí)行make進行編譯,結(jié)果出現(xiàn)下面的錯誤:
make: cc: Command not found make: *** [adlist.o] Error 127
2.
這是由于新安裝的Linux系統(tǒng)沒有安裝gcc環(huán)境,需要安裝gcc,為了方便,這里我選擇用yum進行安裝。
# yum install gcc
3.
驗證gcc是否安裝成功
# rpm -qa |grep gcc
4.
重新對redis進行編譯安裝
# make && make install
結(jié)果又報錯:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
5.
原因分析
在README 有這個一段話。
Allocator
---------
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against
grep 命令常見用法。首先,說明管道命令 ‘|’
cmd1 | cmd2
管道命令僅會處理standard output,對于standard error output忽略;
管道命令必須要能夠接收來自前一個命令的數(shù)據(jù)成為standard input繼續(xù)處理。
grep就是cmd2,接受前一個命令的數(shù)據(jù),進行選取處理。
grep對行的選取處理功能:
grep [-acinv] ‘查找字符串’ filename
-a: 將binary文件以text文件的方式查找數(shù)據(jù);
-c: 計算找到 ‘查找字符串’ 的次數(shù);
-i: 忽略大小寫的不同
-v: 反向選擇,即顯示沒有 ‘查找字符串’ 內(nèi)容的那一行;
–color=auto: 關鍵字部分加上顏色顯示;
Ex:
grep ‘lc’: 查找有字符串‘lc’的行
last | grep ‘lc’
last | grep -v ‘lc’
grep [-A] [-B] ‘搜索字符串’ filename
-A:后面可加數(shù)字,為after的意思。除了該行外也列出后續(xù)的n行
-B:before的意思,除了列出該行外,前面的n行也列出來
Ex:
dmesg命令可列出內(nèi)核信息,-n列出行號,前面的綠色部分;最終顯示所有帶 ‘eth’的行.
dmesg | grep -n -A3 -B2 ‘eth’
745的前2行和后3行都列出來了。
libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
說關于分配器allocator, 如果有MALLOC 這個 環(huán)境變量, 會有用這個環(huán)境變量的 去建立Redis。
而且libc 并不是默認的 分配器, 默認的是 jemalloc, 因為 jemalloc 被證明 有更少的 fragmentation problems 比libc。
但是如果你又沒有jemalloc 而只有 libc 當然 make 出錯。 所以加這么一個參數(shù)。
解決辦法
make MALLOC=libc
看了“liunx grep 命令常見用法”還想看: