日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

在Linux下写一个自己的命令

發布時間:2024/8/26 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Linux下写一个自己的命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

01

什么是命令?

很多朋友對Linux的一個印象就是各種各樣的命令行,在圖形化界面不夠成熟的時期,Linux系統開發人員都是通過命令行直接操控OS,其實和DOS系統差不多,幾乎可以通過鍵盤搞定所有的事情,不要和鍵盤俠混談哦。

然而現在的ubuntu等等Linux的桌面版本僅僅只是為了讓更多的人去接觸Linux這款優秀的開源操作系統,像同期發布的Linux服務器版本還是一直以命令行為主,其實大多數的圖形操作僅僅只是一些命令的封裝罷了。

windows為什么這么廣泛使用,其圖形化界面操作是重要的因素,同時圖形傻瓜式操作來滿足更多不同層次的人使用該操作系統,而就因為傻瓜式的操作比較多,大部分工作丟給圖形交互和操作系統了,所以往往功能都比較單一且效率較低;而Linux操作系統更多的是發展命令行,命令行會把更多的功能選擇權交給用戶,且一次還可以同時完成多項事務,所以操作效率上Linux肯定是穩勝的,但是諸多的命令行往往叫很多人望而生畏。

命令并沒有那么可怕,只是大部分人習慣了windows環境下的傻瓜式操作,而不太適應Linux下枯燥的命令罷了。

所謂的命令不是什么神器的東西,它僅僅也只是一個應用程序罷了,你可以把命令行+回車看成windows下雙擊應用程序,但是通過簡單的敲擊命令并傳遞參數的就比圖形化雙擊應用程序要靈活多了。

02

自己寫一個命令

既然前面我們講到命令就是程序,那這里寫個程序編譯成可執行程序看是否可以執行。

1#include?<stdio.h>
2
3int?main(int?argc,?char?*argv[])
4{
5????int?i?=?;
6
7????printf("execute?my?command!\n");
8????for(i?=??;i?<?argc;i++)
9????{
10???????printf("input?param:%d?-?%s\n",i,argv[i]);?
11????}
12????return?1;
13}

上面是非常簡單的一個C程序,主要的功能就是打印外部調用傳入的參數。

然后采用GCC編譯器,編譯執行得到如下結果:

我們采用"./應用程序"的形式來執行一切正常,但當我們直接輸入執行程序命令,卻沒有得到滿意的結果,如下圖所示:

首先我們應該理解shell,Linux下常用shell就屬于bash了,當然還有很多其他種類,shell你可以認為它就是一個命令解析器,當你輸入這些命令行并回車的時候,首先其會經過shell進行解析以后,再由操作系統執行,大致過程如下:

從上面shell的大致運行情況可以了解到,當shell找不到對應的命令便會去環境變量中設置的路徑中進行查找相應的可執行程序來執行。

那么是不是我們把當前路徑加入到環境變量中就可以了呢?下面來簡單驗證一下 :?

臨時采用export命令把當前mycommand應用程序路徑加入到環境變量PATH中,買QQ然后直接運行mycommand?參數,便可以獲得對應的應用程序輸出信息。

這樣就實現了一個簡單的命令~

最? 后?
?

好了,這里小哥就介紹了一下Linux下命令的基本原理以及shell的相關知識,希望本文能夠對你有幫助!

總結

以上是生活随笔為你收集整理的在Linux下写一个自己的命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。