我實驗了下, 和這兩個個符號,沒有作為單獨的參數(shù)處理,因為在作為參數(shù)傳遞給程序之前,已經(jīng)提前被shell給解析并替換了。

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元沙河做網(wǎng)站,已為上家服務(wù),為沙河各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
簡單的例子:
#include stdio.h
#include stdlib.h
int main(int argc ,char *argv[])
{
printf("arguement0=%s\narguement1=%s\narguement2=%s\n",
argv[0],argv[1],argv[2]);
FILE *stream;
if((stream = fopen(argv[2],"r")) == NULL )
{
perror("cannot open file...\n");
exit(-1);
}
fclose(stream);
return 0;
}
然后執(zhí)行,結(jié)果相當奇怪:
[ksl@myhost ~]$ ./a.out test2.c
arguement0=./a.out
arguement1=(null)
arguement2=SAL_USE_VCLPLUGIN=gtk
cannot open file...
: No such file or directory
再次執(zhí)行:
[ksl@myhost ~]$ ./a.out test2.c
cannot open file...
: No such file or directory
我覺得a.out的輸出肯定是被定向到test2.c里面去了。。。再次驗證:
[ksl@myhost ~]$ cat test2.c
arguement0=./a.out
arguement1=(null)
arguement2=SAL_USE_VCLPLUGIN=gtk
果然...所以這個是和shell的工作有關(guān)的...
不過,我們還有辦法...利用這一點..剛才查了下
這里有說明
,說和這兩個符號把把stdin和stdout定向到了參數(shù)提供的文件...
不過,那不就更省事了,我們還不用打開文件了,直接讀取stdin和stdout不就得了 ...
程序修改成這樣:
#include stdio.h
#include stdlib.h
int main(int argc ,char *argv[])
{
char buf[128];
char *p=NULL;
while((p=fgets(buf,64,stdin))!=NULL) //打印下文件,看有效果沒....
printf("%s",p);
return 0;
}
編譯,換個文件再試試,就試試這個test.c吧:
[ksl@myhost ~]$ ./a.out test.c
#include stdio.h
#include stdlib.h
int main(int argc ,char *argv[])
{
char buf[128];
char *p=NULL;
while((p=fgets(buf,64,stdin))!=NULL)
printf("%s",p);
return 0;
}
so,搞定..... 順便重溫了下重定向...呵呵
如果你給root用戶設(shè)置了密碼的話用:mysql
-u
root
-p
"你的數(shù)據(jù)庫名"
“你的sql文件”,然后輸入密碼。
如果沒設(shè)置密碼的話直接mysql
-u
root
"你的數(shù)據(jù)庫名"
“你的sql文件”
mysql在linux命令行下導入txt文件
mysql導入txt的命令如下
但如果在終端中通過
登陸的話,輸入以上命令會報錯:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
大家不要被報錯的表面翻譯給誤導了,這其實是個權(quán)限問題,解決方法如下
在通過終端輸入時,加上一個參數(shù)--local-infile = 1 詳細解釋請自行百度。
用下面語句登陸后再進行導入,就成功了
mysqlimport方法導入文件:
其實無論是load data還是mysqlimport,導入是事務(wù),如果不是則設(shè)置引擎支持事務(wù)。
如何解決大文件導入?當有十幾甚至幾十G文件需要導入時,因為導入中間可能會失敗,如果一次性導入,導入失敗會導致回滾,代價太高,從幾十G文件中尋找問題也是很頭疼的事情。因此,需要先將大文件拆成小文件,比如split命令,按2萬行一個單位拆成小文件,以后綴編號區(qū)分,編寫腳本進行自動導入。如果發(fā)生的錯誤,只需要從小文件中定位問題即可。然后重啟導入腳本。
網(wǎng)頁名稱:Linux拷入資源命令 linux如何拷貝
標題URL:http://chinadenli.net/article48/dojiohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、建站公司、外貿(mào)建站、品牌網(wǎng)站設(shè)計、電子商務(wù)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)