eth0up
1. android 中看到eth0是up 但是還是無法上網
明顯「IP有沖突」是因為無線路由器里的DHCP(動態IP分配)IP池不夠,導致IP和前面手機分到的沖突,肯定上不了網。 進入無線路由器,把DHCP里的IP范圍設置大一點,如: 初始IP:192.168.1.5 終止IP:192.168.1.100
2. linux嵌入式系統下編程修改ip mac地址,c語言程序,具體操作類似 ifconfig eth down ifconfig eth0 Up
#include <stdlib.h>int system(const char *string);例:在~/myprogram/目錄下有shell腳本test.sh,內容為#!bin/bash#test.shecho $HOME在該目錄下新建一個c文件systemtest.c,內容為:#include<stdlib.h>main(){
system("~/myprogram/test.sh");}執行結果如下:xiakeyou@ubuntu:~/myprogram$ gcc systemtest.c -o
systemtestxiakeyou@ubuntu:~/myprogram$ ./systemtest/home/d/e/xiakeyouxiakeyou@ubuntu:~/myprogram$2)popen(char *command,char *type)執行過程:popen()會調用fork()產生子進程,然後從子進程中調用/bin/sh
-c來執行參數command的指令。參數
type可使用「r」代表讀取,「w」代表寫入。依照此type值,popen()會建立管道連到子進程的標准輸出設備或標准輸入設備,然後返回一個文件
指針。隨後進程便可利用此文件指針來讀取子進程的輸出設備或是寫入到子進程的標准輸入設備中。此外,所有使用文件指針(FILE*)操作的函數也都可以使
用,除了fclose()以外。返回值:若成功則返迴文件指針,否則返回NULL,錯誤原因存於errno中。
注意:在編寫具SUID/SGID許可權的程序時請盡量避免使用popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。例:C程序popentest.c內容如下:#include<stdio.h>main(){FILE * fp;charbuffer[80];fp=popen(「~/myprogram/test.sh」,」r」);fgets(buffer,sizeof(buffer),fp);printf(「%s」,buffer);pclose(fp);}執行結果如下:xiakeyou@ubuntu:~/myprogram$ vim popentest.cxiakeyou@ubuntu:~/myprogram$ gcc popentest.c -o popentestxiakeyou@ubuntu:~/myprogram$ ./popentest/home/d/e/xiakeyouxiakeyou@ubuntu:~/myprogram$
只是偶能力可能有點有限,沒有太看懂。直接用system()倒是腳本可是執行,只是返回值卻是一塌糊塗,試了多次也沒有找到什麼規律。不免又看了一下上面的那篇博文,得到一些啟發,可以這樣來實現:先將腳本的返回值利用 echo > XXXXX 輸出到一個本地文件中當需要這個返回值是,可是通過C語言的文件操作函數來直接從文件中讀取後來一想,這應該就是上文中POPEN的實現方法!C程序調用shell腳本共有三種法子 :system()、popen()、exec系列函數 system()
不用你自己去產生進程,它已經封裝了,直接加入自己的命令exec 需要你自己 fork 進程,然後exec 自己的命令popen() 也可以實現執行你的命令,比system 開銷小1)system(shell命令或shell腳本路徑);system()會調用fork()產生 子歷程,由子歷程來調用/bin/sh-c string來履行
參數string字元串所代表的命令,此命令履行 完後隨即返回原調用的歷程。在調用system()期間SIGCHLD
信號會被暫時擱置,SIGINT和SIGQUIT 信號則會被漠視 。
返回值:如果system()在調用/bin/sh時失敗則返回127,其他失敗原因返回-1。若參數string為空指針(NULL),則返回非零值。
如果 system()調用成功 則最後會返回履行
shell命令後的返回值,但是此返回值也有可能為system()調用/bin/sh失敗所返回的127,因 此最好能再反省 errno
來確認履行 成功 。system命令以其簡略 高效的作用得到很很廣泛 的利用 ,下面是一個例子例:在~/test/目錄下有shell腳本test.sh,內容為#!bin/bash#test.shecho hello在同層目錄下新建一個c文件system_test.c,內容為:#include<stdlib.h>int main(){system("~/test/test.sh");}履行 效果 如下:[root@localhost test]$gcc system_test.c -o system_test[root@localhost test]$./system_testhello[root@localhost test]$2)popen(char *command,char *type)popen()會調用fork()產生 子歷程,然後從子歷程中調用/bin/sh -c來履行
參數command的指令。參數type可應用 「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立
管道連到子歷程的標准 輸出設備 或標准 輸入設備 ,然後返回一個文件指針。隨後歷程便可利用 此文件指針來讀取子歷程的輸出設備
或是寫入到子歷程的標准 輸入設備 中。此外,所有應用 文 件指針(FILE*)操作的函數也都可以應用
,除了fclose()以外。返回值:若成功 則返迴文件指針,否則返回NULL,差錯
原因存於errno中。注意:在編寫具SUID/SGID許可權的程序時請盡量避免應用popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。例:C程序popentest.c內容如下:#include<stdio.h>main{FILE * fp;charbuffer[80];fp=popen(「~/myprogram/test.sh」,」r」);fgets(buffer,sizeof(buffer),fp);printf(「%s」,buffer);pclose(fp);}履行 效果 如下:[root@localhost test]$ vim popentest.c[root@localhost test]$ gcc popentest.c -o popentest[root@localhost test]$ ./popentest/root/test[root@localhost test]$
3. linux中利用ifconfig eth0 up時顯示許可權不夠怎麼辦
ifconfig
是系統管理員可使用的命令,要不像樓上那樣,要不切換到root賬戶
4. 在linux中使用命令ifconfig之後沒有出現eth0,只有lo,使用命令ifconfig eth0 up後再執行
運行一下dhcpcd,dhcp的客戶端程序,獲取一下網路參數
如果不行,請檢查你的網路配置
5. linux下找不到eth0介面,用network service start和ifconfig eth0 up 都不行。求指教
1 介面不叫eth0 也許是eth1 也可能是其他名稱比如enp2s1之類的奇葩名字。。
2 網卡沒驅動 lspci看下網卡在不在 能否識別
6. 虛擬機Linux下ifconfig eth0 up為什麼改不了ip,
/etc/sysconfig/network-scripts/ifcfg-eth0關鍵配置:
BOOTPROTO=none 或者static的時候,你要加入:
IPADDR=ip
GATEWAY=網關
PREFIX=掩碼
BOOTPROTO=dhcp的時候,以上3個不用加。
編輯好 /etc/sysconfig/network-scripts/ifcfg-eth0 過後
要用命令 ifup eth0 來啟用網卡或者 service network restart 重啟網路
7. 虛擬機LINUX系統ip配置好後當用命令ifconfig eth0 up 後為SIOCSIFFAGS:perminssion denied 這是什麼意思
許可權問題。試試用root運行,或sudo ifconfig eth0 up
如果試了不行的話乾脆把selinux禁用。
8. linux下輸入ifconfig命令,沒有eth0,怎麼解決
重新打開eth0就行了
第一步:打開terminal,輸入cd /etc/sysconfig/network-scripts 進入目錄,輸入ifconfig -a命令,可以看到eth0和lo。
9. eth0 link up什麼意思
埠0的鏈接已經開啟
10. linux中ifconfig eth0 up和ifup eth0有什麼區別呀
使用ifup和ifdown腳本「啟用」或「禁用「特定的網路介面比直接使用
ifconfig命令要好一些,這是因為腳本可以認真查看並處理與某一個
特定介面有關的所有參數和相關功能。
ifup和ifdown這兩個腳本通常放在/etc/sysconfig/network-scripts/或者/etc/network/下面。
可以多關注《Linux就該這么學》這本書,我都是從這裡面學到的