
Linux
以实战为线索,探索linux奥秘,深入linux内核
程序员阿广
一名程序猿,热爱技术,热爱分享
做一名匠人,匠人的世界没有“小事”,要时刻存一颗工匠般的心,去做事,去生活
展开
-
解决命令行乱码问题
今天安装完JDK后,使用命令行工具运行java显示如下乱码PS C:\Users\chenw> java Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8??: java [-options] class [args...] (???)原创 2020-10-24 21:21:52 · 482 阅读 · 0 评论 -
Redis 使用技巧
Redis 现在非常受欢迎,似乎已经成为内存数据存储行业的标准。本人结合平时使用Redis经验,也同时查找了一些网上别人的总结经验,总结以下几条Redis使用技巧。1. 停止使用 KEYS众所周知,key指令可以很方便的读取数据,但是随着redis中key数量的增多,当key数量越大,keys 命令执行越慢,关键是这会阻塞服务器,对单线程的redis来说,简直是就是灾难。用替代命令scan代替:for key in'keys *': doAllTheThings()但是当你有1300万个key原创 2020-10-24 21:17:22 · 267 阅读 · 0 评论 -
后端开发之libcurl库编译与安装
curl 是以URL语法来传输输出的一个命令行工具。libcurl 是对对其功能的封装,实现了命令行工具的所有功能。curl 支持HTTP、HTTPS、FTP、FTPS、DICT、TELNET、LDAP、FILE,和GOPHER协议。libcurl 使用C语言编写。本文介绍在Linux,Windows的下的编译方法。这其中会用到cmake,gcc,visual c++ 2017(windows 下msvc方式编译)。下载libcurl源码从GitHub或者Gitee都有镜像可以下载。 git原创 2020-08-30 22:56:26 · 509 阅读 · 0 评论 -
面试常碰到++p/p--问题到底结果是什么?
自古:靠山,山会崩;靠地,地会陷;靠人,人会走。 人一辈子,靠天,靠地,不如靠自己;求天,求地,不如求自己。原创 2020-08-21 15:15:43 · 491 阅读 · 0 评论 -
docker run 或者 docker restart 启动镜像就自动退出
执行命令:docker run --name centos8 -d centos /bin/bash,通过docker ps查看正在运行中容器,找不到centos8。通过docker ps -a查看发现,centos8容器已经处于停止状态了[root@MiWiFi-R4A-srv server]$ docker run --name centos8 -d centos /bin/basha770630ca865b3c3346a321a383f302ed22af9281be8482f4f4debc592原创 2020-08-20 10:47:50 · 1371 阅读 · 0 评论 -
Linux系统管理必备知识之利用ssh传输文件
在使用SSH时候,有时我们需要传输文件,这就需要用到命令scp。从服务器上下载文件scp username@servername:/path/filename /local_dir(本地目录)e.g. scp root@192.168.1.100:/var/www/test.txt /var/www/site把192.168.1.100上的/var/www/test.txt 的文件下载到/var/www/site(本地目录)上传本地文件到服务器scp /path/filename原创 2020-08-17 10:21:47 · 249 阅读 · 0 评论 -
Linux系统管理必备知识之查看系统用户和用户组
Linux日常工作中经常会用到查看系统用户和组的情况,本文将介绍一些常用的命令,以CentOS为例系统存放用户列表和用户组列表文件:(用户)/etc/passwd/ (组)/etc/group查看系统中有哪些用户:cut -d : -f 1 /etc/passwd查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1查看用户操作:w命令(要root)查看某一用户:w 用户名查看登录用户:who查看用户登录原创 2020-08-17 08:43:14 · 345 阅读 · 0 评论 -
linux系统管理必备知识之关机命令
关机命令以CentOS为例:关机命令haltpoweroff 立刻关机shutdown -h now 立刻关机shutdown -h 10 10分钟后自动关机shutdown -h 20:30 如果时间没有到20:30,今天的20:30分就会关机,如果今天已经过了20:30分,就会等到第二天的20:30分关机重启命令rebootshutdown -r now 立刻重启shutdown -r 10 过10分钟后自动重启shutdown -r 20:35 在20:35时候重启shutd原创 2020-08-16 23:19:53 · 179 阅读 · 0 评论 -
WSL 或者ubantu安装 apt-get install npm 失败解决方法
sudo apt-get remove nodejs npm sudo apt-get install curl curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs原创 2020-08-16 14:32:12 · 905 阅读 · 0 评论 -
派生类参数初始化列表和基类构造函数顺序
今天被问到了一个问题,随便回了一句,父类还没有构建,怎么能初始化父类的成员。派生类构造函数的参数初始化列表,为什么不能初始化基类的成员? 例如下面的是不可以的class Rectangle : public Shape { public: Rectangle () : id(1234), name("Rectangle") { // id: 父类Shape成员, name 子类Rectangle成员 } }; 本着严谨的负责态度,说出去的要保证是原创 2020-08-15 16:16:55 · 1731 阅读 · 1 评论 -
微服务架构必备的几点知识
微服务架构网关集群:数据的聚合、实现对接入客户端的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制等业务集群:一般情况下移动端访问和浏览器访问的网关需要隔离,防止业务耦合Local Cache:由于客户端访问业务可能需要调用多个服务聚合,所以本地缓存有效的降低了服务调用的频次,同时也提示了访问速度。本地缓存一般使用自动过期方式,业务场景中允许有一定的数据延时。服务层:原子服务层,实现基础的增删改查功能,如果需要依赖其他服务需要在Service层主动调用Remo.转载 2020-08-14 17:18:42 · 233 阅读 · 0 评论 -
docker源docker国内镜像源
Docker 拉取镜像的时候默认是国外的镜像源,下载非常慢甚至无法拉取成功。需要配置成国内的镜像源来加快下载的速度。以centos 8 为例,修改文件/etc/docker/daemon.json文件添加如下内容:{ "registry-mirrors" : [ "http://docker.mirrors.ustc.edu.cn", "http://registry.docker-cn.com", "http://hub-mirror.c.163.com"原创 2020-08-13 21:23:58 · 5444 阅读 · 0 评论 -
Redis常见面试问题汇总及解析
面试后端开发的职位,相信大家经常被问到有关redis问题。Redis作为缓存系统的代表很有必要弄熟搞懂,无论是在工作当中还是求职面试过程中都是大有裨益的,本文将详细介绍一些redis的一些典型问题,并给出了一些参考解答。 由于作者水平有限,可能会有存在一些问题,欢迎大家不吝批评指教。本文全文约2000字,阅读完大概需要5分钟时间。常见问题redis性能为什么高?单线程的redis如何利用多核cpu机器?redis的缓存淘汰策略?redis如何持久化数据?redis有哪几种数据结构?re原创 2020-08-12 21:45:07 · 582 阅读 · 2 评论 -
Redis集群管理方式
Redis的有三种集群方式:主从复制,哨兵模式和集群。主从复制从服务器连接主服务器,发送SYNC命令;主服务器接收到SYNC后执行BGSAVE命令生成RDB文件,并使用缓冲区记录此后执行的所有写命令;主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令;从服务器收到快照文件后丢弃所有旧数据,载入收到的快照;主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令;从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令;(从服务器初原创 2020-08-12 21:06:57 · 327 阅读 · 0 评论 -
CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题
centos安装docker.ce遇到报错,提示如下# yum install -y docker-ceLast metadata expiration check: 0:01:49 ago on Fri Aug 14 22:21:34 2020.Error: Problem: package docker-ce-3:19.03.12-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be原创 2020-08-12 17:04:01 · 7775 阅读 · 1 评论 -
/etc/profile ,/etc/bashrc ,~/.bash_profile,~/ .bashrc 区别与联系
/etc/profile 针对系统中的每个用户,首次登录时被一次执行;/etc/bashrc 每次运行bash shell的用户都执行此文件,当bash被打开时,该文件被读取;~/.bash_profile 专用于本用户的shell信息,仅被执行一次;~/.bashrc 本用户的bash信息,登录及每次打开shell时被读取。执行顺序/etc/profile -> ~/bash_profile -> ~/bashrc -> /etc/bashrc...原创 2020-08-04 23:07:55 · 170 阅读 · 0 评论 -
Visual Studio 中文显示乱码问题
今天在码云上Fork了一个开源工程,编译环境是Visual Studio C++, 由于自己本地平台主要是进行Linux开发,平时文档编码格式都是utf-8的,编译没问题,但运行起来就是乱码,就像下图一样。碰到这个问题,根据经验很确定就是文件编码问题,于是使用工具,将工程文件批量进行转码,由GB2312变换到utf-8。设置完成后标题栏中文正常显示了,但是里面输入文字,例如:AfxMessageBox(_T("加载Duilib属性文件失败!"));显示仍然是乱码,于是乎想到了翻阅MSDN, 终于查原创 2020-08-03 11:44:35 · 5400 阅读 · 1 评论 -
shell 批量转换文件编码
相信大家在平时的跨平台编程中碰到过文件编码问题,比如在Windows代码字符编码方式是GB2312,然而转到Linux却只支持utf-8,虽然对代码部分没啥影响,但是很多中文注释部分,却一片乱码,很让人讨厌。如果一个一个文件处理,转换再另存为,很麻烦,下面就介绍一种使用shell脚本来批量转换文件,其中使用到iconv工具。转换工具iconv首先让我们来认识一下iconv工具,iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。支持的编码方式有:Unicode相关编码,如UTF-8、U原创 2020-08-02 15:21:29 · 2006 阅读 · 0 评论 -
Android 的NDK的Makefile编写
Android.mk 是google根据Linux GNU Makefile精简编译脚本。具体来说:这就是GNU Makefile的一小部分。举一个简单例子:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:= helloworldLOCAL_SRC_FILES := hell原创 2013-05-29 17:42:34 · 922 阅读 · 0 评论