中文字幕亚洲第一精品|精品国产免费一区二区|久久婷婷五月六月综合版|中文字幕熟妇久久久人妻|久久综合精品国产一区无码|国产成人精品永久免费视频|午夜亚洲国产精品理论片a级|久久精品一区二区三区无码护土

 訪問手機(jī)版  

Linux常用命令|Linux培訓(xùn)學(xué)習(xí)|考試認(rèn)證|工資待遇與招聘,認(rèn)準(zhǔn)超級(jí)網(wǎng)工!

招聘|合作 登陸|注冊(cè)

網(wǎng)絡(luò)工程師培訓(xùn)

當(dāng)前位置:網(wǎng)絡(luò)工程師 > 技術(shù)課程 > linux > 熱點(diǎn)關(guān)注 > linux常用命令

linux strings命令

時(shí)間:2019-08-17

linux命令大全_linux命令大全 ssh_linux簡單命令大全

在Linux下搞軟件開發(fā)的朋友, 幾乎沒有不知道strings命令的。我們先用man strings來看看:

strings - print the strings of printable characters in files.

意思是, 打印文件中可打印的字符。 我來補(bǔ)充一下吧, 這個(gè)文件可以是文本文件(test.c), 可執(zhí)行文件(test), 動(dòng)態(tài)鏈接庫(test.o), 靜態(tài)鏈接庫(test.a)

選項(xiàng):

-a --all:掃描整個(gè)文件而不是只掃描目標(biāo)文件初始化和裝載段
-f –print-file-name:在顯示字符串前先顯示文件名
-n –bytes=[number]:找到并且輸出所有NUL終止符序列
- :設(shè)置顯示的最少的字符數(shù),默認(rèn)是4個(gè)字符
-t --radix={o,d,x} :輸出字符的位置,基于八進(jìn)制,十進(jìn)制或者十六進(jìn)制
-o :類似--radix=o
-T --target= :指定二進(jìn)制文件格式
-e --encoding={s,S,b,l,B,L} :選擇字符大小和排列順序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
@ :讀取中選項(xiàng)

脫離代碼地長篇大論而不去實(shí)際驗(yàn)證,不是我的風(fēng)格。 還是搞點(diǎn)代碼下菜吧(代碼存在test.c中):

我們來看看strings test.c的結(jié)果:

[taoge@localhost learn_c]$ strings test.c

#include <stdio.h>

int add(int x, int y)

return x + y;

int main()

int a = 1;

int b = 2;

int c = add(a, b);

printf("oh, my dear, c is %d\n", c);

return 0;

[taoge@localhost learn_c]$

可以看到linux命令大全,確實(shí)打印出了test.c中的很多字符。

下面linux命令大全, 我們對(duì)可執(zhí)行文件用strings試試, 如下:

linux命令大全 ssh_linux命令大全_linux簡單命令大全

[taoge@localhost learn_c]$ gcc test.c

[taoge@localhost learn_c]$ strings a.out

/lib/ld-linux.so.2

=$TsU

__gmon_start__

libc.so.6

_IO_stdin_used

printf

__libc_start_main

GLIBC_2.0

PTRh

[^_]

oh, my dear, c is %d

[taoge@localhost learn_c]$

可以看到, 打印出了a.out中很多字符。

實(shí)際上, 如果有目標(biāo)文件、靜態(tài)庫或動(dòng)態(tài)庫, , 也是可以用strings命令進(jìn)行打印操作的。 我們來看看:

xxx.h文件:

void print();

xxx.c文件:

#include <stdio.h>

linux命令大全 ssh_linux簡單命令大全_linux命令大全

#include "xxx.h"

void print()

{

printf("rainy days\n");

}

然后, 我們來看看怎么制作靜態(tài)、動(dòng)態(tài)庫吧(在后續(xù)博文中會(huì)繼續(xù)詳細(xì)介紹):

[taoge@localhost learn_strings]$ ls

xxx.c xxx.h

[taoge@localhost learn_strings]$ gcc -c xxx.c

[taoge@localhost learn_strings]$ ar rcs libxxx.a xxx.o

 上一個(gè)教程:Xshell Linux 常用命令