首页 > 其他分享 >常用的小命令

常用的小命令

时间:2023-11-20 09:44:05浏览次数:26  
标签:常用 字节 ctrl int patch char 命令 any

hexdump

hexdump -n 10 -C wancc -s 20

#从第20行开始,打印10行、#一般是搜索一下里面的时间

hexdump -Cv /dev/mtd0 -s 0x0001a600 -n 640 #C 表示16进制,v表示重复不折叠,s表示源,n表示字节数

常用软件

vscode 操作小技巧

=.* #正则表达式匹配

ctrl+alt+上下箭头 #批量修改

linux 打补丁 打patch

diff -Naur A B > patch #A B 对比 ,把差异输出到patch里面

-N 如果某个文件缺少了,就当作空文件对比

-a :把所有文件当作text

-u :输出修改地方的前几行和后几行

-r :递归

-p :显示你修改了哪个函数,可以不加

patch -p1 -b -s -d gdb-7.10.1 < gdb-7.10.1-mtk7581.patch

-b 生成一个备份 gdb_proc_service.h gdb_proc_service.h.orig

-s 无声无息的打patch

-d 指定到哪个目录里面打patch

 

生成patch文件:

svn diff > patchFile // 整个工程的变动生成patch

或svn diff file > patchFile // 某个文件单独变动的patch

 

svn回滚:

svn revert FILE // 单个文件回滚

svn revert DIR --depth=infinity // 整个目录进行递归回滚

 

打patch:

patch -p0 < test.patch // -p0 选项要从当前目录查找目的文件(夹)

 

patch -p1 < test.patch // -p1 选项要从当前目录查找目的文件,不包含patch中的最上级目录(夹)

例如两个版本以a,b开头,而a,b并不是真正有效地代码路径,则这时候需要使用"-p1"参数。

a/src/...

b/src/...

 

服务器防火墙配置

二、centos关闭端口方法

1.开启防火墙

systemctl start firewalld

2.开机自启

systemctl enable firewalld.service

3.防火墙开放端口:(以3306为例)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

关闭8080端口

firewall-cmd --permanent --zone=public --remove-port=8080/tcp

4.重启防火墙:

systemctl restart firewalld.service

5.更新防火墙规则:

firewall-cmd –reload

二、ubuntu关闭端口方法

1.开启防火墙

sudo ufw enable

2.开启两个端口(22,445)

sudo ufw allow proto tcp from any to any port 22

sudo ufw allow proto tcp from any to any port 445

sudo ufw allow proto tcp from any to any port 80

sudo ufw allow proto tcp from any to any port 8068

 

3.设置防火墙默认阻止所有端口访问

sudo ufw default deny

 

ctag

apt-get install ctags

ctags -R src/thd_src

vim .vim/vimrc

vi -t fhdrv_kdrv_gpio_pinmux

ctrl +] 找定义的地方

ctrl +T 往后翻

ctrl +o 往前翻

 

home 行首 end 行尾

ctrl+b 向上翻页 ctrl+f 向下翻页

ctrl+u 向上翻半面ctrl+d 向上翻半面

ls -lR |grep "^-" |wc -l #递归找目录下文件个数

ls -lR |grep "^d" |wc -l #递归找目录下文件夹个数

 

ln source.txt hard.txt #硬链接

ln -s source.txt hard.txt #软链接

 

objdump -D -S -b binary -m i386 nvram.o #反汇编命令objdump

 

修改编译服务器时间

date -s 2023-2-24+17:01:00

 

visio ctrl 放在边界与角的作用分别是扩展画布,旋转画布

 

计算机是以2,4,或8的倍数的字节块来读写内存,地址必须是2,4,8的倍数,要求各种数据类型按照一定的规则在空间上排列,这个就是对齐

 

struct test

{

int a; 4

char b; 1

int c; 4

short d; 2

}

0~3 4 5~9 10~11

a b c d

自身对齐值,最大的那一个 并且整个结构体的长度要是有效对齐值 的整数倍

首地址要能被最宽的大小带除

每个成员的偏移量教师是成员 大小的整数 位

总大小要是最宽基本类型成员 大小的整数倍

c的偏移量为5,不满足对齐要求,它的偏移量应该能够被sizeof(int) 4大小带除,c的偏移为8

0~3 4 5~7 8~11 12~13 14~15

a b 填充3位 c d 填充

0~3 4 5 6~7 8~11

a b 填充1位 d d

 

考虑teArray[2],teArray[0]的d如果不填充字节,那么teArray[0]的位移为14,不满足对齐要求,因此在也要填充字节

struct A

{

int a; 0-3

char b; 4-7

double c; 7-15

char d;

};

这个结构体占24个字节 0-3 a 4-

Int 4 字节

char 1字节

double 8字节

 

struct student {

char name[21];

int age;

char address[51]; 52个数据

};

占80个字节

0-21 name

24-27 age

28-80 address

大小端

0x1234

0x 12 34 大端(正着存储的就是小端)

0x 34 12 小端(反着存储的就是小端)

低地址低字节那是小端

int a = 0x0001

高序字节——低序字节

小端字节序 地址A+1 地址A (高序字节位放在高地址)

 

小端存储 0100

大端字节序 地址A 地址A+1

大端存储 0001

低地址——高地址

 

 

daixiong@chgao-virtual-machine:~$ ./a.out

1(小端存储)

daixiong@chgao-virtual-machine:~$ cat test1.c

#include <stdio.h>

int main()

{

int a = 0x000001;

char * p = (char*)&a;

printf("%d\n", *p);

return 0;

}

 

 

溢出举例

unsigned char a = 200;

unsigned char a = 100;

unsigned char c = 0;

c = a + b

11001000

01100100

100101100 会有一位丢失

标签:常用,字节,ctrl,int,patch,char,命令,any
From: https://www.cnblogs.com/koala123/p/17843247.html

相关文章

  • 【Python进阶】近200页md文档14大体系知识点,第4篇:linux命令和vim使用
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。全套Python进阶笔记地址:请移步这里共......
  • cmd常用命令(十)nslookup
    nslookup查看默认dnsC:\Users\admin>nslookup默认服务器:UnKnownAddress:192.168.51.51nslookup-debug8.8.8.8C:\Users\admin>nslookup-debug8.8.8.8------------Gotanswer:HEADER:opcode=QUERY,id=1,rcode=NXDOMAINheaderflag......
  • 常用木马和提权命令
    作用是在Python中创建一个伪终端(pty),并在其中启动一个bashshell。这样,你可以在Python脚本中执行bash命令,就像在终端中一样。python-c'importpty;pty.spawn("/bin/bash")'一句话木马:<?php@eval($_REQUEST[ckl])?><?php@eval($_POST['ckl']);?>在PHP中,$_POST是一个包含......
  • ng config -g cli.packageManager npm 命令行的使用
    ngconfig-gcli.packageManagernpm这条命令是在AngularCLI环境下执行的,它的主要目的是全局设置AngularCLI使用的包管理器。这里,-g代表全局设置,cli.packageManager是你要配置的属性,npm是你要设置的值。这条命令将会把AngularCLI的包管理器设置为npm,这意味着在你使......
  • mongoDB命令行交互
    命令行交互命令行交互一般是学习数据库的第一步,不过这些命令在后续用的比较少,了解即可。角色命令创建角色useadmindb.createUser({"user":"root","pwd":passwordPrompt(),"roles":[{role:"role",db:"<database>"}|"root"]})校验......
  • 深入了解Linux下的find命令
    在Linux系统中,find命令是一个强大的工具,用于在文件系统中查找文件和目录。它支持基于多种条件的搜索,并且可以执行各种操作。本文将深入探讨find命令的基本用法、常见选项以及一些高级用法,以帮助你更好地利用这个强大的工具。1.基本用法1.1.查找文件最基本的用法是按照文件名来......
  • 一个Git clone仓库的指定目录命令对比国内外常见AI(五)使用文心一言
    通常情况下,我们会克隆整个Git仓库,但有时候我们只需要其中某一个目录或文件,这时候只克隆子目录会更加方便。这个需求好像不是经常用到,搜索结果也是五花八门,有些完全达不到要求,正好用这个机会测试一下最近大火的AI看看是否足够智能。文心一言(个人感觉普通提问回答还可以,专业提问回答......
  • 命令式编程(Imperative Programming)和声明式编程(Declarative Programming)的区别
    命令式编程(ImperativeProgramming)和声明式编程(DeclarativeProgramming)都是计算机编程的范式,它们有着不同的特点和适用场景。首先,我们讨论命令式编程。在命令式编程中,程序员需要明确地告诉计算机需要执行哪些步骤来达到预期的结果。我们可以把这种范式比作烹饪食谱:食谱会明确地......
  • docker 常用命令、安装、镜像加速配置
    docker笔记,请参考。常用命令官方学习网站,生涩。网上资料千奇百怪,建议到官网验证。可以用AI学习一点,但经常有错,像文心一言、通义千问。https://docs.docker.com/engine/reference/run/以ubantu为例,你可以在docker安装一个ubantu容器。你首先是有要有一个镜像,可以在hub.do......
  • linux命令学习
    Linux命令的学习导航目录Linux命令的学习导航使用VMware备份操作系统快照克隆Linux系统的文件文件与文件夹Linux系统的文件目录结构Linux的基本指令指令与选项基础指令ls指令pwd指令cd命令mkdir指令touch指令cp指令mv指令rm指令vim命令输出重定向cat指令进阶指令df指令free指令h......