91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何去使用這幾個(gè)Linux命令?

FPGA之家 ? 來(lái)源:IOT物聯(lián)網(wǎng)小鎮(zhèn) ? 作者:道哥 ? 2021-06-15 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

No.1 grep

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

它的基本用法是:

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

看起來(lái)有那么的選項(xiàng),我最常用的是這 2 個(gè)場(chǎng)景:

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

grep -rni “pthread” *

-r: 遞歸查找;

-n:打印行號(hào);

-i: 不區(qū)分大小寫;

2. 查看某個(gè)進(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 這個(gè)指令自身的進(jìn)程信息,可以通過(guò) -v 選項(xiàng)過(guò)濾掉它:

$ 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 提取出來(lái)了:

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

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

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

No.2 q

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

Linux 系統(tǒng)中壓根就沒(méi)有這個(gè)命令!

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

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

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

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

echo $?

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

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

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

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

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

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

No.3 pwd

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

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

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

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

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

root@ubuntu:watchdog$

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

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

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

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

還是修改家目錄下的 .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。

如果你正在測(cè)試,請(qǐng)不要忘記使用 source .bashrc 或者 。 .bashrc 命令來(lái)重新加載哦!

No.4 find

find 命令用來(lái)查找符合指定條件的文件。

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

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

find 。/ -name xxx.h

或者按照后綴名來(lái)查找文件:

find 。/ -name *.txt

No.5 history

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

但是對(duì)于我這樣忘性比較好的人來(lái)說(shuō),history 命令簡(jiǎn)直太有用了!

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

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

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

history | grep gcc

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

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

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

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

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

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

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

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

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

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

No.6 od

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

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

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

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

od -Ax -t x1 -N 52 main

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

od 指令中使用到了下面這幾個(gè)選項(xiàng):

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

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

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

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

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

No.7 for

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

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

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

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

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

這里還有一個(gè)小問(wèn)題需要注意一下:如果文件名中存在空格,mv 指令就會(huì)提示錯(cuò)誤:

mv: target ’xxx‘ is not a directory

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

IFS=’ ‘

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

當(dāng)然,更好的方式是,把這幾個(gè)命令寫成一個(gè)腳本文件,實(shí)現(xiàn)對(duì)任意類型的文件進(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,就會(huì)默認(rèn)把當(dāng)前目錄下所有 mp4 文件進(jìn)行重命名。

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

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

責(zé)任編輯:lq6

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

    關(guān)注

    88

    文章

    11763

    瀏覽量

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

    關(guān)注

    5

    文章

    755

    瀏覽量

    23763

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Linux文件刪除的底層原理和恢復(fù)方法

    rm -rf 大概是 Linux 世界里殺傷力最大的命令,沒(méi)有之一。手一抖、路徑一錯(cuò)、通配符一飄,幾個(gè) G 的數(shù)據(jù)就沒(méi)了。更要命的是 Linux 默認(rèn)沒(méi)有回收站機(jī)制,rm 刪掉的文件不
    的頭像 發(fā)表于 02-11 09:14 ?487次閱讀

    Linux新手必看!3個(gè)命令搞定所有“求助”,再也不用到處查文檔

    其實(shí)根本不用慌——Linux 早就自帶了 “說(shuō)明書”,學(xué)會(huì) 3 個(gè)核心幫助命令,就能解決 90% 的操作疑問(wèn),比百度還快!
    的頭像 發(fā)表于 02-03 15:28 ?711次閱讀
    <b class='flag-5'>Linux</b>新手必看!3個(gè)<b class='flag-5'>命令</b>搞定所有“求助”,再也不用到處查文檔

    Linux 下開發(fā)嵌入式必備命令速查表

    在嵌入式開發(fā)中,Linux系統(tǒng)幾乎成為必備的開發(fā)環(huán)境。不管你是在做STM32、RaspberryPi、還是基于ARM的板子,熟練掌握Linux命令不僅能加快開發(fā)效率,還能讓你在調(diào)試、交叉編譯、文件
    的頭像 發(fā)表于 01-19 09:06 ?887次閱讀
    <b class='flag-5'>Linux</b> 下開發(fā)嵌入式必備<b class='flag-5'>命令</b>速查表

    學(xué)習(xí)Linux應(yīng)該從哪里開始?

    在工業(yè)控制、邊緣計(jì)算、人工智能這些領(lǐng)域,有一句幾乎約定俗成的話: “會(huì)不會(huì) Linux,決定了你能走多遠(yuǎn)?!?但對(duì)很多剛?cè)腴T的工程師來(lái)說(shuō),Linux 看起來(lái)像個(gè)龐大又神秘的世界——命令行、驅(qū)動(dòng)、內(nèi)核
    的頭像 發(fā)表于 10-16 09:51 ?457次閱讀
    學(xué)習(xí)<b class='flag-5'>Linux</b>應(yīng)該從哪里開始?

    Linux基礎(chǔ)命令的進(jìn)階用法

    凌晨2點(diǎn),正在熟睡的你被電話驚醒:"線上服務(wù)響應(yīng)超時(shí),用戶大面積投訴!" 你匆忙打開電腦,SSH 登錄服務(wù)器,面對(duì)滿屏的進(jìn)程和日志,腦子一片空白——從哪里開始排查?用什么命令?怎么快速定位問(wèn)題?
    的頭像 發(fā)表于 09-02 16:33 ?700次閱讀

    測(cè)試工程師都在用的Linux命令清單(建議收藏)

    作為一名工程師,熟練掌握Linux命令是基本功中的基本功。無(wú)論是日常工作中的系統(tǒng)維護(hù),還是面試時(shí)的技術(shù)考核,Linux命令都是繞不開的核心技能。本文將從實(shí)戰(zhàn)角度出發(fā),系統(tǒng)梳理工程師必須
    的頭像 發(fā)表于 08-08 10:06 ?702次閱讀
    測(cè)試工程師都在用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>清單(建議收藏)

    Linux基礎(chǔ)命令which詳解

    Linux系統(tǒng)中,which命令用于查找并顯示指定命令的可執(zhí)行文件路徑。這對(duì)于系統(tǒng)管理員和開發(fā)人員來(lái)說(shuō)是一個(gè)非常有用的工具,可以幫助定位命令所在的位置,確認(rèn)
    的頭像 發(fā)表于 07-29 17:58 ?859次閱讀

    linux系統(tǒng)awk特殊字符命令詳解

    Linux系統(tǒng)中,awk?是一種非常強(qiáng)大的文本處理工具,能夠?qū)ξ谋緮?shù)據(jù)進(jìn)行分析、格式化和篩選。利用其內(nèi)置的特殊字符和操作符,用戶可以實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)處理任務(wù)。以下對(duì)一些常見(jiàn)的awk特殊字符和操作符
    的頭像 發(fā)表于 07-28 16:38 ?646次閱讀

    已收藏!你需要知道的57個(gè)常用樹莓派命令!

    ,下面我們將按類別介紹57個(gè)最常用的命令:目錄文件管理網(wǎng)絡(luò)命令系統(tǒng)更新包管理系統(tǒng)管理樹莓派操作系統(tǒng)命令雜項(xiàng)命令高級(jí)命令這份列表是基于我與樹莓
    的頭像 發(fā)表于 07-23 18:36 ?1148次閱讀
    已收藏!你需要知道的57個(gè)常用樹莓派<b class='flag-5'>命令</b>!

    一文掌握Linux命令

    作為一名運(yùn)維工程師,熟練掌握Linux命令是基本功中的基本功。無(wú)論是日常工作中的系統(tǒng)維護(hù),還是面試時(shí)的技術(shù)考核,Linux命令都是繞不開的核心技能。本文將從實(shí)戰(zhàn)角度出發(fā),系統(tǒng)梳理運(yùn)維工
    的頭像 發(fā)表于 07-22 15:23 ?628次閱讀

    詳解Linux網(wǎng)絡(luò)管理中的關(guān)鍵命令

    本文檔概述了網(wǎng)絡(luò)管理中的關(guān)鍵命令,如ifconfig配置網(wǎng)絡(luò)接口,ip管理路由,ping測(cè)試連通性,以及nmap進(jìn)行安全掃描。還介紹了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入應(yīng)用。
    的頭像 發(fā)表于 07-04 11:37 ?1173次閱讀
    詳解<b class='flag-5'>Linux</b>網(wǎng)絡(luò)管理中的關(guān)鍵<b class='flag-5'>命令</b>

    Linux系統(tǒng)管理的核心概念

    在前一篇文章中,我們深入探討了Linux中的文件操作命令,如cp、mv、rm,以及文本處理命令grep、wc和管道符。本文將繼續(xù)深入Linux系統(tǒng)管理的核心概念,包括root用戶的角色
    的頭像 發(fā)表于 05-15 17:05 ?676次閱讀

    為什么無(wú)法在Linux SDK中找到重置端點(diǎn)和中止端點(diǎn)功能的等效命令?

    你好,我有客戶正在使用 Linux 開發(fā)他們的軟件界面。 我們的窗口應(yīng)用程序可以運(yùn)行,但他們想轉(zhuǎn)換到 Linux。 他們無(wú)法在 Linux SDK 中找到重置端點(diǎn)和中止端點(diǎn)功能的等效命令
    發(fā)表于 05-07 07:24

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務(wù),如管理文件和目錄、操作進(jìn)程、網(wǎng)絡(luò)通信、軟
    的頭像 發(fā)表于 05-03 18:08 ?1878次閱讀

    5個(gè)Linux性能監(jiān)控命令

    vmstat 命令可打印有關(guān)內(nèi)存、交換、I/O 和 CPU 活動(dòng)的詳細(xì)報(bào)告。其中包括已用/可用內(nèi)存、交換入/出、磁盤塊讀/寫和 CPU 進(jìn)程/閑置時(shí)間等指標(biāo)。
    的頭像 發(fā)表于 04-09 10:34 ?828次閱讀