18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

【shell腳本進階】幾個常用的shell進階腳本

嵌入式物聯(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)用場景。

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

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

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

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

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/

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

這是一個真實的應(yī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文件的大小

這個也應(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

四、把幾個文本文件按順序拼接起來

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

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

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

    關(guān)注

    1

    文章

    373

    瀏覽量

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

    關(guān)注

    1

    文章

    405

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    Shell腳本入門指南

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

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

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

    樹莓派新手必看!在樹莓派上編寫和運行 Shell 腳本

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

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

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

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

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

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

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

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

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

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

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

    飛凌嵌入式ElfBoard ELF 1板卡-自動化點亮LED燈之shell點燈

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

    腳本美化高手之輕松實現(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 ?1002次閱讀
    <b class='flag-5'>腳本</b>美化高手之輕松實現(xiàn)文本顏色和背景定制的酷炫<b class='flag-5'>Shell</b>技巧

    Linux從零到精通:最簡單的Shell腳本入門教程

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

    @視覺工程師丨15分鐘上手《AIDI3.2腳本開發(fā)教程》視頻,請查收!

    AIDI有什么系統(tǒng)性地進階開發(fā)教程?AIDI調(diào)用Python腳本的基本原理是什么?常見的Python異常如何處理?區(qū)域計算工具有哪些常用案例?……為幫助廣大視覺工程師及開發(fā)者更好地掌握AI視覺算法
    的頭像 發(fā)表于 11-09 01:06 ?1251次閱讀
    @視覺工程師丨15分鐘上手《AIDI3.2<b class='flag-5'>腳本</b>開發(fā)教程》視頻,請查收!

    TCSH shell 編程入門

    ICer從業(yè)人員最先需要掌握的語言,就是linux shell語言。TCSH是ICer使用最多的Shell語言,可以說ICer入門語言從TCSH開始。
    發(fā)表于 11-01 10:45 ?0次下載