重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用一个文件目录下是不能有两个或以上的同名文件.
公司主营业务:网站设计、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出连山免费做网站回馈大家。
不过可以在不同的文件夹里存在同名文件.可以运用文件复制命令cp
格式:cp 源文件或目录 目标文件或目录
下面是在终端里的命令:
例如:
$cp test.c /tmp 表示把当前目录下的test.c文件拷贝到/tmp目录下
$cp test.c /tmp/program.c 表示把当前目录下的test.c文件拷贝到/tmp目录下并命名为program.c
rm -rf AA-*
rm 是删除命令 ;-r递归删除 ;-f强制删除 ;AA-* 匹配所有已AA-开头的文件或目录
1、输入“cd”命令回到主目录中
cd
2、输入“ls -a”命令
ls -a
3、打开.bashrc文件,并在里面添加如下命令
alias 别名='cd /目标目录'
例如:
alias fwh='cd /public/home/FW-H'
4、退出保存,并输入以下命令,然后就设置成功了
source ~/.bashrc
5、对于其他的一些快捷命令也是按照上面的方法添加进去的(比如打开某个软件等等
rename 是批量重命名的, 你给学学正则 和sed的替换差不多
reanem 's/txt/log' *.txt
把所有文件中的txt换成log 改后缀用
第一种:重定向符号
通常重定向符号可以创建一个0kb的空文件,可用于重定向命令的输出到一个新文件中,在无命令时使用重定向符号,会创建一个文件。
但它不允许你在创建文件时向其中输入任何文本。但它对于不是很勤劳的管理员是非常简单有用的,只需要输入重定向符后面跟着你想要的文件名。
第二种:touch命令
用于将每个文件的访问和修改时间更新为当前时间,如果指定的文件名不存在,将会创建一个新的文件。
touch不允许在创建文件的同时向其中输入一些文本,它默认创建一个0KB的空文件。
第三种:echo命令
echo内置于大多数的操作系统中。它常用于脚本、批处理文件,以及作为插入文本的单个命令的一部分。
它允许在创建一个文件时就向其中输入一些文本。当然也允许在之后向其中输入一些文本
第四种:printf命令
用法与echo相同。
第五种:cat命令
cat表示串联,在Linux经常用于读取一个文件中的数据。
cat是在类Unix系统中最常使用的命令之一。它提供了三个与文本文件相关的功能:显示一个文件的内容、组合多个文件的内容到一个输出以及创建一个新的文件。(如果cat命令后如果不带任何文件的话,下面的命令在回车后也不会立刻结束,回车后的操作可以按Ctrl-C或Ctrl-D来结束)
Linux下动态库文件的扩展名为".so"(Shared Object)。按照约定,所有动态库文件名的形式是libname.so(可能在名字中加入版本号)。这样,线程函数库被称作libthread.so。静态库的文件名形式是libname.a。共享archive的文件名形式是libname.sa。共享archive只是一种过渡形式,帮助人们从静态库转变到动态库。
本文仅以简单的例子介绍动态库文件的生成和链接方法。
操作系统:Debian/GNU Linux 2.6.21-2-686;
GCC版本:4.1.3
一、库文件及测试文件代码
库文件及测试文件所在的目录:/home/program/。
1.库文件名:myfunction.c
/*Author: Godbach
E-mail: nylzhaowei@163.com
*/
#include stdio.h
int
my_lib_function (void)
{
printf ("Library routine called from libmyfunction.so!
");
return 0;
}
2.测试文件名:test.c
#include stdio.h
int main(void)
{
my_lib_function();
return 0;
}
二、动态库的编译方法
编译库文件myfunction.c:
debian:/home/program# gcc -shared -o libmyfunction.so myfunction.c
如果编译成功,会在/home/program/下生成动态库文件:libmyfunction.so。
这里有两点需要说明:
1.对Linux操作,一般都推荐在普通用户模式下,如果需要超级用户的权限,则可以通过su root,输入root用户密码切换。我是个人学习使用,同时又有很多的操作都要使用root用户,因此就直接在root用户下进行编译。
2.编译生成动态库的命令为:gcc (-fpic) -shared -o libmyfunction.so myfunction.c
-fpic 使输出的对象模块是按照可重定位地址方式生成的。
-shared指定把对应的源文件生成对应的动态链接库文件。
三、动态库的测试方法
编译测试文件test.c:
debian:/home/program# gcc -o test test.c /home/program/libmyfunction.so
成功编译后,生成test文件,运行test:
debian:/home/program# ./test
Library routine called from libmyfunction.so!
其中,gcc -o test test.c /home/program/libmyfunction.so的最后一个参数指定所链接库文件的绝对路径。本例中库文件的绝对路径为:/home/program/libmyfunction.so。
当然,如果想从系统的库文件路径(通常系统函数库的位于/usr/lib下)链接动态库的话,可以先将生成的库文件拷贝至/usr/lib/下,然后再链接:
debian:/home/program# cp libmyfunction.so /usr/lib/
debian:/home/program# gcc -o test test.c -lmyfunction
debian:/home/program# ./test
Library routine called from libmyfunction.so!
这里,对于链接的方法作一下解释。对于gcc -o test test.c -lmyfunction中最后一个参数-lmyfunction, 可见传给C编译器的命令行参数并未提到函数库的完整路径名,甚至没有提到在函数库目录中该文件的完整名字!实际上,编译器被告知根据选项-lmyfunction链接到相应的函数库(/usr/lib下),函数库的名字是libmyfunction.so, 也就是说,"lib"部分和文件的扩展名被省略了,但在前面加了一个l。