色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

Linux中經(jīng)常使用的命令常見用法演示

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-06-13 09:53 ? 次閱讀

使用 Linux 系統(tǒng)的開發(fā)者,很多人都有自己喜歡的系統(tǒng)命令,下面這個幾個命令令是我平常用的比較多的,分享一下。

不會教科書般的羅列每個指令的詳細(xì)用法,只是把日常開發(fā)過程中的一些場景下,經(jīng)常使用的命令常見用法進(jìn)行演示。


No.1 grep

grep、awk、sed 這三個指令,作為 Linux 系統(tǒng)中文本處理的三大法寶,我最喜歡、最常用的就是 grep 指令,沒有之一!

它的基本用法是:

grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]...  [-f FILE]...  [FILE...]

看起來有那么的選項,我最常用的是這 2場景

1. 在一個文件或者文件夾中,查找指定的字符串:

grep -rni "pthread" *

-r: 遞歸查找;
-n:打印行號;
-i: 不區(qū)分大小寫;

2. 查看某個進(jìn)程的相關(guān)信息,例如:進(jìn)程 ID

$ ps -aux | grep bash 
root  4681  0.0  0.1  24892  5912 pts/3    Ss   10:10   0:00 bash
root 18052  0.0  0.0  15968   960 pts/3    S+   13:38   0:00 grep --color=auto bash

可以看到,結(jié)果中出現(xiàn)了 grep 這個指令自身的進(jìn)程信息,可以通過 -v 選項過濾掉它:

$ ps -aux | grep bash | grep -v grep
root  4681  0.0  0.1  24892  5912 pts/3    Ss   10:10   0:00 bash

最后,再結(jié)合 awk 命令,就可以把進(jìn)程ID 4681 提取出來了:

$ ps -aux | grep bash | grep -v grep | awk  '{print $2}'
4681

在一些腳本工具中,這樣的用法還是很常見的。

例如:在一些守護(hù)進(jìn)程的啟動腳本中,都會利用這條指令來判斷:當(dāng)前系統(tǒng)中是否已經(jīng)有一個實例正在運行了。


No.2 q

看到這個指令,您一定會疑惑:僅僅一個字母 q,這是何方神圣?

Linux 系統(tǒng)中壓根就沒有這個命令!

是的,這個字母僅僅是一個 alias(別名)。

我有很強的強迫癥,在終端窗口執(zhí)行一條命令的時候,我經(jīng)常會需要確認(rèn)指令是否執(zhí)行正確。

Linux 系統(tǒng)中,$? 用來表示最后命令的退出狀態(tài): 0 表示沒有錯誤,其他表示錯誤。

因此,在執(zhí)行完一條命令后,可以執(zhí)行下面的這條命令來確認(rèn):剛才執(zhí)行的那條命令是否成功了

echo $?

強迫癥的問題是解決了,但是由于這條指令使用的太頻繁了,需要敲那么多的字符,還要結(jié)合 shift 按鍵。

于是我就給它設(shè)置了一個 alias(別名)。

設(shè)置 alias 的方法估計都知道啊,就是在個人家目錄下的 .bashrc 中修改。

我的 alias 設(shè)置如下:

alias ll='ls -lF'
alias la='ls -A'
alias l='ls -CF'
alias q='echo $?'

這樣的話,每次執(zhí)行完一條系統(tǒng)命令之后,隨手敲一個字母 q 就可以檢查執(zhí)行結(jié)果了,省時省力!


No.3 pwd

可能有些人會奇:pwd 怎么會是常用命令呢?它的作用是打印當(dāng)前路徑,在命令行窗口中,路徑是一直顯示出來的啊!

沒錯,在默認(rèn)的情況下,當(dāng)前所處的路徑信息,是直接顯示出來的,如下:

root@ubuntu:~/OpenSource/linux-4.15/samples/watchdog$

但是這里有一個小小的問題:如果終端窗口的大小并不是全屏的,如果目錄層次比較深,那么顯示的路徑信息就會特別的長,這樣的話,本來就不太寬的終端窗口就顯得很擠,輸入命令的時候很可能要折返到下一行去

于是,我就喜歡把這個顯示的路徑給它縮短:只顯示最后一個文件目錄,如下:

root@ubuntu:watchdog$

也就是把前面的 ~/OpenSource/linux-4.15/samples 路徑信息都丟掉,這樣的話,終端窗口中就有足夠的空間來輸入了。

如果某個時候,我想看一下當(dāng)前目錄的全路徑,那么就執(zhí)行一下 pwd 這個指令就可以了。

這就是我為什么經(jīng)常使用 pwd 命令的原因。

那么,應(yīng)該怎么樣來去掉顯示路徑中的目錄信息呢?

還是修改家目錄下.bashrc 文件:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}[?33[01;32m]u@h[?33[00m]:[?33[01;34m]w[?33[00m]$ '
else
    PS1='${debian_chroot:+($debian_chroot)}u@h:w$ '
fi

找到上面這幾行內(nèi)容,把最后面的 w 修改成 W 即可,也就是小寫的 w 改成大寫的 W

如果你正在測試,請不要忘記使用 source .bashrc 或者 . .bashrc 命令來重新加載哦!


No.4 find

find 命令用來查找符合指定條件的文件。

我最常用的場景就是:查找指定名稱或類型的文件了。

特別是在寫 Makefile 的時候,經(jīng)常遇到找不到頭文件的錯誤,于是就可以這樣查找:

find ./ -name xxx.h

或者按照后綴名來查找文件:

find ./ -name *.txt

No.5 history

history 用來記錄執(zhí)行過的命令,如果您很少使用這條命令,那說明您的記憶力很好!

但是對于我這樣忘性比較好的人來說,history 命令簡直太有用了!

我在命令行窗口中測試某段代碼,經(jīng)常需要反復(fù)的做這樣的排錯過程:修改代碼-編譯-執(zhí)行-查看結(jié)果

如果編譯指令比較長,我相信沒有誰樂意一個字符一個字符的敲鍵盤,大部分是使用 history 列出最近使用的命令,然后復(fù)制、粘貼一下。

查看歷史命令的時候,由于輸出太多,可以結(jié)合 grep 指令,只顯示我們感興趣的命令記錄,例如:

history | grep gcc

那么,結(jié)果中將只會顯示帶有 gcc 字眼的那些命令。

另外,還有一個小技巧:在不查看 history 的情況下,快速的輸入之前執(zhí)行過的某條指令(有一個前提條件:你必須能記住那條指令中剛開始的幾個字符)。

比如,之前已經(jīng)執(zhí)行過這條指令:

gcc -m32 -Wl,--export-dynamic -o main main.c -ldl

幾分鐘之后,我想再次執(zhí)行這條命令,可以這么做:

同時按下 control 和 r 這兩個按鍵,此時輸入光標(biāo)處就會變成這樣:

root@ubuntu:tmp$ 
(reverse-i-search)`':

這時,可以輸入命令最前面的幾個字母:gcc -m,此時終端就會到歷史命令記錄中去查找,輸入的字符越多,匹配就越精確。

如果輸入的字符,精準(zhǔn)的匹配到了某個歷史命令記錄,它就立刻把這條命令完整的顯示出來。

這個小技巧真的很好用,推薦您試一下!


No.6 od

od 命令用來輸出給定文件的內(nèi)容。

輸入文件內(nèi)容的指令有很多了:catheadtail等等。但是 od 命令主要用來查看文件的二進(jìn)制編碼,顯示的時候可以以指定的進(jìn)制進(jìn)行顯示。

在之前的一篇拆解 ELF 格式的文章中:Linux系統(tǒng)中編譯、鏈接的基石-ELF文件:扒開它的層層外衣,從字節(jié)碼的粒度來探索,我就大量的使用了 od 指令,在一個 ELF 格式的文件中,從任意地址開始、讀取任意長度的字節(jié)碼。

例如下面這條指令:讀取 main 文件中最開始的 52 個字節(jié)的內(nèi)容:

od -Ax -t x1 -N 52 main

mainLinux 系統(tǒng)中的可執(zhí)行程序,當(dāng)然也就是 ELF 格式了。

od 指令中使用到了下面這幾個選項:

-Ax: 顯示地址的時候,用十六進(jìn)制來表示。如果使用 -Ad,意思就是用十進(jìn)制來顯示地址;

-t -x1: 顯示字節(jié)碼內(nèi)容的時候,使用十六進(jìn)制(x),每次顯示一個字節(jié)(1);

-N 52:只需要讀取 52 個字節(jié);

adc5c834-eaac-11ec-ba43-dac502259ad0.png

可以看出 main 文件最開始的四個字節(jié):7f 是 ELF 文件的魔數(shù),45 4c 46 是 "ELF" 3個字母。

因此,使用 od 命令來分析二進(jìn)制文件的內(nèi)容,還是很有威力的!


No.7 for

for 這個命令,常常出現(xiàn)在腳本文件中,用來處理循環(huán)的情況,比如:遍歷文件、計數(shù),例如:

#!/bin/bash  
  
for file in /tmp/*;  
do  
echo $file;  
done

我在使用 for 的時候,最常用的場景是給很多相同后綴的文件,按順序進(jìn)行重命名

i=0;for x in *.mp4; do n=$(printf "%02d" "$i"); mv $x $n.mp4; let i=i+1; done

這里是按照純數(shù)字來重命名的,也可以根據(jù)需要加上前綴等字符串。

這里還有一個小問題需要注意一下:如果文件名中存在空格mv 指令就會提示錯誤

mv: target 'xxx' is not a directory

解決方法是:在終端窗口中,先執(zhí)行一下這個命令:

IFS='

'

然后,再執(zhí)行批量重命名命令,就不會出現(xiàn)錯誤了!

當(dāng)然,更好的方式是,把這幾個命令寫成一個腳本文件,實現(xiàn)對任意類型的文件進(jìn)行批量重命名功能,然后放在自己的私有 bin 目錄下,隨取隨用。

別擔(dān)心,我已經(jīng)幫你寫好了,如下所示(file_rename.sh):

#!/bin/bash

if [ $# -eq 0 ];then
sufix=mp4
else
sufix=$1
fi

IFS='

'

i=0;for x in *.$sufix; do n=$(printf "%02d" "$i"); mv $x $n.$sufix; let i=i+1; done

只要執(zhí)行 ./file_rename.sh,就會默認(rèn)把當(dāng)前目錄下所有 mp4 文件進(jìn)行重命名。

如果是其他類型的文件,那就傳遞一個參數(shù)進(jìn)去。

比如:如果要批量對 png 格式的圖片進(jìn)行重命名,那就執(zhí)行 ./file_rename.sh png,最后的 png 是傳入的參數(shù),對應(yīng)于腳本文件中的 $1 變量。


審核編輯 :李倩

聲明:本文內(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

    文章

    11312

    瀏覽量

    209705
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    685

    瀏覽量

    22043

原文標(biāo)題:這 7 個 Linux 命令,你是怎么來使用的?

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Linux find命令用法

    可以很肯定地說,find 命令Linux 后臺開發(fā)人員必須熟知的操作之一,除非您使用的是 Windows Server。
    發(fā)表于 10-12 11:27 ?569次閱讀

    linux中comm命令用法

    linux系統(tǒng)中comm命令用法詳解 linux系統(tǒng)下的comm命令是一個非常實用的文件對比命令
    發(fā)表于 07-04 08:22

    Linux常見命令有哪些

    。3.2 Linux常見命令本節(jié)對進(jìn)行嵌入式Linux開發(fā)經(jīng)常會用到的一些操作和相關(guān)命令,進(jìn)一步
    發(fā)表于 10-28 10:06

    Linux中的35個find命令用法

    Linux查找命令Linux系統(tǒng)中最重要和最常用的命令之一。查找用于根據(jù)與參數(shù)匹配的文件指定的條件來搜索和查找文件和目錄列表的命令
    的頭像 發(fā)表于 02-02 16:53 ?3674次閱讀
    <b class='flag-5'>Linux</b>中的35個find<b class='flag-5'>命令</b><b class='flag-5'>用法</b>

    詳談Linux的find命令

    find 是 Linux 下最有用的命令之一,熟練的使用它對于提高工作效率很有幫助。下面介紹它的一些用法
    的頭像 發(fā)表于 06-23 09:43 ?3101次閱讀
    詳談<b class='flag-5'>Linux</b>的find<b class='flag-5'>命令</b>

    linux的scp命令怎么用_linux的grep命令用法

    linux中,scp命令用于Linux之間復(fù)制文件和目錄,即在一臺Linux服務(wù)器中將本地的文件上傳到一臺遠(yuǎn)端服務(wù)器,或?qū)⑦h(yuǎn)端服務(wù)器的文件下載到本地。scp是
    發(fā)表于 09-04 15:36 ?4436次閱讀
    <b class='flag-5'>linux</b>的scp<b class='flag-5'>命令</b>怎么用_<b class='flag-5'>linux</b>的grep<b class='flag-5'>命令</b><b class='flag-5'>用法</b>

    Linux運維經(jīng)常使用的40個命令總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux運維經(jīng)常使用的40個命令總結(jié)
    的頭像 發(fā)表于 11-22 11:14 ?2572次閱讀

    嵌入式Linux開發(fā)教程:Linux常見命令(上篇)

    。3.2 Linux常見命令本節(jié)對進(jìn)行嵌入式Linux開發(fā)經(jīng)常會用到的一些操作和相關(guān)命令,進(jìn)一步
    發(fā)表于 10-21 13:36 ?11次下載
    嵌入式<b class='flag-5'>Linux</b>開發(fā)教程:<b class='flag-5'>Linux</b><b class='flag-5'>常見</b><b class='flag-5'>命令</b>(上篇)

    Ping命令的7個基礎(chǔ)用法

    IT行業(yè)中ping命令經(jīng)常被用到,今天整理了一下關(guān)于網(wǎng)絡(luò)基礎(chǔ)知識中的網(wǎng)絡(luò)命令ping命令在項目中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來詳細(xì)看下Ping
    的頭像 發(fā)表于 10-12 09:16 ?3984次閱讀

    如何在Linux使用touch命令

    Linux touch命令用于更改文件時間戳。但touch命令的最常見用法是創(chuàng)建文件。
    的頭像 發(fā)表于 12-05 17:21 ?2088次閱讀

    Linux系統(tǒng)維護(hù)命令用法

    Linux有很多命令,每個命令基本可以用一篇文章介紹,本文僅簡單總結(jié)一些常用系統(tǒng)維護(hù)命令用法
    的頭像 發(fā)表于 04-17 14:57 ?1060次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)維護(hù)<b class='flag-5'>命令</b>的<b class='flag-5'>用法</b>

    linux查看物理接口的命令

    Linux操作系統(tǒng)提供了多種命令和工具來查看物理接口。在這篇文章中,我們將詳細(xì)介紹一些最常用和常見命令,以及它們的用法和輸出。 ifcon
    的頭像 發(fā)表于 11-16 16:48 ?1313次閱讀

    linux常用命令用法

    Linux是一種開源的操作系統(tǒng),它以穩(wěn)定、高效和安全的特點受到廣大用戶的喜愛。掌握Linux的常用命令及其用法對于操作系統(tǒng)的管理和開發(fā)都至關(guān)重要。本文將詳盡、詳實、細(xì)致地介紹
    的頭像 發(fā)表于 11-17 09:47 ?675次閱讀

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

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

    Linux lsof命令的基本用法

    linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令
    的頭像 發(fā)表于 10-23 11:52 ?291次閱讀
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本<b class='flag-5'>用法</b>
    主站蜘蛛池模板: 福利啪啪吧| 精品四虎国产在免费观看| china18一19 第一次| qvod 在线| 国产欧美一区二区精品久久久| 久久操热在线视频精品| 女教师の诱惑| 午夜家庭影院| 91精品在线国产| 国产精品青青草原app大全| 久久亚洲精品成人| 手机在线成人精品视频网| 浴室里强摁做开腿呻吟的漫画男男| YELLOW日本动漫免费动漫| 江苏电台在线收听| 日本69xx 老师| 伊人天天躁夜夜躁狠狠| 姑娘日本大全免费观看版中文翻译| 久久999视频| 骚妇BB双飞插| 综合伊人久久| 国产午夜伦鲁鲁| 欧美一区二区三区男同| 亚洲色无码播放| 怪物高h粗暴无尽| 理论片午午伦夜理片影院| 午夜办公室在线观看高清电影| 99精品久久| 久久99热只有频精品| 舔1V1高H糙汉| 99视频精品全部免费观看| 精品AV国产一区二区三区| 色女孩综合| 99re在这里只有精品| 精品国产成人系列| 手机在线播放成人亚洲影院电影| 51xx午夜影视福利| 国产在线精彩亚洲久久| 软糯白嫩双性受h| 99久久精品费精品蜜臀AV| 精品性影院一区二区三区内射|