一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實用 Linux 命令行使用技巧集錦

馬哥Linux運維 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-21 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下面介紹的都是一些命令行工具,這些工具在幾位回答者的日常工作中都很有用。對于任何不了解的命令,請使用“man “查看,或者使用Google。有些命令需要先用 yum, apt-get install 命令安裝。

1、基本命令

了解基本的bash

通讀整個bash man page.

學(xué)習(xí)VIM

Linux系統(tǒng)上,雖然你有Emacs和Eclipse,但是VIM仍然是無出其右的利器。

了解SSH,基本的無密碼驗證方式。

例如通過ssh-agent, ssh-add等。 《靈犀志趣》平時都使用如下腳本完成無密碼驗證,省事省力。

執(zhí)行方式 sh nopasswd USER REMOTE_HOST

執(zhí)行此腳本前,請確認(rèn):

—本機上已有 id_dsa.pub ,若無。 使用命令 ssh-keygen -t dsa 獲得。

—遠(yuǎn)程機上登錄用戶家目錄下,已經(jīng)有 .ssh 文件夾,若無創(chuàng)建之。

$ cat nopasswd #!/bin/shscp ~/.ssh/id_dsa.pub $1@$2:~/ssh $1@$2 " touch ~/.ssh/authorized_keys ; cat ~/id_dsa.pub >> ~/.ssh/authorized_keys; chmod 644 ~/.ssh/authorized_keys; exit"

熟悉Bash中常用的任務(wù)管理命令

&,Ctrl-Z,Ctrl-C,jobs,fg,bg,kill 等。

基本的文件管理命令

ls, ls-l, less, head, tail, tail -f, ln, ln -s, chmod, chown, du, du -sk *, df, mount

基本的網(wǎng)絡(luò)管理命令

ipconfig, ifconfig, dig

熟悉正則表達式,以及 grep,egrep用到的選項

-o, -A, -B

軟件安裝命令了解

apt-get 和 yum

cat -n:可以幫助顯示行號。

2 、一些表達式

!!

再次執(zhí)行上一條命令

!$

上一條命令的最后一個單詞

{a..b}

按照從a到b順序的一個數(shù)字列表

{a,b,c}

三個詞a,b,c. 可以這樣使用 touch /tmp/{foo,bar,baz}

{$1-$9}

執(zhí)行shell腳本時的命令行參數(shù)

$0

正在執(zhí)行的命令名稱

$#

當(dāng)前啟動的命令中傳入的參數(shù)個數(shù)

$?

上一條命令的執(zhí)行返回值。

$$

該shell的進程號。

$*

從$1開始,啟動該shell腳本的所有參數(shù)。

3 、日常使用命令

Ctrl-R

在bash中, Ctrl-R用于在歷史命令中搜索

Ctrl-W, Ctrl-U, Alt-BackSpace

bash中,Ctrl-W刪除最后一個詞,Ctrl-U刪除最后一行, Alt-BackSpace 刪除光標(biāo)前的一個詞 ;

man readline 中包含了大量bash中的默認(rèn)熱鍵綁定;

cd -

返回前一個工作路徑

xargs

非常強大的命令。如果你還不確定是否能正確的執(zhí)行任務(wù),可以先用xargs echo查看。下面是一個用該功能的例子:

find . -name *.py | xargs grep some_functioncat hosts | xargs -l {} ssh root@{} hostname

parallel

一個更加強大的命令. 可以實現(xiàn)并行執(zhí)行任務(wù),并可以分割輸入文件, 指定多個節(jié)點同時運行命令等功能

pstree -p

打用進程樹的得力工具

pgrep,pkill

使用名字查找進程,或者直接向指定名字的進程發(fā)送信號

—了解用戶能發(fā)送給進程的一些信號。比如 kill -STOP [pid] ,讓pid進程掛起。

nohup,disown,screen, tmux

當(dāng)你需要將進程永遠(yuǎn)處在后臺運行是,這兩個命令很有用。

lsof, netstat -lntp

查詢當(dāng)前什么進程在監(jiān)聽什么端口。

set

在bash腳本中, 使用 set -x 獲得debug輸出,使用 set -e 獲得錯誤輸出。

;分號用于開啟一個子shell并運行至結(jié)束后關(guān)閉。 例如:

#在當(dāng)前路徑下執(zhí)行一些命令(cd /some/other/dir; other-command)# 工作路徑仍然是當(dāng)前目錄

了解shell中的多種參數(shù)表達式

${name:?error message}

檢查某個變量是否存在,若不存在輸出 error message。

${var%suffix}, ${var#prefix}

輸出var變量除前綴或者后綴外的部分。如下面的代碼輸出為foo.txt.

var = foo.pdfecho ${var%pdf}.txt

<,>

輸入輸出重定向操作。

some_command > logfile 2>&1

將 some_command 運行過程中的標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出都輸出到文件logfile中。

man ascii

獲得一個好用的ASCII表格,包含10進制和16進制的值。

screen,dtach

在遠(yuǎn)程ssh繪畫中,使用這兩個命令可以保存你的會話,避免因為網(wǎng)絡(luò)問題導(dǎo)致中斷。

curl, curl -l, wget

在web頁面調(diào)試中,這幾個命令能幫你下載網(wǎng)頁代碼,很有用。

lynx -dump -stdin

將HTML轉(zhuǎn)換為文本

xmlstarlet

需要處理XML時,這個命令很有用。

ssh -L, ssh -D

需要利用遠(yuǎn)程服務(wù)器訪問網(wǎng)頁時,這命令可以幫助你在遠(yuǎn)程服務(wù)器和你的機器之間建立ssh 隧道。

ssh連接優(yōu)化

如下配置能幫你避免鏈接丟失,不需要每次都輸入yes確認(rèn)和遠(yuǎn)程服務(wù)器的鏈接,以及在鏈接中啟用壓縮。建議將它放到.ssh/config中。

TCPKeepAlive=yesServerAliveInterval=15ServerAliveCountMax=6StrictHostKeyChecking=noCompression=yesForwardAgent=yes

在正輸入的命令前加#

命令已經(jīng)輸入一半,忽然間改主意想少收運行時,可以使用 Alt-# 在命令前加‘#’,將整個命令變成注釋。這樣你稍后就能在命令歷史中找到該命令了。

cron

可以幫助你制定一些定時執(zhí)行的計劃任務(wù)。

Ctrl-S Ctrl-C

將一不小心需要大量輸出文本時,依次輸入這兩個操作,比單純的頻繁按Ctrl-C能更快讓程序終止。

4、 數(shù)據(jù)處理

sort,uniq, uniq -u, uniq -d

了解這些排序命令

cut,paste, join

了解這些文本文件的維護工具。很多人都在使用cut后,忘記join

使用sort/uniq進行集合的交、并、補運算=

假設(shè)a和b是兩個文本文件,其中的行都是唯一的。

如下幾個命令可以快速的實現(xiàn)一些集合操作。

cat a b | sort | uniq > c # c is a union bcat a b | sort | uniq -d > c # c is a intersect bcat a b b | sort | uniq -u > c # c is set difference a - b

使用LC_ALL=C

Linux中有關(guān)locale的設(shè)置會影響大量的命令行工具,其中包括排序工具。多數(shù)安裝的Linux系統(tǒng)都將LANG或者其他的locale默認(rèn)設(shè)置成US English。但這可能會導(dǎo)致排序及其他命令慢上好幾倍。因此export LCALL=C能避免使用i18n形式處理數(shù)據(jù),帶來性能提升。

awk,sed

這兩個工具能實現(xiàn)復(fù)雜的數(shù)據(jù)替換和修改。

例如,下面的命令實現(xiàn)對文本文件中低三列的數(shù)據(jù)求總和。使用shell完成此運算比用Python快3倍。

awk '{ x += $3 } END { print x }'

shuf

該命令可以從將一個文件中的行混洗,或者從中隨機選出一些行。

sort

了解sort的常用選項(-t,-k, -s)如何工作。 注意-k1,1只會排序第一列,而-k1會根據(jù)整個行排序。 -s能實現(xiàn)穩(wěn)定排序。

例如,先使用第二個域排序,再按照域一排序,可以用這段命令實現(xiàn):

cat INPUT_FILE | sort -k1,1 | sort -s -k2,2

制表符的輸入

在bash的命令行中,如若需要輸入制表符,可以使用 Ctrl-V 或者 $’ ’ 實現(xiàn)

hd,bvi

對于二進制文件,這兩個命令分別實現(xiàn)16進制抽取,二進制編輯操作。

strings,grep

可以幫助在二進制文件中尋找文本。

iconv,uconv

可以幫助轉(zhuǎn)換文本編碼

split,csplit

分別可以實現(xiàn)將文件按照大小分割,以及按照特定的模式分割。

5 、系統(tǒng)調(diào)試

iostat,netstat,top,atop,htop,dstat

可以幫助了解硬盤,CPU,內(nèi)存,網(wǎng)絡(luò)的狀態(tài)。這能幫你對系統(tǒng)正在發(fā)生的情況有個第一認(rèn)識。

free,vmstat

如果想了解內(nèi)存的狀態(tài),這兩個命令很重要。其中cached是Linux內(nèi)核中文件緩存的大小。

kill -3

在調(diào)試Java程序時,使用此命令,可以在stderr/logs中找到完整的stack trace,堆信息(包含垃圾收集的細(xì)節(jié)).

mtr,traceroute

能夠幫忙找到網(wǎng)絡(luò)問題,前者比traceroute更好用。

iftop,nethogs

這兩個命令可以辦剛找出哪個端口或者進程占用了多少網(wǎng)絡(luò)帶寬。

ab,siege

這個Apache自帶的工具能幫助快速檢查web服務(wù)器的性能。

wireshark,tshark

是進行更高級的網(wǎng)絡(luò)調(diào)試的得力工具。

strace,ltrace

這兩個命令能幫你在一無所知的情況下,對程序運行失敗,假死,崩潰等問題帶來一些線索。

另外,他們還能幫忙發(fā)現(xiàn)一些性能問題。比如 -c選項可以做profiling;-p選項可以掛到某個指定的進程上。

ldd

檢查共享庫的情況

gdb

了解如何利用GDB連接到一個正在運行的進程,并且得到其stack trace。

/proc/

在做現(xiàn)場調(diào)試的時候很有用。比如 /proc/cpuinfo, /proc/XXX/cwd, /proc/XXX/exe, /proc/XXX/fd/, /proc/XXX/smaps

sar

在需要判斷為何過去某個時間系統(tǒng)會出錯時,這個命令能顯示CPU,內(nèi)存和網(wǎng)絡(luò)的歷史情況。

stap, perf

當(dāng)需要更深的分析系統(tǒng),以及性能情況時,這兩個工具很有用。

dmesg

當(dāng)系統(tǒng)出現(xiàn)一些很反常的現(xiàn)象時,比如可能是硬件或驅(qū)動問題時,這個很管用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213823
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    605

    瀏覽量

    28617
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    81

    瀏覽量

    10574

原文標(biāo)題:實用 Linux 命令行使用技巧集錦

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用規(guī)則Powercfg命令行使用的語法有哪些

    /測試和診斷/Powercfg命令行選項組件,使用 powercfg.exe 來控制電源計劃(也稱為電源方案),以使用可用的睡眠狀態(tài)、控制單個設(shè)備的電源狀態(tài),以及分析系統(tǒng)中常見的能效和電池壽命問題。使用規(guī)則Powercfg 命令行使用以下語法:powercfg /opti
    發(fā)表于 01-03 07:15

    caxa命令行中的應(yīng)用

    caxa命令行中的應(yīng)用 命令行對于大多用戶來說往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2422次閱讀

    三層工業(yè)以太網(wǎng)交換機命令行使用指南v1.0

    三層工業(yè)以太網(wǎng)交換機命令行使用指南v1.0
    發(fā)表于 12-16 12:51 ?0次下載

    linux 命令行使用技巧

    我們每天使用許多Linux命令行。我們從網(wǎng)上知道一些技巧,但如果我們不去練習(xí),我們就有可能忘記。我決定做一個關(guān)于技巧和竅門的列表,這些技巧和竅門對于你來說可能是已經(jīng)忘記的,或者可能是全新的。 輸出
    發(fā)表于 09-28 15:54 ?0次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>命令行使</b>用技巧

    Linux圖形界面的原理與構(gòu)成和Linux命令行和vi編輯器的使用手冊

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux基礎(chǔ)教案主要內(nèi)容是:(1) 了解Linux圖形界面的原理與構(gòu)成;(2)掌握Linux命令行操作,包括:命令行
    發(fā)表于 10-16 14:49 ?6次下載
    <b class='flag-5'>Linux</b>圖形界面的原理與構(gòu)成和<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>和vi編輯器的使用手冊

    能提高效率的Linux命令行技巧

    巧妙的 Linux 命令行技巧能讓你節(jié)省時間、避免出錯,還能讓你記住和復(fù)用各種復(fù)雜的命令,專注在需要做的事情本身,而不是你要怎么做。以下介紹一些好用的命令行技巧。
    的頭像 發(fā)表于 02-02 17:39 ?2413次閱讀
    能提高效率的<b class='flag-5'>Linux</b><b class='flag-5'>命令行</b>技巧

    Linux 命令行教程好書推薦

    今天跟大家推薦個 Linux 命令行教程:《The Linux Command Line》,中文譯名:《Linux 命令行大全》。 該書作者
    的頭像 發(fā)表于 02-14 09:25 ?1742次閱讀

    Linux下播放器開發(fā)-Mplayer命令行使用介紹

    前面文章介紹了Linux下Mplayer播放的交叉編譯、移植,在命令行上成功運行了mplayer播放器,完成了視頻播放。mplayer支持二次開發(fā),也支持命令行上直接使用;如果在命令行
    的頭像 發(fā)表于 08-14 09:10 ?7513次閱讀

    Linux命令行與shell腳本編寫

    Linux命令行與shell腳本編寫
    發(fā)表于 01-11 16:50 ?4次下載

    linux命令行與shell編程實戰(zhàn)

    Linux命令行與Shell編程實戰(zhàn)主要涉及以下內(nèi)容: Linux命令行基礎(chǔ):學(xué)習(xí)Linux命令行
    的頭像 發(fā)表于 11-08 10:57 ?1091次閱讀

    linux虛擬機怎么調(diào)出命令行

    Linux虛擬機中調(diào)出命令行界面,可以通過以下步驟實現(xiàn): 打開虛擬機,進入到Linux系統(tǒng)。 在桌面或應(yīng)用菜單中找到終端或命令行圖標(biāo),點擊打開。 輸入
    的頭像 發(fā)表于 11-08 11:28 ?3710次閱讀

    linux切換到命令行模式

    Linux中,可以通過以下步驟切換到命令行模式: 打開終端??梢栽趹?yīng)用菜單中找到終端或命令行終端。 在終端中輸入命令“exit”或“l(fā)ogout”,然后按回車鍵。 系統(tǒng)會提示您輸入管
    的頭像 發(fā)表于 11-13 16:47 ?2251次閱讀

    linux虛擬機怎么調(diào)出命令行

    Linux虛擬機是一種模擬運行Linux操作系統(tǒng)的虛擬環(huán)境,它可以在Windows、Mac、Linux等主機系統(tǒng)上運行。在Linux虛擬機中,你可以通過終端或
    的頭像 發(fā)表于 11-17 09:55 ?4300次閱讀

    linux命令行運行步驟

    運行Linux命令行涉及以下步驟: 打開終端 在Linux系統(tǒng)中,打開命令行界面的方式有多種,最常見的是打開終端應(yīng)用程序。可以在應(yīng)用程序菜單中找到終端,點擊打開。 熟悉
    的頭像 發(fā)表于 11-17 10:18 ?1215次閱讀

    總結(jié)linux命令行的主要用法

    Linux命令行是一種在Linux操作系統(tǒng)中通過文本界面來執(zhí)行指令和管理系統(tǒng)的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務(wù)。本文將詳細(xì)介紹Linux
    的頭像 發(fā)表于 11-17 10:19 ?1025次閱讀