.so是linux用的 所以 要生成so 需要用gcc 和生成可执行文件类似,只是增加一些编译选项 命令如下 gcc SOURCE_FILES -fPIC -shared -o TARGET SOURCE_FILES可以是.c文件,也可以是经过-c编译出来的.o文件 TARGET为so文件。
成都创新互联专注于内黄企业网站建设,成都响应式网站建设,电子商务商城网站建设。内黄网站建设公司,为内黄等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
1选择
1.1一个文件的名字为rr.Z,可以用来解压缩的命令时()
tar
gzip
compress
uncompress
1.2可以结束进程命令()
kill
ctrl+c
shutdown
halt
1.3 Linux下对文件进行归档的命令为:(多选)
dd
tar
zip
unzip
1.4 Linux查当前目录下30天以前的文件并移动到/dev/null下的命令:(多选)
find.-mtime 30-type f xargs mv{}/dev/null;
find.-mtime+30-type xargs mv{}/dev/null;
find.-mtime+30-type f-exec mv{}/dev/null;
find.-mtime+30-type f-exec rm–rf{};
1.5 dstat与下面哪个命令类似
vmstat
sar
iotop
abc
1.6 rpm安装软件的参数
rpm-ivh
rpm-Ivh
rpm-Uvh
rpm-Iuvh
1.7 yum升级软件包选项
rpm-uvh
rpm-Uvh
1.8查看网络流量命令是?
iftop
nsload
ifstatd
以上命令全可以
1.9停止进程的命令,除了kill还有谁?
pkill
killa
allkill
以上命令都不正确
1.10服务器之间传文件的命令有?
wget
scp
ftp
以上命令都可以
1.11对文件进行归档的命令为
dd
cpio
gzip
tar
1.12在rpm命令中,安装新的rpm包软件使用的参数是()
-i
-v
-h
-e
1.13du命令中,使用友好的方式显示信息的参数是()
-h
-f
-a
-t
1.14将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式___
tar zxvf/home/stud1/wang.tar.gz/home/wang
tar xcvf/home/stud1/wang/home/wang
tar zcv/home/stud1/wang/home/wang
tar zcvf/home/stud1/wang/home/wang.tar.gz
1.15终止一个前台进程可能用到的命令和操作()A:kill
B:CTRL+C
C:shutdown
D:halt
1.16关闭Linux系统(不重新启动)可使用命令()
A:Ctrl+Alt+Del
B:halt
C:shutdown-r now
D:reboot
1.17下列提法中,不属于ifconfig命令作用范围的是__
A:配置本地环回地址
B:配置网卡的IP地址
C:激活网络适配器
D:加载网卡到内核中
1.18有关归档和压缩命令,下面描述正确的是()
A:用uncompress命令解压缩由compress命令生成地后缀为.zip的压缩文件
B:upzip命令和gzip命令可以解压相同类型文件
C:tar归档其压缩的文件可以有gzip命令解压缩
D:tar命令归档后的文件也是一种压缩文件
1.19终止一共前台进程可能用到的命令和操作
kill
ctrl+c
shut down
halt
1.22为了将当前目录下的归档文档myftp,tar解压缩到/tmp目录下,用户可以使用命令
tar xvzf my
tar xvzf my
tar vzf my
tar xvzf my
1.23下面有关linux查看系统负载的命令,说法错误的是?
uptime命令主要用于获取主机运行时间和查询linux系统负载等信息
vmstat命令可以查看cpu负载
sar命令可以查看网络接口信息
free命令可以查看磁盘负载情况
1.24以下哪些方式/命令不可以查看某ip是否可达?
telnet
ping
tracert
top
1.25 tar命令用于解压的参数是?-v-x-c-f
1.26下面哪个命令不是用来查看网络故障?
telnet
ping
init
netstat
1.28为了知道谁在正注册到你的机器上,可以用命令:___
Who users finger ping
1.29查看本网段其他计算机的MAC地址,可先ping对方主机,然后;
arp-g
arp-n
arp-a
arp-d
1.3014日下午2点date+%y%m%d%H%M输出的时间是什么
201711141212
1711141212
2017111412
201711021212
1.31以下哪个命令可以得出1487进程的线程运行情况()
top-Hp 1487
top-Pp 1487
ps-mp 1487
sat-p 1487
1.32从/home/oracle下搜索一个日志文件alert.log,以下哪种方式可达到目的()
find/home./oracle-name alert.log
locate alert.log
find./-mtime 7 alert.log
find/home/oracle-exec alert.log
1.34以下哪些命令可以用来测试网络中特定主机的80端口是否可以访问()
Ping telnet netstat lsof
2填空
2.1测试网络中主机的连通性用什么命令
2.2如何查看numa是否关闭_**_
2.3将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现如此任务的tar命令格式_**
2.4某个进程使用端口7001,如何快速找到该进程的PID
2.5结束后台进程的命令是**_**
2.6将/home/studl/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此存到/home目录下,实现此任务的tar命令格式******__******
2.7 ping100个包的命令——
2.8 linux下,解压缩bz2格式文件的命令是**_**
2.9 linux下,查看网络连接状态的命令是**___**
2.10Linux查看文件系统的命令为__,显示目录或文件占用磁盘的命令为___
2.11通常我们测试网络连通性使用的ping命令,它是通过____协议进行工作的
2.12简述下列命令的各自作用
nslookup
dig
top
traceroute
2.13将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此问价保存到/home目录下,实现此任务的tar命令格****_****
2.14Linux系统查看进程数的命令___
2.15Linux系统查看系统内存的命令:____,**__**
2.16Linux系统查看cpu使用率的命令:____,**__**
2.17Linux系统查看硬盘空间使用率的命令:___
2.18Linux系统将某一文件下的所有.log文件进行打包压缩,命令为___
2.19Linux常用的性能监控命令是:_、_、_、_、_、_等
2.20假设output程序可能输出标准输出和标准错误,请写出一条命令把这两者都忽略__
2.21 rpm软件包安装命令**_**
3简答
3.1查看硬盘结构显示的命令?查看文档命令?编辑文档命令?
3.2配置网络环境的命令,手工修改IP,主机名,DNS和网关
3.3有压缩包a.tar.gz,如何解压该包?如何不解压该包,如何查看该包的内容?
3.4某进程abcd在系统中起了很多,数量难以统计,造成系统负荷较高,如何一条命令确保将此进程全部杀掉
3.5某日志路径是/data/logs/a.txt,如何跟踪该日志,以查看当时的运行状态?
3.6 dmesg命令显示的是哪方面信息
3.7寻找名称为mytest.log的文件
3.8写出du-sh与df-h的区别
3.9查看当前linux服务器是否监听80端口,如果监听,请找出其进程ID,并结束该进程。
3.10使用curl或者wget获取http服务的header信息。
3.11写出查看linux系统性能的命令,如cpu、内存、流量、io等
3.12解释下列命令的意思
dd if=/dev/random of=/dev/sda
3.13如何查看占用端口8080的进程
3.14查着占用内存最多的进程
3.15压缩和解压缩目录/opt/gjsy/所有文件命令
3.16Linxu系统下如何查看8080端口上运行的程序状态
3.17ps aux中的VSZ代表什么意思,RSS代表什么意思?
3.18PING是使用TCP/IP协议中的**_**协议
3.19写出网络故障排查常用的命令**__**
3.20写出你常用的网络抓包工具,软件名称**__**
3.21将/home/stud1/wang目录做归档压缩,压缩后生成wang.tar.gz文件,并将此文件保存到/home目录下,实现此任务的tar命令格式___
3.22解释该命令的含义:nohup zcat test.gz|grep"x6game"~/log.txt
2/dev/null
3.23查看系统硬件负载工具或命令有哪些
3.24使用lsof命令查看占用80端口的进程
3.25如何使用CURL测试POST接口
3.26怎样在目录/home/user/training/下找到扩展名为txt的文件
3.27最常用的网络测试命令有什么?
3.28ping的测试结果中都包含哪些部分?
3.29如何找出占用22端口的进程及进程号?
3.30如何删除当前目录(包含字目录)下所有30天以前创建的文件名后缀为.log的文件
3.31以下一些Linux命令的作用分别是什么?
init 0
chkconfig--level 3 sendmail on
tar-czvf test.tar.gz./
chown-R
ln-s/data/log//var/log/sina_log
umount-f/data0
rpm-ivh baihui.rpm
rpm-qf/bin/ls
3.32LINUX常用命令pwd、top、df、ifconfig、cat分别代表什么含义?
3.33linux常用命令:关机、重启、编辑某文档文件、删除某文件、更改操作系统密码命令分别是什么?
3.34请使用命令:删除/backup目录下10天前的普通文件
3.35如何查看服务器当前连接ip的列表
3.36写出liunx系统中diff、chmod、grep、kill、tar五个常用命令的功能
3.37简述tar-cjvf/tmp/test.tar.gz/root命令中错误及错误原因
3.38Linux系统从A服务器测试B服务器一个tcp端口是否联通使用___
3.39写一个脚本查找最后创建时间使3天前,后缀是*.log的文件并删除
3.40linux如何根据进程ID查找启动程序的路径
3.41查看占用swap的进程id
3.42列出linux常见打包工具并写相应解压缩参数(至少三种)
3.43Linux中锁定一个文件用什么命令?他和md5sum有什么区别?
3.44如何在系统中查找所有所属用户为user1的文件
3.45查看某个文件或者文件夹占用磁盘空间大小的命令
3.46如何查看远程linux系统运行了多少时间?我的服务器内存,cpu,硬盘都是多少,系统版本,linux会优先将数据缓存到内存中,我的机器真实内存消耗实际上是多少
3.47查看服务器当前开启了哪些端口?如何查看某服务器是否存在IO压力
3.48如何查看某个文件system.log被哪些进程占用
扩展
1.21在退出unix系统账户之后还需要继续运行某个进程,那么可用()
awk sed crontab nohup screen
1.20使用trace命令的目的是()
可用的,十分成功的测试手段
非常基本的测试手段
把IP地址和DNS加入路由表中
在源到目标传输的过程中查找失散点
1.27哪个变量用来指定一个远程x应用程序将输出放到哪个x server上
TERM
DISPLAY
ECHO
OUTPUT
1.33P系列服务器被用做文件服务器,所有的用户文件存都放在一非rootvg的文件系统上,用什么方法可以快速备份和恢复这些数据和文件系统的定义()
tar
cpio
savefs
savevg
用JNI实现
实例:
创建HelloWorld.java
class HelloWorld
{
private native void print();
public staticvoid main(String[] args)
{
new HelloWorld().print();
}
static
{
System.loadLibrary("HelloWorld");
}
}
注意print方法的声明,关键字native表明该方法是一个原生代码实现的。另外注意static代码段的System.loadLibrary调用,这段代码表示在程序加载的时候,自动加载libHelloWorld.so库。
编译HelloWorld.java
在命令行中运行如下命令:
javac HelloWorld.java
在当前文件夹编译生成HelloWorld.class。
生成HelloWorld.h
在命令行中运行如下命令:
javah -jni HelloWorld
在当前文件夹中会生成HelloWorld.h。打开HelloWorld.h将会发现如下代码:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include jni.h
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: print
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_print
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
该文件中包含了一个函数Java_HelloWorld_print的声明。这里面包含两个参数,非常重要,后面讲实现的时候会讲到。
实现HelloWorld.c
创建HelloWorld.c文件输入如下的代码:
#include jni.h
#include stdio.h
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
}
注意必须要包含jni.h头文件,该文件中定义了JNI用到的各种类型,宏定义等。
另外需要注意Java_HelloWorld_print的两个参数,本例比较简单,不需要用到这两个参数。但是这两个参数在JNI中非常重要。
env代表java虚拟机环境,Java传过来的参数和c有很大的不同,需要调用JVM提供的接口来转换成C类型的,就是通过调用env方法来完成转换的。
obj代表调用的对象,相当于c++的this。当c函数需要改变调用对象成员变量时,可以通过操作这个对象来完成。
编译生成libHelloWorld.so
在Linux下执行如下命令来完成编译工作:
cc -I/usr/lib/jvm/java-6-sun/include/linux/
-I/usr/lib/jvm/java-6-sun/include/
-fPIC -shared -o libHelloWorld.so HelloWorld.c
在当前目录生成libHelloWorld.so。注意一定需要包含Java的include目录(请根据自己系统环境设定),因为Helloworld.c中包含了jni.h。
另外一个值得注意的是在HelloWorld.java中我们LoadLibrary方法加载的是
“HelloWorld”,可我们生成的Library却是libHelloWorld。这是Linux的链接规定的,一个库的必须要是:lib+库
名+.so。链接的时候只需要提供库名就可以了。
运行Java程序HelloWorld
大功告成最后一步,验证前面的成果的时刻到了:
java HelloWorld
如果你这步发生问题,如果这步你收到java.lang.UnsatisfiedLinkError异常,可以通过如下方式指明共享库的路径:
java -Djava.library.path='.' HelloWorld
当然还有其他的方式可以指明路径请参考《在Linux平台下使用JNI》。
我们可以看到久违的“Hello world!”输出了。
新建一个sort.c文件,写一个最简单的排序
使用 gcc -o libsort.so -fPIC -shared sort.c 产生libsort.so库。
.so库有两种调用方法:
新建main.c文件:
使用命令 gcc -o main main.c -lsort -L. 编译。
新建main2.c文件:
使用命令 gcc -o main2 main2.c -ldl 编译。动态加载.so库的话需要-ldl。
运行./main2后输出递增序列,调用成功。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款