新聞中心
在linux系統(tǒng)里,如何用命令行實(shí)現(xiàn)在10分鐘后關(guān)閉系統(tǒng)?
shutdown
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括濟(jì)南網(wǎng)站建設(shè)、濟(jì)南網(wǎng)站制作、濟(jì)南網(wǎng)頁制作以及濟(jì)南網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,濟(jì)南網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到濟(jì)南省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
功能說明:系統(tǒng)關(guān)機(jī)指令。
語
法:shutdown
[-efFhknr][-t
秒數(shù)][時(shí)間][警告信息]
補(bǔ)充說明:shutdown指令可以關(guān)閉所有程序,并依用戶的需要,進(jìn)行重新開機(jī)或關(guān)機(jī)的動(dòng)作。
參
數(shù):
-c
當(dāng)執(zhí)行"shutdown
-h
11:50"指令時(shí),只要按+鍵就可以中斷關(guān)機(jī)的指令。
-f
重新啟動(dòng)時(shí)不執(zhí)行fsck。
-F
重新啟動(dòng)時(shí)執(zhí)行fsck。
-h
將系統(tǒng)關(guān)機(jī)。
-k
只是送出信息給所有用戶,但不會(huì)實(shí)際關(guān)機(jī)。
-n
不調(diào)用init程序進(jìn)行關(guān)機(jī),而由shutdown自己進(jìn)行。
-r
shutdown之后重新啟動(dòng)。
-t秒數(shù)
送出警告信息和刪除信息之間要延遲多少秒。
[時(shí)間]
設(shè)置多久時(shí)間后執(zhí)行shutdown指令。
[警告信息]
要傳送給所有登入用戶的信息。
shutdown
10
就行了,機(jī)器就會(huì)10分鐘后關(guān)機(jī)
如果你想取消按
ctrl+c就行了
如何在linux上用命令實(shí)現(xiàn)用戶和組的管理
linux上用戶和組的管理一般使用user和group相關(guān)命令管理
用戶管理:
1、添加新的用戶賬號(hào)
使用useradd命令,其語法如下:
useradd 選項(xiàng) 用戶名
其中各選項(xiàng)含義如下:
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時(shí)使用-m選項(xiàng),可以創(chuàng)建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號(hào) 指定用戶的用戶號(hào),如果同時(shí)有-o選項(xiàng),則可以重復(fù)使用其他用戶的標(biāo)識(shí)號(hào)。
用戶名 指定新賬號(hào)的登錄名。
2、刪除用戶
使用userdel命令, 其格式如下:
如果一個(gè)用戶的賬號(hào)不再使用,可以從系統(tǒng)中刪除。刪除用戶賬號(hào)就是要將/etc/passwd等系統(tǒng)文件中的該用戶記錄刪除,必要時(shí)還刪除用戶的主目錄。刪除一個(gè)已有的用戶賬號(hào)使用userdel命令,其格式如下:
userdel 選項(xiàng) 用戶名
常用的選項(xiàng)是-r,它的作用是把用戶的主目錄一起刪除。
3、修改用戶
使用usermod命令, 其格式如下:
修改用戶賬號(hào)就是根據(jù)實(shí)際情況更改用戶的有關(guān)屬性,如用戶號(hào)、主目錄、用戶組、登錄Shell等。
修改已有用戶的信息使用usermod命令,其格式如下:
usermod 選項(xiàng) 用戶名
常用的選項(xiàng)包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項(xiàng)的意義與useradd命令中的選項(xiàng)一樣,可以為用戶指定新的資源值。
用戶組的管理
1、增加一個(gè)新的用戶組
使用groupadd命令, 其格式如下:
groupadd 選項(xiàng) 用戶組
可以使用的選項(xiàng)有:
-g GID 指定新用戶組的組標(biāo)識(shí)號(hào)(GID)。
-o 一般與-g選項(xiàng)同時(shí)使用,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同。
2、刪除一個(gè)已有的用戶組
使用groupdel命令, 其格式如下:
groupdel 用戶組
3、修改用戶組的屬性
使用groupmod命令。 其語法如下:
groupmod 選項(xiàng) 用戶組
常用的選項(xiàng)有:
-g GID 為用戶組指定新的組標(biāo)識(shí)號(hào)。
-o 與-g選項(xiàng)同時(shí)使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同。
-n新用戶組 將用戶組的名字改為新名字
linux中,有哪些命令是比較好用的呢?
1.列出文件清單命令:ls
ls命令能夠列出當(dāng)前目錄下的所有內(nèi)容。ls 命令的執(zhí)行方式為:
# ls [-選項(xiàng)] [文件名或者目錄名]
進(jìn)入到Linux命令行中后,我們至少要知道當(dāng)前所處的位置有哪些內(nèi)容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因?yàn)樵诿钚邢乱S時(shí)查看目錄內(nèi)容。如果不加任何選項(xiàng)的話,ls命令僅列出當(dāng)前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內(nèi)容,可以使用下列命令:
# ls /etc
如果想要列出當(dāng)前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標(biāo)準(zhǔn)輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在于less命令在顯示文件時(shí)允許用戶既
可以向前又可以向后翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。缺省設(shè)置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。缺省設(shè)置為顯示10行
語法:tail [+ / - num ] [參數(shù)] 文件
+num 從第num行以后開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個(gè)指定的模式;egrep命令檢索擴(kuò)展的正則表達(dá)式(包括表達(dá)式組和可選項(xiàng));fgrep命令檢索固定字符串,它不識(shí)別正則表達(dá)式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項(xiàng)] [查找模式] [文件名1,文件名2,……]
fgrep [選項(xiàng)] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
怎么用C語言實(shí)現(xiàn)linux的命令
命令是查詢當(dāng)前登錄的每個(gè)用戶,它的輸出包括用戶名、終端類型、登錄日期及遠(yuǎn)程主機(jī),在Linux系統(tǒng)中輸入who命令輸出如下:
我們先man一下who,在幫助文檔里可以看到,who命令是讀取/var/run/utmp文件來得到以上信息的。
我們?cè)賛an一下utmp,知道utmp這個(gè)文件,是二進(jìn)制文件,里面保存的是結(jié)構(gòu)體數(shù)組,這些數(shù)組是struct utmp結(jié)構(gòu)體的。
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;
/***等等***/
};
要實(shí)現(xiàn)who只需要把utmp文件的所有結(jié)構(gòu)體掃描過一遍,把需要的信息顯示出來就可以了,我們需要的信息有ut_user、ut_line、ut_tv、ut_host。
老師給的初始代碼:who1.c運(yùn)行結(jié)果如下:
需要注意的是utmp中所保存的時(shí)間是以秒和微妙來計(jì)算的,所以我們需要把這個(gè)時(shí)間轉(zhuǎn)換為我們能看懂的時(shí)間,利用命令man -k time | grep 3搜索C語言中和時(shí)間相關(guān)的函數(shù):
經(jīng)過搜索發(fā)現(xiàn)了一個(gè)ctime()函數(shù),似乎可以滿足我們的需求,于是對(duì)代碼中關(guān)于時(shí)間的printf進(jìn)行修改:
printf("%s",ctime(utbufp-ut_time));
編譯運(yùn)行發(fā)現(xiàn)出來的結(jié)果雖然已經(jīng)轉(zhuǎn)換成了我們能看懂的時(shí)間格式,但是很明顯這個(gè)時(shí)間是錯(cuò)的:
搜索一下ut_time這個(gè)宏,發(fā)現(xiàn)它被定義為int32_t類型:
但是ctime()函數(shù)中要求參數(shù)的類型是time_t類型,所以重新定義一下類型,編譯運(yùn)行之后,發(fā)現(xiàn)時(shí)間已經(jīng)改成了正確的,但是發(fā)現(xiàn)()中的內(nèi)容被換行了,猜想ctime()函數(shù)的返回值可能自動(dòng)在最后補(bǔ)了一個(gè)字符\n:
一開始想通過\r\b來實(shí)現(xiàn)“退行”,但實(shí)踐后發(fā)現(xiàn)并不可取,最后考慮到直接修改字符串中最后一個(gè)字符為\0,讓其字符串結(jié)束,使輸出達(dá)到與系統(tǒng)who命令一樣的效果,即在輸出語句前添加如下代碼:
cp[strlen(cp)-1] = '\0'
最后編譯執(zhí)行效果,發(fā)現(xiàn)解決了該問題:
雖然能看出基本上和who指令的執(zhí)行結(jié)果一致,但是并非完全一樣,主要在兩點(diǎn),第一是時(shí)間格式不一樣,第二個(gè)是比who執(zhí)行的結(jié)果多了幾條,需要注意的是utmp中保存的用戶,不僅僅是已經(jīng)登陸的用戶,還有系統(tǒng)的其他服務(wù)所需要的“用戶”,所以在顯出所有登陸用戶的時(shí)候,應(yīng)該過濾掉其他用戶,只保留登陸用戶。我們可以通過ut_type來區(qū)別,登陸用戶的ut_type是USER_PROCESS。
先用if語句對(duì)執(zhí)行結(jié)果進(jìn)行過濾,效果如下:
接著解決時(shí)間格式問題,利用man命令收到了兩個(gè)非常有用的函數(shù):localtime()和strftime(),localtime()是把從1970-1-1零點(diǎn)零分到當(dāng)前時(shí)間系統(tǒng)所偏移的秒數(shù)時(shí)間轉(zhuǎn)換為本地時(shí)間,strftime()則是用來定義時(shí)間格式的,如:年-月-日,利用這兩個(gè)函數(shù)對(duì)時(shí)間進(jìn)行修改后,結(jié)果顯示終于和系統(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的命令行模式下如何上網(wǎng)
Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),而最近就有很多小伙伴問我在Linux的命令行模式下怎么上網(wǎng) ,其實(shí)很簡(jiǎn)單,下面就由我跟大家分享具體的方法吧,希望對(duì)大家有所幫助~
在Linux的命令行模式下上網(wǎng)的方法
第一步,先打開虛擬機(jī)至圖形用戶界面,看一下是否有網(wǎng)絡(luò)連接。
第二步,同時(shí)按住Ctrl+Alt+F2切換到命令行界面,如下圖所示。
第三步,開始輸入命令打開網(wǎng)絡(luò)連接,首先輸入ifconfig,如下圖所示。
第四步,再輸入ifup eth0 命令,此命令用來打開網(wǎng)絡(luò)。
第五步,切換到圖形用戶界面,查看網(wǎng)絡(luò)是否已經(jīng)開啟,如下圖所示。
第六步,第五步網(wǎng)絡(luò)已經(jīng)開啟成功,下面用linux自帶瀏覽器打開頁面嘗試一下上網(wǎng)。
第七步,以上六步就是全部過程,這一步用來關(guān)閉聯(lián)網(wǎng)命令,輸入ifdown eth0即可關(guān)閉網(wǎng)絡(luò),輸入之后切換界面觀察一下。
猜你喜歡:
1. 怎么用Linux命令聯(lián)網(wǎng)
2. 怎么用Linux命令上網(wǎng)
3. Linux系統(tǒng)在命令行中實(shí)現(xiàn)Wifi 連接的方法
4. Linux系統(tǒng)在命令行中實(shí)現(xiàn)Wifi連接的方法
5. Linux命令行中網(wǎng)速怎么測(cè)試
當(dāng)前文章:linux命令行實(shí)現(xiàn) linux命令行實(shí)現(xiàn)窗口
當(dāng)前URL:http://www.dlmjj.cn/article/hhppei.html