![](https://img-blog.csdnimg.cn/20201027175341226.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 58
Linux
ETalien_
足够优秀才能接住上天给的惊喜和机会
展开
-
Linux:安装nginx
1.安装依赖包//一键安装这四个依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2.下载并解压安装包//创建一个文件夹cd /usr/localmkdir nginxcd nginx//下载解压tar包wget http://nginx.org/download/nginx-1.13.7.tar.gztar -xvf nginx-1.13.7.tar.gz3.安装nginx//进入nginx原创 2021-08-13 19:51:43 · 276 阅读 · 0 评论 -
Docker更换国内镜像源
方法一:给Docker守护进程配置加速器通过配置文件启动Docker,修改/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。vim /etc/docker/daemon.json{"registry-mirrors": ["http://hub-mirror.c.163.com"]}修改保存后,重启 Docker 以使配置生效。service docker restart方法二:如果安装docker软件,可以在Docker Engin原创 2021-08-04 10:44:06 · 1268 阅读 · 0 评论 -
Linux:Redis安全(设置密码验证)
可以通过Redis的配置文件设置密码验证,如果设置了密码验证的话,客户端连接到Redis服务的时候就需要输入密码,这样可以让Redis服务更加安全。使用命令config get requirepass可以查看是否设置了密码验证127.0.0.1:6379> config get requirepass1) "requirepass"2) ""发现密码为空,也就是不需要密码就直接可以连接到redis服务。设置密码,假设设置成hello127.0.0.1:6379> config s原创 2021-05-27 15:40:54 · 741 阅读 · 0 评论 -
Linux:Redis数据备份和恢复
Redis数据备份和恢复1.备份可以使用SAVE或者BGSAVE命令SAVE用于创建数据库的备份。(阻塞主进程)BGSAVE用于在后台创建数据库的备份。(fock了一个专门save的子进程,不会影响主进程)127.0.0.1:6379> SAVE OK127.0.0.1:6379> BGSAVEBackground saving started2.数据恢复想要恢复数据的话,需要将备份文件(dump.rdb)移动到redis安装目录并启动服务即可。获取redis目录可以使用原创 2021-05-24 16:22:38 · 1071 阅读 · 0 评论 -
Linux:Redis服务器相关命令
Redis 服务器命令主要是用于管理 redis 服务。1.BGSAVE(保存数据到磁盘)Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。127.0.0.1:6379> bgsaveBackground saving started2.CLIENT LIST(查看所有客户端连接)R原创 2021-05-13 15:35:59 · 194 阅读 · 0 评论 -
Linux:与redis连接服务有关的一些命令
Redis 连接命令主要是用于连接 redis 服务。1.PINGRedis Ping 命令使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。127.0.0.1:6379> PING # 连接正常PONG127.0.0.1:6379> PING # 连接异常Could not connect to Redis at 127.0.0.1:6379: Connection refused2.QUITRedis Quit 命令用原创 2021-03-18 15:37:41 · 948 阅读 · 0 评论 -
Linux:Redis事务
Redis事务Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。一个事务从开始到执行会经历以下三个阶段:开始事务命令入队执行事务单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。我们可原创 2021-03-11 17:37:37 · 109 阅读 · 0 评论 -
Linux:Redis发布订阅
Redis发布订阅Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图表示client1,client2和client5,都订阅了channel1这个频道下图表示给channel1这个频道发送消息之后,channel1会把信息发布给订阅它的client1,client2和client5操作指令1.SUBSCRIBE(创建频道)Redis Subscribe 命令用于订阅给定的一个或多个频原创 2021-03-09 15:14:53 · 438 阅读 · 1 评论 -
Linux:git报错 - git-lfs filter-process: git-lfs: command not found
在pull远程主分支代码时,出现了如下错误:git-lfs filter-process: git-lfs: command not foundfatal: The remote end hung up unexpectedly解决方案brew install git-lfs原创 2021-02-22 15:57:41 · 11384 阅读 · 2 评论 -
Linux:Redis列表(list)命令
Redis列表命令1.LPUSH/LPOP(左边插入和删除)Redis Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。Redis Lpop 命令用于移除并返回列表的第一个元素。127.0.0.1:6379> lpush ret 123(integer) 1127.0.0.1:6379> lpush ret 456(integer) 2127.0.0.1:6379&原创 2021-02-20 14:59:13 · 1073 阅读 · 0 评论 -
Linux:Redis哈希(hash)命令
Redis哈希命令1.HSET/HMSET/HGET/HMGET/HGETALL/HDELRedis Hset 命令用于为哈希表中的字段赋值 。Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。Redis Hget 命令用于返回哈希表中指定字段的值。Redis Hmget 命令用于返回哈希表中,一个或多个给定字段的值。Redis Hgetall 命令用于返回哈希表中,所有的字段和值。Redis Hdel 命令用于删除哈希表 key 中的一个或多个原创 2021-02-13 11:45:32 · 1300 阅读 · 1 评论 -
Linux:Redis字符串(string)命令
Redis字符串命令1.SET/GET/GETSETset设置指定key的值get获取指定key的值getset设置新值并返回旧值127.0.0.1:6379> set ret 123OK127.0.0.1:6379> get ret“123"127.0.0.1:6379> getset ret 456"123"127.0.0.1:6379> get ret"456"2.GETRANGERedis Getrange 命令用于获取存储在指定 key 中字符原创 2021-02-10 14:32:51 · 301 阅读 · 0 评论 -
iTerm的右上角惊现一只眼睛!谁在监视我!!
哈哈哈哈笑死我了!!!用iTerm的时候发现右上角有个小眼睛来给大家看一看哈哈哈哈!看到的一瞬间以为有人在监视我工作!我这么内心单纯的小孩子第一时间就是这么想的哈哈哈哈!这年头还有人监视我工作的一举一动,这还得了后来查了下也不知道是什么原因然后看到网上的小伙伴也疑惑哈哈哈哈抱团疑惑哈哈哈哈!!我正在看着你看着你目不转睛哈哈哈哈哈!!好吧!到最后我也不知道是啥!小丑竟是我自己!不过我知道怎么让你看不到这个眼睛!按下command+Alt+A就可以了!好,就酱!我投降了原创 2021-02-09 15:54:46 · 727 阅读 · 2 评论 -
Linux:Redis键(key)的操作
Redis键的操作(key)Redis 键命令用于管理 redis 的键语法:COMMAND KEY_NAME1.DEL(删除)Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。返回值是被删除key的数量。127.0.0.1:6379> DEL ret2.DUMP(序列化)Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。key存在返回序列化之后的值,key不存在返回nil。127.0.0.1:6379> set ret "hello原创 2021-01-11 14:34:45 · 1542 阅读 · 0 评论 -
Linux:Redis 有序集合(zset)命令
Redis 有序集合命令1.ZADD(添加元素)Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。127.0.0.1:6379> zadd key 1 one(integer) 1127.0.0.1:6379> zadd key 2 two(integer) 1127.0.0.1:6379> zad原创 2020-12-29 11:59:30 · 893 阅读 · 0 评论 -
Linux:Redis集合(set)命令
Redis集合(set)命令1.SADDRedis Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。127.0.0.1:6379> sadd key 123(integer) 1127.0.0.1:6379> sadd key 456(integer) 1127.0.0.1:6379> sadd key 789(integer) 1127.0.0.1:6379> s原创 2020-12-25 14:54:03 · 1078 阅读 · 0 评论 -
Linux:Redis的基本数据类型
字符串(SET,GET)string 是 redis 最基本的类型,一个 key 对应一个 value,string 类型的值最大能存储 512MB127.0.0.1:6379> SET ret "123" # 键为ret,对应的值为"123"。OK127.0.0.1:6379> GET ret"123"哈希(HMSET,HGET)Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象127.0.0.1:637原创 2020-12-22 18:10:26 · 170 阅读 · 0 评论 -
Linux:安装Redis
1.下载并安装下载地址:http://redis.io/download,下载最新版本(当前版本为6.0.5)$ wget http://download.redis.io/releases/redis-6.0.5.tar.gz$ tar xzf redis-6.0.5.tar.gz$ cd redis-6.0.5$ make2.make完后出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:下面启动red原创 2020-12-18 11:17:15 · 135 阅读 · 0 评论 -
Linux:安装Redis、安装过程可能出现的问题
安装通过wget方式直接在linux上下载Rediswget http://download.redis.io/releases/redis-2.6.17.tar.gz解压下载的redis-2.6.17.tar.gz 文件tar xzf redis-2.6.17.tar.gz进入解压后的文件夹cd redis-2.6.17编译安装make启动通过执行src文件夹下的redis-server,可以启动redis服务:$ src/redis-server通原创 2020-12-16 11:34:10 · 309 阅读 · 0 评论 -
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused的解决办法!亲测有用!
这个问题我真的头都大了,brew一直不行,装个ffmpeg都要了我的老命!找了超多资料,凎!!!后来发现换个国内镜像就成了【掀桌子!】(╯-_-)╯~ ╩╩一句命令就可以搞定了!国内的镜像地址:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"我选的是1号镜像!!!已经装好了!!!好了大家快冲冲冲!!!...原创 2020-11-23 15:21:35 · 688 阅读 · 0 评论 -
nginx:设置目录浏览
server { listen 17200; server_name localhost; //定位,把特殊的路径或者文件再次定位 location / { root /data; autoindex on; autoinde...原创 2020-09-10 11:17:05 · 278 阅读 · 0 评论 -
Ubuntu系统安装pip3
我们会以为安装pip3使用的命令是apt-get install pip3这样的话会报下方错误使用下面的这个命令就对了~apt-get install python3-pip原创 2020-08-06 18:58:31 · 412 阅读 · 0 评论 -
Debian下root用户bash高亮显示
只需要将ls等命令的–color选项打开即可, 而这些都已存在,只需将~/.bashrc中的注释恢复即可,如下vim ~/.bashrc修改成如下即可原创 2020-01-14 19:02:25 · 673 阅读 · 0 评论 -
Linux:编译文件时make install报错
正常编译文件四步骤:$ tar -zxvf filename //解压$ ./configure //去解压目录下执行$ make //编译所有$ make install //将编译好的文件进行安装在执行make install时遇到了下面的错误:刚开始还以为是安装包有问题。又下载几个安装包,结果执行时又遇到了同样错误,在一番折腾下突然发现make install是用来安...原创 2020-07-13 20:04:51 · 6928 阅读 · 0 评论 -
Linux:yum命令报错There are no enabled repos. Run “yum repolist all“ to see the repos you have.
这是因为不支持yum下载按装机制正确的命令是:sudo apt-get install opensslsudo apt-get install libssl-dev原创 2020-07-10 18:52:03 · 3253 阅读 · 2 评论 -
Linux:get和post的区别
HTTP定义了与服务器不同的交互方法,最常用的就是get和post。那么我们谈一谈他俩的区别吧~URL可见性get:参数URL可见post:参数URL不可见数据传输get:通过拼接URL进行传递参数post:通过正文进行传递参数传输大小get:一般传输数据不超过2k-4kpost:请求传输数据的大小根据php.ini 配置文件设定,也可以无限大GET产生一个TCP数据包,浏...原创 2019-05-24 10:33:20 · 521 阅读 · 0 评论 -
Linux(面试题):进程和线程的区别
进程和线程的区别博主最近面试的时候被好多公司的面试官都问到了这个问题~今天整理一下|ू・ω・` )答这个问题我觉得从下面几个点答就好啦~进程和线程的概念进程: 进程是操作系统资源分配的基本实体线程: 线程是CPU调度和分配的基本单位在Linux系统下是没有线程的概念的,它是用进程模拟的线程,因此把线程叫做轻量级进程。那为什么还要引入线程呢?1.更加易于调度2.提高并发性,因为可以...原创 2019-07-04 19:24:02 · 6911 阅读 · 6 评论 -
Linux:文件描述符,深度理解重定向(dup2)
文件描述符详解,深度理解重定向本质通过C语言我们知道,C语言中对文件操作的库函数有fopen,fclose,fread,fwrite,在进行文件IO操作时会默认打开三个输入输出流,分别是stdin、stdout、stderr,这三个流的类型都是FILE*,是一个文件指针。那么在系统调用层也有对应的接口对文件进行操作,open,close,read,write,我们称为系统调用接口。在操作系统...原创 2019-01-10 23:12:00 · 1110 阅读 · 0 评论 -
Linux:信号的产生、记录以及处理动作
信号以及信号的相关函数信号有哪些?Linux下一共有62个信号,0-34为普通信号(无32、33信号),35-64为实时信号。信号是怎么产生的?信号是由操作系统直接或间接产生的。信号的产生有四种情况:通过键盘产生比如我们不下心写了一个死循环,那么我们要终止这个死循环就会按Ctrl+c,那么Ctrl+c的本质其实就是向目标进程或是前台进程发送2号信号,键盘产生了信号,但是其实是操...原创 2019-01-17 16:58:43 · 343 阅读 · 0 评论 -
Linux:简单的vim配置文件(适合萌新使用~)
简单的vim配置文件~color evening//这个看自己喜好~,如果喜欢黑色的背景就加上这个,如果喜欢白色的就不要啦set nuset shortmess=atIsyntax onset nobackupset confirmset mouse=aset tabstop=4set shiftwidth=4set expandtabset smarttabset aut...原创 2019-04-08 16:35:54 · 243 阅读 · 0 评论 -
Linux:线程控制相关函数(POSIX线程库)
线程控制相关函数POSIX线程库(用户级库)线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的要使用这些函数库,要通过引入头文<pthread.h>链接这些线程函数库时要使用编译器命令的“-lpthread”选项1、创建线程函数使用功能:创建一个新的线程原型int pthread_create(pthread_t *threa...原创 2019-02-21 12:15:33 · 657 阅读 · 0 评论 -
Linux:进程控制(创建、终止、等待、替换)
进程控制(创建、终止、等待、替换)进程创建(fork)fork之后系统里多了一个进程,也就意味着多了一套PCB。fork(用于创建子进程)#include <unistd.h>pid_t fork(void);fork函数返回值:子进程返回0,父进程返回子进程pid,出错返回-1进程调用fork,当控制转移到内核中的fork代码后,内核做:分配新的内存块和内核数...原创 2019-11-20 18:00:38 · 198 阅读 · 0 评论 -
Linux:进程间通信之消息队列(IPC资源)
进程间通信----消息队列篇system V消息队列消息队列提供的服务就是一个进程向一个进程发送有类型数据块。消息队列提供了⼀个从⼀个进程向另外⼀个进程发送⼀块数据的⽅法每个数据块都被认为是有⼀个类型,接收者进程接收的数据块可以有不同的类型值消息队列也有管道⼀样的不⾜,就是每个消息的最⼤⻓度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也...原创 2019-01-16 14:15:58 · 181 阅读 · 0 评论 -
Linux:进程间通信之共享内存(IPC资源)
进程间通信----共享内存篇system V共享内存进程的运行具有独立性,每个进程都有独立的PCB、独立的地址空间、独立的页表,每个进程的页表将该进程的虚拟地址空间映射到了物理内存不同的数据区,因此进程之间是相互独立的,但是如果我们此时通过页表让两个进程的虚拟地址空间上的某一块区域通过自己的页表映射到物理内存的同一块内存区域上,那么两个进程就看到了同一块内存区域,那么A进程对这块内存的操作B进...原创 2019-01-15 16:25:05 · 554 阅读 · 0 评论 -
Linux:在Linux下如何下载并安装tree命令
在Linux下如何安装tree命令第一步----下载第二步----解压第三步----进入目录第四步----make第五步----放到bin目录下用su切换到root,执行下面的命令第六步可以使用了...原创 2019-01-12 15:04:44 · 16452 阅读 · 16 评论 -
Linux:Core Dump(核心转储)以及事后调试
Core Dump(核心转储)以及事后调试Core Dump(核心转储)是什么?事后调试怎么调试?原创 2019-01-23 16:53:26 · 1340 阅读 · 0 评论 -
Linux:怎么生成并使用动态库和静态库
动态库和静态库一般用库要有两个东西,一个是对应的库文件,一个是与库文件对应的头文件。静态库(.a):程序在编译链接的时候把库的代码连接到可执行文件中。程序运行的时候不在需要静态库。动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用。静态库用gcc -c生成目标文件使用ar -rc命令打包静态库,生成libmymath.a的静态库我们怎么使用这个静态库呢...原创 2019-01-13 08:54:02 · 623 阅读 · 0 评论 -
Linux:软连接和硬链接
软连接和硬链接软连接和硬链接都可以运行可执行程序。1.软连接软连接实际上是通过名字引用另外一个文件,软连接和目标文件有着不同的inode号,说明软连接是一个独立的文件。可以理解为软连接存放的是目标文件的路径,包括目标文件的名称。软连接我们可以想象成是windos系统下的快捷方式,可以快速访问目标文件。2.硬链接硬链接是通过inode引用另外一个文件,因此硬链接和目标文件具有相同的in...原创 2019-01-11 18:53:01 · 4116 阅读 · 0 评论 -
Linux:对比编辑器之间的区别和优缺点,除了gcc还有哪些常用的编译器,为什么调试的时候需要编译选项中添加 -g,调研readelf命令
除了vim, 还有哪些常用的牛逼的编辑器, 并横向对比编辑器之间的区别和优缺点首先先有一个概念IDE(集成开发环境),厉害的有vs等等。vim以及Emacs就向着这个方向发展。vim为了实现其强大功能。vim有了多模式编辑有(normal,insert,visual)而emacs则是选择了复杂的快捷键。一般来说vim用户居多,因为vim是内置的,所以更容易被接受。emacsemacs和v...原创 2019-01-06 18:07:49 · 918 阅读 · 6 评论 -
Linux:如何使用命令安装gcc/g++, gdb, vim
安装 gccyum install gcc安装g++yum install gcc-c++安装gdb<1>先切换到root权限。centos点help。<2>在终端下打开FireFox,复制 https://mirrors.aliyun.com/ 回车<3>再输入yum list | grep gdb安装vim输入命令 yum -y i原创 2018-11-01 21:16:09 · 258 阅读 · 0 评论