- 博客(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 9458 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 1275
原创 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 1237
原创 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 946
原创 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 490
原创 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 158
原创 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 558
原创 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 1290
原创 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 338
原创 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 300
原创 ubuntu终端发邮件
ubuntu发邮件安装组件apt-get install mailutilsapt-get install heirloom-mailx第一个命令会弹框让你填写信息,就用默认的。配置 /etc/s-nail.rcset from=usera@love.3q.com #设置发送邮箱set smtp=smtp.263.net #设置smtp服务器和端口set smtp-auth-user=usera@love.3q.com #设置用户名,记得加域名
2021-09-16 14:09:01 466
原创 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 296
原创 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 1016
原创 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 179
原创 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 353
原创 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 1488
原创 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 1608
原创 用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 1031
原创 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 2986
原创 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 494
原创 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 706
原创 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 955
原创 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 1468
原创 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 10985
原创 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 17601
原创 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 10452
原创 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 9687
原创 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 1852
原创 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 3029
原创 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 1195
原创 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 4510
原创 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 2453
原创 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 1408 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 486
原创 python 多继承会调用哪个父类的函数?
pytho支持多继承。如果多个父类有同名函数func,则在子类中调用func()会调用哪个父类的func函数?以下假设子类继承了三个父类:假设三个父类都有__init__和func函数如果子类有__init__则不会调用 父类的__init__函数。如果子类无__init__,则会调用 第一个父类的__init__。如果子类无func,则会调用 第一个父类的func。假设三个父类不一定有__init__和func如果子类无__init__,则会调用 第一个有__init__的父类的_
2021-09-09 14:24:55 414
原创 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 1611
原创 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 172
原创 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 534
原创 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 2236
原创 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 userB@117.78.4.212连接上远程服务器B。在服务器B上,执行ifconfig命令eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
2021-08-30 16:20:17 577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人