常用shell命令(git/svn/vim等)

1、git

 

//1.1、推代码
git checkout 文件名  ==============回退某文件修改 
git add 需要添加的文件路径(git add --all添加所有) 
git commit -m "xxxxxx" ============生成conmit信息
git push origin HEAD:refs/for/master  ==========将代码推送到分支master最新节点上

//1.2、去除git add添加的文件
去除git add修改
git rm --cached “文件路径”,不删除物理文件,仅将该文件从缓存中删除;
git reset 也可以
git rm --f “文件路径”,不仅将该文件从缓存中删除,还会将物理文件删除

//1.3、去掉每行结尾的^M
windows和linux行结尾差异导致

%s/^M//g  或者 %s/\r//g 然后esc退出 :wq保存退出
git diff 去掉匹配换行差异
git config --global core.whitespace cr-at-eol

//1.4、git push 失败
push 失败:显示 error Missing tree

git push 后增加 --no-thin
https://opendev.org/opendev/git-review/commit/39cd763d5d3ae310b00e54f6fc24eba993ed57f5
这是gerrit的一个bug,丢失了git tree ,gerrit在推送是默认是采用thin,将发生的包降低到最低,忽略本地和远端文档公共部分。

//1.5、git status 只显示被跟踪文件
git status -uno   

//1.6、更新代码、回退代码
git pull --all    更新所有分支
git pull origin xxxx 更新远端分支xxx到本地
 
//1.7、查看comimit
git show  commit的ID
git show  commit的ID --stat
 回退修复并删除修改

git reset HEAD  文件名     //回退修改
git  checkout 文件名         //删除修改

//1.8 带本地commit 并更新代码
git pull origin 分支名 --rebase

//1.9 合并commit
git rebase -i xxxxcommit节点(合并节点前的一个节点)
将第一个改为pich,其他的都改为squash。
再从新编辑commit

 

2、svn

 

svn  revert  [-R]  [something]   //回退本地修改[-R] [文件名]

 

 

3、vim

3.1 设置tab为4个空格

set ts=4
set expandtab
set autoindent

3.2 粘贴代码取消自动缩进

1,在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)
2,拷贝完成之后,输入:set nopaste (关闭paste)

3.3 替换某字符串(全部替换)

将dev替换成mydev
:%s/dev/mydev/g

 

4、patch

 

5、查看栈的大小

内核栈:默认8K(32位)16K(64位)

用户态线程栈:ulimit -s 

临时改变线程栈空间的大小:ulimit -s 大小

进程栈:是动态开辟的,比线程栈大小大

 

6、解压/压缩文件

*.tar 文件

tar –xvf file.tar //解压 tar包

*.tar.gz 和 *.tgz 文件

tar -xzvf file.tar.gz //解压tar.g

*.gz 文件

gunzip FileName.gz //第一种 *.gz 解压
gzip -d FileName.gz //第二种 *.gz 解压

*.bz2 文件

bzip2 -d FileName.bz2 //第一种解压 *.bz2 文件
bunzip2 FileName.bz2 //第二种解压 *.bz2 文件

*.tar.bz2 文件

tar jxvf FileName.tar.bz2 //第一种解压 *.tar.bz2 文件
tar --bzip xvf FileName.tar.bz2 //第二种解压 *.tar.bz2 文件

*.zip 文件

unzip FileName.zip //解压 *.zip 文件

.xz 文件

XZ compressed data   
xz -d filename.xz  //解压

.cpio 文件

cpio -iv < filename.cpio

*.rar 文件

unrar e Filename.rar  //解压 *.rar 文件

 7、tar 压缩/加密/解密

tar -czvf -  file-name | openssl des3 -salt -k  password -out  file-name.tar.gz  //加密文件 file-name文件名 password 加密密码
openssl des3 -d -k  password -salt -in  file-name.tar.gz | tar xzf - //解密文件 file-name文件名 password 加密密码

 

openssl version -a   //查看openssl 版本,解压失败,可能是OpenSSL 版本差异较大导致

 

 8、grep

grep -C 5 foo file //显示file文件里匹配foo字串那行以及上下5行
grep -B 5 foo file //显示foo及前5行
grep -A 5 foo file //显示foo及后5行
grep -rn foo--exclude-dir={proc,sys} //搜索foo,不包括proc,sys文件夹
cat /proc/interrupts | grep -v 'eth1' //匹配文件中不包含 eth1 的那一行
cat /proc/interrupts | grep -E 'LOC|ERR' //grep -E 同时匹配多个关键词,既搜索LOC又搜索ERR
grep xxx --binary-files=without-match //忽略二进制

 

9、dmidecode

dmidecode –t slot  //查看pci 插槽对应设备

 

10、getconf

[root@localhost ~]# getconf PAGESIZE   //查看页大小
4096
[root@localhost ~]# getconf -a   //查看所有的系统配置

 11、ifconfig

ifconfig vEth0 down
ifconfig vEth0 hw ether 00:40:08:01:01:01
ifconfig vEth0 172.16.201.201 netmask 255.255.255.0 up

 12、dd 命令

time dd if=/dev/zero of=test.txt oflag=direct bs=4k count=100000
// 测试读写速度

13、major、minor

cat /proc/devices
//查看 major
cat /sys/bus/usb/..../uevent/
//查看 minor

//如果有设备节点:
# ls /dev/watchdog -lah
crw-rw----    1 root     root       10, 130 Jan  1 00:00 /dev/watchdog
//c 表示字符设备, major 10,minor 130

14、rpm

rpm -ivh  --nodeps --force sysstat-11.7.3-5.el8.aarch64.rpm
//如果命令安装存在依赖,强行安装

 

15、设置core操作

ulimit -c unlimited
echo 1 > /proc/sys/kernel/core_uses_pid echo "/core-%e-%p-%t" > /proc/sys/kernel/core_pattern

 

 

 

16、设置hugepage

/***** 设置hugepage ****/
dts 传参:
hugepagesz=512M default_hugepagesz=512M  hugepages=6
echo 6 >  /proc/sys/vm/nr_hugepages 或
echo 6 > /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages

17、taskset 改绑核

taskset -c 5  echo 463 > /sys/class/gpio/export
taskset -c 5  echo out > /sys/class/gpio/gpio463/direction
taskset -c 5  cat /sys/class/gpio/gpio463/value
taskset -c 5  echo 1 > /sys/class/gpio/gpio463/value

 

18、telnet 操作

/bin/telnet 172.20.1.172

 

19、tftp 操作

tftp 172.20.1.172
tftp>binary
tftp>get xxxx文件

或者

tftp 172.20.1.172 -g -r 文件名

 20、查看page/hugepage大小

//查看当前环境页大小:x86为4K页,ARM为64K页
[root@X86_64]# getconf PAGESIZE
4096
[root@ARM64]# getconf PAGE_SIZE
65536
//查看大页大小
cat /proc/meminfo | grep Hugepagesize

 21、scp 跨设备拷贝

scp local_file remote_username@remote_ip:remote_folder //本端拷贝到远端
scp  remote_username@remote_ip:remote_folder  local_file //远端拷贝到本端
//scp -r 则是拷贝文件夹
//local_file本地文件,remote_username  远端用户名,remote_ip 远端设备ip, remote_folder 远端设备文件路径

 22、export

./test_csdnping: error while loading shared libraries: librte_ethdev.so.21: cannot open shared object file: No such file 

export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH  //或者把/usr/lib改为需要添加lib 的路径

 

posted on 2022-05-28 16:05  红旗kernel  阅读(57)  评论(0编辑  收藏  举报

导航