Linux嵌入式開發日常技術總結(4) Misc

Misc

file

顯示文件總體信息

$file libbrowser_engine.so
libbrowser_engine.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

$file browser
/browser: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.35, not stripped

$file opera-devices-sdk-4.9.0.176.Wagoner.135-MTK5800.tar.gz 
opera-devices-sdk-4.9.0.176.Wagoner.135-MTK5800.tar.gz: gzip compressed data, from Unix, last modified: Tue Sep  5 20:18:27 2017

strings

查看二進制文件中字符串

$ls
hello.c  Makefile
$cat hello.c 
#include <stdio.h>
int main(int argc, char *argv[])
{
        printf("hello!\n");
        return 0;
}
$make
/mtkoss/gnuarm/neon_4.8.2_2.6.35_cortex-a9-ubuntu/x86_64/bin/armv7a-mediatek482_001_neon-linux-gnueabi-gcc hello.c -o hello
$strings hello
/lib/ld-linux.so.3
libgcc_s.so.1
_ITM_deregisterTMCloneTable
__gmon_start__
__aeabi_unwind_cpp_pr0
_Jv_RegisterClasses
_ITM_registerTMCloneTable
__aeabi_unwind_cpp_pr1
libc.so.6
puts
abort
__libc_start_main
GLIBC_2.4
GCC_3.5
hello!

$strings /etc/ld.so.cache |head -n 10
ld.so-1.7.0
glibc-ld.so.cache1.1N
libz.so.1
/lib/x86_64-linux-gnu/libz.so.1
libz.so.1
/lib/i386-linux-gnu/libz.so.1
libz.so
/usr/lib/x86_64-linux-gnu/libz.so
libz.so
/usr/lib/i386-linux-gnu/libz.so

$strings liba.so |grep "funca"

screen

保存與恢復會話(在一些遠程登陸如ssh是經常使用)

  1. 首先遠程登陸,啓動screen

    $ssh xxxx
    $screen
    $...任何正常操作...
    $make
    $...
    
  2. 客戶端斷開遠程鏈接,但是進程在server端實際還在運行在screen中的遠程操作

    斷開的原因可能是由於網絡,或者客戶端電腦的電源管理自動斷開等原因。

  3. 再次登陸,恢復之前的會話狀態

    $ssh xxxx
    $screen -r
    $...在這裏你可以看到之前會話中工作的情況,並且相關的工作仍然在自動運行着...
    
  4. 其它

    參考: man screen, 如 screen -x 用於共享屏幕。

md5sum

查看兩個文件(比如很大的二進制文件)是否一樣

$md5sum geany-1.25.tar.gz 
8b60cc7f295fba0118f04fab4db2364a  geany-1.25.tar.gz
$md5sum rgits.py 
7b799c601ff2c4d602dff4e72413ca20  rgits.py
$cp rgits.py rgits.py.bak
$md5sum rgits.py.bak 
7b799c601ff2c4d602dff4e72413ca20  rgits.py.bak

sshfs

掛載遠程ssh服務器上的一個目錄,(e.g. 將215服務器掛載到本地目錄)

在 172.16.246.215中:

$ls /home/miracle.lv
2k18                        bin

在本地:

$ls mnt/215/

$sshfs [email protected]:/home/miracle.lv/ mnt/215
$ls mnt/215/
2k18                        bin

遠程文件傳輸

SendAnyWhere(國際)

官網: https://send-anywhere.com/

支持方式:

  1. 點對點傳輸
  2. 網頁中轉傳輸

可以不用賬號。

Gdriver(國際)

網址:drive.google.com

需要Gdriver賬號上傳喝下載。

Cowtransfer(國內)

官網:https://cowtransfer.com/

類似wetransfer,通過網頁方式上傳下載,可無需賬號。

Mega(世界)

網站:https://cowtransfer.com/

通過網盤賬號上傳下載。

Wps(國內)

網站:drive.wps.cn

需要雲盤賬號上傳下載。

nc

Linux命令

client on windows(cygwin):
nc -l 55555 | tar xzvf -

server:
tar czvf - <your dir/file> | nc 172.16.246.210 55555

scp

Linux命令

$scp 172.16.246.220:/home/share/miracle/2k18masfn/opera_sdk/opera-devices-sdk-4.11.3.57.Carter2.283-MTK5596.tar.gz .
$scp ./opera-devices-sdk-4.11.3.57.Carter2.283-MTK5596.tar.gz 172.16.246.220:/home/share/miracle/2k18masfn/opera_sdk/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章