c開發(fā)linux基本命令 c++linux開發(fā)

linux常用命令

linux常用命令如下:

目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站運營、企業(yè)網(wǎng)站設計、武岡網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1、查看內核版本:uname -a。

2、控制臺-》圖形界面:init 5或者startx。

3、圖形界面-》控制臺: init3或者直接注銷。

4、如何查看ip地址:ifconfig。

5、配置ip:ifconfig eth0 ip地址。

6、重啟:reboot 或者 shutdown -r now。

7、普通用戶切換到系統(tǒng)用戶:su。

8、注銷用戶指令:logout。

9、從子機退出:ctrl+alt。

10、全屏:ctrl+alt+enter 。

基本思想:

Linux的基本思想有兩點:第一,一切都是文件;第二,每個文件都有確定的用途。其中第一條詳細來講就是系統(tǒng)中的所有都歸結為一個文件,包括命令、硬件和軟件設備、操作系統(tǒng)、進程等等對于操作系統(tǒng)內核而言,都被視為擁有各自特性或類型的文件。

完全免費:

Linux是一款免費的操作系統(tǒng),用戶可以通過網(wǎng)絡或其他途徑免費獲得,并可以任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。正是由于這一點,來自全世界的無數(shù)程序員參與了Linux的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對其進行改變,吸收了無數(shù)程序員的精華。

以上內容參考:百度百科--Linux

Linux常用基本命令(六)

1)service network status 查看指定服務的狀態(tài)

2)service network stop 停止指定服務

3)service network start 啟動指定服務

4)service network restart 重啟指定服務

5)service --status-all 查看系統(tǒng)中所有的后臺服務

1)chkconfig 查看所有服務器自啟配置

2)chkconfig iptables off 關掉指定服務的自動啟動

3)chkconfig iptables on 開啟指定服務的自動啟動

[root@bigdata111 ~]# service crond restart (重新啟動服務)

1)基本語法

crontab [選項]

選項:

-e: 編輯crontab定時任務

-l: 查詢crontab任務

-r: 刪除當前用戶所有的crontab任務

2)參數(shù)說明

[root@bigdata111 ~]# crontab -e

(1)進入crontab編輯界面。會打開vim編輯你的工作。

* * * * * 執(zhí)行的任務

(2)特殊符號

(3)特定時間執(zhí)行命令

3)案例:

*/5 * * * * /bin/echo ”11” /tmp/test

*/1 * * * * /bin/echo ”11” /opt/TZ/ITSTAR

RPM包的名稱格式

Apache-1.3.23-11.i386.rpm

- “apache” 軟件名稱

- “1.3.23-11”軟件的版本號,主版本和此版本

- “i386”是軟件所運行的硬件平臺

- “rpm”文件擴展名,代表RPM包

1)基本語法:

rpm -qa (功能描述:查詢所安裝的所有rpm軟件包)

過濾

rpm -qa | grep rpm軟件包

2)案例

[root@bigdata111 Packages]# rpm -qa |grep firefox

firefox-45.0.1-1.el6.centos.x86_64

1)基本語法:

(1)rpm -e RPM軟件包

或者(2) rpm -e --nodeps 軟件包

--nodeps 如果該RPM包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。

2)案例

[root@bigdata111 Packages]# rpm -e firefox

1)基本語法:

rpm -ivh RPM包全名

-i=install,安裝

-v=verbose,顯示詳細信息

-h=hash,進度條

--nodeps,不檢測依賴進度

2)案例

[root@bigdata111 Packages]# pwd

/media/CentOS_6.8_Final/Packages

[root@bigdata111 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing... ########################################### [100%]

1:firefox ########################################### [100%]

怎么用C語言實現(xiàn)linux的命令

命令是查詢當前登錄的每個用戶,它的輸出包括用戶名、終端類型、登錄日期及遠程主機,在Linux系統(tǒng)中輸入who命令輸出如下:

我們先man一下who,在幫助文檔里可以看到,who命令是讀取/var/run/utmp文件來得到以上信息的。

我們再man一下utmp,知道utmp這個文件,是二進制文件,里面保存的是結構體數(shù)組,這些數(shù)組是struct utmp結構體的。

struct utmp {

short ut_type;

pid_t ut_pid;

char ut_line[UT_LINESIZE];

char ut_id[4];

char ut_user[UT_NAMESIZE];

char ut_host[UT_HOSTSIZE];

struct {

int32_t tv_sec;

int32_t tv_usec;

} ut_tv;

/***等等***/

};

要實現(xiàn)who只需要把utmp文件的所有結構體掃描過一遍,把需要的信息顯示出來就可以了,我們需要的信息有ut_user、ut_line、ut_tv、ut_host。

老師給的初始代碼:who1.c運行結果如下:

需要注意的是utmp中所保存的時間是以秒和微妙來計算的,所以我們需要把這個時間轉換為我們能看懂的時間,利用命令man -k time | grep 3搜索C語言中和時間相關的函數(shù):

經(jīng)過搜索發(fā)現(xiàn)了一個ctime()函數(shù),似乎可以滿足我們的需求,于是對代碼中關于時間的printf進行修改:

printf("%s",ctime(utbufp-ut_time));

編譯運行發(fā)現(xiàn)出來的結果雖然已經(jīng)轉換成了我們能看懂的時間格式,但是很明顯這個時間是錯的:

搜索一下ut_time這個宏,發(fā)現(xiàn)它被定義為int32_t類型:

但是ctime()函數(shù)中要求參數(shù)的類型是time_t類型,所以重新定義一下類型,編譯運行之后,發(fā)現(xiàn)時間已經(jīng)改成了正確的,但是發(fā)現(xiàn)()中的內容被換行了,猜想ctime()函數(shù)的返回值可能自動在最后補了一個字符\n:

一開始想通過\r\b來實現(xiàn)“退行”,但實踐后發(fā)現(xiàn)并不可取,最后考慮到直接修改字符串中最后一個字符為\0,讓其字符串結束,使輸出達到與系統(tǒng)who命令一樣的效果,即在輸出語句前添加如下代碼:

cp[strlen(cp)-1] = '\0'

最后編譯執(zhí)行效果,發(fā)現(xiàn)解決了該問題:

雖然能看出基本上和who指令的執(zhí)行結果一致,但是并非完全一樣,主要在兩點,第一是時間格式不一樣,第二個是比who執(zhí)行的結果多了幾條,需要注意的是utmp中保存的用戶,不僅僅是已經(jīng)登陸的用戶,還有系統(tǒng)的其他服務所需要的“用戶”,所以在顯出所有登陸用戶的時候,應該過濾掉其他用戶,只保留登陸用戶。我們可以通過ut_type來區(qū)別,登陸用戶的ut_type是USER_PROCESS。

先用if語句對執(zhí)行結果進行過濾,效果如下:

接著解決時間格式問題,利用man命令收到了兩個非常有用的函數(shù):localtime()和strftime(),localtime()是把從1970-1-1零點零分到當前時間系統(tǒng)所偏移的秒數(shù)時間轉換為本地時間,strftime()則是用來定義時間格式的,如:年-月-日,利用這兩個函數(shù)對時間進行修改后,結果顯示終于和系統(tǒng)中who命令一模一樣:

最終完整的代碼如下:

#include stdio.h

#include stdlib.h

#include utmp.h

#include fcntl.h

#include unistd.h

#include time.h

#define SHOWHOST

void show_time(long timeval){

char format_time[40];

struct tm *cp;

cp = localtime(timeval);

strftime(format_time,40,"%F %R",cp);

printf("%s",format_time);

}

int show_info( struct utmp *utbufp )

{

if(utbufp-ut_type == USER_PROCESS){

printf("%-8.8s", utbufp-ut_name);

printf(" ");

printf("%-8.8s", utbufp-ut_line);

printf(" ");

show_time(utbufp-ut_time);

printf(" ");

#ifdef SHOWHOST

printf("(%s)", utbufp-ut_host);

#endif

printf("\n");

}

return 0;

}

int main()

{

struct utmp current_record;

int utmpfd;

int reclen = sizeof(current_record);

if ( (utmpfd = open(UTMP_FILE, O_RDONLY)) == -1 ){

perror( UTMP_FILE );

exit(1);

}

while ( read(utmpfd, current_record, reclen) == reclen )

show_info(current_record);

close(utmpfd);

return 0;

}

linux基本命令

Linux 對我們的生活產(chǎn)生了巨大的沖擊。至少你的安卓手機使用的就是 Linux 核心。盡管如此,在第一次開始使用 Linux 時你還是會感到難以下手。因為在 Linux 中,通常需要使用終端命令來取代 Windows 系統(tǒng)中的點擊啟動圖標操作。但是不必擔心,這里我們會介紹 10 個 Linux 基本命令來幫助你開啟 Linux 神秘之旅。

幫助新手走出第一步的 10 個 Linux 基本命令

當我們談論 Linux 命令時,實質上是在談論 Linux 系統(tǒng)本身。這短短的 10 個 Linux 基本命令不會讓你變成天才或者 Linux 專家,但是能幫助你輕松開始 Linux 之旅。使用這些基本命令會幫助新手們完成 Linux 的日常任務,由于它們的使用頻率如此至高,所以我更樂意稱他們?yōu)?Linux 命令之王!

讓我們開始學習這 10 條 Linux 基本命令吧。

1. sudo

這條命令的意思是“以超級用戶的身份執(zhí)行”,是 SuperUserDo 的簡寫,它是新手將要用到的最重要的一條 Linux 命令。當一條單行命令需要 root 權限的時候,sudo命令就派上用場了。你可以在每一條需要 root 權限的命令前都加上sudo。

$ sudo su

2. ls

跟其他人一樣,你肯定也經(jīng)常想看看目錄下都有些什么東西。使用列表命令,終端會把當前工作目錄下所有的文件以及文件夾展示給你。比如說,我當前處在 /home 文件夾中,我想看看 /home 文件夾中都有哪些文件和目錄。

/home$ ls

在 /home 中執(zhí)行l(wèi)s命令將會返回類似下面的內容:

imad lost+found

3. cd

變更目錄命令(cd)是終端中總會被用到的主要命令。它是最常用到的 Linux 基本命令之一。此命令使用非常簡單,當你打算從當前目錄跳轉至某個文件夾時,只需要將文件夾鍵入此命令之后即可。如果你想跳轉至上層目錄,只需要在此命令之后鍵入兩個點 (..) 就可以了。 舉個例子,我現(xiàn)在處在 /home 目錄中,我想移動到 /home 目錄中的 usr 文件夾下,可以通過以下命令來完成操作。

/home $ cd usr

/home/usr $

4. mkdir

只是可以切換目錄還是不夠完美。有時候你會想要新建一個文件夾或子文件夾。此時可以使用 mkdir 命令來完成操作。使用方法很簡單,只需要把新的文件夾名跟在 mkdir 命令之后就好了。

~$ mkdir folderName

5. cp

拷貝-粘貼copy-and-paste是我們組織文件需要用到的重要命令。使用 cp命令可以幫助你在終端當中完成拷貝-粘貼操作。首先確定你想要拷貝的文件,然后鍵入打算粘貼此文件的目標位置。

$ cp src des

注意:如果目標目錄對新建文件需要 root 權限時,你可以使用 sudo命令來完成文件拷貝操作。

6. rm

rm 命令可以幫助你移除文件甚至目錄。如果不希望每刪除一個文件都提示確認一次,可以用-f參數(shù)來強制執(zhí)行。也可以使用-r參數(shù)來遞歸的移除文件夾。

$ rm myfile.txt

7. apt-get

這個命令會依據(jù)發(fā)行版的不同而有所區(qū)別。在基于 Debian 的發(fā)行版中,我們擁有 Advanced Packaging Tool(APT)包管理工具來安裝、移除和升級包。apt-get 命令會幫助你安裝需要在 Linux 系統(tǒng)中運行的軟件。它是一個功能強大的命令行,可以用來幫助你對軟件執(zhí)行安裝、升級和移除操作。

在其他發(fā)行版中,例如 Fedora、Centos,都各自不同的包管理工具。Fedora 之前使用的是 yum,不過現(xiàn)在 dnf 成了它默認的包管理工具。

$ sudo apt-get update

$ sudo dnf update

8. grep

當你需要查找一個文件,但是又忘記了它具體的位置和路徑時,grep命令會幫助你解決這個難題。你可以提供文件的關鍵字,使用grep命令來查找到它。

$ grep user /etc/passwd

9. cat

作為一個用戶,你應該會經(jīng)常需要瀏覽腳本內的文本或者代碼。cat命令是 Linux 系統(tǒng)的基本命令之一,它的用途就是將文件的內容展示給你。

$ cat CMakeLists.txt

10. poweroff

最后一個命令是 poweroff。有時你需要直接在終端中執(zhí)行關機操作。此命令可以完成這個任務。由于關機操作需要 root 權限,所以別忘了在此命令之前添加sudo。

$ sudo poweroff

總結

如我在文章開始所言,這 10 條命令并不會讓你立即成為一個 Linux 大拿,但它們會讓你在初期快速上手 Linux。以這些命令為基礎,給自己設置一個目標,每天學習一到三條命令,這就是此文的目的所在。

文章標題:c開發(fā)linux基本命令 c++linux開發(fā)
文章源于:http://muchs.cn/article38/docscpp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站云服務器、網(wǎng)站維護、企業(yè)建站全網(wǎng)營銷推廣、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設