zip -e b.zip a.avi
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了江门免费建站欢迎大家使用!
然后会提示输入密码
或者
zip -P ccc b.zip a.avi
zip -Pccc b.zip a.avi
上面这两条不是所有zip都支持
#include
stdio.h
#include
stdlib.h
#include
string.h
#define
FILE_NAME_MAX
50
#define
SEPERATE_STRING_MAX
100
int
StrCount(FILE
*file,char
*str);
int
main()
{
char
*filename,*spestr;
FILE
*fp;
filename=(char
*)malloc(FILE_NAME_MAX);
spestr=(char
*)malloc(SEPERATE_STRING_MAX);
printf("Input
the
filename:");
while(1)
{
scanf("%s",filename);
fp=fopen(filename,"r");
if(fp!=NULL)
{
break;
}
printf("Can't
open
the
file.Try
Again!");
}
printf("Input
the
special
string:");
scanf("%s",spestr);
printf("%d
times
of
%s
in
%s.",StrCount(fp,spestr),spestr,filename);
fclose(fp);
free(filename);
free(filename);
return
0;
}
int
StrCount(FILE
*file,char
*str)
{
int
count=0;
char
ch;
int
p=0;;
while((ch=fgetc(file))!=EOF)
{
//
当前读入的字符匹配
str
相应位置的字符
if(ch
==
str[p])
{
//
匹配下一个字符
p++;
//
如果已经匹配成功
if(str[p]
==
'\0')
{
count++;
//
从头开始重新匹配
p
=
0;
}
}
//
//
当前读入的字符不匹配
str
相应位置的字符
else
{
7z和winrar就是典型的开源软件和商业软件的区别。功能和定位都差不多,可以解压大部分的压缩包,只可以压缩自己的格式和zip。算法也都是字典压缩算法,用来作为通用无损压缩。作为同时代的产物,算法就就在那放着呢,具体的实现性能的区别不是很大。也就是说,rar设置为固实,字典大小设置为一样,结果只比7z大一丁点,速度比稍快7z快。rar的默认不固实,和较小的字典,牺牲压缩率,换取较快的速度和文件的随机访问。新推出的rar5格式,支持更大的字典(rar原先最大4M;rar5默认32M,最大1G;7z默认16M,最大1.5G),缩小了和7z的压缩率差距,应该是随着硬件的进步,对速度和压缩率的又一次平衡。
由于一般用户往往使用默认参数,于是rar和7z的区别就是,固实与非固实的却别,字典大小的区别。这样看区别还是很大的。作为一般用户,rar的默认参数应该更适合。非固实的随机访问,方便修改。较快的速度,不心烦(虽然真差不太多)。
但作为一个压缩工具,在近似的速度下对压缩率的追求,是压缩的意义。不过这仅仅是理科的思维。写开源软件的人都是是计算机专业人士,更在乎的是功能,更希望可以自己控制软件的行为。既然是开源,都不要报酬了,为了心目中的理想,当然写出的软件当然是程序员们认为的理想中的样子了。拥有强大的功能,大量的自定义设置(灵活的、分类的、多种压缩算法的叠加),简洁的界面(个人很喜欢win8的窗口风格,简洁)。结果往往对新手不够友好,就更不用说外行了。7z还至少有图形界面,大量的开源项目都是命令行接口的。命令行可以节省开发时间,而且使用范围广,体积还小。
7z真是一个神器的工具,他可以解包一些平常想不到的东西。比如world,excel文件,xlsx可以解开为一堆xml。有些打包的exe安装程序,可以直接看到打包的软件。于是可以直接解压,就不用安装了,尤其是各种打包的盗版游戏。当然大型工具大都不可以这么干,因为往往牵扯到系统组件的祖册,注册表的安装,等等。而盗版游戏的破解往往和打包不是同一伙人,于是打包的exe往往带有各种广告,而没有真正的安装行为。7z是开源软件,对开源世界的linux下的许多包格式支持更好。
其实就和windows和linux的关系类似。linux取代windows,还有很遥远的路要走。ubuntu的界面已经和win区别不大,用户上手难度已经很小了。而且免费,开源(公开,尊重用户),系统开销的win少。随着跨平台的编程语言,使得软件支持更好。比如mono代替.net。以及神器wine。甚至可以跨平台的qemu,exagear。我相信linux的占有率会越来越高的。现在主要是win有着庞大的现有用户,现实必须要和他人交互。而libreoffice和msoffice不能完美兼容等等问题。linux一旦突破成为主流,win的收场只能是雪崩。
下面就讲解如何安装linux版wps,方法/步骤:
#sudo apt-get updatesudo apt-get dist-upgrade -y 注:更新LINUX源,让系统达到最新。
#sudo apt-get install wps-office 注:下载并安装wps-office。
#wps 注:就能运行WPS软件。
Kingsoft Office 是一套办公套件,支持多个平台,包括Windows, Linux, iOS 和 Android。它包含三个组件:Writer(WPS文字)用来文字处理。
Presentation(WPS演示)支持幻灯 片,Spereadsheets(WPS表格)是电子表格。其使用免费增值模式,其中基础版本是免费使用。比较其他的linux办公套件,如 LibreOffice、 OpenOffice,其最大优势在于
Kingsoft Office能最好的兼容微软的Office(译注:版权问题?了解下wps和Office的历史问题,可以得到一些结论)。因此如果你需要在 windows和linux平台间交互,Kingsoft office是一个很好的选择。
CentOS, Fedora 或 RHEL中安装Kingsoft Office在官方页面下载RPM文件.官方RPM包只支持32位版本linux,但是你可以在64位中安装。
需要使用yum命令并用"localinstall"选项来本地安装这个RPM包
$ sudo yum localinstall kingsoft-office-9.1.0.4244-0.1.a12p3.i686.rpm,注意不要使用rpm命令安装。否者,你会得到依赖错误,而且很难解决。
基于Red Hat的发行版有多重库支持。如果你要想安装的RPM包是32位的并有32位库依赖(你的系统是64位的),一个很好的解决方法就是使用yum来安装。只要RPM在构建时候已经添加所有依赖关系,yum就可以自动使用yum库解决依赖关系。
在这些高版本的RedHat Linux上,我们如果需要定制内核的话,没有直接的源代码rpm可以安装,只能通过kernel.org下载的tar.gz的包手工安装,或者通过kernel-*.src.rpm编译出kernel-source包再来安装。后面一种方法可以享受到RedHat针对内核的某些参数和代码的优化,因此对使用RedHat发行版特别是企业版本的,是有一定好处的。
但是目前很多人至今分不清内核,内核开发,内核源代码一些包之间的关系,因此在编译内核的时候经常走弯路,同时RedHat官方对于如果得到kernel-source也没有明确的指示,导致很多人不得要领。
首先认清楚各rpm包的内容和用途
kernel-*.rpm ------------- 内核二进制包,没有的话系统都起不来
kernel-sourcecode-*.rpm------------------- 内核源代码包,安装到/usr/src/linux-*下面的,包含内核源代码,编译内核必须(当然是不考虑用kernel.tar.gz编译的情况),但高版本RedHat Linux不再提供此rpm,原因参见官方Release Note,这篇文章的最终目的就是要我们自己把这个包搞出来。
kernel-devel-*.rpm----------------内核开发包,安装到/usr/src/kernels,用于内核模块开发,组织形式跟内核源代码包类似,包含了部分内核源代码。注意很多人误认为这个就是内核源代码包,直接拿它来编译内核,当然不可能成功。这个包只是用于内核模块一级开发,例如驱动程序等,虽然也可以make menuconfig make dep等,但make bzImage是不可能成功的,因为缺失了核心源代码。
kernel-*.src.rpm---------------RedHat提供的用于建立rpm的源代码包,安装到/usr/src/redhat中,使用rpmbuild可以从这个包中build出上面所说的所有包。
现在就来从src.rpm编译出上面的所有的包,除了sourcecode这个包其他的包都可以在不用修改任何地方的情况下直接rpmbuild出来,唯有sourcecode这个比较麻烦,一定要按照下面的步骤来做,我以RedHat AS4 所带的版本为例,其他版本相同。
#首先安装src.rpm
rpm -ivh kernel-2.6.9-5.EL.src.rpm
#进入相应目录,要修改spec文件
cd /usr/src/redhat/SPECS
vi kernel-2.6.spec
#主要修改如下地方:
1,define buildsource 0------------我的这个在第8行,改为1,这就是为什么没有源代码包的原因,因为默认不生成源代码包
2, Requires: qt-devel, gtk2-devel readline-devel ncurses-devel-------我的在572行,如果没用用X的话,把这句注释掉,这样编译出来的包就不依赖于X-window的某些包,因为内核配置是可以make xconfig的,所以默认依赖X-window,我没装X-window,因此这个就去掉了。
#保存退出
touch /etc/beehive-root
#这句命令非必须,如果不做的话,最后编译出来的包都会变成kernel-*.*-root.rpm,多了个root,据说是为了标示包的编译人的,如果touch了这个文件,就没有这个问题了,命名和官方rpm一样。
rpmbuild -ba --target=i686 ./kernel-2.6.spec
#编译i686平台的所有包,这样上面介绍的所有包都会生成,或者换成rpmbuild -bb --target=i686 ./kernel-2.6.spec只编译非src.rpm。
#所有包就会生成到/usr/src/redhat/RPMS/i686下面
#如果只需要sourcecode而并非所有rpm包,那在修改spec文件时还要修改如下行:
48 %ifarch noarch
49 %define builddoc 1
50 %define buildsource 0----------------这里0修改为1
在编译的时候使用rpmbuild -ba --target=noarch ./kernel-2.6.spec,这样仅仅编译soucecode和doc包,会节省很多时间。
注意,此篇文章所讲所有内容仅适用于使用2.6内核的新版本RedHat Linux,2.4版本内核代码组织方式不同,不适用此文章。
以上这篇文章取自互联网,我忘了出处,尊敬作者.
你可以定制bash shell提示符以显示当前用户名和主机名、当前时间、平均负载和/或当前工作目录。要实现这一点,像下面这样改变$PS1变量:
bash PS1='u@h:w @ '
bash export PS1
root@medusa:/tmp 03:01 PM
这将在shell提示符下显示当前登录用户的名称,主机名,当前工作目录和当前时间。