linux 常用命令

只显示目录

ls -l | awk ‘/^d/{print $NF}’

统计文件个数

find ./ -type f -print | wc -l

按扩展名统计文件个数

find ./ -type f | sed -n ‘s/..*\.//p’ | sort | uniq -c

 

CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法

安装报错,百度上找到这个文章保存下,目前官方还没更新,靠这个方法可以解决问题哦

在一些小型项目上需要应用全文搜索引擎时,我比较喜欢使用迅搜,因为部署方便,调用简单,今天给客户部署系统安装迅搜时,竟然有报错(极少遇到报错的情况),花了一些时间查资料,终于解决了,分享一下经验

首先是定位原因,因为我已经在起码五六台Centos主机上安装过迅搜,前面都顺利安装完成了,所以应该是不迅搜本身有什么问题,更大可能是跟运行环境是有关系的,看了一下,目前这台机子安装的是Centos8.0,我之前安装的系统都是7.X的,所以极有可能是和操作系统的版本有关系的。

看了一下在安装界面的信息,内容如下:

bufferevent_openssl.c:237:2: note: (near initialization for ‘methods_bufferevent’)
bufferevent_openssl.c:228:19: error: storage size of ‘methods_bufferevent’ isn’t known
static BIO_METHOD methods_bufferevent = {
^~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:793: bufferevent_openssl.lo] Error 1
make[2]: Leaving directory ‘/usr/local/src/xunsearch-full-1.4.14/libevent-2.0.21-stable’
make[1]: *** [Makefile:857: install-recursive] Error 1
make[1]: Leaving directory ‘/usr/local/src/xunsearch-full-1.4.14/libevent-2.0.21-stable’
make: *** [Makefile:1182: install] Error 2

看样子应该是在编译过程中报错了,这个比较棘手,因为这是C写的代码,我总不能直接去改它的源码,于是只能从什么问题导致了编译错误入手,各种查询之后,发现有位网友曾经遇到过这个问题,以下是引用这位网友的内容:

这个问题的原因及解决思路如下:
原因在于libevent 2.0.x需要openssl < 1.1.0
常用的几个Linux发行版已经把系统的openssl升级到了1.1.0+
即对应需要libevent 2.1.x+
而libevent 2.1.x改了头文件.. 如果不更换系统openssl版本.
那就可以去手动下载一个 libevent-2.1.11-stable.tar.gz
自己换成bz压缩格式(libevent-2.1.11-stable.tar.bz2)
放进 packages,记得删掉原来的libevent

作者:一件小毛衣
链接:https://www.jianshu.com/p/2bd166d48f42
来源:简书

后面具体的步骤没有参考他的,因为我和他使用的迅搜版本是不同的,具体解决的方法跟他的有所不同,所以下面继续说我的解决过程:
首先,先去下载一下2.1.X版本的libevent安装包,可以直接搜索libevent,然后在官方的网站上下载,很多时候官方的链接是github上的,如果直接在linux系统上用wget下载有点慢,这种情况下可以先在咱们自己的浏览器上下载好,再通过winscp上传上去,更加快。
我下载的版本是libevent2.1.12,下载链接是:https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz

下载好后上传到服务器上放xunsearch的目录下,我的目录是/usr/local/src/,然后将这个文件解压,并重新压缩成bz2格式,参考代码如下:

//先将libevent解压(以便压缩成所需格式)
tar -zxvf libevent-2.1.12-stable.tar.gz
//压缩成bz2格式,这是迅搜安装包的支持的格式
tar -cjf libevent-2.1.12-stable.tar.bz2 libevent-2.1.12-stable
//复制到xunsearch下的packages文件夹内
cp libevent-2.1.12-stable.tar.bz2 xunsearch-full-1.4.15/packages/
//进入安装包的目录并将原来自带的libevent安装包删除(xunsearch1.4.15自带的是2.0.X)
cd xunsearch-full-1.4.15/packages/
rm -f libevent-2.0.X(删除原来的,我的具体是:
rm -f libevent-2.0.21-stable.tar.bz2)
//返回上一步的文件夹(即迅搜安装包的根目录),然后执行setup.sh就可以了,
//迅搜会自动检查安装包文件内的libevent开头的安装包,如果没找到会报错,如果找到了就会自动解压并编译安装
cd ..
./setup.sh

然后安装过程就愉快地完成了
————————————————
版权声明:本文为CSDN博主「风柏杨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/one_and_only4711/article/details/110926096

Linux查找某个时间内的文件

1、 n天内修改的(-ctime)

find . -type f -ctime -1| xargs ls –l

说明:

(1) -type f 只搜索文件,不包含文件夹

(2)ctime中的c-change的意思

(3)-ctime +n: n天前修改的;-ctime –n:n天内修改的,修改日期过去n天的

ctime参数指文件日期等状态性参数修改,mtime参数指内容改变:

find . -type f -mtime -1| xargs ls –l
2、n天内访问过的(-actime)

find . -type f -atime -1

说明:

(1) atime中的a-access的意思;
3、 atime、ctime、mtime区别

from: http://blog.csdn.net/abcdef0966/article/details/7607545

(1)atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,但是我试验时却发现使用cat、more时atime没有被修改。这个问题需要另外做研究探讨。

(2)ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

(3)mtime即modify time,指文件内容被修改的时间。
4、查看文件的时间等属性

stat./00/00/wKjn3lmeuLqEGxCHAAAAAAAAAAA617.jpg

File: ‘./00/00/wKjn3lmeuLqEGxCHAAAAAAAAAAA617.jpg’

Size: 391552 Blocks: 768 IO Block: 4096 regular file

Device: 801h/2049d Inode: 545906 Links: 1

Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2017-08-24 19:30:13.537917208 +0800

Modify: 2017-08-24 19:30:02.641824935 +0800

Change: 2017-08-24 19:30:02.641824935 +0800

Birth: –
5、以分钟为单位的时间范围查找

与atime,ctime,mtime类似,对应的参数为amin, cmin,mmin
————————————————
版权声明:本文为CSDN博主「hongweigg」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hongweigg/article/details/77552198