LINUX find 命令怎么才能只找当先目录下的文件而不找子目录下的相同文件

小弟目录如下
/home/mytest下面有4个包文件.zip,该目录下还有2011/02-2011目录这个目录下you同样的4个zip文件.
问题:
我用find . -name "*.zip" -print 查找,结果会打印出mytest 目录及子目录下的文件,我只想要4个可出来的是8个
求解 怎么才能让只出来当前目录下的4个

4个回答

加个-maxdepth n参数指定查找最大深度就可以了
find . -maxdepth 1 -name "*.zip" -print

3、忽略某个目录

如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找的文件,那么可以使用-prune选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略。

如果希望在/apps目录下查找文件,但不希望在/apps/bin目录下查找,可以用:

$ find /apps -path "/apps/bin" -prune -o -print

4、使用find查找文件的时候怎么避开某个文件目录

比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件

find /usr/sam -path "/usr/sam/dir1" -prune -o -print

find [-path ..] [expression] 在路径列表的后面的是表达式

-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o
-print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/sam" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。

这个表达式组合特例可以用伪码写为

if -path "/usr/sam" then
-prune
else
-print

避开多个文件夹

find /usr/sam ( -path /usr/sam/dir1 -o -path /usr/sam/file1 ) -prune -o -print

圆括号表示表达式的结合。
\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。

查找某一确定文件,-name等选项加在-o 之后

#find /usr/sam (-path /usr/sam/dir1 -o -path /usr/sam/file1 ) -prune -o -name "temp" -print

find :查找目录或者文件

语 法
find[必要参数][选择参数]功 能find 命令:用于在文件树种查找文件,并作出相应的处理
类似命令: locate ls locatetedb xargs regex stat lstat printf file

相关教程: find 命令

执行权限: 超级用户 普通用户

命令属性: 文件管理

参数必要参数

-daystart 时间基准从当日算起
-prune 忽略某个目录
-depth 指定搜索顺序,从文件树的最子层目录查起
-empty 查找空文件或空目录
-false 设置成find命令返回值为false
-follow 不查找符号链接
-mount等同于“-xdev”,不进入其他文件系统查找
-noleaf 不考虑硬链接限制
-nouser 没有用户的文件
-nogroup 没有群组的文件
-print 将查找结果列到标准输出,但是find的返回值必须为真
[color=blue]-xdev 只查找当前目录下的文件[/color]

选择参数

-amin<时间> 指定时间内曾被存取过的文件,单位为分钟
-anewer<文件或目录>
-atime 如2=48小时,3=72小时,设置为3:72小时之前修改过的文件;+3:超过72小时之前修改过的文件;-3:72小时之内修改过的文件
-ctime<时间> 等同于“-atime”
-exec<命令> 执行指定的命令,但是find返回的值必须为真
-ok<命令> 等同于“-exec<命令> ”
-fls<文件> 将命令运行的结果保存到指定文件
-fprint<文件> 将结果输出到指定的文件
fstype<文件类型> 只查找指定文件类型的文件或者目录
-group<群组> 查找属于指定群组的文件或目录
-name<样式> 指定字符串作为搜索样式
-szie<大小> 查找指定大小的文件 单位为字节
-type<文件类型> 找找指定文件类型的文件
-user<用户> 查找指定用户的文件或目录
-printf<样式> 指定数
--help 显示帮助信息
--version 显示版本信息

【文件类型】

f :普通文件
d :目录
l :符号链接
b :块设备
c :字符设备
p :管道文件
s :Socket

【常见表示】

$HOME :主目录

~ :主目录
. :当前目录

-xdev 只查找当前目录下的文件

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
linux下清理find查出的log文件但不删除文件
下面这个语句是我删除 /all/log/admin/ 路径下含admin字符文件的语句,求大神告知如果admin开头的都是.log文件,我如何不删除log文件只是清理呢?提供一下语句,谢谢 !!! find /all/log/admin/ -type f -name admin* -exec rm -rf{} \;
怎样利用find命令查到50个文件后就返回,而不是一直查找下去
现在我在一个目录下可能有多个比如说一万多个文件,这些文件有多个类型,每个文件 类型有不同的后缀格式。比如分别是.a,.b,.c的后缀,现在我要将这些格式的文件分别mv 到不同的目录下。 我现在的思路是用find来找到不同后缀的文件,然后进行mv。但是现在有一个问题,就 是我可能某一个类型的文件会有很多,find很长时间都不能停下,所以如果先全部find然 后再mv不太好。所以我准备50个为一组进行mv,即:我每找到50个.a格式的文件,就进 行一次mv,然后再进行下一次寻找。但是我查了一下资料find没有找到指定数目个文件就 停下的选项。我想问下应该怎么实现。
windows下类似linux下搜索命令
想问一下如何在windows下有没有类似linux下的"find "+url+" | xargs grep "+keyWords的命令, 就是在指定路径下通过关键字搜索返回含有关键字的文件。
linux上执行find命令卡住不动
在一个目录下查找多有目录及其子目录,查找了若干目录后,结果卡主不动了 find /home/rate/DS/ -maxdepth 5 -type d > test_find.unl 2>&1 后来我过滤了部分卡住的目录,还是卡着了 find /home/rate/DS/ ! -path "/home/rate/DS/CBE_RATE717_631" ! -path "/home/rate/DS/CBE_RATE713_627" ! -path "/home/rate/DS/CBE_GPRS_PART_712/000" ! -path "/home/rate/DS/CBE_REMIND_ONLINE_202_713" ! -path "/home/rate/DS/XY_BILL_OVERLEN_724_649" ! -path "/home/rate/DS/JF_R_WLAN712" ! -path "/home/rate/DS/CBE_ISMG_CONFIRM713/000" ! -path "/home/rate/DS/CBE_ISMG_CONFIRM713/001" ! -path "/home/rate/DS/JF_MMS717" ! -path "/home/rate/DS/CBE_ISMG_CONFIRM713" ! -path "/home/rate/DS/XY_RATE713K" ! -path "/home/rate/DS/CBE_202_BILL31" ! -path "/home/rate/DS/tmp/CBE_RTCC_CDR_202/009" ! -path "/home/rate/DS/CBE_EVENT_202/014" ! -path "/home/rate/DS/CBE_202_BILL20" ! -path "/home/rate/DS/GPRS_CDR16_202_5" -maxdepth 5 -type d > test_find.unl 2>&1
怎样知道Linux目录下文件数量的方法?
听说使用“find 命令”,它用于搜索目录层次结构中的文件,按照这上面http://raksmart.idcspy.com/1565 方法试了,没成功。
Linux下如何查找并清空日志文件?
使用find命令查找并写入无效 ``` find -type f -name "nohup.out" -exec echo -n "" > {} \; ``` 命令执行成功,但是日志文件的内容并没有被删除掉。命令详情如下图所示: ![图片说明](https://img-ask.csdn.net/upload/201902/19/1550560028_784689.png) 请问下,该如何写find命令才能达到使用find查找日志文件并清空文件内容的需求。
关于linux find命令的小问题
![片说明](https://img-ask.csdn.net/upload/201609/21/1474456634_869648.png) 就像图片里面一样, 第一次搜索inum为16的文件有三个, 第二次搜索inum为16并且列出详细信息的时候就只有两个,而且最下面一排多了几个文字。 新手求助~~
find 在根据最新的时间复制文件到对应的目录下的时候 怎么改名字
find /bak -mtime -15 -type f -exec cp {} /wms \; 我的需求是 bak目录下最新的文件 复制到wms目录下 并且改名字 跪谢 大神!!!! 我要写一个回滚的命令 这是中间的一小节 卡在这里了 谢谢
linux中使用find . -name php.in | vim为什么不能打开php.ini文件?
find . -name php.in | vim - 命令却是打开vim后再在vim编辑器中输入php.ini的路径. 我想要的效果是找到php.ini文件并打开这个文件
linux中查找文件中中文逗号
.csv文件中有一个字段是一个中文的逗号",",可是我把这个文件放到linux系统中用getline() 读取一行到一个字符串中str, 再用str.find() 查找这个逗号,为什么找不到啊? 怎么才能找到??? 求大牛解答,急急急!!!
在linux我用如下命令查找文件夹深度为3的文件夹,同时列出了深度1和2,怎么只列出3
命令为find . -maxdepth 3 -type d -mtime +15 我本意是只想列出深度为3的,然后删除,不想要深度为1和2的。 [root@OAFB temporary]# find . -maxdepth 3 -type d -mtime +15 ./Gehua ./Gehua/Gehua0.1/Gehua0.1_20160111035317 ./Gehua/Gehua0.1/Gehua0.1_20160112053120 ./TopBox/SDK ./TopBox/SDK/SDK ./TopBox/android_SDK ./TopBox/android_SDK/android_SDK ./TopBox/GEHUA_MW ./TopBox/GEHUA_MW/gehua_MW ./TopBox/GEHUA_PORTING ./TopBox/GEHUA_PORTING/gehua_porting 可以看到深度为1和2的都被列出来了,这个地方应该怎么改呢?
Find the nondecreasing subsequences 子序列的问题
Problem Description How many nondecreasing subsequences can you find in the sequence S = {s1, s2, s3, ...., sn} ? For example, we assume that S = {1, 2, 3}, and you can find seven nondecreasing subsequences, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}. Input The input consists of multiple test cases. Each case begins with a line containing a positive integer n that is the length of the sequence S, the next line contains n integers {s1, s2, s3, ...., sn}, 1 <= n <= 100000, 0 <= si <= 2^31. Output For each test case, output one line containing the number of nondecreasing subsequences you can find from the sequence S, the answer should % 1000000007. Sample Input 3 1 2 3 Sample Output 7
新人提问很多linux shell命令
我现在在看linux shell脚本攻略第二版,看完第二章之后,里面有好几条shell命令我看不懂,请大神来每条命令不吝赐教一下 1.$ find . -type f -name "*.c" -exec cat {} \; all_c_file.txt,这条命令我想问-exec后面是什么意思? 2.$ find . -type f -mtime +10 -name "*.txt" -exec cp {} OLD \; 3.$rename 's/ /_/g' * 这条命令我不知道 's/ /_/g'这里是什么意思? 4.$rename 'y/A-Z/a-z/' * 希望大神能够不吝赐教,详细解析一下
Linux命令,请教下您!
cd /opt/lampp/htdocs/csb_portal/www find -name "logo.png"找到了上面路径的所有 "logo.png" 图标,图标路径都不一样,拷贝cp -rf mt/logo.png 替换这些找到的图标,用什么命令替换?
linux安装octopus:configure: error: could not find required LAPACK library如何排错
我在linux安装octopus时,在configure这一步系统提示找不到required LAPACK library。但是我的LAPACK确实安装了,路径也是正确的,我自己可以在路径下找到。为什么系统找不到呢? 我的configure命令: ``` $ ./configure --prefix=/home/hp/softwares/octopus-8.4 --with-lapack=/home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib ``` config.log文件里的错误部分: ``` configure:11535: gfortran -o conftest -I /usr/include -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -lxc >&5 configure:11535: $? = 0 configure:11542: result: yes (-I /usr/include -lxc) configure:11553: checking whether libxc version is 3.0 configure:11555: result: no configure:11558: checking whether libxc version is >= 4.0 configure:11560: result: no configure:11576: checking whether libxc has support for hybrid meta-GGAs (>= v 2.1) configure:11588: gfortran -o conftest -I /usr/include -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -lxc >&5 configure:11588: $? = 0 configure:11594: result: yes configure:11641: checking for sgemm in basedir/lib/libblas.a configure:11648: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 basedir/lib/libblas.a >&5 configure:11648: $? = 0 configure:11657: result: yes (basedir/lib/libblas.a) configure:12187: checking whether zdotc works configure:12230: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 basedir/lib/libblas.a >&5 configure:12230: $? = 0 configure:12230: ./conftest configure:12230: $? = 0 configure:12248: result: yes configure:12294: checking for cheev in /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib configure:12301: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib basedir/lib/libblas.a >&5 gfortran: error: /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib: No such file or directory configure:12301: $? = 1 configure: failed program was: | program main | call cheev | end configure:12307: result: no configure:12318: checking for cheev in -lmkl_lapack configure:12330: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -lmkl_lapack /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib basedir/lib/libblas.a >&5 gfortran: error: /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib: No such file or directory configure:12330: $? = 1 configure: failed program was: | program main | call cheev | end configure:12340: result: no configure:12318: checking for cheev in -llapack configure:12330: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -llapack /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib basedir/lib/libblas.a >&5 gfortran: error: /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib: No such file or directory configure:12330: $? = 1 configure: failed program was: | program main | call cheev | end configure:12340: result: no configure:12318: checking for cheev in -llapack_rs6k configure:12330: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -llapack_rs6k /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib basedir/lib/libblas.a >&5 gfortran: error: /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib: No such file or directory configure:12330: $? = 1 configure: failed program was: | program main | call cheev | end configure:12340: result: no configure:12318: checking for cheev in -lacml configure:12330: gfortran -o conftest -pipe -O3 -funroll-loops -ffast-math -ffree-line-length-none conftest.f90 -lacml /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib basedir/lib/libblas.a >&5 gfortran: error: /home/hp/softwares/octopus-8.4/lapack-3.8.0--with-libxc-prefix=/home/hp/softwares/lib--with-gsl-prefix=/home/hp/softwares/lib--with-fftw-prefix=/home/hp/softwares/lib--with-blas=/home/hp/softwares/lib--enable-mpi=/home/hp/softwares/lib: No such file or directory configure:12330: $? = 1 configure: failed program was: | program main | call cheev | end configure:12340: result: no configure:12358: error: could not find required LAPACK library ``` 万分感谢!
QT代码,里面调用了一些Ubuntu命令,不是很明白其用途
``` void Widget::on_pushButton_clicked(){ QDateTime current_date_time = QDateTime::currentDateTime(); QString targz, cmd_find, cmd_tar; if(ui->radioButton->isChecked()){ cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 将没有permisson denied的文件列出 targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".full.tar.gz"; }else{ int minDiff = get_min(current_date_time); // 获得是最小的查值 cmd_find = QString("find ./ -mmin -%1 -type f | grep -v \'Permission denied\' > TEPLIST").arg(minDiff);//?????? targz = current_date_time.toString("yyyy-MM-dd_hh.mm.ss") + ".inc.tar.gz"; } /* * 将上面重构后的命令进行执行-> 查找可压缩文件 */ QStringList cmd_pipe;// 初始化了一个String目录 cmd_pipe << "-c" << cmd_find; // ???????? cmd->start("/bin/bash",cmd_pipe); // 开始一个程序 cmd->waitForFinished(); cmd->close(); cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz);// cout << cmd_tar.data(); runCommand(cmd_tar); QString err = QString::fromLocal8Bit(cmd->readAllStandardError()); if(err.isEmpty()) outputInfo("Backup Suceess!"); runCommand("rm TEPLIST"); /*********** Encrypting*************/ // gpg-k 增加公共钥匙 if(ui->checkBox->isChecked()){ QString cmd_isKey = "gpg -k " + gpg_key;//添加公钥 runCommand(cmd_isKey); QString cmd_enc; QString out = QString::fromLocal8Bit(cmd->readAllStandardOutput());// ?????? if(out.isEmpty()) // -o, --output FILE write output to FILE // c 说是使用对称加密,看起来很奇怪 /* * 我用你的公钥来加密我要发给你的数据,在你收到加密数据后用你的私钥解密就可以拿到原始数据。 * 我用我的私钥“加密”一段公开的数据,你用我的公钥可以验证这段公开数据是否是我发出的。 * */ cmd_enc = QString("gpg -c -o %1/%2.gpg %1/%2").arg(dir_dest).arg(targz);// ???? else // e 是加密数据 , 针对 用户 id 进行加密 cmd_enc = QString("gpg -e -r %1 -o %2/%3.gpg %2/%3").arg(gpg_key).arg(dir_dest).arg(targz);//?????? runCommand(cmd_enc); if(false == ui->checkBox_2->isChecked()){ runCommand(QString("rm %1/%2.gpg").arg(dir_dest).arg(targz)); } if(false == ui->checkBox_3->isChecked()){ runCommand( QString("rm %1/%2").arg(dir_dest).arg(targz)); } } backupInfo(); } 1. ``` 上面这串代码有几个小问题: 在 ``` cmd_find = "find ./ -type f | grep -v \'Permission denied\' > TEPLIST";// 将没有permisson denied的文件列出 ``` 和 ``` cmd_find = QString("find ./ -mmin -%1 -type f | grep -v \'Permission denied\' > TEPLIST").arg(minDiff);//????? ``` 这里面都有这个\'Permission denied\', 我对grep v的理解是把我find里面 找出的来的文件中,不符合上面这个字符串的文件都给排除掉,但是这个似乎只能排除掉文件名是含有的字符串,但是很明显,这个猜测是错的,我不知道这个字符串的意义是什么 2. 还是上面这个,这个 -mmin是什么意思呢,他用getmin获取了最新时间和上次时间的差值,然后再把这个minDiff放进去,这是为了啥? 3. 还是上面这个, ``` cmd_pipe << "-c" << cmd_find; ``` 他在上面这个 生成的linux后面用了这个玩意儿,不知道是为啥 4. ``` cmd_tar = QString("tar --verbose --totals --exclude-vcs %1 --files-from=TEPLIST -czf %2/%3").arg(exclude_from).arg(dir_dest).arg(targz); ``` 我对这句话的理解是进行除了exclude文件里面的一些后缀之外都进行压缩,但是这个exclude后面的-vcs 是干嘛的? 5. ``` cmd_enc = QString("gpg -c -o %1/%2.gpg %1/%2").arg(dir_dest).arg(targz);// ???? else // e 是加密数据 , 针对 用户 id 进行加密 cmd_enc = QString("gpg -e -r %1 -o %2/%3.gpg %2/%3").arg(gpg_key).arg(dir_dest).arg(targz);//?????? runCommand(cmd_enc); ``` 上面是对 文件进行两种加密,这两种加密的区别是啥? 6. 前面加一个 gpg -k 密码 是不是,直接就是生成了公钥,后面不用加文件名字吗?
Linux Root 后 find / -name grub.conf 提示权限不够
![图片说明](https://img-ask.csdn.net/upload/201604/13/1460546882_809551.png)Linux Root 后 find / -name grub.conf 提示权限不够 如何才能拥有此权限
java使用JNI调用的dll依赖于其它dll路径该如何配置
jni调用dll扩展程序直接配置-Djava.library.path来指定dll所在目录即可以加载到dll,但是如果dll要依赖其它dll的时候会提示 Can't find dependent librarie即找不到dll的依赖库,这种情况可以将需要依赖的dll放到项目根目录下或者jdkbin目录下解决,但是想要导出jar包供其它调用就不行了,而且这种解决方法也不适用,总不能每次调用都把dll文件复制到根目录下,这时该如何处理?
树莓派的WiringPi库找不到
本人使用树莓派3B+,想要实现C++控制高低电平,网上教程很多,但是在配置WiringPi时遇到问题。 已经按照教程实现了WiringPI的安装,在命令行执行gpio -v,和gpio readall都有结果产生,所以我认为库安好了,但是在QT里面引用就说找不到,LIB+= -lwiringPi,报错:cannot find -lwiringPi,include也找不到这个库。请教大家这是什么原因啊??
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问