linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库创建静态库:
ar -rcs test.a *.o
查看静态库:
ar -tv test.a
解压静态库:
ar -x test.a
查看程序依赖linux查看命令依赖的动态库:
readelf -a xxx|grep library
如:可以看到linux查看命令依赖,下面的交叉程序hello执行依赖于如下两个动态库 。
rebi@ubuntu:~/test$ arm-none-linux-gnueabi-readelf -a hello|grep "library"
0x00000001 (NEEDED)Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED)Shared library: [libc.so.6]
rebi@ubuntu:~/test$
或者:readelf -l hello 即可 。
nm xxx 查看符号
其中,T表示代码段,U表示在其它地方定义,所以需要确保必须在某个.o或库里被定义过 。
linux源码包怎么查看依赖关系一、可执行文件/二进制文件依赖共享库
ldd命令用来查看可执行文件依赖的共享库文件 。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
【linux查看命令依赖 linux查看依赖库文件】-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享库依赖共享库关系
上面的ldd命令无法查看共享库的依赖关系,因为共享库本身并不是可执行文件,我们可以使用
objdump -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的库名称 。
附:
readelf命令用于读取ELF Header信息
linux查看文件内容命令常用的7个Linux文件内容查看命令:
1.cat由第一行开始显示文件内容
用法:
cat-A 相当于-vET的整合选项,可列出一些特殊字符而不是空白;
cat-b 列出行号,仅针对非空白行做行号显示,空白行不标行号;
cat-E 将结尾的断行字节$显示出来;
cat-n 列印出行号 , 连同空白行也会有行号,与-b的选项不同;
cat-T 将[tab]按键以^I显示出来;
cat-v 列出一些看不出来的特殊字符;
2.tac 由最后一行开始显示文件内容
tac-b 在行前而非行尾添加分隔标志;
tac-r 将分隔标志视作正则表达式来解析;
tac-s 使用指定字符串代替换行作为分隔标志;
3.nl 显示行号
nl-b a 无论是否为空行,均列出行号;
nl-b t 空行不列出行号;
nl-n ln 行号在荧幕的最左方显示;
nl-n rn 行号在自己栏位的最右方显示 , 且不加0;
nl-n rz 行号在自己栏位的最右方显示,且加0;
nl-w 行号栏位的占用的位数;
4.more 一页一页的显示文件内容
在more程序运行过程中 , 可以按以下键:
空白键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中 , 向下搜寻『字串』这个关键字;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开more,不再显示该文件内容 。
b或[ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用 。
5.less与more类似,但是比more更好的是,他可以往前翻页
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;
?字串:向上搜寻『字串』的功能;
n:重复前一个搜寻(与/或?有关!);
N:反向的重复前一个搜寻(与/或?有关!);
q:离开less这个程序;
6.head 显示前几行
语法:
head-n 后面接数字,代表显示行数;
7.tail 显示后几行
tail-n 后面接数字,代表显示行数;
tail-f 表示持续侦测后面所接的档名 , 要等到按下[ctrl]-c才会结束tail的侦测;
Linux 史上最全命令大全1、ls命令
cd /root
ls#显示当前目录下所有linux查看命令依赖的非隐藏文件
ls -a#显示当前目录下所有文件linux查看命令依赖,包含隐藏文件
ls -l#显示当前目录下所有的非隐藏文件的详情
ls -al #显示当前目录下所有文件linux查看命令依赖 , 包含隐藏文件 的详情
ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大小(KMT)
ls -alh #以列表形式显示所有文件linux查看命令依赖,包含隐藏文件的文件大小(K M T)
常用的组合:
ls
ll#等价于 ls -l
ls/etc#显示/etc目录下的文件
2:pwd命令
用来显示当前所在的路径
绝对路径: 从/目录开始的路径
/root
/etc/sysconf
/opt/server/data-integration/libswt/win64
相对路径: 相对当前的路径
3、mkdir命令
cd /root
mkdir mytest#在当前目录创建文件夹
mkdir -p 111/222/333 #一次创建多级文件夹
mkdir /root/mydemo#使用绝对路径来创建
mkdir mydemo2#使用相对对路径来创建
4、rm命令
这个命令既可以删除文件linux查看命令依赖,也可以删除目录
删文件:
cd /root
rm a.txt#删除时 , 会给出提醒确认,输入y删除 , n不删除
rm -f b.txt #强制删除 等价于 rm -f /root/b.txt
rm ../dir2/b.txt
touch a.java b.java c.java
rm a.java b.java c.java #一次可以删除多个文件
rm *.java -fr #可以删除当前目录下的所有.java文件
cd dir
rm * -fr #删除当前目录的所有内容
删目录:
rm -r 111 #删除目录,依次提醒删除
rm -rf mytest #强制删除等价于 rm mytest -fr
常用组合:
rm -fr 文件或目录
5、cd命令
cd 命令可以进入一个目录,类似于对windows上的文件夹进行双击
cd#直接cd 可以从任何一个目录回到/root目录
cd /root #进入root目录
cd /opt/server/data-integration/system/
cd .. #回到上一级目录
cd ../.. #回到上上一级目录
cd - #可以在最近的两次目录之间切换
cd /root
mdkir dir1 dir2
cd dir1
cd ../dir2#使用相对路径/中国/广东省/深圳市/宝安区/留仙二路/78号
6、历史命令和table补全
使用上下方向键可以找出历史命令
table键:
cd/opt/ #两次table可以列出/opt目录下所有的文件和子目录
cd/opt/s #一次table可以自动补全目录内容,前提是/opt目录下只有一个s开头的目录
7、touch命令
cd /root
touch a.java #在当前目录创建a.txt文件
touch b.java c.java #创建多个文件
touch /root/d.java #通过绝对路径创建
8、mv命令
移动:
1、mv 文件目录#将文件移动到目录中区
cd /root/dir1
touch a.txt
mv a.txt /root/dir2#等价于 mv a.txt ../dir2
2、 mv 目录1 目录2#将目录1移动到目录2下面(前提是目录2必须存在)
cd /root
mv dir2 dir1#将dir2移动到dir1下面
重命名:
1、mv 文件1文件2#给文件重命名(文件2不能存在)
cd /root
mv a.txt aaa.txt #将a.txt 重命名为aaa.txt
2、mv 目录1 目录2 #给目录重命名(目录2不能存在)
cd /root
mv dir1 dirx #将dir1重命名为dirx
9、cat命令
显示文件内容
cd /root
cat user.txt
10、cp命令
复制文件
cd /root
cp user.txt user2.txt
cp user.txt /opt/#将当前目录的user.txt 复制到/opt目录,文件名保持不变
cp user.txt /opt.user2.txt #将当前目录的user.txt 复制到/opt目录 , 文件名改为user2.txt
cp /opt/server/data-integration/pan.sh ./#将指定目录里的文件复制到当前目录(.后边的/可以去掉)
cp /opt/server/data-integration/pan.sh ./dirx#将指定目录里的文件复制到当前目录下的dirx目录(.后边的/比可以去掉)
cp /opt/server/data-integration/pan.sh /root/dirx#作用同上
11、解压和压缩
Linux的压缩包后缀一般是: .tar.gz
解压:
.tar.gz
将snappy-1.1.1.tar.gz上传到/root/dir1目录
tar -zxvf snappy-1.1.1.tar.gz#默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz#默认解压到当前目录
tar -xvf snappy-1.1.1.tar.gz -C /opt #将压缩包解压到/opt目录
.zip格式
unzip mysql-connector-java-8.0.13.zip#默认解压到当前目录
unzip -d /optmysql-connector-java-8.0.13.zip#解压到指定目录
压缩:
.tar.gz
tar -czvf snappy-1.1.1.tar.gzsnappy-1.1.1 #将snappy-1.1.1文件夹进行打包压缩
tar -czvf /root/dir/snappy-1.1.1.tar.gz/opt/server/snappy-1.1.1
.zip格式
zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13/
12、find命令
用来实现文件的查找
find/-name'a.txt' #从/目录开始查找a.txt文件
find/-name'ins*'#从/目录开始查找以ins开头的文件
find / -type f -size100M #查找/目录下文件大小大于100M的文件
13、grep命令
grep lang anaconda-ks.cfg#从anaconda-ks.cfg文件中查找包含lang的内容
14、ps命令
ps #查看依赖终端的进程
ps -ef #查看Linux系统中所有的进程
15、kill命令
kill -9 进程的pid#每次启动进程时 , pid会发生变化,但是进程运行期间pid不会变化
16、管道 |
管道就是把前边命令的结果作为后边命令的输入
ps -ef | grep mysql#查找和mysql相关的进程
ll /etc | grep java#在/etc目录中查找java相关的文件
17、用户的操作
用户创建和密码设置
useradd itheima #创建新用户itheima
passwditheima #设置用户itheima密码
用户删除
userdel -r itheima #删除用户itheima
18、文件的权限
所属用户:root文件的创建者
所属用户组:root和文件创建者在一个组的用户
其他用户:itcast既不是文件创建者,也和文件创建者不在同一组
r: 可读
w:可写
x: 可执行
chmod命令:
方式1:
chmod u rwa.txt #在所属用户之前的权限基础上添加可读和可写权限
chmod u=rwa.txt #将所属用户的权限直接修改为可读,可写
chmodx#给所属用户 , 所属用户组和其他用户全部加上可执行权限
方式2:
chmod777 a.txt #给所有用户加上所有权限
19、clear命令
用来清屏
快捷键: ctrll
20、history命令
用来查看所有的历史命令
21:vi编辑器的使用
vi a.txt #打开a.txt文件
vim a.txt #vim是vi的增强
22、网络管理命令
hostname :查看主机名
修改主机名: /etc/hostname
ifconfig :查看ip地址
修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33
服务问题:
service network restart
linux查看命令依赖的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux查看依赖库文件、linux查看命令依赖的信息别忘了在本站进行查找喔 。
推荐阅读
- linux中运行文件命令,linux中运行sh文件
- pgadmin运行sql语句,pgadmin执行sql语句
- svn服务器项目,svn服务端使用教程
- mysql自动编号怎么用 mysql中如何设置自动编号
- jquery攻略pdf,JQuery选择器
- 快手直播订货怎么退货退款,快手直播间订单怎样退货
- python集合求和函数 python的集合函数
- 安装CAD缺少.NET3.5,安装CAD缺少acadresdll怎么办
- javascript版本号,javascript最新版本介绍