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
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%]
命令是查詢當前登錄的每個用戶,它的輸出包括用戶名、終端類型、登錄日期及遠程主機,在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 對我們的生活產(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)