Linux拷入资源命令 linux如何拷贝

急急!Linux 命令框里 将文件导入程序的问题

我实验了下, 和这两个个符号,没有作为单独的参数处理,因为在作为参数传递给程序之前,已经提前被shell给解析并替换了。

创新互联于2013年成立,是专业互联网技术服务公司,拥有项目网站建设、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沙河做网站,已为上家服务,为沙河各地企业和个人服务,联系电话: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;

}

然后执行,结果相当奇怪:

[ksl@myhost ~]$ ./a.out test2.c

arguement0=./a.out

arguement1=(null)

arguement2=SAL_USE_VCLPLUGIN=gtk

cannot open file...

: No such file or directory

再次执行:

[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的工作有关的...

不过,我们还有办法...利用这一点..刚才查了下

这里有说明

,说和这两个符号把把stdin和stdout定向到了参数提供的文件...

不过,那不就更省事了,我们还不用打开文件了,直接读取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,搞定..... 顺便重温了下重定向...呵呵

linux下的mysql导入.sql文件的命令是什么?

如果你给root用户设置了密码的话用:mysql

-u

root

-p

"你的数据库名"

“你的sql文件”,然后输入密码。

如果没设置密码的话直接mysql

-u

root

"你的数据库名"

“你的sql文件”

mysql在linux命令行下导入txt文件

mysql在linux命令行下导入txt文件

mysql导入txt的命令如下

但如果在终端中通过

登陆的话,输入以上命令会报错:

ERROR 1148 (42000): The used command is not allowed with this MySQL version

大家不要被报错的表面翻译给误导了,这其实是个权限问题,解决方法如下

在通过终端输入时,加上一个参数--local-infile = 1 详细解释请自行百度。

用下面语句登陆后再进行导入,就成功了

mysqlimport方法导入文件:

其实无论是load data还是mysqlimport,导入是事务,如果不是则设置引擎支持事务。

如何解决大文件导入?当有十几甚至几十G文件需要导入时,因为导入中间可能会失败,如果一次性导入,导入失败会导致回滚,代价太高,从几十G文件中寻找问题也是很头疼的事情。因此,需要先将大文件拆成小文件,比如split命令,按2万行一个单位拆成小文件,以后缀编号区分,编写脚本进行自动导入。如果发生的错误,只需要从小文件中定位问题即可。然后重启导入脚本。


分享名称:Linux拷入资源命令 linux如何拷贝
标题网址:http://ybzwz.com/article/dojiohp.html