代码/脚本/命令行/可执行文件
有用的代码片段,有用的脚本片段,命令行介绍,可执行文件使用
qiuchangyong
这个作者很懒,什么都没留下…
展开
-
cmake-gui如何删除“Where to build the binaries“下拉框里的项
如题,下拉框里有的项(构建目录)已经不用了,残留在那里容易选错,如果想删除怎么删?这种要求无法通过在cmake-gui软件界面上操作做到,这令人感到很烦恼,那么在哪里修改呢?你也许认为在cmake-gui的安装目录里有文件记录了这些下来的项,其实没有。“计算机\HKEY_CURRENT_USER\SOFTWARE\Kitware\CMakeSetup\Settings\StartPath”这下面有WhereBuild0,WhereBuild1,...这样的键值对,不要的删掉相应的就可以了,注意:不要删错。原创 2024-07-03 00:20:43 · 193 阅读 · 0 评论 -
glGetError()返回1281
今天遇到了一个问题,如题。不断跟踪排查,发现是glGetAttribLocation返回-1,原来顶点着色器中的声明的属性,没有用到,在着色器文件编译时被优化了。所以不是什么错误,不影响程序的运行。原创 2024-06-14 01:32:06 · 211 阅读 · 0 评论 -
cmake编译Qt6.2.4 mysql驱动
1、命令行执行:cmake -B build -G "Visual Studio 16 2019" -DCMAKE_PREFIX_PATH="C:/Qt/6.2.4/msvc2019_64" -DCMAKE_INSTALL_PREFIX=install -DMySQL_INCLUDE_DIR="path\to\mysql-winx64\include" -DMySQL_LIBRARY="path\to\mysql-winx64\lib\libmysql.lib"但是上面的这个我没有顺利跑通。原创 2024-05-19 22:10:07 · 448 阅读 · 0 评论 -
json文件的格式化
方法二、用vi打开要进行格式化的json文件,在vi中输入“:%!python -m json.tool”(注意没有双引号)再回车。方法三、在Notepad++中使用JSON Viewer插件格式化json文件。有时候得到的json文件是未进行格式化的,影响阅读,那么如何进行格式化呢?方法一、json在线格式化的网站。原创 2024-04-16 12:53:02 · 4901 阅读 · 1 评论 -
pip常用命令小结
下载该包名的.whl文件,后面安装时就可以直接用pip install安装这个.whl文件,比如“pip install numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl”就说这么多吧,在python中很多包,有的相互依赖,版本不对导致程序跑不起来,就需要重新安装调整包的版本,以上这些命令就能派上用场了。安装指定版本的包,比如“pip install numpy=1.19.5”如果不确定要安装的包的版本有哪些,可以用这个命令列出可安装的版本。原创 2023-12-08 23:33:02 · 414 阅读 · 0 评论 -
编译pcl库的过程中遇到的问题及解决
解决方法,使用patch命令带上--binary即可:patch --binary -p1 < ~/QtKittiVisualizer/patches/pcl-1.12.1/link-required-vtk-libraries-for-libpcl_io.patch。先patch一下:patch -p1 < ~/QtKittiVisualizer/patches/pcl-1.12.1/link-required-vtk-libraries-for-libpcl_io.patch。原创 2023-12-08 09:19:29 · 718 阅读 · 0 评论 -
pip install -U
版权声明:本文为CSDN博主「shengcaiy123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。在使用pip install -U命令之前,需要先安装pip。如果需要升级多个包,可以在命令中列出所有需要升级的包名。本文将介绍Python包升级命令pip install -U,帮助读者更好地管理Python第三方包的版本。pip install -U命令是pip中升级包的命令,其中“-U”表示升级所有的依赖包到最新版本。什么是pip install -U命令。转载 2023-12-03 00:55:22 · 722 阅读 · 0 评论 -
E45: 已设定选项 ‘readonly‘ (请加 ! 强制执行)
在使用vi编辑一个需要sudo权限的文件后,保存的时候出现这样的错误。这个时候很多人做的事情可能就是不保存退出(敲命令:q!如果恰巧修改了很多文件的内容,这时候无法保存是件多么扫兴的事情!二. 使用":w!sudo tee %"指令也可,该命令主要作用是:即使没有权限也能稳妥地保存正在编辑的文件。2.而tee则是可以将数据重定向到文件上,简单来说就是把stdin缓冲区的内容重定向到文件上。1.“w”的含义简单来说就是把 文件 的内容传入stdin缓冲区中。一. 如果有root权限,使用":wq!转载 2023-11-15 01:41:03 · 2904 阅读 · 0 评论 -
编译pycaffe过程中遇到的问题及解决
首先要安装好boost开发包,ubuntu下通过sudo apt-get install libboost-all-dev安装,结果装上了1.71.0版本,但这个版本在/usr/lib/x86_64-linux-gnu/目录下没有libboost_python.so,这就导致了上面的错误。这是由于caffe的代码中用到了boost,通过编译boost可以产生供python调用的so库,就需要编译出libboost_python.so,这个so库是成功编译pycaffe的关键。再敲./b2 -j 8编译。原创 2023-10-23 02:05:06 · 509 阅读 · 0 评论 -
Ubuntu20.04编译Caffe时,fatal error:hdf5.h:没有那个文件或目录
由于caffe官方文件有更新,位置改了,所以改写原文记录下来。转载 2023-06-05 23:33:01 · 334 阅读 · 0 评论 -
git diff 文件时遇到“\ No newline at end of file”提示
出现这个提示的原因是用vi编辑文件后保存,会在文件末尾追加一个新行字符'\n'。由于原来的文件末尾没有新行字符,这样git diff 文件就会出现这样的提示。如果不想出现这样的提示,可以这么做:在vi打开文件后,执行。原创 2023-10-22 03:16:59 · 931 阅读 · 0 评论 -
python 2.7.18安装jupyter遇到的一个错误
这个错误的直接原因是setup.py脚本语法有问题,应该是python版本不匹配导致的。解决方法是强制安装低版本的qtconsole,安装命令为“sudo pip install qtconsole==4.7.7”。如遇其他错误,通常也是版本不匹配导致的,尝试安装一个更低的版本即可解决。原创 2023-10-12 01:39:12 · 547 阅读 · 0 评论 -
pwd -P的作用
举个例子,你创建了一个指向某个目录的符号链接,cd进去这个目录,使用pwd打印出来的当前这个符号链接所表示的目录,符号链接只是为了访问起来方便且更易记,而使用pwd -P打印出来的就是真实的物理路径。比如安卓手机的/sdcard目录就是一个符号链接,使用pwd -P打印出来的目录通常是/storage/emulated/0。pwd默认是获取当前工作目录,而pwd -P是打印当前的物理路径,不带有任何的符号链接。原创 2023-10-05 20:30:01 · 327 阅读 · 0 评论 -
如何在控制台窗口中打印表格
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。转载 2023-07-19 02:34:52 · 331 阅读 · 1 评论 -
对md5sum程序的修改
linux下自带md5sum工具,可以对文件计算md5值,但这个命令行工具不能直接对字符串求md5,而对一个字符串求md5是一个比较有用的需求,比如计算签名。于是对源码md5sum.c修改了一番,可以通过命令行计算字符串的md5值了,比如输入:md5sum admin或者md5sum "admin"如果把要计算md5的字符串存到txt文件里,再对文件计算md5值,往往会得不到正确的结果,因为vi或者gedit会在保存文件的时候多加一个换行符。下面贴出源码,希望能帮到有需要这个的人。原创 2023-05-05 00:12:09 · 252 阅读 · 0 评论 -
Makefile中的$(1)是什么
最近本人在研究ffmpeg的编译系统Makefile时,看到里面有一个$(1)的变量,一时没明白是什么,总觉得有点似曾相识,这和shell脚本中的$0、$1、$2很像,是传递的参数?经过一番琢磨,终于明白这是Makefile中定义的函数的参数传递形式。Linux工程的编译要用到make工具,平台不一样,只是工具链不同,但Makefile是编译系统的关键所在,因此掌握Makefile的编写规则是非常重要的。这里面调用了定义的DOFFTOOL函数,$(1)是函数的第一个参数,$(2)是其第二个参数,依此类推,原创 2023-03-17 01:11:51 · 3250 阅读 · 0 评论 -
安卓App抓包经验谈
通常要将抓包保存为pcap文件,在电脑上使用wireshark打开分析,可使用命令:tcpdump -i eth0 host 47.100.116.9 -s 0 -c 100 -nn -w /sdcard/1.pcap,这表示抓取经过网卡eth0的,来自或发往主机47.100.116.9的100个网络包,保存到文件/sdcard/1.pcap,这里-s 0表示抓取完整包,-nn表示不显示抓包过程的打印信息。选择真机的好处在于App运行正常,因为是真实环境嘛,不像模拟器,有的App检测环境时,可能会闪退。原创 2023-02-19 02:11:09 · 2666 阅读 · 0 评论 -
The type or namespace name ‘MenuItemAttribute‘ could not be found
如题,Unity脚本报的一个错误。原因是缺少这一行:using UnityEditor;这是从菜单项执行脚本中对应的代码。名字空间UnityEditor是必不可少的。原创 2022-12-23 15:07:50 · 307 阅读 · 0 评论 -
cygwin编译wget过程记录
一共有这么几个dll:cygffi-6.dll、cyggcc_s-seh-1.dll、cyggmp-10.dll、cyggnutls-30.dll、cyghogweed-4.dll、cygiconv-2.dll、cygidn2-0.dll、cygintl-8.dll、cygnettle-6.dll、cygp11-kit-0.dll、cygtasn1-6.dll、cygunistring-2.dll、cyguuid-1.dll、cygwin1.dll。再次执行./configure,终于不报错了。原创 2022-12-02 17:31:54 · 777 阅读 · 0 评论 -
在laravel-shop根目录下运行npm run dev遇到的一个错误及解决
npm在安装依赖包时默认会选择最新的版本,6.7.2就是最新的版本,所以出现了不匹配,于是作版本回退后再尝试,先查看一下有哪些版本可以安装:npm view css-loader versions。安装命令:npm install css-loader@5.0.0 --save-dev。从内容看来,知道是css-loader版本安装的不对导致的,于是查看安装的版本:npm view css-loader version。生成的文件位于:laravel-shop根目录/public/js/app.js。原创 2022-11-26 22:32:03 · 1065 阅读 · 0 评论 -
nohup不输出nohup.out日志信息,已解决。
linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。转载 2022-09-12 00:02:06 · 14344 阅读 · 0 评论 -
推荐一个查看文件16进制内容的工具
很多时候,我们需要查看一个文件的内容,这就要以16进制显示文件的内容。用什么工具好呢,其实这样的工具有很多,好用功能强大且免费的不多,在此推荐一个我经常用的工具,叫做WinHex,可以从这里下载:winhex_19.1.0.0.zip其他的工具如EditPlus、FlexHEX需要注册,VS Code、Notepad++、Sublime Text需要安装插件,UltraEdit需要收费,Vim、Emacs需要敲命令。......原创 2022-06-18 14:47:37 · 7230 阅读 · 1 评论 -
拼接字符串和文件得到新的文件的命令
有时候我们需要将一个文件的首部或尾部追加一些内容,可能是字符串或者二进制或者文件。我们可以写一个C语言小程序读写文件来实现,但是这样略有些麻烦,有没有可能通过命令行搞定这一需求呢?一番摸索以后,发现是可以的。现举例如下:情形一:在一个文件首部追加字符串无法在一个文件首部追加,实际做法是先创建一个包含需要追加的字符串内容的新的文件,再把该文件追加到这个新的文件。echo -n "ABCD" > newfile这样文件的内容就是“ABCD”,这里使用echo -n是为了使得追加后的内容原创 2022-05-25 22:18:38 · 869 阅读 · 0 评论 -
在linux终端查看环境变量
可以是这样的:echo $PATH或者echo ${PATH}注意,下面这种写法是错误的,echo $(PATH)这是makefile里引用变量的方式。而在windows命令行下查看环境变量的方法,却是另一种形式:echo %PATH%原创 2021-09-18 19:52:51 · 502 阅读 · 0 评论 -
根据程序的窗口句柄找到程序的路径
有时候对于流氓软件乱弹框,干扰别人的工作非常反感。通常流氓软件的安装路径和进程都显得比较隐蔽,这里给出如何查到其路径,清除掉它的办法。查看弹出的窗口的句柄值,使用spy++工具。根据窗口句柄找到程序路径:#include <stdio.h>#include <tchar.h>#include <windows.h>#include <psapi.h>#pragma comment(lib, "psapi")int main(){..原创 2020-07-08 12:48:28 · 897 阅读 · 0 评论 -
windows下安装Qt,配置环境变量
以我安装的Qt5.12.0为例,安装在C盘,安装完成后,将“C:\Qt\Qt5.12.0\5.12.0\msvc2017\bin”这个路径添加到环境变量的PATH中,即可。原创 2021-05-20 19:40:14 · 2856 阅读 · 0 评论 -
下载安装VS2019
由于VS2017不能支持c++20,而一个开源项目里用到了,不得不下载安装VS2019,算是与时俱进吧!下载 Windows 版和 Mac 版 Visual Studio 2019 (microsoft.com)这是官网的下载地址,下载下来的是一个installer,在线安装的,选择需要的组件,那些用不到的组件如果以后要安装的时候,再用这个installer来安装也可以。由于现在网速都很快,安装起来也挺快的。不建议从下载网站里下载那些在线安装的程序,因为会捆绑安装一些乱七八糟的东西,流氓程序原创 2021-05-02 18:42:56 · 125 阅读 · 0 评论 -
vcpkg安装
官方的文档看这里:https://github.com/Microsoft/vcpkg/blob/master/README.md安装软件包时可能会遇到2类问题。提示找不到visual studio,这种情况通常需要使用Visual Studio Installer安装一些插件,其中英文语言包是必选项。像下面这种下载依赖包时失败:-- Downloading https://github.com/uclouvain/openjpeg/archive/v2.3.1.tar.gz -> u原创 2021-05-01 12:19:48 · 175 阅读 · 0 评论 -
使用sed替换文件中的某个字符串
sed的一个用途就是将文件中的某个字符串换替换掉,而且不需要将文件打开。这样比较方便的是,如果有多个文件要替换,一个个打开就非常麻烦了,这是只需要一个命令行就解决问题。比如我最近碰到一个实际问题,就是要将网页中的指向备案的网址从原来的http://www.miitbeian.gov.cn改为https://www.beian.miit.gov.cn,由于我要修改当前目录下所有的html文件,于是使用下面的命令搞定。sed -i "s/http:\/\/www.miitbeian.gov.cn/ht原创 2021-01-09 22:44:53 · 1564 阅读 · 0 评论 -
git判断当前分支版本是否最新
如题,要判断当前分支版本是否最新,一般使用命令:git status但这里有个要注意的,因为git status判断的当前分支与本地的远程分支之间的差异,也就是说,你修改了什么,它会判断出来,打印出红色提醒。但如果远程分支被别人修改了,仅靠这一行命令是不够的。必须先更新本地的远程分支,使用命令:git fetch origin也可以使用git pull,它会尝试与本地...原创 2021-01-03 11:34:53 · 5993 阅读 · 0 评论 -
git下载代码
1.git remote -v查看仓库的地址2. git clone 仓库地址默认下载全部分支内容3. git branch -a查看分支信息4. git clone -b 分支名仓库地址默认下载全部分支内容,并切换到指定的分支5. 切换到指定的分支git checkout -b 分支名 remote/origin/分支名...原创 2020-12-23 14:47:46 · 177 阅读 · 0 评论 -
Performing Basic Amazon S3 Bucket Operations
Performing Basic Amazon S3 Bucket OperationsPDF Kindle These AWS SDK for Go examples show you how to perform the following operations on Amazon S3 buckets and bucket items: List the buckets in your account Create a bucket List the转载 2020-12-17 20:28:23 · 227 阅读 · 0 评论 -
aws s3 go语言版本示例代码
https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/go/example_code/s3这里包含所有的aws对象存储的示例代码。原创 2020-12-17 18:33:35 · 509 阅读 · 0 评论 -
golang操作阿里云对象存储——OSS | 创建桶、上传、下载、查询、删除数据
本节介绍如何快速使用OSS Go SDK完成常见操作,如创建存储空间(Bucket)、上传/下载文件(Object)等。先下载包github.com/aliyun/aliyun-oss-go-sdk/oss到GOPATH下创建存储空间存储空间是OSS全局命名空间,相当于数据的容器,可以存储若干文件。 以下代码用于新建一个存储空间:package mainimport ( "fmt" "os" "github.com/aliyun/aliyun-oss-go-sdk/转载 2020-12-17 16:28:34 · 1510 阅读 · 0 评论 -
shell脚本中的工作目录和脚本路径的区别
如果有一个"XXX.sh"脚本,不是从脚本所在的路径执行的(即./XXX.sh),就有工作目录和脚本路径的区别。你在shell脚本中用到了 "."去访问一个程序,那么这个"."代表的是脚本被执行的路径呢还是脚本所在的路径呢?比如这个"XXX.sh"位于"~/abc/"目录下面,而你从"~/def/"目录下面运行它,shell脚本中的"."所代表的路径就是"~/def/",这个当前目录的"."就是工作目录。还有一个是脚本所在的路径,这是用dirname命令获得的。脚本所在的路径是固定的,所以可以通过它原创 2020-12-12 14:02:39 · 2675 阅读 · 0 评论 -
安装depot tools
GET DEPOT TOOLSLINUX / MACClone thedepot_toolsrepository:$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitAdddepot_toolsto thefrontof your PATH (you will probably want to put this in your~/.bashrcor~/.zshrc). As...转载 2020-12-10 18:33:48 · 1103 阅读 · 0 评论 -
linux命令:pgrep与pkill
查询进程XXX的运行信息:ps -ef | grep XXX查询进程XXX的进程id:pgrep XXXkill与pkill的区别是,前者传入的是进程id,后者传入的进程名,后者用起来更方便一点,如果存在多个进程名为XXX的进程,pkill会同时杀掉。pkill XXX等同于pgrep XXX | xargs kill,所以用pkill会更简单一点。...原创 2020-09-25 19:09:37 · 511 阅读 · 0 评论 -
php的命令行
php -m显示所有的模块php -f 文件执行一个php文件(-f可以省略),这个在调试php文件时非常有用php -f 代码执行一段php代码,代码是用双引号包括起来的字符串形式,不需要使用脚本标签<?..?>php -a进入交互式shellphp -h打印帮助php -v打印版本php -i输出phpinfo()...原创 2020-09-16 18:58:49 · 198 阅读 · 0 评论 -
golang查询mysql数据库时字段的值为NULL问题
查询数据库时,执行db.Query和Scan,如果遇到值为NULL的字段,就要传入NullString,NullInt64,NullBool,NullTime等类型以代替原来的string,int,bool,Time等类型。可以参考源码:github.com/go-sql-driver/mysql/driver_test.gofunc TestNULL(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) {原创 2020-08-28 17:02:44 · 1527 阅读 · 0 评论 -
json格式输出时字符串转义的问题
json格式输出一个属性值如果是字符串,会把一个字符串放到双引号""里,这里有个陷阱就是,如果这个字符串里含有转移字符:比如双引号\",比如\r,比如\n,比如\\等等,就需要再转义一次,这样输出的json显示才是正常的。等于在遇到上述字符时,前面再加上\\。\"替换为\\\"\r替换为\\\r\n替换为\\\n\\替换为\\\\...原创 2020-08-03 18:38:21 · 4409 阅读 · 0 评论