小技巧[维护ing]
记录一些平时遇见的问题,便于后续遇到相同问题时查看
1 powershell 界面按上键不能显示上次的命令
出现这种问题可能是因为命令记录的缓冲区已经满了,
方法1:可以打开属性->选项->命令记录 选择丢弃旧的副本
方法2:或者执行:
Remove-Item (Get-PSReadlineOption).HistorySavePath
重启 powershell
2 将windows文件类型转换为Unix类型
有时候需要将文档格式从Windows格式转换成Unix格式,Windows下换行是\r\n,而Unix下换行是\n,所以只需要将文档中的\r去掉即可
方法1:使用vim设置,
使用 vim 打开文档,输入:set fileformat=unix 或 :set ff=unix,然后保存即完成转换
方法2:sed命令
sed -i 's/\r//' <filename>
3 linux下查看文件夹大小的命令
1 查看当前文件夹及文件夹下大小
du -ah --max-depth=1
其中:
a:表示目录下所有的文件和文件夹
h:以K,M,G为单位显示
max-depth:标识目录的深度
2 查看当前文件夹总大小
du -sh
其中: s表示仅显示总计
4 vim中粘贴时缩进乱码
在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加,原因是终端把粘贴的文本存入键盘缓存(Keyboard Buffer)中,Vim则把这些内容作为用户的键盘输入来处理。导致在遇到换行符的时候,如果Vim开启了自动缩进,就会默认的把上一行缩进插入到下一 行的开头,最终使代码变乱。
解决办法:取消自动缩进
:set paste # 进入paste模式
:set nopaster # 退出paste模式
5 android 源码下载路径:
源码下载(可分仓下载):
https://android.googlesource.com/
源码查看
http://aospxref.com/android-13.0.0_r3
6 rm时排除掉指定文件和目录外全部删除
rm -rf !(排除的文件或文件夹)
7 查看ubuntu版本
方法1:
uname -a
方法2(主要用来查看内核版本,包括Ubuntu版本):
cat /proc/version
方法3(里面有ubuntu版本序号):
cat /etc/lsb-release
8 设置Ubuntu PATH路径
有时在Ubuntu环境需要设置工具链路径,常使用如下命令,这样寻找命令时会从前到后依次寻找
export PATH=xxxx:$PATH
echo $PATH
最终的PATH形成如下格式:路径1:路径2:路径3
有时调试,需要取消PATH前面的路径
export PATH=${PATH#*:} # 删除第一个
export PATH=${PATH#*:} # 删除第二个
9 /usr/bin/rm: Argument list too long参数列表过长的解决办法
ls | xargs -n 90 rm -rf
ls列出当前目录下的所有文件,以空格作为分隔, xargs是一个过滤器, -n 90 表示每90个文件作为一组,作为 命令 rm -rf 的参数,这样命令行就不会过长了。
10 gcc列出默认定义的宏
gcc -dM -E - < /dev/null
11 linux删掉指定文件/文件夹之外的所有文件
rm -rf !(keep) # 删除keep文件之外的所有文件
rm -rf !(keep1 | keep2) # 删除keep1和keep2文件之外的所有文件
结合grep方法:
ls | grep -v keep | xargs rm #删除keep文件之外的所有文件,grep -v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名
12 linux 使用 find 找到所有可执行文件并拷贝到新文件夹
find /path/to/source -type f -executable | xargs -I {} cp {} /path/to/dest/
13 grep 忽略可执行文件
有时候我们查找某字段,但是想只在文本文件中查找,可以使用grep的I参数
grep -I "pattern" file