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