![](https://img-blog.csdnimg.cn/20210415202846289.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 60
Linux相关知识
xupeng1644
道阻且长,行则将至!
展开
-
Linux系统nano编辑器快捷键和使用完全指南(转载)
在本指南中,详细记录了文本编辑器使用的方方面面,怎么使用编辑器及其各种快捷键。nano是一个命令行文本编辑器,通常默认包含在类似Unix的计算系统中,如Raspberry Pi OS或Ubuntu。它是在命令行中工作时首选的文本编辑器。我在所有的Raspberry Pi项目和Linux指南中都使用nano。当习惯于使用Linux系统时,可以尝试使用更高级的文本编辑器(如vim或)时,但这两个学习成本都有点高,一个被成为编辑器之神,一个是神之编辑器。这时候nano的作用就凸显出来了,对初学者来说更容易上手。转载 2023-03-08 19:13:55 · 2514 阅读 · 0 评论 -
Linux下使用git-cliff生产CHANGELOG.md
git-cliff 是一个高度可定制的更新日志生成器,遵循常规的 Commit 规范。git-cliff 可以通过利用传统的 commits 以及由 regex 驱动的自定义解析器,从 Git 历史中生成更新日志文件。更新日志模板可以用配置文件定制,以符合所需的格式。原创 2022-10-16 12:11:54 · 1028 阅读 · 0 评论 -
Linux下编译安装htop
工程地址为。以htop-2.0.0为例:下载地址为。下载后的文件为。原创 2022-10-12 17:04:52 · 1721 阅读 · 0 评论 -
Linux下编译安装valgrind
工程地址为。以为例:下载地址为。下载后的文件为。原创 2022-10-11 14:34:44 · 1247 阅读 · 0 评论 -
Linux下编译Zipper库
Linux编译ZipperCentOS编译Zipper原创 2022-07-12 23:08:46 · 651 阅读 · 0 评论 -
Centos 7.x 升级glibc至2.18版本(转载)
总结如下:Centos7.X 默认情况下自带的glibc版本为glibc-2.17, 但很多运行在centos上的应用需要高版本glic才能成功编译和安装以下安装步骤在Centos 7.6上验证通过安装验证 参考 centos6.5升级glibc-2.18 centos7升级gcc&glibc(踩坑)...转载 2022-06-13 17:40:03 · 2807 阅读 · 1 评论 -
Linux 日志文件 /var/log 详解(转载)
Linux 的系统日志记录着系统运行中的记录信息,在服务或者系统发生故障或者被攻击的时候,通过查询系统日志,可以帮助我们诊断定位问题。系统日志可以预警安全问题,系统日志一般都存放在/var/log目录下其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到。[root@instance-1apocjsh ~]# ls -al /var/logtotal 12076drwxr-xr-x. 9 root root 4096 May 4 03:2转载 2022-05-05 21:53:51 · 3740 阅读 · 0 评论 -
Linux下编译fmt库
下载fmt的下载地址为https://github.com/fmtlib/fmt/tags,以下载版本8.1.1为例,下载后文件为fmt-8.1.1.tar.gz。编译使用命令tar -zxvf fmt-8.1.1.tar.gz进行解压,解压完成后文件夹fmt-8.1.1中目录结构如下:.├── ChangeLog.rst├── CMakeLists.txt├── CONTRIBUTING.md├── doc├── include├── LICENSE.rst├── README.rs原创 2022-03-30 11:31:52 · 4960 阅读 · 0 评论 -
Linux下编译googletest
下载下载地址为https://github.com/google/googletest/tags,以版本release-1.10.0的tar.gz包为例,下载完成后的文件为 googletest-release-1.10.0.tar.gz。安装googletest使用CMake来进行构建。使用命令tar -zxvf googletest-release-1.10.0.tar.gz解压缩,解压缩完成后,目录googletest-release-1.10.0结构如下:[root@instance-1a原创 2022-03-29 16:03:00 · 2558 阅读 · 1 评论 -
Linux下CGDB使用教程(转载)
CGDB是GDB的前端,地址是https://cgdb.github.io/,基于ncurse,可以让用户用图形化的方式去调试代码,非常方便。 虽然GDB的TUI模式也是图形化,但是很容易产生撕裂现象,需要redraw,用起来难受,而且没有语法高亮。 本文主要讲述CGDB一些常用的使用方法。 一 安装 本人使用的Linux系统是Debian10 64位,Ubuntu也差不多。 去官网下载Stable版本,或者去其github地址下载release版本,本文写作时当前Stable版本为0.7.1转载 2022-03-27 19:35:07 · 2649 阅读 · 1 评论 -
GDB使用gdb-stl-views打印STL容器元素
简介使用gdb调试C++程序时,无法使用命令p 变量名输出STL容器的元素数据。例如有一个std::vector<int> datas变量, 执行p datas,输出如下:(gdb) p datas $2 = { <std::_Vector_base<int, std::allocator<int> >> = { _M_impl = { <std::allocator<int>> = {原创 2022-03-24 16:54:16 · 4904 阅读 · 0 评论 -
Linux下rpm安装jdk17
下载下载地址为x64 RPM Package,因为是操作系统是CentOS,下载版本(x64 RPM Package)如下:使用wget进行下载。安装下载完成后,使用命令rpm -ivh jdk-17_linux-x64_bin.rpm进行安装。[root@instance-1apocjsh ~]# rpm -ivh jdk-17_linux-x64_bin.rpm warning: jdk-17_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signatur原创 2022-03-21 17:41:02 · 3897 阅读 · 1 评论 -
free命令详解(转载)
命令free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。如果加上 -h 选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数:$ free -h -s 3上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。由于 free 命令本身比较简单,所以本文的重点会放在如何通过 free 命令了解系统当前的内存使用状况。输出简介下面先解释一下输出的内容:Mem 行(第二行)是内存转载 2022-03-21 14:18:44 · 8559 阅读 · 0 评论 -
top命令详解(转载)
top命令用法 top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。 top的使用方式 top [-d number] | top [-bnp] 参数解释: -d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。 在top命令显示的页面还可以输...转载 2022-03-21 13:47:20 · 15655 阅读 · 0 评论 -
scp命令拷贝文件
简介scp(secure copy)是一个基于 SSH 协议在网络之间进行安全传输的命令。如果是从本地拷贝到远程,格式为:scp 文件 用户名@IP地址:目标目录如果是从远程拷贝到本地,格式为:scp 用户名@ip地址:带路径文件名 本地目录参数-v 显示详细的连接进度-P 指定远程主机的 sshd 端口号-r 用于传送文件夹-6 使用 IPv6 协议例子从本地拷贝到远程[root@localhost ~]# scp myhistory.txt root@192.168.31.原创 2022-03-20 20:59:23 · 11855 阅读 · 0 评论 -
Linux下rpm安装MySQL及配置
下载下载地址为:https://downloads.mysql.com/archives/community/,选择最新版本8.0.27,操作系统为CentOS 8,所以选择Red Hat Enterprise Linux/Oracle Linux, 下面的具体版本选择Red Hat Enterprise 8/ Oracle Linux 8 (x86, 64-bit), PRM Bundle,它包含了安装MySQL8.0.27的所有依赖。文件上传到CentOS步骤略过。(当然也可以直接使用wget下载原创 2022-03-20 15:11:08 · 9450 阅读 · 0 评论 -
Linux下rpm安装lrzsz
下载yum -y install yum-utilsyumdownloader --resolve --destdir=/root/soft/lrzsz lrzsz [root@instance-1apocjsh ~]# yumdownloader --resolve --destdir=/root/soft/lszrz lrzszLast metadata expiration check: 0:02:48 ago on Sat 19 Mar 2022 11:22:41 PM CST.lrzs原创 2022-03-19 23:32:48 · 3348 阅读 · 0 评论 -
Netcat 介绍及使用(转载)
Netcat 介绍 Netcat(简称nc)是一款强大的命令行网络工具,用来在两台机器之间建立TCP/UDP连接,并通过标准的输入输出进行数据的读写 Netcat 安装 大部分的Linux发行版会都会自带Netcat,可以使用nc命令查看系统中是否有安装Netcat $ ncusage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-recv-anyif]转载 2022-03-06 18:01:32 · 1514 阅读 · 0 评论 -
使用自定义函数替代Linux rm命令
在~/.bashrc添加如下内容alias rm='confirm_rm' # 输出3次confirm才能最终执行rm命令confirm_rm(){ echo "Want To Use Command 'rm', You Must confirm Three Times!!!" for i in {1..3} do read -p "Input 'confirm' Or Other : " result if [ $result != "confirm" ]; then echo原创 2022-01-28 17:12:18 · 1181 阅读 · 0 评论 -
_GLIBCXX_USE_CXX11_ABI有什么作用(转载)
最近遇到个问题,在链接OpenVINO的时候,需要将libinference_engine.so与libinference_engine_legacy.so都链接进去,但如果在CMakeLists里设置add_definitions(-D _GLIBCXX_USE_CXX11_ABI=0),就无法正常链接:编译器只会链接libinference_engine_legacy.so,而没有libinference_engine.so,当设置add_definitions(-D _GLIBCXX_USE_CXX1转载 2022-01-27 10:03:19 · 550 阅读 · 0 评论 -
Linux下编译CMake
下载工程地址为https://cmake.org/。以cmake-3.22.1为例:下载地址为cmake-3.22.1。下载后的文件为cmake-3.22.1.tar.gz。编译与安装步骤如下:tar -zxvf cmake-3.22.1.tar.gzcd cmake-3.22.1./configure (需要依赖OpenSSL,可在CMakeLists.txt中添加命令set(CMAKE_USE_OPENSSL OFF)取消依赖)makemake install PRE原创 2022-01-24 15:37:32 · 2301 阅读 · 0 评论 -
Linux下编译hiredis
下载工程地址为https://github.com/redis/hiredis/。以hiredis 1.0.0为例:下载地址为v1.0.0。下载后的文件为hiredis-1.0.0.tar.gz。编译与安装步骤如下:tar -zxvf hiredis-1.0.0.tar.gzcd hiredis-1.0.0cmake .cmake --build .(也可以使用make)make install PREFIX=安装目录编译安装完成后,将安装目录下的include文件原创 2022-01-24 13:47:40 · 1844 阅读 · 0 评论 -
Linux下编译Boost
tar -zxvf hiredis-1.0.0.tar.gzcd hiredis-1.0.0cmake .cmake --build . (或者使用make)make install DESTDIR=安装目录编译安装完成后,在安装目录中,原创 2022-01-24 11:11:26 · 1190 阅读 · 0 评论 -
Linux下编译redis及配置
下载工程地址为https://github.com/redis/redis。以Redis 3.2.0为例:下载地址为3.2.0。下载后的文件为redis-3.2.0.tar.gz。编译与安装步骤如下:tar -zxvf redis-3.2.0.tar.gzcd redis-3.2.0makemake install PREFIX=安装目录(使用DESTDIR无效)注意,安装目录是以src目录为相对目录的,也就是说安装目录一定会保存在src目录中。编译安装完成后,在安装目原创 2022-01-24 10:50:40 · 1067 阅读 · 0 评论 -
Linux 安装 safe-rm 工具(转载)
前言safe-rm 是一款用来替代不安全 rm 的开源软件,可以在 /etc/safe-rm.conf 文件中配置保护名单,定义哪些文件不能被 rm 删除,可用于防止执行 rm -rf 命令导致文件被误删的发生。安装 safe-rm 工具# 下载文件# wget https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz# 解压文件# tar -xvf safe-rm-0.12.tar.gz# 拷贝可执行文件# cd safe转载 2022-01-19 15:59:55 · 685 阅读 · 0 评论 -
linux 命令的高级用法(chmod+find 批量授权)(转载)
授权命令chmod 想必不用我多说了,大家都知道,那么如何以刁钻的角度去使用它,让它用最简洁的方式达到你的目的呢?先来看两个截图,图1图2这两张图是test 这个文件夹下的目录结构图以及权限图。那么接下来我要将test这个目录以及子目录的所有.sh 的文件设置为只有可执行权限要怎么设置呢?执行以下命令后会发现 tesh.sh 和./test1/test1.sh 的权限已经变成—x–x--x 而其它保持不变[root@oracle1 test]# find . -name "*.sh" -exec转载 2022-01-19 10:04:13 · 980 阅读 · 0 评论 -
GitStats-Git历史统计信息工具(转载)
GitStats - Git 历史统计信息工具 2020-07-212020-07-21 10:31:28阅读 1.1K0如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况:该仓库的代码谁提交的代码最多该仓库的活跃度是什么样子的各个时段的提交分析数据每个版本的贡献排名情况每周/每月/每年的贡献排名等等几天前发现一个 Git 历史统计信息生成工具叫 GitStats (http://gitstat转载 2021-11-24 10:05:09 · 555 阅读 · 0 评论 -
GLIBCXX_3.4.21 not found(转载)
问题描述 CentOS安装新版本(10.2.0)的g++后,编译程序后执行出现问题如下 [root@VM-0-9-centos xltest]# ./a.out./a.out: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./a.out)解决办法 新版本文件在/usr/local/lib64/ 内,而查找是从/usr/lib64 先的,因此最好是将新文件拷贝到/usr/lib64 并创建软连接。 [转载 2021-11-20 14:54:28 · 3938 阅读 · 0 评论 -
Linux C调用md5sum命令获取文件md5值(转载)
#include <stdio.h>#include <ctype.h>#define STR_VALUE(val) #val#define STR(name) STR_VALUE(name)#define PATH_LEN 256#define MD5_LEN 32int CalcFileMD5(char *file_name, char *md5_sum){ #define MD5SUM_CMD_FMT "md5sum %." STR(PATH_LEN转载 2021-11-17 21:20:04 · 1467 阅读 · 0 评论 -
CentOS 7中添加一个新用户并授权(转载)
前言笔记本安装了一个CentOS,想要让别人也可以登录访问,用自己的账号确实不太好,于是准备新建一个用户给他。创建新用户创建一个用户名为:linuxidc[root@localhost ~]# adduser linuxidc为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:[root@localhost ~]# passwd linuxidc更改用户 zhangbiao 的密码 。新的 密码:无效的密码: 密码未通过字典检查 - 过于简单化/系统化重新输入新的 密码转载 2021-09-20 23:35:19 · 259 阅读 · 0 评论 -
gcc(g++)头文件搜索路径与库文件搜索路径(转载)
版权声明:本文为CSDN博主「fd315063004」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/fd315063004/article/details/7925854头文件搜索路径先会从-I指定的目录开始查找。接着从gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH指定的目录进行查找。最后再查找内定目录。/usr/include.转载 2021-08-10 10:05:51 · 2116 阅读 · 0 评论 -
GCC、VS对C++标准的支持情况总结(转载)
版权声明:本文为CSDN博主「Captain–Jack」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/u010977122/article/details/100708274C++语言标准目前C++语言的标准有:C++98C++03 - 对98小幅修改`C++11 - 全面进化C++14C++17GCC的支持情况GCC编译器对不同的C++标准的支持情况:(高版本的gcc向下兼容,支持低版本的.转载 2021-08-05 10:29:46 · 3229 阅读 · 0 评论 -
ssh-key生成密钥及SSH无密码登录的配置(转载)
1 ssh-keygen命令 ssh-keygen命令说明: -t :指定加密类型(如:rea,dsa)-C : 指定注释,用于识别这个密钥 其他参数具体可以查看帮助 $ ssh-keygen helpToo many arguments.usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa] [-N new_passphrase] [-C comment] [-f output_ke转载 2021-08-04 17:14:00 · 606 阅读 · 0 评论 -
使用WinSCP命令上传文件到CentOS
Windows安装WinSCP安装WinSCP,略过。CentOS安装openssh-server使用命令 yum list installed | grep openssh-server 查询是否安装过openssh-server,如果未安装,使用命令yum install openssh-server进行安装。批处理与命令文件假定批处理文件为upload.cmd,内容为:winscp.exe /console /script=command.txt /log=log.txtwinscp.e原创 2021-08-03 10:50:36 · 1141 阅读 · 0 评论 -
CentOS安装MySQL及其使用(总结整理)
安装MySQL1先检查系统是否装有mysqlrpm -qa | grep mysql2 下载mysql的repo源wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm如果报错: -bash: wget: 未找到命令,安装插件yum -y install wget。3 安装 mysql-community-release-el7-5.noarch.rpm包sudo rpm -ivh mysql-communit.转载 2021-07-19 22:51:33 · 370 阅读 · 0 评论 -
Linux 程序运行时报错:找不到库文件[cannot open shared object file: No such file or directory ```](转载)
问题发现$ g++ -Wall -o hellobrowser.exec hellobrowser.c -I/usr/local/include-L/usr/local/lib -lmicrohttpd -ldl$ ./hellobrowser.execerror while loading shared libraries: libmicrohttpd.so.10: cannot openshared object file: No such file or directory发现/usr转载 2021-07-19 21:16:04 · 2041 阅读 · 0 评论 -
常见Linux发行版本(转载)
简介新手往往会被 Linux 众多的发行版本搞得一头雾水,我们首先来解释一下这个问题。从技术上来说,李纳斯•托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了转载 2021-07-16 14:43:01 · 2369 阅读 · 0 评论 -
linux各路径(目录)的解释(转载)
目录 /bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr用于存放系统应用程序,比较重要的目录/usr/local 本地系统管理员软件转载 2021-07-15 18:13:51 · 1688 阅读 · 0 评论 -
浅谈读写锁的使用
一、读写锁是什么?读写锁其实还是一种锁,是给一段临界区代码加锁,但是此加锁是在进行写操作的时候才会互斥,而在进行读的时候是可以共享的进行访问临界区的。读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程。当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步,读写锁的使用规则:只要没有写模式下的加锁,任意线程都可以进行读模式下的加锁;只有读写锁处于不加锁状态时,才能进行写模式下的加锁;读写锁也称为共享-独占(转载 2020-05-22 07:49:32 · 2603 阅读 · 0 评论 -
linux lsof命令语法
一 lsof命令lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字...转载 2020-05-07 17:11:48 · 1327 阅读 · 0 评论