Linux
文章平均质量分 55
小白的进阶
立体视觉,机器学习,Python,搜索
展开
-
Linux下安装Python3
linux下安装python3的详细步骤转载 2022-09-19 16:00:47 · 2185 阅读 · 1 评论 -
crontab命令详解
crontab 概念crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中(是“cron table”的简写),以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。简单点说:就是和闹钟的概念类似。就是定时执行一、检查 cront转载 2021-08-07 12:27:08 · 10107 阅读 · 1 评论 -
autoreconf命令参数说明
在linux中通过拷贝文件安装软件,执行make 操作时出现如下问题Makefile:372: recipe for target 'aclocal.m4' failed解决办法:在linux终端下执行 :autoreconf -vfi通过拷贝来的源码,在配置文件中保留原来的配置,所以需要使用autoreconf来更新已经生成的配置文件必要参数 -v 详细报告处理-d 不删除临时文件-f 认为所有的文件都是过期的文件/强制执行-i 复制辅助文件-s 创建符号链接,而不...原创 2021-07-15 15:05:36 · 1329 阅读 · 0 评论 -
Redis如何防止雪崩、穿透、击穿?
Redis如何防止雪崩?什么是Redis缓存雪崩:Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期时间,并采用的是惰性删除+定期删除两种策略对过期键删除。如果缓存数据设置的过期时间是相同的,并且Redis恰好将这部分数据全部删光了。这就会导致在这段时间内,这些缓存同时失效,全部请求到数据库中。这就是Redis缓存雪崩。缓存雪崩会造成数据库直接崩溃,从而导致整个系统瘫痪。如何防止Redis缓存雪崩:(1)在缓存的时候给时间加上一个随机值,设置不同的缓原创 2021-03-07 17:59:44 · 4146 阅读 · 0 评论 -
undefined symbol问题的查找、定位与解决方法
编译生成动态链接库后,调用时出现:# lichunhong @ lichunhong-ThinkPad-T470p in ~/Documents/src/effective_robotics_programming_with_ros-master/catkin_ws on git:lichunhong/dev x [18:54:05] C:127$ rosrun path_plan PathPlanSimulation/home/lichunhong/Documents/src/effective转载 2020-11-06 17:04:15 · 11215 阅读 · 7 评论 -
Skipped ‘XXX.txt‘ -- Node remains in conflict 问题解决
最近在Linux下使用SVN的时候,不知道做了什么操作,导致部分文件更新的时候出现了"Node remains in conflict"的错误。文件一直更新不了,即使删除了也无法正常update。网上找了很多种方法,终于找到了一种能够正确解决的方法:[server@localhost xxxsvr]$ svn revert --depth=infinity xxx_state[server@localhost xxxsvr]$ svn up xxx_state上面的xxx_state是一个目转载 2020-11-04 17:14:59 · 807 阅读 · 0 评论 -
awk命令获取文件的某一行某一列
1.打印文件的第一列 :awk '{print $1}' filename2.打印文件的前两列 :awk '{print $1,$2}' filename3.打印完第一列,然后打印第二列 :awk '{print $1 $2}' filename4.打印文本文件的总行数 :awk'END{print NR}' filename5.打印文本第一行 :awk 'NR==1(print)' filename6.打印文本第二行第一列 :sed -n "2, 1p" filename转载 2020-11-04 11:50:50 · 12885 阅读 · 1 评论 -
shell脚本获取今天、昨天、前天以及n天前的日期
1、获取今天的日期log=$(date -d "now" +%Y-%m-%d)echo ${log}2、获取昨天的日期log2=$(date -d "yesterday" +%Y-%m-%d)echo ${log2}或者log2=$(date -d "1 day ago" +%Y-%m-%d)echo ${log2}3、获取前天的日期log3=$(date -d"2 day ago" +%Y-%m-%d)echo ${log3}4、获取具体日期的前几天log4=$(d原创 2020-11-04 11:47:58 · 6065 阅读 · 0 评论 -
Linux终端vi同时显示多个文件的分屏操作及切换操作
每次用的时候就忘记怎么操作,今天做一下记录吧一、打开并显示文件打开第一个文件: vim xxx(文件名)分屏打开第二个文件: 在已打开的第一个文件底部输入 :vs /file1/.../yyy(文件名)即可实现左右分屏,并同时显示两个文件如果要实现上下分屏,则输入改为 :sp/file1/.../yyy(文件名) 即可二、窗口间的切换Ctrl+w+方向键 切换上下左右窗口Ctrl+w+h/j/k/l 切换上下左右窗口(按顺序分...原创 2020-08-28 19:56:47 · 4521 阅读 · 0 评论 -
Linux多个文件之间跳转(ctags)
1.生成索引文件在你想要创建文件之间来回跳转的父文件下,生成对应的索引文件,命令如下:ctags -R .“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表:用#define定义的宏枚举型变量的值函数的定义、原型和声明名字空间(namespace)类型定义(typedefs)变量(包括定义和声明)类(class)、结构(原创 2020-08-06 13:44:47 · 2684 阅读 · 0 评论 -
Linux服务器查看负载情况
负载(load)是linux机器的一个重要指标,直观了反应了机器当前的状态。如果机器负载过高,那么对机器的操作将难以进行。Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。查看服务器负载有多种命令,主要有 uptime ; w ; top ;iostat ,下面将一一展示。(1) w或者uptime都可以直接展示负载$ uptime$wload average分别对应于过去1分钟,5分钟,15分钟的负载平均值...原创 2020-06-10 11:02:14 · 3481 阅读 · 0 评论 -
Linux杀死进程的多种方法
1.查找需要kill掉的线程:ps -elf|grep 【线程关键信息】 比如:ps -elf|grep java这样找到所有JAVA 线程比如要删除tomcat线程,可以执行:ps -elf|grep tomcat这样就可以找到跟tomcat相关的所有线程,从中找到你需要kill掉的线程ID2. 强制终止线程:kill -9 【线程ID】比如你的线程ID是5645646,那就可以执行:kill -9 5645646【特殊用法】kill -STOP [pid]发..原创 2020-06-10 10:50:02 · 11416 阅读 · 0 评论 -
linux服务器查看进程数量
Linux系统的进程是由线程组成的,当然Linux进程下的线程数是不固定的,可以是一个进程,也可以是多个进程。一、使用命令查看Linux进程的线程数 1、使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程。 2、使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3、使用ps命令,具体用法是 ps -mq PID 这样可以看到指定的进程产生的线程数目。 ...原创 2020-06-10 10:35:36 · 24891 阅读 · 0 评论 -
Linux环境 行末尾的^M符号删除
出现^M的原因:Window系统中用/r/n来表示换行,linux中用/n来表示换行,Windows的文本文件,直接拿到linux中使用可能会会出错,因为多出了“/r”字符,这就是我们看到的^M。解决方案:1.使用正则表达式删除在命令模式(vim)下输入 :%s/^M//g 然后回车即可替换 ,注意,这里的”^M”的输入是通过"Ctrl+v"、"Ctrl+M"键生成...原创 2020-03-25 16:48:41 · 5662 阅读 · 0 评论 -
使用python在hadoop下编写map-reduce
Hadoop Streaming提供了一个便于进行MapReduce编程的工具包,使用它可以基于一些可执行命令、脚本语言或其他编程语言来实现Mapper和 Reducer,从而充分利用Hadoop并行计算框架的优势和能力,来处理大数据。部署hadoop环境,这点可以参考 http://www.powerxing.com/install-hadoop-in-centos/部署hadoop完成...原创 2019-11-15 15:53:42 · 1095 阅读 · 0 评论 -
SecureCRT上操作SVN
1.从svn下载代码到本地一般新建一个文件夹,下载所需的代码,例如 mkdir code,然后进入code文件夹中,开始进行下载svn co https://svn路径 ./此处需要注意:如果想要下载一整个文件夹下的代码/项目,在填写svn路径时,最后面不要加“/”例如在code文件夹下,操作 svn co https://svn1.baidu.com.cn/search ./ ...原创 2019-11-15 15:36:13 · 982 阅读 · 0 评论 -
解决redis连接错误:MISCONF Redis is configured to save RDB snapshots,即redis无法向磁盘写入RDB的报错
完整的报错信息如下:ResponseError: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance...原创 2019-10-17 17:21:39 · 11273 阅读 · 0 评论 -
如何杀死redis进程
此方法是现在常用的,也会用的。首先查看redis进程:ps -ef|grep redis会出现如下的redis进程列表(具体的用户名已经隐去,红笔划掉的就是你自己之前启动redis时用的名字)然后kill掉对应的进程:kill -9 pid其中pid就是如上图对应的"7692",即具体实例操作为:kill -9 7692此时再看,就没有之前的那个redis了...原创 2019-10-17 17:16:42 · 10043 阅读 · 1 评论 -
Linux下redis配置参数说明
redis定义redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各...原创 2019-09-16 16:56:49 · 4524 阅读 · 0 评论 -
SecureCRT通过vim打开文件时显示行号
vim打开文件是,默认不提示行号。至于显示行号的用途,因人而异Linux下一个主机可能有N个账户。对于配置分为两种:仅配置当前账户,配置所有账户vim配置文件路径(Centos 5.5 final ): /etc/vimrc若当前账户目录下无vim配置文件,可以cp /etc/vimrc至相应目录。cp后,使用chmod 改变文件的用户组和用户,并mv vimr...原创 2019-07-10 20:13:13 · 2305 阅读 · 0 评论 -
linux和windows多线程的异同
linux多线程及线程同步和windows的多线程之间的异同并不是所有的程序都必须采用多线程,有时候采用多线程性能还不如单线程。采用多线程的好处如下:(1)多线程之间采用相同的地址空间,共享大部分的数据,和多进程相比,代价比较节俭,而启动新的进程必须分配给它独立的地址空间,需要数据表来维护代码段,数据段和堆栈段等等。(2)对不同进程来说,它们具有独立的数据空间,要进行数据的原创 2016-12-14 15:18:16 · 1662 阅读 · 0 评论 -
Hadoop常用命令
参数 作用 示例 返回值 appendToFile 将一个或者多个本地 文件追加到目的文件 hdfsdfs-appendToFilelocalfile /user/hadoop/hadoopfile Returns0onsuccessand1onerror cat 输出文件 hdfsdfs-catfil...原创 2019-09-04 11:07:28 · 206 阅读 · 0 评论 -
python 删除文本文件中每一行末尾的^M符号
1.^M字符的来历和作用:在DOS/Windows里,文本文件的换行符为\r\n,而在*nix系统里则为\n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。所以^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除。下面我们介绍如何在Linux中删掉^M2. 方法一:不需要打开文件,直接替换:sed -i "s/^M/\ /g...原创 2019-08-28 14:47:55 · 5218 阅读 · 2 评论 -
解决:从windows复制到SecureCRT上 vi/vim编辑的文件中,会在行首多很多缩进和空格
secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器。所以当你的服务器上的vim设置为autoindent的话,在i模式下,那么它会将secureCRT传输而来的这些字符串再进行一下缩进。若你拷贝的文本中已经有表示缩进的空格或者制表符的话,它们也会被当成字符串,而被缩进。解决办法:1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进...原创 2019-05-30 16:24:02 · 3092 阅读 · 1 评论 -
svn报错refers to a file, not a directory
svn报错 refers to a file, not a directorysvn co http://server.com/svn/trunk/test.file test.filesvn: URL 'http://server.com/svn/trunk/test.file test.file' refers to a file, not a directory问题根本原因:...原创 2019-05-24 15:41:39 · 1564 阅读 · 0 评论 -
eigen3 在 ubuntu14.04 下的安裝
下载网址: 去eigen官网 下载就可以下载一个稳定版的eigen,博主下的是当前最新版博主下载到“下载/”目录下,即下载/目录下有个文件名eigen-eigen-67e894c6cd8f.tar.bz2运行指令:cd 下载sudo tar -xvjf eigen-eigen-67e894c6cd8f.tar.bz2 -C /usr/local/include原创 2017-06-15 11:52:36 · 5219 阅读 · 3 评论 -
常用的20条Linux命令
1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:[plain] view plain copy print?cd /root/Docements # 切换到目录/root/Docements cd ./path转载 2017-05-15 21:43:30 · 347 阅读 · 0 评论 -
LINUX中常用操作命令
Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debianaa安装VMware或VirtualBox虚拟机。具体安装步骤,找百度。再安装Ubuntu。具体安装步骤,找百度。安装完后,可以看到Linux系统的目录结构,见链接http://www.weixuehao.com/a转载 2017-05-15 21:40:59 · 365 阅读 · 0 评论 -
Linux系统下的多线程遵循POSIX线程接口
Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程 序,需要使用头文件pthread.h,连接时需要使用库libpthread.a。顺便说一下,Linux下pthread的实现是通过系统调用clone()来实现的。clone()是Linux所特有的系统调用,它的使用方式类似fork,关于clone()的详细情况,有兴趣的读者可以去查 看有关文原创 2016-12-14 15:29:28 · 1635 阅读 · 0 评论 -
ubuntu14.04中安装opencv2.4.9
1. 先从sourceforge上下载OpenCV的源码http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip2. 解压到任意目录unzip opencv-2.4.9.zip3. 进入源码目录,创建rele原创 2016-12-15 09:34:37 · 11740 阅读 · 2 评论 -
E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
安装terminator等一些软件等时候,遇到了这样等问题leo@leo:~$ sudo apt-get install terminator[sudo] password for leo: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是原创 2016-12-15 09:44:21 · 3299 阅读 · 1 评论 -
CMakeLists.txt的写法
CMakeListserv.txt的写法(1):要求CMake根据指定的源文件生成可执行文件 Demo1:add_executable(hello main.cpp) 这将从main.cpp源码文件创建一个叫“hello”(Windows下叫“hello.exe”)的可执行文件。你可以根据自己的需要将C和C++文件混合。在同一个CMakeLists.txt可以有多个可执行文件原创 2016-12-15 16:43:32 · 1324 阅读 · 0 评论 -
打开/取消 SecureCRT的右键复制功能
在系统维护工作中,经常要在SecureCRT中使用复制黏贴功能,根据不同的需求,有人喜欢右键复制黏贴,有人不喜欢,因为实际工作中经常会不小心复制到一大堆不用的东西,还是使用ctrl+v,来的安全,需要就复制,不需要就不复制。这里介绍开关位置,大家根据需要使用Options->Global Options->Terminal在右边选择或者取消“Copy on select”和“P...原创 2019-05-30 17:54:29 · 8926 阅读 · 1 评论 -
secureCRT常用命令
常用命令:一、ls 只列出文件名 (相当于dir,dir也可以使用)-A:列出所有文件,包含隐藏文件。-l:列表形式,包含文件的绝大部分属性。-R:递归显示。--help:此命令的帮助。二、cd 改变目录cd /:进入根目录cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxtcd ..:回到上级目录pwd:显示当前所在...原创 2019-06-04 11:02:03 · 24406 阅读 · 0 评论 -
python断点调试:pdb基本用法
使用pdb进行调试:pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令,详情见下表命令 解释 break 或 b 设置断点 continue 或 c 继续执行程序 list 或 l 查看...原创 2019-08-07 20:40:12 · 3709 阅读 · 1 评论 -
Linux给文件中每一行的前面、后面、指定列添加/删除相同字符
需要用到shell命令awk在前面、后面、指定列添加相同字符(1)给一个文件中的每一行开头插入字符的方法:awk '{print "需要添加的字符" $0}' fileName(2)给一个文件中的每一行结尾插入字符的方法:awk '{print $0 "需要添加的字符"}' fileName(3)给一个文件中的每一行的指定列插入字符的方法:awk '$0=$0X"' fileNa...原创 2019-08-06 16:25:23 · 20583 阅读 · 0 评论 -
linux中的awk命令详解
1、AWK简介AWK是一种处理文本文件的语言,是一个强大的文本分析工具。2、AWK语法awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s)选项参数的说明:-F fs or –field-separator fs指定输入文件折分隔符,fs是一个字符串或者是一个正...原创 2019-08-02 17:33:34 · 300 阅读 · 0 评论 -
Hadoop服务 hdfs上文件的删除和查询
将文件上传到hdfs1.首先创建一个文本文件#touch 创建文件 mkdir 创建文件夹touch test#编辑文件vim test2.可以随便输入一些内容hello worldhello lileihello haimeimeihello hadoop保存退出3.将文件上传到hdfs根目录中#将文件上传到Hadoop根目录中hado...原创 2019-07-19 16:44:46 · 5919 阅读 · 0 评论 -
shell脚本中判断上一个命令是否执行成功
shell脚本中判断上一个命令是否执行成功shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。结合if-else语句实现判断上一个命令是否执行成功。示例如下:if [ $? -ne 0 ]; then echo "failed"else echo "succeed"fi或者:if [ $? -eq 0 ]; ...原创 2019-06-28 15:48:39 · 30274 阅读 · 2 评论 -
解决-bash: fork: retry: Resource temporarily unavailable错误
登陆不了服务器The server refused to start a shell.登陆服务器后执行ls命令报错:$ls-bash: fork: retry: Resource temporarily unavailable上面这段错误提示的本质是Linux操作系统无法创建更多进程,导致出错。因此要解决这个问题需要修改Linux允许创建更多的进程。修改Linux最大进程数...原创 2019-06-18 16:15:29 · 12951 阅读 · 0 评论