chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

【shell腳本進(jìn)階】幾個(gè)常用的shell進(jìn)階腳本

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-09-19 08:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

博主經(jīng)常在工作中使用shell腳本,有些流程比較單一但是由很有規(guī)律的操作,往往就是腳本使用的最佳應(yīng)用場(chǎng)景。

雖然在當(dāng)下python腳本已經(jīng)非常的普及了,初入行的朋友可能一想到“腳本”,就只想到“python腳本”。但對(duì)于我這個(gè)“行業(yè)老餅”,shell腳本卻還是有一席之地的,畢竟在我們?nèi)胄心菚?huì),還真沒python什么事!

本文呢,主要是給大家介紹幾個(gè)我在工作中常用的,但又非常有用且操作高效的腳本,感興趣的可以往下一看。

一、搜索想要的C文件并拷貝到一個(gè)指定的目錄

這個(gè)案例很有用,我直接上操作指引:

recan@ubuntu:~/win_share_workspace/test_share$ find . -name *.c
./test_gcc/pass_array2_test.c
./test_gcc/test.c
./test_jd_paper_test/test.c
./test_python_gcc_map/main.c
./test_python_gcc_map/libf.c
./test_python_gcc_map/libd.c
./test_python_gcc_map/libe.c
./test_python_gcc_map/libb.c
./test_python_gcc_map/liba.c
./master_mode_sdk/app/bl2028n_linkkitapp/app_entry.c
./master_mode_sdk/app/tg7100c_linkkitapp/app_entry.c
./master_mode_sdk/app/sv6266_linkkitapp/app_entry.c
./jx_sdk_config/jx_sdk_config.c
./jx_sdk_config/cJSON.c
./jx_sdk_config/main.c
./test_coredump/test_cordump.c
./tcp_echo/tcp_server.c
./tcp_echo/tcp_client.c
./test_aligned_macro/main.c
./test_gcc_test/test.c
./test_for_loop/test.c
./test_bin2array/bin2array.c
./test_cli_for_linux/src/cli_dumpsys.c
./test_cli_for_linux/src/jx_os_cli.c
./test_cli_for_linux/src/cli_default_command.c
./test_cli_for_linux/src/cli.c
./test_cli_for_linux/src/cli_adapt.c
./test_cli_for_linux/tcp_server.c
./test_cli_for_linux/adapter_for_linux/main.c
./test_cli_for_linux/adapter_for_linux/uart.c
./test_cli_for_linux/adapter_for_linux/osal.c
./test_hexdump/test_hexdump.c
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ find . -name *.c | xargs -i cp -rf {} /tmp/test_share/
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ ls /tmp/test_share/
app_entry.c  cJSON.c      cli.c                  cli_dumpsys.c  jx_sdk_config.c  libb.c  libe.c  main.c  pass_array2_test.c  tcp_server.c  test_cordump.c  uart.c
bin2array.c  cli_adapt.c  cli_default_command.c  jx_os_cli.c    liba.c           libd.c  libf.c  osal.c  tcp_client.c        test.c        test_hexdump.c
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 

主要腳本命令:find . -name *.c | xargs -i cp -rf {} /tmp/test_share/

二、編譯鏈接的時(shí)候把所有的object文件輸出一行

這是一個(gè)真實(shí)的應(yīng)用場(chǎng)景,我就經(jīng)常遇到,我一般是這樣操作:

recan@ubuntu:~/win_share_workspace/test_share$ find . -name *.o
./test_makefile_paper/bar.o
./test_gcc_test/test.o
./test_for_loop/test.o
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ find . -name *.o | xargs echo -n
./test_makefile_paper/bar.o ./test_gcc_test/test.o ./test_for_loop/test.o
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 

關(guān)鍵腳本命令:find . -name *.o | xargs echo -n

三、查看當(dāng)前目錄下所有C文件的大小

這個(gè)也應(yīng)經(jīng)常用的,見案例操作:

recan@ubuntu:~/win_share_workspace/test_share$ find . -name *.c | xargs ls -alh
-rwxr-xr-x 1 recan system  64K Jul 19  2021 ./jx_sdk_config/cJSON.c
-rwxr-xr-x 1 recan system 6.6K Jul 22  2021 ./jx_sdk_config/jx_sdk_config.c
-rwxr-xr-x 1 recan system  472 Jul 21  2021 ./jx_sdk_config/main.c
-rwxr-xr-x 1 recan recan     0 Jul 12  2021 ./master_mode_sdk/app/bl2028n_linkkitapp/app_entry.c
-rwxr-xr-x 1 recan recan     0 Jul 12  2021 ./master_mode_sdk/app/sv6266_linkkitapp/app_entry.c
-rwxr-xr-x 1 recan recan     0 Jul 12  2021 ./master_mode_sdk/app/tg7100c_linkkitapp/app_entry.c
-rwxr-xr-x 1 recan recan  5.3K Jan 15  2022 ./tcp_echo/tcp_client.c
-rwxr-xr-x 1 recan recan  6.9K Jan 15  2022 ./tcp_echo/tcp_server.c
-rw-r--r-- 1 recan recan  1.1K Aug  4  2021 ./test_aligned_macro/main.c
-rwx------ 1 recan system 1.9K Aug 24  2021 ./test_bin2array/bin2array.c
-rwx------ 1 recan system 1.3K Jan 16  2022 ./test_cli_for_linux/adapter_for_linux/main.c
-rwx------ 1 recan system  857 Jan 15  2022 ./test_cli_for_linux/adapter_for_linux/osal.c
-rwx------ 1 recan system 1.4K Jan 15  2022 ./test_cli_for_linux/adapter_for_linux/uart.c
-rwx------ 1 recan system 2.1K Jan 15  2022 ./test_cli_for_linux/src/cli_adapt.c
-rwx------ 1 recan system  27K Jan 15  2022 ./test_cli_for_linux/src/cli.c
-rwx------ 1 recan system 8.0K Nov  9  2021 ./test_cli_for_linux/src/cli_default_command.c
-rwx------ 1 recan system 1.3K Nov  9  2021 ./test_cli_for_linux/src/cli_dumpsys.c
-rwx------ 1 recan system 1.6K Dec 13  2021 ./test_cli_for_linux/src/jx_os_cli.c
-rwxr-xr-x 1 recan system 9.1K Jan 16  2022 ./test_cli_for_linux/tcp_server.c
-rwx------ 1 recan system  626 Aug 18  2021 ./test_coredump/test_cordump.c
-rw-r--r-- 1 recan system  768 Jan 27  2022 ./test_for_loop/test.c
-rw-r--r-- 1 recan system  817 Sep  7  2021 ./test_gcc/pass_array2_test.c
-rwxr-xr-x 1 recan recan   233 Jul  6  2021 ./test_gcc/test.c
-rw-r--r-- 1 recan recan    87 Jun 11  2021 ./test_gcc_test/test.c
-rwx------ 1 recan system 1.8K Sep  8  2021 ./test_hexdump/test_hexdump.c
-rwx------ 1 recan system 1.7K Aug 31  2021 ./test_jd_paper_test/test.c
-rw-r--r-- 1 recan system  225 Aug 31  2021 ./test_python_gcc_map/liba.c
-rw-r--r-- 1 recan system  225 Aug 31  2021 ./test_python_gcc_map/libb.c
-rw-r--r-- 1 recan system  225 Aug 31  2021 ./test_python_gcc_map/libd.c
-rw-r--r-- 1 recan system  225 Aug 31  2021 ./test_python_gcc_map/libe.c
-rw-r--r-- 1 recan system  225 Aug 31  2021 ./test_python_gcc_map/libf.c
-rw-r--r-- 1 recan system  492 Aug 31  2021 ./test_python_gcc_map/main.c

關(guān)鍵腳本命令:find . -name *.c | xargs ls -alh

四、把幾個(gè)文本文件按順序拼接起來

recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ echo 111111 > 1.txt
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ echo 222222 > 2.txt
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ echo 333333 > 3.txt
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ cat 1.txt 2.txt 3.txt > all.txt
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ 
recan@ubuntu:~/win_share_workspace/test_share$ cat all.txt 
111111
222222
333333
recan@ubuntu:~/win_share_workspace/test_share$ 

關(guān)鍵腳本命令:cat 1.txt 2.txt 3.txt > all.txt

以上幾個(gè)常用的腳本操作,你都學(xué)會(huì)了嗎?歡迎討論。

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

    關(guān)注

    1

    文章

    373

    瀏覽量

    25156
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    407

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    軟件更新 | TSMaster 9-10月版本發(fā)布:TAC腳本進(jìn)階,小程序易用性大幅提升

    為持續(xù)賦能用戶的研發(fā)與測(cè)試工作,TSMaster正式發(fā)布2025年9-10月功能更新。本次版本聚焦于核心自動(dòng)化能力的強(qiáng)化與用戶體驗(yàn)的優(yōu)化,重點(diǎn)帶來了TAC腳本全面進(jìn)階、小程序易用性升級(jí)、API更新
    的頭像 發(fā)表于 10-31 20:04 ?934次閱讀
    軟件更新 | TSMaster 9-10月版本發(fā)布:TAC<b class='flag-5'>腳本</b><b class='flag-5'>進(jìn)階</b>,小程序易用性大幅提升

    shell基本介紹及常用命令之shell基本介紹

    執(zhí)行結(jié)果呈現(xiàn)給用戶;同時(shí)Shell也是一種解釋性的編程語言或者腳本語言,開發(fā)容易可以在短時(shí)間內(nèi)完成功能強(qiáng)大又好用的腳本,可以在不同的系統(tǒng)上移植非常方便。Shell的特性不同的發(fā)行版本使
    發(fā)表于 09-28 09:05

    嵌入式從入門到進(jìn)階,怎么學(xué)?

    、Linux 深入層 核心目標(biāo)突破應(yīng)用開發(fā),進(jìn)入 內(nèi)核 / 驅(qū)動(dòng) / 系統(tǒng)級(jí)開發(fā) Linux 基礎(chǔ)命令行(文件 / 進(jìn)程管理)、Shell 腳本、Makefile、交叉編譯(給 ARM 芯片編譯程序
    發(fā)表于 09-02 09:44

    Shell腳本入門指南

    Shell 是一塊包裹著系統(tǒng)核心的殼,處于操作系統(tǒng)的最外層,與用戶直接對(duì)話,把用戶的輸入, 解釋給操作系統(tǒng),然后處理操作系統(tǒng)的輸出結(jié)果,輸出到屏幕給與用戶看到結(jié)果。
    的頭像 發(fā)表于 06-03 10:47 ?970次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門指南

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用
    的頭像 發(fā)表于 05-21 14:15 ?538次閱讀
    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)<b class='flag-5'>進(jìn)階</b>篇-<b class='flag-5'>進(jìn)階</b>7 向系統(tǒng)中添加一個(gè)系統(tǒng)調(diào)用

    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 Shell 腳本!

    在本教程中,我將討論Shell腳本的基礎(chǔ)知識(shí)、它們的用途以及如何在RaspberryPi上編寫和運(yùn)行Shell腳本。什么是Shell
    的頭像 發(fā)表于 03-25 09:28 ?871次閱讀
    樹莓派新手必看!在樹莓派上編寫和運(yùn)行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!

    【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目-實(shí)現(xiàn)開機(jī)起動(dòng)

    接上文【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目 Linux 系統(tǒng)下 init 系統(tǒng) 大多數(shù) Linux 發(fā)行版的 init 系統(tǒng)是和 System V 相兼容
    發(fā)表于 02-11 11:24

    【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈按鈕項(xiàng)目

    接上文[【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目(https://bbs.elecfans.com/jishu_2475305_1_1.html) 紅綠燈按鈕
    發(fā)表于 02-06 15:39

    【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-紅綠燈項(xiàng)目

    接上文[【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-燈閃(https://https://bbs.elecfans.com/jishu_2474874_1_1.html
    發(fā)表于 02-06 11:55

    【ELF 2學(xué)習(xí)板試用】命令行功能測(cè)試-shell腳本進(jìn)行IO控制-燈閃

    文件 有2方式調(diào)試硬件 命令行功能測(cè)試和桌面功能測(cè)試 我準(zhǔn)備在Linux5.10主板命令行啟動(dòng)后網(wǎng)絡(luò)SSH 下用shell腳本進(jìn)行控制部分硬件測(cè)試。從IO控制-燈閃開始。 ELF 2開發(fā)板快速啟動(dòng)手冊(cè)中
    發(fā)表于 01-25 15:30

    EE-235:VisualDSP腳本簡(jiǎn)介

    電子發(fā)燒友網(wǎng)站提供《EE-235:VisualDSP腳本簡(jiǎn)介.pdf》資料免費(fèi)下載
    發(fā)表于 01-06 14:22 ?0次下載
    EE-235:VisualDSP<b class='flag-5'>腳本</b>簡(jiǎn)介

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-自動(dòng)化點(diǎn)亮LED燈之shell點(diǎn)燈

    使用前面一節(jié)寫的shell腳本led.sh,在終端執(zhí)行命令:root@ELF1:~# chmod 777 led.sh root@ELF1:~# ./led.sh 執(zhí)行該腳本后,三個(gè) LED 燈會(huì)以每秒亮滅一次的節(jié)奏同步閃爍。
    發(fā)表于 12-07 08:54

    飛凌嵌入式ElfBoard ELF 1板卡-自動(dòng)化點(diǎn)亮LED燈之shell點(diǎn)燈

    使用前面一節(jié)寫的shell腳本led.sh,在終端執(zhí)行命令:root@ELF1:~# chmod 777 led.sh root@ELF1:~# ./led.sh 執(zhí)行該腳本后,三個(gè) LED 燈會(huì)以每秒亮滅一次的節(jié)奏同步閃爍。
    發(fā)表于 12-06 13:52

    腳本美化高手之輕松實(shí)現(xiàn)文本顏色和背景定制的酷炫Shell技巧

    shell腳本中 echo 和 printf 都可以輸出內(nèi)容。示例1: echo -e "?33[43;35m david use echo say Hello World ?33[0m
    的頭像 發(fā)表于 12-06 10:38 ?1073次閱讀
    <b class='flag-5'>腳本</b>美化高手之輕松實(shí)現(xiàn)文本顏色和背景定制的酷炫<b class='flag-5'>Shell</b>技巧

    Linux從零到精通:最簡(jiǎn)單的Shell腳本入門教程

    通過簡(jiǎn)單的命令和腳本,實(shí)現(xiàn)對(duì)系統(tǒng)的靈活控制和自動(dòng)化管理。 shell腳本前言 shell腳本入門 she
    的頭像 發(fā)表于 12-05 09:56 ?2283次閱讀
    Linux從零到精通:最簡(jiǎn)單的<b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>入門教程