自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 RecyclerView使用GridLayoutManager 设置间距一致大小

在android应用中,要实现一个Recycleview,使用GridLayoutManager格子排列,且排列成4列实现水平方向间距均等(没有外边距)。(均分为3列5列等、竖直方向、有边距等原理相同。)先看最终效果图。---xml中这样配置为了醒目,我们让RecyclerView背景是浅绿色。每一个item的配置如layout_item.xml所示为了醒目,我们让每一个item的背景色为浅红色。Activity中,我们这样设置这样的显示效果,就是,最左边item的左边距离0,

2022-06-23 15:56:38 8642 1

原创 python 里shutil.copy和shutil.move

python 里shutil.copy和shutil.move的区别copymovecopy(fileA,fileB) OK 文件存在也可以 会覆盖…shutil.move(fileA,fileB) OK fileB存在 OKcopyfile(fileA,fileB) OKcopy(fileA,folderB) OK 最后会生成folderB/filexxx 文件存在也可以shutil.move(fileA,folderB) OK 如果folderB

2021-09-23 10:55:43 1140

原创 python Zipfile extractall解压文件会丢失链接信息

python zipfile 用extractall强制解压全部文件zip = zipfile.ZipFile("zippath", allowZip64=True)ret = zip.extractall("folder/")zip.close() 效果基本同于unzip -o可以强制覆盖原来的文件。不过这种方式解压,和unzip 还是是有区别的python这种方式解压 出来的rwx信息丢失。shell命令unzip解压出来的rwx不会丢失extracall会丢失

2021-09-23 10:06:55 1137

原创 zip命令打包去过滤某目录不打包进去

bash中zip命令打包去过滤某目录不打包进去用以下命令zip -r a.zip ./ -x "d/*"注意"-x" 一定要放在最后。实验看效果$ find../d./d/f2./f1$ zip -r a.zip ./ -x "d/*" adding: f1 (stored 0%)$ unzip -l a.zipArchive: a.zip Length Date Time Name--------- ---------- ----- -

2021-09-22 11:42:33 830

原创 mysql是否为null为空串的判断

mysql中,> select * from test;+----+------+-------+| id | name | des |+----+------+-------+| 1 | 1_m | 1_des || 5 | 1_m | 1_des || 6 | | || 7 | 2_m | NULL |> select * from test where des is null;+----+------+------+| id

2021-09-22 11:11:47 459

原创 java中把空串分割得到的数组不是预期的

stringA.split(stringB)stringA字符串用子串stringB分割字符串,得到一个数组。现在发现,当stringA是长度为0的串时,得到的数组不是预期的。String stringA = "";String stringB=" ";String[] tokens = stringA.split(stringB);System.out.println("\""+stringA+"\".split(\""+stringB+"\").length="+tokens.length

2021-09-22 10:51:24 118

原创 find atime +n n -n的规律

用以下命令可以创建指定时间的文件$ touch -d "2020-04-28" -a f1$ touch -d "2020-04-28 23:59:59" -a f2、按访问时间查找的命令命令find ./ -type f -atime +n和find ./ -type f -atime n和find ./ -type f -atime -n和有什么区别?查找命令备注find ./ -type f -atime 00-24小时以内的文件find ./ -type

2021-09-16 16:10:30 531

原创 idea中配置jdk的地方

idea中配置jdk的地方:File -> Project Structure -> Project Settings -> Project -> Project SDKFile -> Project Structure -> Project Settings -> Project -> Project Language levelFile -> Project Structure -> Project Settings -> Mod

2021-09-16 15:18:41 1160

原创 mysql清空表2种方式时间对比

mysql清空表两种方式truncate table tb_x;和delete from tb_x;时间对比。行数truncate table tb_xdelete from tb_x;2400行294ms133ms2400行261ms147ms2400行350ms141ms备注需要drop权限需要delete权限

2021-09-16 15:11:50 311

原创 ubuntu shell取一位随机数

如果随机数只取一位,该如何取?1. 取最高一位${RANDOM:0:1}a=(0 0 0 0 0 0 0 0 0 0);for i in $(seq 0 99);do first=`echo ${RANDOM:0:1}`;let a[${first}]+=1;done取最高一位数字,我们来统计一下这些‘随机数’是否随机:$ for j in ${a[*]} ; do echo -n $j" " ; done;echo ""0 34 40 13 5 4 2 0 1 1 即以0为开头

2021-09-16 14:57:46 255

原创 ubuntu终端发邮件

ubuntu发邮件安装组件apt-get install mailutilsapt-get install heirloom-mailx第一个命令会弹框让你填写信息,就用默认的。配置 /etc/s-nail.rcset [email protected] #设置发送邮箱set smtp=smtp.263.net #设置smtp服务器和端口set [email protected] #设置用户名,记得加域名

2021-09-16 14:09:01 416

原创 gradlew编译报错mips64el-linux-android-strip

已知有配置ndk.dir=/home/.../Sdk/ndk-bundle sdk.dir=/home/.../Sdk gradlew 编译报错Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForxxxxx'.> A problem occurred starting process 'command '\<sdk.dir>/ndk-bundle/toolchains/mips

2021-09-16 13:53:54 261

原创 git clone因为含有特殊字符导致失败 Could not resolve host

某git仓库,用户名是userA,密码是pw12*#git version 1.9.1的机器 上git clone http://userA:pw12*#@love.3q.com/usera/Fruit.git b成功但在git version 2.7.4的机器 上则会失败$ git clone http://userA:pw12*#@love.3q.com/usera/Fruit.git b正克隆到 'FreemePrivateNewsPageCn'...fatal: unable to

2021-09-16 11:36:06 962

原创 AS编译apk失败No toolchains found in the NDK toolchains folder for ABI with prefix

ubuntu中编译apk报错:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android This version of the NDK may be incompatible with the Android Gradle plugin version 3.0 or older. Please use plugin version 3.1 or newer. Upgrade p

2021-09-16 11:24:17 150

原创 mysql插入中文字符失败修改字段字符集为utf-8插入中文正常

mysql插入中文字符失败ERROR 1366 (22007): Incorrect string value: \'\xE6\x9D\x8E' for column `poetry_db`.`author`.`name` at row 1更改database的charset用alter database dbname default character set 'utf8';修改database的charset$ show create database poetry_db;+-------

2021-09-16 10:58:36 312

原创 c语言中#define a 1或者未定义的变量# if a==1会是什么结果

c语言中,#define a 1 #if a==1 #define b #if b==1会是什么结果?结论define#ifdef VAR#if defined(VAR)#if VAR ==1#if VAR ==0#define VAR 1truetruetruefalse#define VAR 0truetruefalsetrue#define VARtruetrueERROR (编译不通过)ERROR#undefi

2021-09-15 17:57:21 1187

原创 nohup & 让进程在后台运行的用法

nohup & 让进程在后台运行的用法准备一个可以长时间跑的脚本。$ cat t.sh#!/bin/bashfor i in $(seq 100)dosleep 1secho "i $i"done1.cmd终端A运行/bin/bash t.sh此时终端B可见t.sh进程1.此时终端A Ctrl + C 或者 终端A 关闭此时终端B不可见t.sh进程2.cmd &终端A运行/bin/bash t.sh &此时终端B可见t.sh进程1.终端A Ctrl

2021-09-15 17:40:16 1348

原创 用signapk.jar给apk签名失败UnsatisfiedLinkError,IllegalArgumentException

用signapk.jar给apk签名失败,jdk1.8时android N源码里,$ java -jar out/host/linux-x86/framework/signapk.jar \.../platform.x509.pem .../platform.pk8 .../testapp-debug.apk .../testapp-debug_signed.apkException in thread "main" java.lang.UnsatisfiedLinkError: no conscr

2021-09-15 16:24:30 951

原创 jenkins执行状态stable unstable是什么

jenkins执行状态stable unstable是什么任务A配置下游任务BTrigger parameterized build on other projects其中选择Trigger when build is xxx可以选择Trigger when build is stable、Trigger when build is unstable、Trigger when build is failed等等,stable or unstable or failed or aborte

2021-09-15 16:01:52 2577

原创 zip -d因为set -f取消了通配符导致星号*不起作用

zip xxx.zip -d file_path可以把xxx.zip包里file_path这个路径的文件删除。现在发现 zip -d删除zip包里文件的命令,有时候无法删除里面的文件。有某zip文件,内容如下unzip -l t.zipArchive: t.zip Length Date Time Name--------- ---------- ----- ---- 0 2019-04-19 16:12 d2/f 0 20

2021-09-15 15:21:40 461

原创 shell grep -r查找文件内容略过查找某些目录

shell中,grep -r查找文件内容略过查找某些目录。该如何操作呢。1. 如果要略过多个目录不执行grep用grep -r xxx <path> --exlude-dir={folder_name1,folder_name2/}说明 :--exclude-dir里每一个都是目录的名字,而不是目录的路径,目录名最后可以跟一个/,即可以是folder_name1,也可以是folder_name2/,会把<path>路径下子孙目录中所有名字为’folder_name1’

2021-09-14 15:38:02 657

原创 shell中判断字符串是否包含某串

shell中判断字符串是否包含某串shell cmd 备注bash if [[ "aa bb cc" =~ "bb" ]] ; then echo "in";fi可以bash if [ "aa bb cc" =~ "bb" ] ; then echo "in";fi语句非法bash if [[ "aa bb cc" = *bb* ]] ; then echo "in";fi可以bash if [[ "aa bb cc" == *bb* ]] ; then echo "in";fi可以b

2021-09-14 13:53:45 863

原创 mysql中varchar长度和char_length()和length()的区别

mysql中varchar类型的字段,如果存储中文字符,那么可以varchar(32)可以存储多少个中文字符?tb_fruit表中有字段name。函数char_length(field_name>)和函数length(field_name)都表示该字段的长度。char_length()和length()有什么区别呢?(以下信息中隐藏了无关信息):> desc tb_fruit;+--------+-------------+------+-----+---------+-------

2021-09-14 11:05:16 1295

原创 shell awk 打印第2到最后一列

shell awk 打印第2-NF列结论:awk '{$1="";print $0 }'和awk '{for(i=2;i<=NF;i=i+1)printf " "$i;print ""}'可行。看效果。准备一个文件 111 22 33 44aa bb cc dd eeAA BB CC DD EE FF$ awk '{$1="";print $0 }' 1 22 33 44 bb cc dd ee BB CC DD EE FF$ awk '{for(i=2;i<=NF;i

2021-09-13 17:31:04 10113

原创 shell(bash)替换字符串大全

shell(bash)替换字符串大全1 .替换(只替换一个)varrB=${varA/str1/str2}$ var="AAAszip_BBB.zip";var2=${var/zip/ZIP};echo $var2};AAAsZIP_BBB.zip$ var="AAAszip_BBB.zip";var2=${var/.zip/.ZIP};echo $var2;AAAszip_BBB.ZIP替换(替换所有)varB=${varA//str1/str2}$ var="AAAszip_BBB.

2021-09-13 17:21:13 15987

原创 usermod -a -G group user修改user用户信息,把user添加到组group中

usermod -a -G groupB userA命令是修改userA用户信息,把userA添加到组groupB中。$ ll总用量 40drwxrwxr-x 10 jenkins jenkins 4096 7月 3 16:24 ./drwxrwxr-x 3 jenkins jenkins 4096 6月 6 10:03 ../$ mkdir uploadmkdir: 无法创建目录"upload": 权限不够$ iduid=1000(userA) gid=1000(userA) 组

2021-09-11 11:20:58 10198

原创 sudo -S可以不用手动输入密码,且只要第一次密码正确,后面在有效期内,密码错误也可以

"sudo -S"命令可以从字符串或者文本文件中获取,可以从echo结果中获取,而不用在像在终端上需要等待手动输入密码。 这种方法并不推荐,因为密码会暴露。以下实验中,用户user1有sudo权限,密码是abcdef。输入错误密码,无法执行mount:$ echo 123456 |sudo -S mount system.img mp [sudo] user1 的密码: 对不起,请重试。 [sudo] user1 的密码: sudo: 1 次错误密码尝试 输入正确...

2021-09-11 10:50:58 9429

原创 shell脚本内获取该执行文件的路径

准备脚本 /home/peggy/1.sh :echo -n "pwd: ";pwdecho -n "dirname $0: ";dirname $0echo "script_folder: "$(cd `dirname $0`;pwd)用绝对路径调用脚本和用相对路径运行脚本:$ /home/peggy/1.shpwd: /mntdirname /home/peggy/1.sh: /home/peggyscript_folder: /home/peggy$ ../home/peggy/1

2021-09-11 10:34:31 1705

原创 zip -ry制作压缩文件没有读取权限导致失败

linux终端上用zip命令来打压缩包zip,$ zip -ry /mnt/aa.zip SYSTEM/etc/fs_config_dirs;echo $?updating: SYSTEM/etc/fs_config_dirsSYSTEM/etc/fs_config_dirs: Permission denied zip warning: could not open for reading: SYSTEM/etc/fs_config_dirs zip warning: will just cop

2021-09-11 10:02:24 2807

原创 ubuntu中shell set -u 和set +u

shell中 ,set -u之后,使用没有初始化的变量,会导致报错set -u: 表示该命令之后,当命令使用到未定义过的变量时,脚本直接退出,后续命令不在执行。我们来试试。准备一个脚本t1.sh:echo "1:$1"没有set -u之前,$1存在、不存在都可以,运行不报错:$ /bin/bash t1.sh 1:$ /bin/bash t1.sh 2 1:2/bin/bash -u执行脚本相当于在子shell中做了set -u,/bin/bash -u xx.sh ,如果$1

2021-09-11 09:41:16 1125

原创 shell basename 可以去除文件名后缀

$ basename /folder/f.zip f.zip$ basename /folder/f.zip .zip f可见,basename /folder/f.zip .zip还可以去除后缀,神奇用法。

2021-09-10 17:57:20 3779

原创 python设置shell脚本所需要的环境变量PATH.

python能不能像linux终端里一样可以设置PATH这样的环境变量?python脚本os.putenv("fruit","apple")print "getenv fruit is ", os.getenv("fruit")会得到Noneos.environ["fruit"] = "apple"print "getenv fruit is ", os.getenv("fruit")可以得到值.如果要在python执行一个shell脚本,如何设置些shell脚本需要的PATH变量?p

2021-09-09 16:05:42 2219

原创 shell dd命令在bs参数太大的时候出现异常的解决方法

上文讲到了shell dd命令在bs参数太大的时候会出现异常。现在讲讲怎么解决。如果需要dd很大的文件的时候,需要指定很大的bs参数的时候怎么办呢?答案是分块dd。多进行几次dd。我写了个脚本sdd.sh,sdd $file_input $file_output $bs对应于dd if=$file_input of=$file_output bs=$bs count=1其中$bs值可以大于、等于、或小于dd的bs限定大小2147479552 (0x7ffff000)。上脚本sdd.sh#

2021-09-09 15:41:00 1290 1

原创 shell dd命令在bs参数太大的时候会出现异常

shell dd命令在bs参数太大的时候会出现异常。现有一个文件$ ll-rw-r--r-- 1 server server 2787518108 4月 11 14:13 filea我们想用dd命令跳过开头16448字节,得到剩下的内容。$ dd if=filea of=filea.23 bs=16448 skip=1;169473+1 records in169473+1 records out2787501660 bytes (2.8 GB) copied, 3.80907 s, 7

2021-09-09 14:49:34 422

原创 python 多继承会调用哪个父类的函数?

pytho支持多继承。如果多个父类有同名函数func,则在子类中调用func()会调用哪个父类的func函数?以下假设子类继承了三个父类:假设三个父类都有__init__和func函数如果子类有__init__则不会调用 父类的__init__函数。如果子类无__init__,则会调用 第一个父类的__init__。如果子类无func,则会调用 第一个父类的func。假设三个父类不一定有__init__和func如果子类无__init__,则会调用 第一个有__init__的父类的_

2021-09-09 14:24:55 367

原创 shell逐行读取文件

shell中如何逐行读取?在ubuntu下测试。准备2文件:$ cat cfgline1_a line1_bline2_a line2_bline3_a line3_b$ cat cfg.newline line1_a line1_bline2_a line2_bline3_a line3_b注:cfg最后一行是没有换行符的,cfg.newline最后一行是有换行符中。即hexdump -C cfg和hexdump -C cfg.newline两个命令对比可以发现,cfg.newl

2021-09-09 14:17:42 1568

原创 shell cd命令在while中不能作用于while外面,cd在for if case中会作用于for和if和case外面

一. 现象while中cd在退出while后失效,for & if & case中cd在退出块后生效。1. while中cd在退出while后失效$ echo line_1 > ~/1$ echo line_2 >> ~/1$ pwd;cat ~/1 | while read l;do echo $l;cd /folder2;pwd;done;pwd/folder1line_1/folder2line_2/folder2/folder12. fo

2021-09-09 14:02:13 142

原创 python判断文件是否存在

如果文件la存在,>>> os.path.isfile("la")True>>> os.path.islink("la")False>>> os.path.exists("la")True>>> "la" in os.listdir(".")True如果链接文件la存在且有效,即la指向的文件且存在,则>>> os.path.isfile("la")True>>> os.pa

2021-08-30 17:09:45 439

原创 shell快速创建文件的三种方法对比

shell快速创建文件的三种方法对比。以下三个命令都能生产一个4G大小的文件。1. fallocate -l 4G f12. dd if=/dev/zero of=f2 bs=1G count=43. dd if=/dev/zero of=f3 bs=1G count=0 seek=4其中1和3 速度奇快。md5sum f1 f2 f3会发现生成的三个文件内容是一样的。命令2是常规的生成文件的方式。解释一下3,在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入硬盘。

2021-08-30 16:49:13 2092

原创 ubuntu uninx 命令行通过跳板机连接远程mysql

有三个机器:ubuntu本机A,跳板机B,mysql所在机器C。A当前无法直接访问mysql所在机器。A可以连接B。B可以连接mysql数据库C。希望A可以通过B访问C的数据库。B的跳板机地址是117.78.4.212,用户名是userB。在A上可以通过ssh [email protected]连接上远程服务器B。在服务器B上,执行ifconfig命令eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

2021-08-30 16:20:17 516

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除