精华内容
下载资源
问答
  • Linux 目录结构及文件管理命令 文章目录Linux 目录结构及文件管理命令一、Linux...Linux文件结构为树形结构 根目录:所有分区、目录、文件等的位置起点 ​ 整个树形目录结构中,使用独立的一个“/”表示 常见的子目

    一、Linux 目录结构

    • Linux文件结构为树形结构

    • 根目录:所有分区、目录、文件等的位置起点

      ​ 整个树形目录结构中,使用独立的一个“/”表示

    • 常见的子目录:/root、/bin、/boot、/dev、/etc、/home、/var、/usr/、/sbin

    常用文件目录及含义:

    目录 包含内容
    / (根目录) 一切从这里开始
    /root 系统管理员root用户的宿主目录
    /home 普通用户的宿主目录,每创建一个用户就会在/home中创建一个属于自己的用户目录
    /boot 包含Linux内核、启动文件、最初的RAM磁盘镜像(系统启动时,驱动程序会用到)以及启动加载程序
    /dev 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱
    /etc 系统配置文件 【注意:修改前记得备份!】
    /bin 包含系统启动和运行必须的二进制文件(程序)
    /sbin 放置管理员可执行的命令
    /usr 用户安装的应用程序
    /var 日志文件等
    /mnt 光盘默认挂载点
    /opt 安装其他额外软件
    /proc 存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,其数据包含在内存中,不占用磁盘空间
    /lib 系统使用的核心函数库文件 【与windows中的DLL类似】
    /media 可移除媒体设备的挂载点,例如USB驱动、CD-ROM等,插入后会挂载到该目录下
    /tmp 用户或正在执行的程序临时存放文件的目录
    /lost+found 当使用ext2/ext3档案系统格式才会产生的该目录,当系统发生错误时,将一些遗失的片段放置在这个目录下,用于恢复分区等

    二、more 查看文件内容(分页查看)

    语法: more [选项]文件名...
    

    交互操作方法:按键Enter键向下逐行滚动

    ​ 按空格键向下翻一屏

    ​ 按b键向上翻一屏

    ​ 按q键退出

    三、less 查看文件内容(分页查看,功能更丰富)

    语法:less [选项]文件名...
    

    交互操作方法:Page Up向上翻页,Page Down向下翻页

    ​ 按“/”键查找内容,“n”下一个内容,“N”上一个内容

    ​ 其他功能与more命令基本类似

    四、head、tail 查看文件内容

    head:查看文件开头的一部分内容(默认为10行)
    语法:head -n 文件名  ## -n 指定行数
    
    tail:查看文件结尾的少部分内容(默认为10行)
    tail -n 文件名...
    tail -f 文件名
    

    五、grep 检索和过滤文件内容

    语法:grep [选项]... 查找条件 目标文件
    
    • 常用命令选项:-i:查找时忽略大小写

    ​ -v:反转查找,输出查找条件不相符的行

    • 查找条件设置:

      1、要查找的字符串以双引号括起来

      2、“^…"b表示以…开头,”…$“表示以…结尾

      3、“^$"表示空行

    例:ps aux | grep ssh   ##列出所有进行信息,并筛选出带ssh的进程
    

    六、gzip、bzip2 压缩命令

    gzip [-9] 文件名......
    bzip2 [-9] 文件名......
    gzip -d .gz格式的压缩文件
    bzip2 -d .bzip格式的压缩文件
    

    常用命令选项:-9 高压缩比(默认情况是6)

    ​ -d 解压缩文件

    七、tar 归档命令

    • 制作归档文件、释放归档文件

      tar [选项]...归档文件名 源文件或目录
      tar [选项]...归档文件名 [-C 目标目录]
      
    • 常用命令选项:

    选项 含义
    -c create 创建新的备份文件
    -x 解压缩
    -v 显示指令执行过程
    -f 执行
    -p 保留源文件权限
    -t 不解压,查看压缩文件中的内容
    -C 解压到指定路径
    -z 通过gzip格式处理文件
    -j 通过bzip2格式处理文件

    例:

    1、将/test目录打包并以bz2格式压缩,存放到/root目录下
       tar -jcvf /root/gyw.tar.bz2 /root/test  (存放文件目录,要打包文件目录)
    2、将/root目录下压缩包gyw.tar.bz2解压到/root/linshi目录下
       tar -jxvf /root/gyw.tar.bz2 -C /root/linshi  (待解压文件的文件目录及文件名,解压后文件存放的目录)
    3、将/test目录打包并以gz格式压缩,存放到/root目录下
       tar -zcvf /root/123.tar.gz /root/test   (存放文件目录,要打包文件目录)
    4、将/root目录下压缩包123.tar.gz解压到/root/linshi目录下
       tar -zxvf /root/123.tar.gz -C /root/linshi  (待解压文件的文件目录及文件名,解压后文件存放的目录)
    5、仅打包不压缩
       tar -cvf 888.tar 1.txt 2.txt
    tar.gz解压到/root/linshi目录下
       tar -zxvf /root/123.tar.gz -C /root/linshi  (待解压文件的文件目录及文件名,解压后文件存放的目录)
    5、仅打包不压缩
       tar -cvf 888.tar 1.txt 2.txt
    
    展开全文
  • 文件目录结构 linux 是多用户操作系统,多个用户可以共享的全部硬件和软件。 ubuntu没有盘的概念,有且只有一个根目录 / ,所有的文件都在根目录下面。 根目录下有个home文件夹,是系统默认的用户家目录,新增...

    刚学linux,总结下。

    文件目录结构

    linux 是多用户操作系统,多个用户可以共享的全部硬件和软件。
    ubuntu没有盘的概念,有且只有一个根目录 / ,所有的文件都在根目录下面。
    根目录下有个home文件夹,是系统默认的用户家目录,新增用户的家目录都放在这里。
    其他文件夹即是和系统相关的文件夹。etc文件夹是系统配置文件夹。bin文件夹是可执行文件的文件夹,如常见的命令ls,cat等等。
    下图即是系统根目录:
    在这里插入图片描述
    点开home目录即可看到用户文件夹。
    在这里插入图片描述
    这里只有我一个用户。在我的用户文件夹内存放我下载的东西。
    打开的终端,默认目录即是当前用户的文件夹。
    在这里插入图片描述


    常用终端命令。

    terminal命令的格式如下:
    command [-option] [参数]
    带上中括号[] 表示可有可无,带上-option(选项)可以在特定条件下执行命令,注意下面有个减号,参数可以是文件,文件夹等等。
    命令行字体放大缩小快捷键:“Ctrl” + “shift” + “=” 是放大字体, “Ctrl” + " - " 是缩小字体。
    自动补全操作:写完部分字母后按Tab键,如果没有歧义,可以自动补全命令或者文件夹名或者文件名。如果有歧义,按两次Tab键可以列出有歧义的文件名,文件夹名,或者命令名。
    例如:
    在这里插入图片描述
    操作文件,目录的常用命令

    1. 查看当前文件夹下的内容。
      ls(list的缩写)
      查询当前用户文件夹下的内容。
      在这里插入图片描述
      后加选项 -a 可以查看隐藏内容。隐藏文件只需在名字前面加上 “.”即可,不带双引号。
      . 表示当前文件夹 , . .表示上一级文件夹。
      在这里插入图片描述
    2. 切换目录
      cd (change directory的缩写)
      cd 文件夹名字 ,即可进入文件夹。
      在这里插入图片描述
      cd . . 即可进入上一级文件夹,直接输入 cd 恢复默认文件夹(用户文件夹内)。
    3. 创建删除文件。
      touch 文件名 :创建一个新的文件。
      mkdir(make directory的缩写),mkdir 文件夹名:创建新的文件夹。
      rm(remove的缩写),rm 文件名:删除指定文件。
    4. 查看当前所在文件夹
      pwd(print work directory的缩写)
      在这里插入图片描述
    展开全文
  • Linux目录结构文件管理命令目录结构图示目录功能文件管理命令创建文件创建目录复制移动删除 目录结构 图示 与Windows不同的是,Linux系统的以单根的方式组织文件,如下图。 目录功能 /bin 普通用户使用的命令,...

    目录结构

    1.图示

    与Windows不同的是,Linux系统的以单根的方式组织文件,如下图。
    在这里插入图片描述

    2.目录功能

    • /bin
      普通用户使用的命令,常用命令一般都在此处,存放二进制可执行文件。
    • /sbin
      管理员使用的命令,存放二进制可执行文件,只用root才能访问。
    • /dev
      设备文件
    • /root
      root用户的家,即超级用户的主目录。
    • /home
      存储普通用户的家目录,存放所有用户的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示。
    • /tmp
      临时文件(全局可写:进程产生的临时文件) ,用户或正在执行的程序存放临时放置。
    • /var
      存放的是一些变化文件即运行时需要改变数据的文件,也使一些大文件的溢出区,比如数据库,日志,邮件…
    • /media
      移动设备默认的挂载点。
    • /mnt
      手工挂载设备的挂载点。
    • /etc
      存放系统管理和配置的文件,系统相关如网络/etc/sysconfig/network。
      proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态 ,硬件的状态。
    • /usr
      用于存放用户安装的程序和系统程序,自定义程序安装位置。
    • /boot
      存放的系统启动相关的文件,例如kernel,grub(引导装载程序)。

    文件管理命令

    1.创建文件

    • 语法:
      命令 空格 文件名.后缀
      touch 文件名字
    • 示例:
      创建file1文件
      [root@localhost ~]# touch file1.txt
      创建11,22,33,三个文件
      [root@localhost ~]# touch 11 22 33

    2.创建目录

    • 语法:
      mkdir 空格 路径和目录名
    • 示例:
      创建dir1目录
      [root@localhost ~]# mkdir dir1
      1目录下创建2目录
    [root@localhost ~]# mkdir -p 1/2
    [root@localhost ~]# ls /root/1
    2
    

    3.复制

    • 语法:
      命令 参数1 参数2
      cp 源文件路径 目标文件夹
      cp -r 源目录 目标目录
    • 示例:
      复制dir2目录里面所有文件到dir1目录
      [root@localhost ~]# cp dir2/* dir1
      复制dir2目录到dir1目录
      [root@localhost ~]# cp -r dir2 dir1
      查看dir2目录下的dir1目录下的文件
      [root@localhost ~]# ls dir2/dir1
      复制dir2里面的1,3文件到dir1
      [root@localhost ~]# cp dir2/{1.txt,3.txt} dir1
      复制file1文件到dir1目录
      [root@localhost ~]# cp file1 dir1/(/表示dir1为目录,可有可无)
    • List item

    4.移动

    • 语法:
      命令 参数1 参数2
      mv 源文件路径 目标文件路径

    • 示例:
      移动file3文件到dir1目录
      [root@localhost ~]# mv file3.txt dir1/
      文件1重命名为文件2
      [root@localhost ~]# mv 1.txt 2.txt

    • 在这里插入图片描述

    5.删除

    • 语法:
      rm -rf 文件或目录的路径

    • 示例:
      删除file5文件,file7文件
      [root@localhost ~]# rm -rf file5.txt file7.txt
      慎用(删库跑路)
      [root@localhost ~]# rm -rf /*

    • List item

    6.查看文件内容

    • 查看全部内容命令~ cat
      [root@localhost ~]# cat /root/file1.txt
    • 翻页命令~more(空格翻下一页,回车翻下一行)
      [root@localhost ~]# more /root/file1.txt
    • 查看文件头部n行内容~head
      [root@localhost ~]# head /root/file1.txt
      [root@localhost ~]# head -5 /root/file1.txt
    • 查看文件尾部n行内容~tail
      [root@localhost ~]# tail /root/file1.txt
      [root@localhost ~]# tail -5 /root/file1.txt
    • 过滤关键字~grep(可以不加引号,前提是文件里面要有关键字)
      语法:grep 关键字 文件名
      [root@localhost ~]# grep 'abc' /root/file1.txt

    7.修改文件内容

    • 采用vi,vim文件编辑器,其中vim为vi的升级版但在最小化安装时要注意没有默认安装vim。
    • [root@localhost ~]# vim 1.txt 进入命令模式,如图
      在这里插入图片描述
    • 此时按下i,进入插入模式,如图。按下esc仍可以退回命令模式。
      在这里插入图片描述

    8.光标定位命令(命令模式下输入)

    h j k l //左下上右
    0 $ //行首行尾
    gg G //页首页尾
    3G //进入第三行
    /abc //查找文件内abc出现的位置,n跳选下一个,N跳选上一个

    9.文本编辑命令(命令模式下输入)

    yy //复制
    3yy //复制3行
    p //粘贴
    dd //删除
    u //撤销

    10.扩展命令模式(命令模式下输入)

    :w //保存
    :q //退出
    :wq //保存并退出
    :1,5 s/root/abc/g (//从1-5行的root 替换为abc)
    :% s/被替换内容/替换内容/g (//此为全文替换)
    :w file9.txt (//正编辑的文件另存为 file9.txt)
    :set nu //设置行号
    :set nonu //取消设置行号
    :set list //显示控制字符

    11.改变目录

    • cd 绝对目录
    • 示例:

    cd / (//跳转到根目录)
    cd /bin (//跳转到根目录下的bin目录)
    1.[root@localhost ~]# cd /etc/abrt
    2.[root@localhost abrt]# touch …/1.txt (//1,2两步骤为在abrt目录的上一级目录创建文件1.txt,即…/表示etc目录)
    3.[root@localhost abrt]# touch …/…/1.txt (//3步骤表示在abrt目录的前两级目录创建文件1.txt,即在根目录下创建)

    • 查看所有文件包括隐藏文件[root@localhost ~]# ls -a
    • 列出当前所在位置[root@localhost ~]# pwd

    12.文件类型

    • 常见类型
      -普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
      d 目录文件(蓝色)

    • 非常见类型
      b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
      c 设备文件(字符设备)打印机,终端 /dev/tty1
      l 链接文件(淡蓝色)
      s 套接字文件
      p 管道文件

    • 查看文件类型
      [root@localhost ~]# ls -l /
      在这里插入图片描述

    展开全文
  • Android SO 文件结构及readelf命令

    千次阅读 2016-08-14 10:51:40
    0x00 Android SO 文件结构 so文件结构详细的分析,请看Android逆向之旅---SO(ELF)文件格式详解,这里就不重复造车轮子了。 我们待分析的so已经上传到csdn,下载地址:...

       0x00 Android SO 文件结构

        so文件结构详细的分析,请看Android逆向之旅---SO(ELF)文件格式详解,这里就不重复造车轮子了。

        我们待分析的so已经上传到csdn,下载地址:http://download.csdn.net/detail/jltxgcy/9602803


       0x01 readelf命令

       1.1 so文件整体图

       


        1.2 readelf文件位置

        Android下readelf位于android-ndk-r12/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin中,文件名称为arm-linux-androideabi-readelf


        1.3 read ELF Header    

        arm-linux-androideabi-readelf -h ~/Public/libPLTUtils.so

    ELF Header:
      Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF32
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              DYN (Shared object file)
      Machine:                           ARM
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          52 (bytes into file)
      Start of section headers:          12664 (bytes into file)
      Flags:                             0x5000200, Version5 EABI, soft-float ABI
      Size of this header:               52 (bytes)
      Size of program headers:           32 (bytes)
      Number of program headers:         9
      Size of section headers:           40 (bytes)
      Number of section headers:         26
      Section header string table index: 25

        

        1.4 read Program Header

        arm-linux-androideabi-readelf -l ~/Public/libPLTUtils.so 

    Elf file type is DYN (Shared object file)
    Entry point 0x0
    There are 9 program headers, starting at offset 52
    
    Program Headers:
      Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
      PHDR           0x000034 0x00000034 0x00000034 0x00120 0x00120 R   0x4
      INTERP         0x000154 0x00000154 0x00000154 0x00013 0x00013 R   0x1
          [Requesting program interpreter: /system/bin/linker]
      LOAD           0x000000 0x00000000 0x00000000 0x0246a 0x0246a R E 0x1000
      LOAD           0x002e80 0x00003e80 0x00003e80 0x00188 0x00188 RW  0x1000
      DYNAMIC        0x002e8c 0x00003e8c 0x00003e8c 0x00128 0x00128 RW  0x4
      NOTE           0x000168 0x00000168 0x00000168 0x00024 0x00024 R   0x4
      GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0
      EXIDX          0x002304 0x00002304 0x00002304 0x00100 0x00100 R   0x4
      GNU_RELRO      0x002e80 0x00003e80 0x00003e80 0x00180 0x00180 RW  0x4
    
     Section to Segment mapping:
      Segment Sections...
       00     
       01     .interp 
       02     .interp .note.gnu.build-id .dynsym .dynstr .hash .gnu.version .gnu.version_d .gnu.version_r .rel.dyn .rel.plt .plt .text .ARM.extab .ARM.exidx .rodata 
       03     .fini_array .init_array .dynamic .got .data 
       04     .dynamic 
       05     .note.gnu.build-id 
       06     
       07     .ARM.exidx 
       08     .fini_array .init_array .dynamic .got

        1.5 read Section Header

    There are 26 section headers, starting at offset 0x3178:
    
    Section Headers:
      [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
      [ 0]                   NULL            00000000 000000 000000 00      0   0  0
      [ 1] .interp           PROGBITS        00000154 000154 000013 00   A  0   0  1
      [ 2] .note.gnu.build-i NOTE            00000168 000168 000024 00   A  0   0  4
      [ 3] .dynsym           DYNSYM          0000018c 00018c 000390 10   A  4   1  4
      [ 4] .dynstr           STRTAB          0000051c 00051c 0004d7 00   A  0   0  1
      [ 5] .hash             HASH            000009f4 0009f4 000180 04   A  3   0  4
      [ 6] .gnu.version      VERSYM          00000b74 000b74 000072 02   A  3   0  2
      [ 7] .gnu.version_d    VERDEF          00000be8 000be8 00001c 00   A  4   1  4
      [ 8] .gnu.version_r    VERNEED         00000c04 000c04 000020 00   A  4   1  4
      [ 9] .rel.dyn          REL             00000c24 000c24 000050 08   A  3   0  4
      [10] .rel.plt          REL             00000c74 000c74 000040 08  AI  3  11  4
      [11] .plt              PROGBITS        00000cb4 000cb4 000074 00  AX  0   0  4
      [12] .text             PROGBITS        00000d28 000d28 0015a0 00  AX  0   0  4
      [13] .ARM.extab        PROGBITS        000022c8 0022c8 00003c 00   A  0   0  4
      [14] .ARM.exidx        ARM_EXIDX       00002304 002304 000100 08  AL 12   0  4
      [15] .rodata           PROGBITS        00002404 002404 000066 01 AMS  0   0  1
      [16] .fini_array       FINI_ARRAY      00003e80 002e80 000008 00  WA  0   0  4
      [17] .init_array       INIT_ARRAY      00003e88 002e88 000004 00  WA  0   0  1
      [18] .dynamic          DYNAMIC         00003e8c 002e8c 000128 08  WA  4   0  4
      [19] .got              PROGBITS        00003fb4 002fb4 00004c 00  WA  0   0  4
      [20] .data             PROGBITS        00004000 003000 000008 00  WA  0   0  4
      [21] .bss              NOBITS          00004008 003008 000000 00  WA  0   0  1
      [22] .comment          PROGBITS        00000000 003008 000028 01  MS  0   0  1
      [23] .note.gnu.gold-ve NOTE            00000000 003030 00001c 00      0   0  4
      [24] .ARM.attributes   ARM_ATTRIBUTES  00000000 00304c 00002b 00      0   0  1
      [25] .shstrtab         STRTAB          00000000 003077 0000fe 00      0   0  1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
        这里我们看到从.fini_array段开始虚拟地址都比文件偏移增加了0x1000,与此对应的是Program Header的第三个段,Load段,也是以.fini_array为开始,并且虚拟地址也比文件偏移增加了0x1000。
     

        1.6 Section Actual Data

        这里面是放1.4提到的25个段的实际数据。

      

        1.7 read Dynamic Setion Actual Data

        arm-linux-androideabi-readelf -d ~/Public/libPLTUtils.so

    Dynamic section at offset 0x2e8c contains 32 entries:
      Tag        Type                         Name/Value
     0x00000003 (PLTGOT)                     0x3fd4
     0x00000002 (PLTRELSZ)                   64 (bytes)
     0x00000017 (JMPREL)                     0xc74
     0x00000014 (PLTREL)                     REL
     0x00000011 (REL)                        0xc24
     0x00000012 (RELSZ)                      80 (bytes)
     0x00000013 (RELENT)                     8 (bytes)
     0x6ffffffa (RELCOUNT)                   7
     0x00000006 (SYMTAB)                     0x18c
     0x0000000b (SYMENT)                     16 (bytes)
     0x00000005 (STRTAB)                     0x51c
     0x0000000a (STRSZ)                      1239 (bytes)
     0x00000004 (HASH)                       0x9f4
     0x00000001 (NEEDED)                     Shared library: [liblog.so]
     0x00000001 (NEEDED)                     Shared library: [libdl.so]
     0x00000001 (NEEDED)                     Shared library: [libstdc++.so]
     0x00000001 (NEEDED)                     Shared library: [libm.so]
     0x00000001 (NEEDED)                     Shared library: [libc.so]
     0x0000000e (SONAME)                     Library soname: [libPLTUtils.so]
     0x0000001a (FINI_ARRAY)                 0x3e80
     0x0000001c (FINI_ARRAYSZ)               8 (bytes)
     0x00000019 (INIT_ARRAY)                 0x3e88
     0x0000001b (INIT_ARRAYSZ)               4 (bytes)
     0x00000010 (SYMBOLIC)                   0x0
     0x0000001e (FLAGS)                      SYMBOLIC BIND_NOW
     0x6ffffffb (FLAGS_1)                    Flags: NOW
     0x6ffffff0 (VERSYM)                     0xb74
     0x6ffffffc (VERDEF)                     0xbe8
     0x6ffffffd (VERDEFNUM)                  1
     0x6ffffffe (VERNEED)                    0xc04
     0x6fffffff (VERNEEDNUM)                 1
     0x00000000 (NULL)                       0x0
        关于Dynamic Section字段的含义,详细请参考http://download.csdn.net/detail/jiangwei0910410003/9204051


        1.8 read Dynsym Section Actual Data

        arm-linux-androideabi-readelf -s ~/Public/libPLTUtils.so

    Symbol table '.dynsym' contains 57 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 FUNC    GLOBAL DEFAULT  UND __cxa_finalize@LIBC (2)
         2: 00000000     0 FUNC    GLOBAL DEFAULT  UND __cxa_atexit@LIBC (2)
         3: 00000d65    52 FUNC    GLOBAL DEFAULT   12 Java_com_example_ndkplt_P
         4: 00000000     0 FUNC    GLOBAL DEFAULT  UND puts@LIBC (2)
         5: 00004004     4 OBJECT  GLOBAL DEFAULT   20 global_fun
         6: 00001904     8 FUNC    WEAK   DEFAULT   12 __aeabi_unwind_cpp_pr1
         7: 000018fc     8 FUNC    GLOBAL DEFAULT   12 __aeabi_unwind_cpp_pr0
         8: 0000190c     8 FUNC    WEAK   DEFAULT   12 __aeabi_unwind_cpp_pr2
         9: 00000000     0 FUNC    WEAK   DEFAULT  UND __gnu_Unwind_Find_exidx
        10: 00001ca4     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Restore_VFP_
        11: 00001c94     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Restore_VFP
        12: 00001cb4     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Restore_VFP_
        13: 00001cc4     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Restore_WMMX
        14: 00001d4c     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Restore_WMMX
        15: 00000000     0 FUNC    GLOBAL DEFAULT  UND abort@LIBC (2)
        16: 00001c80    20 FUNC    GLOBAL DEFAULT   12 restore_core_regs
        17: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcpy@LIBC (2)
        18: 000011c0     8 FUNC    GLOBAL DEFAULT   12 _Unwind_GetCFA
        19: 000011c8   164 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_RaiseExcepti
        20: 0000126c    28 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_ForcedUnwind
        21: 00001288   116 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Resume
        22: 000012fc    32 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Resume_or_Re
        23: 0000131c     4 FUNC    GLOBAL DEFAULT   12 _Unwind_Complete
        24: 00001320    24 FUNC    GLOBAL DEFAULT   12 _Unwind_DeleteException
        25: 00001338    92 FUNC    GLOBAL DEFAULT   12 _Unwind_VRS_Get
        26: 000013bc    92 FUNC    GLOBAL DEFAULT   12 _Unwind_VRS_Set
        27: 00001444   200 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Backtrace
        28: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_begin_cleanup
        29: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_type_match
        30: 00001eb4   904 FUNC    GLOBAL DEFAULT   12 __gnu_unwind_execute
        31: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_call_unexpected
        32: 00001914   876 FUNC    GLOBAL DEFAULT   12 _Unwind_VRS_Pop
        33: 00001cac     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Save_VFP_D
        34: 00001c9c     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Save_VFP
        35: 00001cbc     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Save_VFP_D_1
        36: 00001d08     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Save_WMMXD
        37: 00001d60     0 FUNC    GLOBAL DEFAULT   12 __gnu_Unwind_Save_WMMXC
        38: 00001c80    20 FUNC    GLOBAL DEFAULT   12 __restore_core_regs
        39: 00001d74    36 FUNC    GLOBAL DEFAULT   12 ___Unwind_RaiseException
        40: 00001d74    36 FUNC    GLOBAL DEFAULT   12 _Unwind_RaiseException
        41: 00001d98    36 FUNC    GLOBAL DEFAULT   12 ___Unwind_Resume
        42: 00001d98    36 FUNC    GLOBAL DEFAULT   12 _Unwind_Resume
        43: 00001dbc    36 FUNC    GLOBAL DEFAULT   12 ___Unwind_Resume_or_Rethr
        44: 00001dbc    36 FUNC    GLOBAL DEFAULT   12 _Unwind_Resume_or_Rethrow
        45: 00001de0    36 FUNC    GLOBAL DEFAULT   12 ___Unwind_ForcedUnwind
        46: 00001de0    36 FUNC    GLOBAL DEFAULT   12 _Unwind_ForcedUnwind
        47: 00001e04    36 FUNC    GLOBAL DEFAULT   12 ___Unwind_Backtrace
        48: 00001e04    36 FUNC    GLOBAL DEFAULT   12 _Unwind_Backtrace
        49: 0000223c    64 FUNC    GLOBAL DEFAULT   12 __gnu_unwind_frame
        50: 0000227c    16 FUNC    GLOBAL DEFAULT   12 _Unwind_GetRegionStart
        51: 0000228c    28 FUNC    GLOBAL DEFAULT   12 _Unwind_GetLanguageSpecif
        52: 000022a8     8 FUNC    GLOBAL DEFAULT   12 _Unwind_GetDataRelBase
        53: 000022b0     8 FUNC    GLOBAL DEFAULT   12 _Unwind_GetTextRelBase
        54: 00004008     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
        55: 00004008     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
        56: 00004008     0 NOTYPE  GLOBAL DEFAULT  ABS _end
        关于DynSym Section字段的含义,详细请参考http://download.csdn.net/detail/jiangwei0910410003/9204051


        1.9 Dynstr Section和Shstrtab Section Actual Data

        Dynstr Section的实际数据是Dynsym Setion Actual Data中的函数名组成的字符表。

        而Shstrtab则是Section Header中的每个setion名字组成的字符表。


        2.0 read Relocation Section

        arm-linux-androideabi-readelf -r ~/Public/libPLTUtils.so

    Relocation section '.rel.dyn' at offset 0xc24 contains 10 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00003e80  00000017 R_ARM_RELATIVE   
    00003fb4  00000017 R_ARM_RELATIVE   
    00003fb8  00000017 R_ARM_RELATIVE   
    00003fbc  00000017 R_ARM_RELATIVE   
    00003fc0  00000017 R_ARM_RELATIVE   
    00003fc8  00000017 R_ARM_RELATIVE   
    00003fcc  00000017 R_ARM_RELATIVE   
    00004004  00000402 R_ARM_ABS32       00000000   puts
    00003fc4  00000915 R_ARM_GLOB_DAT    00000000   __gnu_Unwind_Find_exid
    00003fd0  00001f15 R_ARM_GLOB_DAT    00000000   __cxa_call_unexpected
    
    Relocation section '.rel.plt' at offset 0xc74 contains 8 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00003fe0  00000216 R_ARM_JUMP_SLOT   00000000   __cxa_atexit
    00003fe4  00000116 R_ARM_JUMP_SLOT   00000000   __cxa_finalize
    00003fe8  00000416 R_ARM_JUMP_SLOT   00000000   puts
    00003fec  00000916 R_ARM_JUMP_SLOT   00000000   __gnu_Unwind_Find_exid
    00003ff0  00000f16 R_ARM_JUMP_SLOT   00000000   abort
    00003ff4  00001116 R_ARM_JUMP_SLOT   00000000   memcpy
    00003ff8  00001c16 R_ARM_JUMP_SLOT   00000000   __cxa_begin_cleanup
    00003ffc  00001d16 R_ARM_JUMP_SLOT   00000000   __cxa_type_match

        2.1 read Text Section

        ./arm-linux-androideabi-objdump -d ~/Public/libPLTUtils.so


    展开全文
  • ROS功能包文件结构命令

    千次阅读 2017-08-07 22:55:09
    每次提到功能包时,指的是一种特定的文件结构和文件夹组合。这种结构如下所示: 1)bin/ 这是我们编译和链接程序后,用于存储可执行文件的文件夹。 2)include/package_name/ 这个目录包含了我们所需要的库的头文件...
  • 1,系统目录结构。①学习ls命令。ls是list的简写,它的作用是列出当前目录或者指定目录下的所有文件或者目录。用ls /命令查看根目录。用ls /root/查看root的家目录。查看root目录下的authorized_keys。此文件名和...
  • Linux文件结构和Ubunto常见命令

    千次阅读 2016-08-23 09:52:36
    文件结构 /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。...
  • linux 一些常用文件结构命令

    千次阅读 2012-04-11 23:39:15
    1、linux目录结构 / 根目录,最高级别 /bin 系统基本命令存放目录(/usr/bin) /boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)  一般情况下,GRUB或LILO系统引导管理也位于这个目录 /...
  • 在cmd窗口中,使用下方命令可以将当前目录下所有文件的目录结构写入到tree.txt文件里面,这个文件直接会在当前目录生成: tree /f > tree.txt 单纯使用tree命令就是查看所有文件目录结构的意思。 参考 ...
  • windows tree命令生成文件结构

    万次阅读 2017-11-24 11:28:37
    命令如下: tree /F例如: ├─index.html ├─README.md │ ├─modules ├─public │ footer.html │ header.html │ └─template icheck.html ievalute.html iwatch.html
  • scrapy的文件目录结构及相应命令

    千次阅读 2018-02-01 14:55:24
    scrapy的文件目录结构及相应命令   目录结构 主要文件: cfg,配置文件,指定路径 items,指定保存文件的数据结构 middlewares,中间件,处理request和reponse等相关配置 pipelines,项目管道,可以输出...
  • ./bin 包含系统应用的地方 常用的命令如 ls rm等都存储在这里 ./sbin 包含一些只能被超级用户使用的命令,s 代表超级的意思 ./etc 包含系统全局配置文件的地方,影响系统的行为 ./lib 包含非常重要的动态链接库和...
  • 一、多文件结构 二、编译预处理 一、多文件结构 1、一个工程可以划分为多个源文件: 类声明文件(.h文件) 类实现文件(.cpp文件) 类的使用文件(main函数所在的.cpp文件) 2、利用工程来组合各个文件 //...
  • Linux之tree命令生成文件目录结构

    千次阅读 2018-11-01 11:04:16
    在写博客的过程中,看到别人有添加目录结构的好习惯,觉得效果很好,如图所...最简单的使用办法是直接输入tree命令,就会自动给我们以树形的形式列出当前目录的文件和文件夹,不加任何参数,它会自动列表当前目录下...
  • 本文转自linux–tree命令以树形结构显示文件目录结构 tree命令可以以树形结构显示文件目录结构,它非常适合于我们给别人介绍我们的文件目录的组成框架,同时该命令使用适当的参数也可以将命令结果输出到文本...
  • 系统目录结构介绍:tree 命令以树形结构显示文件目录 ,最小化安装系统是没有安装tree命令的。yum install -y tree 安装tree命令想显示两行的话:tree -L 2 /ls / =显示根下的所有目录各目录的分别介绍: /bin/、/...
  • C++程序的一般组织结构l 一个工程可以划分为多个源文件:n 类声明文件(.h文件)n 类实现文件(.cpp文件)n 类的使用文件(main()所在的.cpp文件)l 利用工程来组合各个文件。外部变量l 如果一个变量除了在定义它...
  • 我用的是阿里云服务器,CentOS7,默认没有tree这个命令,需要安装,用下面的命令就可以安装: sudo yum install tree...最简单的使用办法是直接输入tree命令,就会自动给我们以树形的形式列出当前目录的文件和文件夹...
  • tree命令可以以树形结构显示文件目录结构,它非常适合于我们给别人介绍我们的文件目录的组成框架,同时该命令使用适当的参数也可以将命令结果输出到文本文件中。 注:此处以ubuntu系统为例。 在ubuntu系统中默认是...
  • 系统目录结构 tree --以树形结构展开目录 安装tree命令 yum install -y tree tree -L 2 / ----以树形结构展开/ 目录下两层目录结构。 / 根目录 /bin /sbin /usr/bin /usr/sbin 这几个目录下...
  • 今天小编来给分享Linux 系统下一个非常有用的命令的使用:tree命令可以以树形结构显示文件目录结构,它非常适合于我们给别人介绍我们的文件目录的组成框架,同时该命令使用适当的参数也可以将命令结果输出到文本...
  • linux tree命令结构显示目录文件

    千次阅读 2019-06-25 10:17:55
    tree命令的中文意思为“树”,功能是以树形结构列出指定目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件命令格式 tree [option] [directory] tree [选项] [目录] 说明:  1)注意tree命令...
  • ubuntu文件系统结构和 cd 命令

    千次阅读 2015-03-09 20:19:07
    在Linux的目录结构中 “.” 表示当前目录,“..” 表示当前目录的父目录,“/” 表示根目录。 现在的工作目录为:/home/development,想改变当前工作目录,进入下一层目录temp,应使用cd命令 [development@www ~...
  • 2.1–2.2 系统目录结构(上.下) 在系统中每个用户都有自己的家目录。用户的家目录用来保存自己的配置文件或者一些内容。如果普通用户需要远程连接,则也需要在用户的家目录下创建/.ssh/authorized_keys,并将公钥...
  • 目录结构中搜索文件 find 命令详解

    千次阅读 2007-09-16 20:37:00
    在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 语法:find [起始目录] 寻找条件 操作说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件 的...
  • linux文件结构/bin:二进制可执行命令 /dev:设备特殊文件 /etc:系统管理和配置文件 /etc/rc.d:启动的配 置文件和脚本 /home:用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib:标准...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,252
精华内容 9,700
关键字:

文件结构命令