linux高階命令

2021-10-22 19:51:33 字數 3751 閱讀 9539

查詢檔案內容:grep:

grep是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

grep 能將包含關鍵字所在的一行內容都輸出出來,所以grep又叫行資料查詢;

命令格式:

grep

[-acinv]

[--color=auto]

'搜尋字串' 檔名

常用例子:

ps -ef |

grep ***

選項與引數:-a :將 binary 檔案以 text 檔案的方式搜尋資料

-c :計算找到 『搜尋字串』 的次數,如果同一行有相同的,則視為同一次數

-i :忽略大小寫的不同,大小寫視為相同

-n :順便輸出行號

-v :反向選擇,亦即 顯示出沒有 『搜尋字串』 內容的那一行!

-e : 按照正規表示式匹配查詢

檔案查詢命令 find 命令:

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。

命令格式:

find 檔案目錄 [選項]
命令選項:-name 檔名 : 按照檔名查詢檔案。

-perm 許可權 : 按照檔案許可權來查詢檔案。

-user uid或使用者名稱 :按照檔案屬主來查詢檔案。

-group gid或組名 :按照檔案所屬的組來查詢檔案。

-type 型別 :查詢某一型別的檔案,諸如:

b - 塊裝置檔案。

d - 目錄。

c - 字元裝置檔案。

p - 管道檔案。

l - 符號鏈結檔案。

f - 普通檔案。

常用例子:

find / -name hello.txt
3.locate命令locate讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案,其方法是先建立乙個包括系統內所有檔名稱及路徑的資料庫,之後當尋找時之需查詢這個資料庫(/var/lib/locatedb)。

linux系統自動建立這個資料庫,預設每天自動更新一次,所以使用locate命令查不到最新變動過的檔案。為了避免這種情況,可以在使用locate之前先使用updatedb命令,手動更新資料庫。

如果是精簡版centos系統需要安裝locate命令

yum -y install mlocate
updatedb命令來建立locate命令依賴的資料庫

updatedb
使用例項:

#查詢/etc路徑下面以sh開頭的檔案

locate /etc/sh

#查詢和pwd相關的所有檔案

locate

pwd

4.查詢特定程式:whereiswhereis命令只能用於程式名的搜尋,而且只搜尋二進位制檔案(引數-b)、man說明檔案(引數-m)和源**檔案(引數-s)。如果省略引數,則返回所有資訊。

和find相比,whereis查詢的速度非常快,這是因為linux系統會將 系統內的所有檔案都記錄在乙個資料庫檔案中,當使用whereis時,會從資料庫中查詢資料,而不是像find命令那樣,通過遍歷硬碟來查詢,效率自然會很高。

查詢系統中可執行檔案、man說明檔案、源**檔案。

命令格式:

whereis [引數] 檔名
引數:-b 定位可執行檔案。

-m 定位幫助檔案。

-s 定位源**檔案。

5.查詢可執行檔案:which

which命令的作用是,在path變數指定的路徑中,搜尋某個系統命令的位置,並且返回第乙個搜尋結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪乙個位置的命令。

主要用於定位可執行檔案

命令格式:

which 可執行檔案
1.su與sudosu 命令 使用者切換

su命令用於切換當前使用者身份到其他使用者身份,變更時須輸入所要變更的使用者帳號與密碼。

命令格式:

su [-]

[要切換的使用者名稱]

選項:sudo是為所有想使用root許可權的普通使用者設計的,可以讓普通使用者具有零時使用root許可權的權力。只需輸入自己賬戶密碼即可。當然這個普通使用者必須在/etc/sudoers檔案中有配置項,才有使用sudo的權利。

visudo
開啟/etc/sudoers

新增hadoop使用者操作許可權

hadoop all=(all) all
第乙個all指網路中的主機,我們可以指定主機名,這樣hadoop只可以在此主機上執行後面的命令。第二個括號裡的all是指目標使用者,也就是以誰的身份去執行。最後乙個all是指命令。

例如:讓hadoop使用者在nn1主機上以allen的身份執行kill命令,就這樣編寫配置檔案:

hadoop nn1=(allen)

/bin/

kill

如果執行時可以免密輸入

hadoop nn1=nopasswd: /bin/

kill

,/bin/

cat

service iptables status #檢視防火牆狀態

service iptables stop #關閉防火牆

service --status-all #檢視系統的後台服務程序

service sshd status #檢視指定的後台服務程序狀態

chkconfig iptables on #配置防火牆開機開啟

chkconfig iptables off #配置防火牆開機關閉

netstat 是網路狀態檢視命令

命令格式:

netstat [選項]
選項:-a:列出所有網路狀態,包括 socket 程式;

-c秒數:指定每隔幾秒重新整理一次網路狀態;

-n:使用 ip 位址和埠號顯示,不使用網域名稱與服務名;

-p:顯示 pid 和程式名;

-t:顯示使用 tcp 協議埠的連線狀況;

-u:顯示使用 udp 協議埠的連線狀況;

-i:僅顯示監聽狀態的連線;

-r:顯示路由表;

使用例項:

#檢視伺服器上面所有正在執行的服務,以及對應埠

netstat -nltp

linux高階命令

二 許可權的修改組管理 三 內容檢視,壓縮,解壓,檔案大小的檢視 四 vi 或者vim編輯器 五 管道 查詢 grep find locate wa 六 輸出及顯示 七 主機名hostname和hosts檔案的操作 八 軟體的安裝和解除安裝 九 jdk的安裝和配置 十 history的操作和幫助文件...

Linux高階命令

當我們熟悉一定的基礎命令時,我們往往會接觸到一些高階的命令操作,或者說是陌生的命令操作。2.1.程序除錯 gdb 程式互動除錯 gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式設計師,gdb是必不可少的工具...

Linux命令高階

nl命令在linux系統中用來計算檔案中行號。nl 可以將輸出的檔案內容自動的加上行號!其預設的結果與 cat n 有點不太一樣,nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能 ocate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立乙個包括系統內所...