过邺下吊高神武
过邺下吊高神武
[清] 袁枚
唱罢阴山敕勒歌,英雄涕泪老来多。
生持魏武朝天笏,死授条侯杀贼戈。
六镇华夷传露布,九龙风雨聚漳河。
祇今尚有清流月,曾照高王万马过。
Linux查看二进制文件内容
1. 命令1hexdump -C <file>
或者
1hd <file>
hd是hexdump的符号链接
Linux ld命令使用方法
1. ld命令: linux链接器作用: 将一系列目标文件(.o)和静态库文件(.a)链接起来(动态库文件.so也可能作为ld的输入文件)
2. 常用选项注意:对于单字母的选项(如-l等),选项的参数直接跟在选项之后,用不用空格分隔都可以。
2.1 -l <namespec>或者--library=<namespec>使用<namespec>标识的库文件(动态库lib.so优先于静态库lib.a)。
如果<namespec>是:filename的形式,查找文件名为filename的库文件。
2.2 -L <searchdir>或者--library-path=<searchdir>添加一个查找库文件(和控制脚本)的目录<searchdir>以供-l选项使用,多个此选项之间的顺序关系为在命令行出现的顺序,最后为默认查找目录。
默认查找目录是系统依赖的,较为复杂,如/lib/x86_64-linux-gnu。
2.3 -rpath=<dir>添加<dir>到此次生 ...
Linux ldd命令使用方法
1. 作用打印可执行程序或者动态库的动态库依赖
2. 工作原理ldd是一个可执行shell脚本,其设置LD_TRACE_LOADED_OBJECTS环境变量为非空值,调用动态链接器ld.so
例如,为了查看ls命令的依赖,ldd /usr/bin/ls
相当于
LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 /usr/bin/ls
Linux加载器、加载、动态链接器与动态链接
1. 别名和对应的文件别名包括:
动态链接器(dynamic linker),加载器(loader),动态加载器(dynamic loader),运行时链接器(run-time linker),ELF解释器(ELF interpreter),ld.so,ld-linux.so
上述这些描述的是同一件事,其对应的文件为:
ld.so,ld-linux.so,/lib/ld-linux.so.1,/lib/ld-linux.so.2,/lib64/ld-linux-x86-64.so.2
在现代linux机器上,一般使用的是/lib/ld-linux.so.2和/lib64/ld-linux-x86-64.so.2,用于处理ELF格式二进制文件
2. 动态链接器运行方式
间接运行: 通过运行一个动态链接的程序或者共享库,ELF文件会将动态链接器存放在.interp段中
直接运行: /lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUM ...
git stash命令用法
1. stash特定文件1git stash push [-m message] <path>...
2. 展示stash内容1git stash show [-p] <index>
<index>为stash索引号数字,不带-p选项只显示变动文件名,带上-p显示变动内容
git submodule命令用法
1. 含义submodule指向子模块仓库一个特定的commit,也可以追踪子模块仓库一个特定的分支
2. 常用命令2.1 添加子模块1git submodule add [-b branch] <repository> [<path>]
添加<repository>的branch分支到<path>目录
2.2 clone主仓库1git clone --recursive <parent-repository>
在克隆主仓库时同时克隆其中包含的子模块
2.3 下载主仓库的所有子模块内容1git submodule update --init --recursive
2.4 更新到子模块远程仓库的状态1git submodule update --remote
这个命令会改变submodule指向的子模块仓库中的具体commit
2.5 修改submodule指向的commit123456789cd <path-to-submodule>git checkout <some-commit>cd & ...
Linux nm命令常见用法
1. nm命令单词name的简称,用于查看二进制目标文件中的符号信息
2. 输出三列,分别是(1)符号地址(2)符号类型(3)符号名
常见符号类型包括(1)”T”,”t”,代码段中的符号(2)”U”(大写字母u),未定义的符号
3. 常用选项3.1 -A在每一行都显示文件名
3.2 -C符号名demangle
3.3 -u,小写字母u只显示未定义的符号