linux服务器

配置 linux + vim + vala 开发环境

隐身守侯 提交于 2020-03-07 17:04:33
配置 linux + vim + vala 开发环境 环境 linux vim8 你需要先了解的知识 Language Server Protocol - 语言服务器协议,简称 lsp 简单的说,就是原来只有 IDE 才支持的 自动补全、查找、格式化等功能,现在被抽离出来,拆分成语言服务器的和客户端, 中间通过协议进行通讯。只要我们的 IDE 或文本编辑器支持 lsp 客户端,那么就能使用这些功能了。即然是 cs 架构, 那我们要做的事情就很清楚了:配置 lsp 客户端、构建语言服务器、调用语言服务器 vim-plug - vim 插件管理器 vim 的插件管理器。网上很多博客,这里就不再赘述了。 meson - 新的构建系统 功能和 cmake 差不多,但是构建速度更快,语法也更加规范。 git - 非常流行的版本控制系统 一、配置 lsp 客户端 这里我们用至 vim-lsp 插件, 其实还有其它插件可供选择,但是这个插件使用起来比较简单 " lsp 及相关插件 Plug 'prabirshrestha/async.vim' Plug 'prabirshrestha/vim-lsp' Plug 'thomasfaingnaert/vim-lsp-snippets' Plug 'thomasfaingnaert/vim-lsp-ultisnips' " 自动补全插件 Plug

Linux内存点滴 用户进程内存空间

做~自己de王妃 提交于 2020-03-07 14:14:12
http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770 经常使用 top 命令了解进程信息,其中包括内存方面的信息。命令 top 帮助文档是这么解释各个字段的。 VIRT , Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem size (kb) %MEM, Memory usage(kb) SWAP, Swapped size (kb) CODE, Code size (kb) DATA, Data+Stack size (kb) nFLT, Page Fault count nDRT, Dirty Pages count 尽管有注释,但依然感觉有些晦涩,不知所指何意? 进程内存空间 正在运行的程序,叫进程。每个进程都有完全属于自己的,独立的,不被干扰的内存空间。此空间,被分成几个段 (Segment), 分别是 Text, Data, BSS, Heap, Stack 。用户进程内存空间,也是系统内核分配给该进程的 VM( 虚拟内存 ) ,但并不表示这个进程占用了这么多的 RAM( 物理内存 ) 。这个空间有多大?命令 top 输出的 VIRT 值告诉了我们各个进程内存空间的大小(进程内存空间随着程序的执行会增大或者缩小)。你还可以通过

使用hyper-v、CentOS学习Linux基本概念和命令

▼魔方 西西 提交于 2020-03-07 14:13:47
1 虚拟机安装Linux操作系统 使用win10自带hyper-v;安装操作系统为CentOS; 安装过程出现 虚拟机 the image's hash and certificate are not allowed 的解决方法; 问题:the image's hash and certificate are not allowed。 解决:关闭Hyper_V中此虚拟机的的安全启动选项。 2 Linux基本概念和命令1 shell 当用户使用系统,其实在和Shell在打交道。 当用户发出指令,其实先将这些指令发送给Shell,然后由Shell将用户的指令翻译后传送给内核,再由内核来控制硬件的工作。然后内核将硬件的工作情况发送个Shell,最后有Shell返回硬件的工作信息和情况。 Shell,就是一个工作环境,就像Windows系统一样,如果没有这个系统,那么Office软件、Photoshop软件,将无法工作。我们使用电脑的过程就是在和Shell打交道,是一个用户界面。 Linux的登陆信息含义和内核版本号 第一行显示的是Linux发行商和所发布的版本; 第二行显示的是该版本的Linux所使用的Linux内核; 例如内核版本是2.6.18;其中的2是主版本号,6是次要版本号,如果这个为偶数的话,就是一个稳定版本。最后的18为修订次数。 次要版本号如果为奇数

Linux vi/vim and linux yum 命令

删除回忆录丶 提交于 2020-03-07 09:23:20
Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 什么是 vim? Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。 连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。 vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。 这三种模式的作用分别是: 一般模式: 以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。 在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。 编辑模式: 在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。 注意了

JavaWeb开发环境准备之Linux篇

谁说我不能喝 提交于 2020-03-07 08:43:00
01 Linux环境准备 (本文在win10上使用 VMware12 + Ubuntu14.04) 1、JDK安装及相关配置 参考: http://blog.csdn.net/sxdtzhaoxinguo/article/details/43731677# a) 网上下载一个jdk,例如jdk-7u45-linux-x64.tar.gz;保存到downloads目录 b) (如果存在) 先卸载open-jdk java -version rpm -qa | grep java 查找所有安装过的包含字符串java的软件包并卸载 rpm -e --nodeps 搜索出的文件名 c) 安装 创建文件夹: hemi@ubuntu:~$ sudo mkdir /usr/local/web hemi@ubuntu:~$ sudo mkdir /usr/local/web/jdk   将下载好的jdk文件复制到创建的文件夹中: hemi@ubuntu:~/Downloads$ sudo cp jdk-7u67-linux-i586.tar.gz /usr/local/web/jdk 使用【sudo tar -zxvf 文件名】命令解压,例如我要安装在/usr/local/web/jdk目录下,则进入该目录 hemi@ubuntu:~$ sudo tar -zxvf jdk-7u67-linux

vsftp日志xferlog格式分析

白昼怎懂夜的黑 提交于 2020-03-07 06:25:23
vsftp日志xferlog格式分析 [日期:2014-06-25] 来源:Linux社区 作者:Linux [字体: 大 中 小 ] 1、开始vsftp记录日志。修改/etc/vsftpd/vsftpd.conf 如下: xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog 2、/var/log/xferlog 实例: Sun Feb 23 21:14:36 2014 4 212.73.193.130 915950 /LilleOL_IconSport4/win_230214_51_19.jpg b _ i r sipafranch ftp 0 * c Sun Feb 23 21:14:46 2014 5 212.73.193.130 1018969 /LilleOL_IconSport4/win_230214_51_18.jpg b _ i r sipafranch ftp 0 * c Sun Feb 23 22:07:44 2014 1 212.73.193.130 189 /Lille_IconSP/message_46263.txt b _ i r sipafranch ftp 0 * c Sun Feb 23 22:07:49 2014 4 212.73.193.130

[Linux] expect用法举例

冷暖自知 提交于 2020-03-07 05:07:30
expect有助于自动化脚本中的交互过程的自动输入,例如远程登录需要输入确认信息、密码,安装脚本需要输入确认信息、用户名、密码、选择配置选项等等。 expect内部命令中的expect可以匹配一个给定的字符串,匹配上了可以再使用send命令返回一个字符串。 [例1] 使用"-c"选项,从命令行执行expect脚本 [root@xxx test]# expect -c 'expect "\n" {send "pressed enter\n"}' pressed enter [root@xxx test]# [root@xxx test]# expect -c 'expect "hi" {send "You said hi\n"}' hi You said hi [root@xxx test]# expect -c 'expect "hi" {send "You said hi\n"}' high You said hi [root@xxx test]# 再看一个ssh登录的例子, [例2-1] ssh登录主机,test.exp内容如下(主机名和密码写在脚本中,执行完成后退出) #!/usr/bin/expect set ipaddr "localhost" set passwd "iampasswd" spawn ssh root@$ipaddr expect { "yes/no"

muduo网络库的学习

寵の児 提交于 2020-03-07 03:10:36
muduo是由陈硕开发的一个Linux多线程网络库,采用了很多新的Linux特性,项目代码量不到5000行,性能也不错。 是难得的一个既能用来学习,也可以在实际生产环境中使用的网络库。地址 https://github.com/chenshuo/muduo 相关介绍可以见 https://www.cnblogs.com/CodeComposer/p/4719783.html 由于此网络库只支持Linux,不支持windows,导致使用起来有点麻烦。 1.建议下载 windows移植版进行学习,地址: https://github.com/kevin-gjm/muduo-win ,用vs跑起来,加上断点真正跑一跑,就很容易明白这里面几个类的相互关系。仅仅看源码对于初学者还是有点困难。 2.先搞几个小例子跑一跑,再试试增加点feature,比如服务器监听多个端口,实现SSL等等,在这些实践中能够更好地加深对此的理解 。 3.作者本人出的书《linux多线程服务端编程》可以说是介绍这个库的很好的资料。 来源: CSDN 作者: 阿龙哥哥 链接: https://blog.csdn.net/v6543210/article/details/104698172

Linux网络编程视频 百度网盘

為{幸葍}努か 提交于 2020-03-06 23:36:13
Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP基础篇 01TCPIP基础(一) ISO/OSI参考模型 TCP/IP四层模型 基本概念(对等通信、封装、分用、端口) 02TCPIP基础(二) 最大传输单元(MTU)/路径MTU 以太网帧格式 ICMP ARP RARP 03TCPIP基础(三) IP数据报格式 网际校验和 路由 04TCPIP基础(四) TCP特点 TCP报文格式 连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络字节序 字节序转换函数 地址转换函数 套接字类型 07socket编程(二) TCP客户/服务器模型 回射客户/服务器 socket、bind、listen、accept、connect 08socket编程(三) SO_REUSE AD DR 处理多客户连接(process-per-conection) 点对点聊天程序实现 09socket编程(四)

实验一 Linux系统与应用准备

孤街浪徒 提交于 2020-03-06 20:33:40
实验一 Linux 系统与应用准备 项目 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 实验一 Linux 系统与应用准备 学号 - 姓名 17041418- 刘博林 作业学习目标 1、学习博客园软件开发者学习社区使用技巧和经验。2、学习Markdown的一些编辑文档方法在博客园写博客。 + 实验要求一:通过观看视频及其他学习方式,学习 Linux系统相关介绍,假如你以后从事Linux相关工作,你打算向哪个方向发展,并给出自己的理由。 通过对 Linux的初步学习。我了解了Linux主要有三个发展方向,分为运维、应用开发和底层开发。通过进一步了解了这三个方向的内容。我觉得我应该会在运维这一方向进行发展。 运维工程师主要负责服务器的维护,从而给开发人员提供一个可靠的服务器运作环境和技术支持,我认为这是一个很重要而且不可缺少的岗位。而且,随着中国互联网的高速发展,网站规模越来越大,架构越来越复杂。对专职 Linux运维工程师的需求越来越迫切。所以个人发展前景也特别不错。 当然,要做好一个运维工程师要学习的知识也很多。运维工程师需要懂很多的命令,然后就是上面提到的开发环境的搭建,各种服务的配置,以及日常的维护之类,都需要会。很多的操作其实通过脚本就能很方便完成,所以运维工程师很多还需要懂 Shell 及 Python。所以我认为要做到一个成功的运维工程师