一些linux命令

  1. 截取命令
    將一段數(shù)據(jù)分析后,取出我們想要的結(jié)果,一般截取信息是針對一行一行來分析的
cut: 主要用于在一行數(shù)據(jù)里面進(jìn)行分解,取出我們需要的信息
paramters:
-d: delimiter
-f: 數(shù)值型, 根據(jù)-d的分隔符將一段信息分割成數(shù)段,用-f取出第幾段,多個段數(shù)使用,分隔
-c:以字符為單位取出固定字符區(qū)間
[root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games:
# 1 |    2   |  3  |    4    |       5      |     6        |    7

[root@www ~]# echo $PATH | cut -d ':' -f 5
# 如同上面的數(shù)字顯示,以:作為分隔,最后打印 /usr/local/bin 
# 那么如果想要列出第 3 與第 5 :
[root@www ~]# echo $PATH | cut -d ':' -f 3,5

[root@www ~]# last | cut-c 12-
grep: 分析一行數(shù)據(jù),如果含有我們需要的字符串則返回這一行
parameters:
-a:將二進(jìn)制文件以文本文件的方式搜索
-c:計(jì)算找到搜索出字符串的次數(shù)
-i:大小寫相同
-n:輸出行號
-v:反向選擇,輸出不包含字符串的行
--color=auto:關(guān)鍵詞不同顏色顯示
last | grep -v root #沒有root行打印

#搜尋字符串
grep -n 'str' fileName
grep -vn 'str' fileName #不包含該字符串的行
ifconfig eth0 | grep 'inet addr'
grep '\*' /etc/*  #找出etc下含有*的所有文件,只會搜索/etc下級目錄
grep '\*'  $(find /etc -type -f)   #搜索/etc下所有目錄
sed -[nefr] [action]:
-n: 安靜模式,只有經(jīng)過sed處理的那一行才會被列出來
-e: 直接在命令行進(jìn)行sed命令的編輯
-f filename:直接將sed處理后的結(jié)果輸出到文件
-r: 正則表達(dá)式
-i: 直接修改讀取內(nèi)容,沒有屏幕輸出

action: [n1[,n2]function
n1,n2: 不是必輸值,代表進(jìn)行動作的行數(shù),如1,5function,表示對1-5行進(jìn)行操作

function:
a: 新增
c: 取代,后可接字符串,直接取代n1,n2之間的行
d: 刪除
i: 插入
p: 打印,一般和sed -n一起運(yùn)行
s:取代,可搭配正則表達(dá)式

#行 新增和刪除
nl /etc/passwd | sed '2,5d'
nl /etc/passwd | sed -n '2,6p' #最后加入-n選項(xiàng) 否則將會打印出全部結(jié)果和重復(fù)的2-6行
nl /etc/passwd | sed '2,5c no 2-5 lines'
nl /etc/passwd | sed -e '5d' -e '6c 'no line6' #sed后接超過2個動作,需要在每個動作之前添加-e

部分?jǐn)?shù)據(jù)搜索并取代功能:
sed 's/stringToBeReplaced/newString/g'
#取ip
ifconfig | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast:.*//g'
wc:
parameters:
wc [-lwm]
-l: 僅列出行數(shù)
-w:僅列出字?jǐn)?shù)
-m:多少字符
cat /etc/passwd | wc -l #看帳號文件有多少賬號

awk用來分析一行數(shù)據(jù),適合處理小型數(shù)據(jù)

awk '條件1{動作1}條件2{動作2}...' fileName
awk里面的變量
NF:每一行($0)擁有的欄位數(shù),
NR:目前處理的是第幾行的數(shù)據(jù)
FS:使用的分隔符,默認(rèn)空白
last -n 5 | awk '{print $1 ''\t" $3}' #取出登陸者名字和IP
last -n 5 | awk '{prrint $1 "\tlines:" NR "\tcolumns:" NF }'

diff來比對兩個文件

diff [-bBi] fromFile toFile
-b: 忽略一行中僅有多個空格的差異,如hi linux與hi    linux
-B: 忽略空白行差異
-i:忽略大小寫差異

2.使linux記錄用戶操作以及時間

vim ~/.bash_logout
#add the following
date >> ~/.myhistory
history 50 > > ~/.myhistory

pwd -P: 顯示絕對路徑
mkdir [-pm]:可遞歸創(chuàng)建 mkdir -p /home/user/test, -m自定義權(quán)限
rmdir -p可以連同上級目錄一起刪除
more:

  • 空格鍵:下翻一頁
  • 回車:下翻一行
  • /string: 搜索字符串
  • :f: 顯示文檔名及顯示的行數(shù)
  • q: 離開more
  • b:往回翻頁,只對文件有效
    取文件的11-20行:
    head -n 20 /file | tail -n 10

尋找文件命令:
find速度慢,whereis和locate利用linux數(shù)據(jù)庫文件進(jìn)行搜索,比find快很多。

  1. whereis [-bmsu] filename
    -b: 只找binary格式的文件
    -m: 只找在說明檔manual路徑下的文件
    -s: 只找source來源文件
    -u: 搜尋不在上述三個項(xiàng)目當(dāng)中的其他特殊文件
  2. locate [-ir] filename (locate依據(jù)/var/lib/mlocate內(nèi)的數(shù)據(jù)庫記載來搜索的,有時候需要升級數(shù)據(jù)庫來更新updatedb,updatedb會根據(jù)/etc/updatedb.conf的配置去搜尋系統(tǒng)硬盤內(nèi)的文件名,并升級/var/lib/mlocate內(nèi)的數(shù)據(jù)庫文件)
    -i: 忽略大小寫
  3. find [path] [option] [action]
    -mtime n: n為數(shù)字,表示n天之前的一天內(nèi)被更改過的文件,0代表當(dāng)前時間
find / -mtime 0 #24小時之內(nèi)被更新過的文件
find / -mtime 3 #3天之前24小時被更新過的文件

-mtime +n: 列出n天之前(不包括n)被更改過的文件
-mtime -n: 列出n天之后(包括n)被更改過的文件
-newer file:file為已存在文件,列出比它更新的文件
-user username: 列出某用戶的所有文件
-nouser:列出不屬于系統(tǒng)任何人的文件
-name file:搜索某個文件名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • which 查看可執(zhí)行文件的位置 命令格式:which 可執(zhí)行文件名稱 命令功能:which指令會在PATH變量指...
    upupSue閱讀 787評論 0 1
  • 命令描述 此處要介紹的相關(guān)命令共有29個關(guān)于文件與目錄管理的命令有9個,分別是cd、ls、pwd、mkdir、rm...
    鏡下塵埃閱讀 783評論 1 8
  • Linux指令大全 1.cat 使用權(quán)限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help...
    muyang_js的簡書閱讀 2,918評論 0 12
  • 一盞孤燈,滿地空瓶, 她獨(dú)自一人坐在那里,仰頭痛飲,直到微醺。 到底因?yàn)槭裁矗屗绱藷o奈痛心? 不知是朦朧入夢,...
    味博士閱讀 394評論 0 0
  • 少年游 春色如水,芳容勝雪,素衣入花前。 似錦珠簾,丹青素染,一曲天籟翦。 輕聲問:寄愁何處?月落古山間。 客衣白...
    白箋閱讀 370評論 0 2

友情鏈接更多精彩內(nèi)容