Fork me on GitHub
行锋

低头走路,抬头思考


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

CentOS修改Root密码

发表于 2018-12-19 | 分类于 Linux

scp简介

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。

scp作用说明

  1. 我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的
  2. 我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无法通过常规途径上传是,只需要通过scp命令便可以轻松的达到目的。

使用举例

1
2
3
4
5
6
7
8
9
#将本地文件拷贝到服务器上
scp -rp /path/filename username@remoteIP:/path
#将远程文件从服务器下载到本地
scp -rp username@remoteIP:/path/filename /path

#压缩传输
tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; cat -> path.tar.gz"
#压缩传输一个目录并解压
tar cvzf - /path/ | ssh username@remoteip "cd /some/path/; tar xvzf -"

脚本方式举例

1
2
3
4
5
6
#!/bin/bash  
ssh root@192.168.0.23 << remotessh
killall -9 java
cd /data/apache-tomcat-7.0.53/webapps/
exit
remotessh

远程执行的内容在“<< remotessh ” 至“ remotessh ”之间,在远程机器上的操作就位于其中,注意的点:<< remotessh,ssh后直到遇到remotessh这样的内容结束,remotessh可以随便修改成其他形式。在结束前,加exit退出远程节点

参数

  • -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误
  • -C 使能压缩选项
  • -4 强行使用 IPV4 地址
  • -6 强行使用 IPV6 地址

CentOS系统GRUB

发表于 2018-12-19 | 分类于 Linux

[toc]

简介

Grub(GRand Unified Bootloader)是统一资源引导器,也就是引导加载器;它的工作是提供一个菜单,允许用户选择要启动的系统或不同的内核版本;把用户选定的内核装载到RAM中的特定空间中,然后解压、展开,而后把系统控制权移交给内核

它目前有两个版本:

  1. GRUB 0.X:Grub Legacy
  2. GRUB 1.X:Grub2

Grub启动流程图

Grub Legacy概述

Grub Legacy是最经典的Grub程序。它分为三个部分stage1、stage1_5和stage2

  1. stage1

即写入mbr中存储的bootloader程序。它的任务就是将stage1_5(此时并不能算是磁盘分区/boot/grub/下的stage1_5,因为stage1无法识别文件系统)载入内存执行

  1. stage1_5

位于mbr之后的扇区,通过提供基本文件系统驱动让stage1中的bootloader程序能识别磁盘分区/boot/grub/上的stage2文件并载入内存执行

注意:此处若是boot分区的文件系统类型不属于stage1_5的中的一个,则会借助ramdisk来加载在/lib64/moudles/下额外的文件系统驱动。

  1. stage2

这个程序主要给用户提供一个比较友好的启动菜单,而后去加载位于同一个磁盘分区/boot/的内核文件(例如 vmlinuz-2.6.32-573.el6.x86_64)

Grub的配置文件和功用

配置文件:/boot/grub/grub.conf,保证grub和内核等在一个目录;此外它创建了一个链接文件/etc/grub.conf指向配置文件来保证用户使用配置文件一致性

配置项:

1
2
3
4
5
6
7
8
9
10
default=#:设定默认启动的菜单项:菜单项(title)编号从0开始
timeout=#:指定菜单项等待选项选择的时长;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;
hiddemenu:隐藏菜单
password [--md5] STRING:菜单编辑认证;
title TITLE:定义菜单项“标题”,可出现多次;
root(hd#,#):grub查找stage2及kernel文件所在设备分区:为grub的“根”
kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核
initrd /PATH/TO/INITRAMFS_FILE:内核匹配的ramfs文件
password [--md5] STRING:启动选定的内核或者操作系统进行认证;

示例:

/boot/grub/menu.lst 或者 /boot/grub/grub.conf CentOS下这两个文件是绑定的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# grub.conf generated by anaconda     
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd1,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sdb
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-274.3.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-274.3.1.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-274.3.1.el5.img
title CentOS (2.6.18-238.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-238.el5.img
title Other
rootnoverify (hd0,3)
chainloader +1

功用

1
2
3
4
5
6
7
8
1. 提供菜单、并提供交互式接口
* e:编辑模式,用于编辑菜单
* c:命令模式,交互式接口
2. 加载用户选择的内核或操作系统
* 允许传递参数给内核;可隐藏此菜单(通过grub.conf中的hiddenmenu)
3. 为菜单提供了保护机制
* 为编辑菜单进行认证(title上定义的password)
* 为启用内核或者操作系统进行认证(title下的password字段)

Grub的命令行接口和编辑功能

  1. 进入grub的命令行界面和编辑界面
  • 启动机器时,按ESC键可进入内核选择界面
  • 按c可进入命令行界面
  • 按e可进入编辑界面
  1. rub的命令行命令和编辑命令

grub的命令行命令

1
2
3
4
5
6
7
help:获取帮助信息
help KEYWORD:获取某一具体命令的帮助信息
find (hd#,#)/PATH/TO/SOMEFFILE:查找文件(内核文件等)
root (hd#,#):设定那个磁盘是根,执行后,fnd不需指磁盘了;
kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;
initrd /PATH/TO/OMOTRAMFS_FILE:设定为选定的initrd文件
boot:引导启动选定的内核;

grub的编辑命令

1
2
3
4
5
6
b:boot,启动
e:edit,编辑选中的项
o:在选中行的下一行新加一行
O:在选中行的上一行添加一行
d:删除选中行
ESC:可以退出编辑界面进入主界面

grub的安装

  1. grub-install

使用格式:grub-install --root-directory=/PATH/TO/rootDIR DEVICE
示例:grub-install --root-directory=/ /dev/sda3
2. grub命令(shell中输入)

grub> root (hd0,0)

grub> setup (hd0)

VI编辑器使用

发表于 2018-12-19 | 分类于 Linux

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,对Unix及Linux系统的任何版本,vi编辑器是完全相同的。

vi的基本概念

  1. 命令行模式command mode

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode;

  1. 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式

  1. 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)

vi的基本操作

  1. 进入vi的命令
1
2
3
4
5
6
vi filename:打开或新建文件,并将光标置于第一行首
vi +n filename:打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次编辑
  1. 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」

1
2
3
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
  1. 移动光标
1
2
3
4
5
6
7
8
9
10
11
12
13
按「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
按「ctrl」+「b」:屏幕往"后"移动一页
按「ctrl」+「f」:屏幕往"前"移动一页
按「ctrl」+「u」:屏幕往"后"移动半页
按「ctrl」+「d」:屏幕往"前"移动半页
按数字「0」:移到文章的开头
按「G」:移动到文章的最后
按「$」:移动到光标所在行的"行尾"
按「^」:移动到光标所在行的"行首"
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
  1. 删除文字
1
2
3
4
5
6
「x」:每按一次,删除光标所在位置的"后面"一个字符
「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行
  1. 复制
1
2
3
4
5
「yw」:将光标所在之处到字尾的字符复制到缓冲区中
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能
  1. 恢复上一次操作
1
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次恢复
  1. 跳至指定的行
1
2
「ctrl」+「g」列出光标所在行的行号
「#G」:例如,「15G」,表示移动光标至文章的第15行行首
  1. 列出行号
1
命令行模式:输入「set nu」后,会在文件中的每一行前面列出行号
  1. 跳到文件中的某一行
1
命令行模式:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行
  1. 查找字符
1
2
* 「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止;
* 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止

XShell使用

发表于 2018-12-19 | 分类于 Linux

简介

Xshell是一款服务器终端模拟软件,用户可以使用Xshell软件在Windows、Mac OS电脑上访问不同系统的服务器主机,让你可以方便对其进行控制管理。

创新的设计和优良的体验,让用户以最高效率对服务器进行管理

功能特色

  • 可以保存多个vps登陆信息,免去每次输入的烦恼
  • 设置命令快捷按钮
  • 通过代理登陆vps
  • 鼠标右键粘贴可将本地粘贴板内容复制到vps

Xshell 注册说明

  1. 公司名字随便填
  2. 注册码 690313-111999-999313

注意事项

安装完成之后键盘输入无反应,解决方法:

1
文件--属性--终端--编码 改成Unicode(UTF-8)

Shell脚本调试

发表于 2018-12-19 | 分类于 Linux

前言

shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路

与其它高级语言相比,shell解释器缺乏相应的调试机制和调试工具的支持,其输出的错误信息又往往很不明确

调试方法

通过echo方式

1
2
3
功能: 最简单的调试方法,可以在任何怀疑出错的地方用echo打印变量
场合: 所有怀疑可能有问题的地方
示例: echo $VAR

通过test的方式

返回值为0为真,1表假

1
test -f /test.sh | echo $?

使用调试工具-bashdb

使用shell调试器bashdb,这是一个类似于GDB的调试工具,可以完成对shell脚本的断点设置,单步执行,变量观察等许多功能

用法:bashdb -c script.sh 或者 bashdb script.sh

通过trap来调试

1
2
3
4
5
6
7
8
9
作用: 用于捕获指定的信号并执行预定义的命令
语法: trap `command` signal
说明: signal是要捕获的信号,command是捕获到指定的信号,所要执行的命令, 可以用kill -l命令看到系统中全部可用的信号名,捕获信号后所执行的命令,可以是一条或多条合法的Shell语句,也可以是一个函数名, Shell脚本执行时,会产生三个伪信号(之所以称为伪信息,因这是shell自己产生,而非操作系统产生),通过使用trap 捕获这三个伪信号并输出信息对调试大有帮助

Shell脚本执行时,会产生三个伪信号(之所以称为伪信息,因这是shell自己产生,而非操作系统产生),通过使用trap 捕获这三个伪信号并输出信息对调试大有帮助.SHELL三个伪信号:

* EXIT 从一个函数中退出或整个执行完毕
* ERR 当一个命令执行不成功,返回非0状态时
* DEBUG 脚本中每一条命令执行之前
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
errorTrap()
{
echo "[LINE:$1]Error: Command or function exited with status $?"
}
foo()
{
return 1;
}
trap 'errorTrap $LINENO' ERR
abc
foo
脚本输出:
[root@localhost:shell]# bash test.sh
test.sh: line 12: abc: command not found
[LINE:12]Error: Command or function exited with status 127
[LINE:9]Error: Command or function exited with status 1

在调试过程中,为了跟踪某些变量的值,我们常常需要在shell脚本的许多地方插入相同的echo语句来打印相关变量的值,这种做法显得烦琐而笨拙。而通过捕获DEBUG信号,我们只需要一条trap语句就可以完成对相关变量的全程跟踪。

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
trap 'echo “before execute line:$LINENO, a=$a,b=$b,c=$c”' DEBUG
a=1
if [ "$a" -eq 1 ]
then
b=2
else
b=1
fi
c=3
echo "end"

其执行输出结果如下:

1
2
3
4
5
6
before execute line:3, a=,b=,c=
before execute line:4, a=1,b=,c=
before execute line:6, a=1,b=,c=
before execute line:10, a=1,b=2,c=
before execute line:11, a=1,b=2,c=3
end

使用tee命令

在shell脚本中管道以及输入输出重定向使用得非常多,在管道的作用下,一些命令的执行结果直接成为了下一条命令的输入。如果我们发现由管道连接起来的一批命令的执行结果并非如预期的那样,就需要逐步检查各条命令的执行结果来判断问题出在哪儿,但因为使用了管道,这些中间结果并不会显示在屏幕上,给调试带来了困难,此时我们就可以借助于tee命令了

tee命令会从标准输入读取数据,将其内容输出到标准输出设备,同时又可将内容保存成文件

1
2
ipaddr=`/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1'
| tee temp.txt | cut -d : -f3 | awk '{print $1}'`

使用"调试钩子"

在C语言程序中,我们经常使用DEBUG宏来控制是否要输出调试信息,在shell脚本中我们同样可以使用这样的机制,这样的代码块通常称之为“调试钩子”或“调试块”.如下列代码所示:

1
2
3
if [ “$DEBUG” = “true” ]; then
echo “debugging” #此处可以输出调试信息
fi

通过选项方式

  • -n:选项只做语法检查,而不执行脚本 //sh -n script_name.sh
  • -x:启动调试 //sh -x script_name.sh

进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带。带加号表示该条语句是Shell执行的;不带加号表示该语句是Shell产生的输出;前面有“++”号的行是执行trap机制中指定的命令。"+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令

1
2
3
1).在命令行提供参数:$ sh -x script.sh
2).脚本开头提供参数:#!/bin/sh -x
3).在脚本中用set命令启用or禁用参数:其中set -x表启用,set +x表禁用
  • -c:该选项使Shell解析器从字符串而非文件中读取并执行命令,如:bash -c ‘x=1;y=2;let z=x+y;echo “z=$z”’
  • -v:区别于-x参数,该选项打印命令行的原始内容,-x参数打印出经过替换后命令行的内容,适用于仅想显示命令行的原始内容
  • Ctrl + Z:中断调试,观察结果,然后再按fg键继续调试即可
  • 调试代码块:-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块代码的
1
2
3
4
5
set -x
...
code block
...
set +x

shell内置的环境变量

  • $LINENO:代表shell脚本的当前行号,类似于C语言中的内置宏__LINE__
  • FUNCNAME:函数的名字,它是一个数组变量,其中包含了整个调用链上所有的函数的名字,故变量FUNCNAME:函数的名字,它是一个数组变量,其中包含了整个调用链上所有的函数的名字,故变量FUNCNAME:函数的名字,它是一个数组变量,其中包含了整个调用链上所有的函数的名字,故变量{FUNCNAME[0]}代表shell脚本当前正在执行的函数的名字,而变量FUNCNAME[1]则代表调用函数{FUNCNAME[1]}则代表调用函数FUNCNAME[1]则代表调用函数{FUNCNAME[0]}的函数的名字,余者可以依此类推
  • $PS4:

常见错误诊断

  • xxx.sh: cannot shift
1
这种错误一般是参数传递有误,比如没有给参数,或者参数个数少了。因为shell脚本使用shift来获取下一个参数,如果个数不对,shift命令就会失败
  • xxx.sh: ^M: not found
1
2
^M是Windows上的回车符\r在UNIX上的显示形式。这种情况多半是在Windows上编辑了shell脚本,然后拿到UNIX/Linux上执行。如下处理即可:
tr -d "\015" < oldfile.sh > newfile.sh //\r的ASCII码是\015

cat和EOF的使用+action用法

发表于 2018-12-19 | 分类于 Linux

简介

  • cat:用于显示文本文件内容,全部输出
  • EOF: “end of file”,表示文本结束符

EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“,再次返回到主调shell,可将其理解为分界符(delimiter)

当shell看到”<<“知道其后面输入的分界符,当shell再次看到分界符时,两个分界符中间的部分将作为标准输入,其使用形式如下:

1
2
3
4
5
交互式程序(命令)<<EOF
command1
command2
...
EOF //最后的”EOF“必须单独占一行,必须顶行写,前面不能用制表符或者空格

cat+EOF的使用

第一种形式和第二种形式没有什么本质的区别,第一种形式将内容直接输出到标准输出(屏幕),而第二种形式将标准输出进行重定向,将本应输出到屏幕的内容重定向到文件

  1. cat<<EOF
  2. cat<filename或者cat>>filename<<EOF

==说明==:关于“>”、“>>”、“<”、“<<”等的意思,请自行查看bash的介绍

EOF与-EOF的区别

如果结束分解符EOF前有制表符或者空格,则EOF不会被当做结束分界符,只会继续被当做stdin来输入。
而<<-就是为了解决这一问题:

如果重定向的操作符是<<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除


action “” /bin/true 的用法

action是个bash的函数.true命令啥都不做,只设置退出码为0

使用举例:==action “操作成功!” /bin/true==

1
2
3
4
5
6
7
8
9
10
11
12
# Run some action. Log its output.
action() {
local STRING rc

STRING=$1
echo -n "$STRING "
shift
"$@" && success $"$STRING" || failure $"$STRING"
rc=$?
echo
return $rc
}

linux 磁盘分区工具

发表于 2018-12-19 | 分类于 Linux

GParted是一款linux下的功能非常强大的分区工具,和windows下的‘分区魔术师’类似,操作和显示上也很相似。GParted可以方便的创建、删除分区,也可以调整分区的大小和移动分区的位置。GParted支持多种linux下常见的分区格式,包括ext2、ext4、fat、hfs、jfs、reiser4、reiserfs、xfs,甚至ntfs。另外官方还提供了 LiveCD 和 LiveUSB 版本的 GParted,方便在没有主系统的情况下对硬盘进行分区!
GParted可以用于创建、删除、移动分区,调整分区大小,检查、复制分区等操作。可以用于调整分区已安装新操作系统、备份特定分区到另一块硬盘等。   
GParted使用libparted来识别、调整分区表,并有各个文件系统工具来处理分区上的文件系统。这些文件系统工具并不是必须的,但要处理一中文件系统就必须先安装相应的工具。   
GParted使用C++写成,使用gtkmm提供GTK+界面。   
GParted项目还提供了一个包含GParted和全部文件系统工具的Live CD,也可以制作成Live USB或使用其他介质。这个Live CD系统基于Debian GNU/Linux。其它Linux Live CD版本也大多包含GParted,如Knoppix等。

运行环境:Win2003,WinXP,Win2000,Win9X软件大小:140.3 MB

下载地址:
http://centoscn.com/plus/download.php?open=2&id=139&uhash=b720444ddecfffb41999608b

使用Vundle管理配置Vim基本插件

发表于 2018-12-19 | 分类于 Linux

说明

官网:https://github.com/VundleVim/Vundle.vim

Vundle是基于Git仓库的插件管理软件。Vundle将插件的安装简化为类似yum软件安装的过程

其特色在于使用git来管理插件,更新方便,支持搜索,一键更新,从此只需要一个vimrc走天下

配置说明

  1. 在Github vim-scripts 用户下的repos,只需要写出repos名称
  2. 在Github其他用户下的repos, 需要写出”用户名/repos名”
  3. 不在Github上的插件,需要写出git全路径

具体步骤:

  1. 需要有git环境,CentOS7自带,可通过git命令查看
  2. 安装Vundle:git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  3. 修改.vimrc/vimrc文件,在CentOS7中是vimrc文件,修改前先备份.
  • 将以下内容放置到文件最开头,最小配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
set nocompatibl 
filetype off

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

call vundle#end()

filetype plugin indent on

在Plugin之后,添加自己想要安装的插件
4. 插件安装:

1
2
3
4
5
# 在vim中
:PluginInstall

# 在终端
vim +PluginInstall +qall

命令说明

1
2
3
4
5
6
7
:PluginList -列举出列表中(.vimrc中)配置的所有插件
:PluginInstall -安装列表中全部插件
:PluginInstall! -更新列表中全部插件
:PluginSearch foo -查找foo插件
:PluginSearch! foo -刷新foo插件缓存
:PluginClean -清除列表中没有的插件
:PluginClean! -清除列表中没有的插件

常用插件说明

  • rename.vim:在Vim中为文件重命名。
  • vim-coffee-script:在Vim中舒心 的编写、编译Coffeescript。
  • vim-mkdir:当你在Vim中新建文件的时候, 自动帮你创建不存在的目录。
  • vim-surround:快速的删除、修改和添加 括号、引号、XML标签等等。
  • matchit:用%去在两个对应的字符间跳转。
  • tComment:快速注释、反注释代码。
  • emmet-vim:Emmet的Vim版。
  • tabular:快速对齐。
  • snipmate.vim:快速的代码片段。
  • vim-easymotion:在文件中快速定位。
  • vim-instant-markdown:Vim中对
  • Markdown文档的实时预览。
  • NERDTree:一个用于浏览文件系统的树形资源管理外挂,它可以让你像使用Windows档案总管一样在VIM中浏览文件系统并且打开文件或目录
  • MiniBufExplorer:提供多文件同时编辑功能,并在编辑器上方显示文件的标签
  • 一款状态栏增强插件,可以让你的Vim状态栏非常的美观,同时包括了buffer显示条扩展smart tab line以及集成了一些插件

网络上配置收藏

  1. https://github.com/deepzz0/dotfiles/blob/master/.vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
if &compatible
set nocompatible
end

filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" Let Vundle manage Vundle
Bundle 'gmarik/vundle'

" Define bundles via Github repos
Bundle 'christoomey/vim-run-interactive'
Bundle 'croaky/vim-colors-github'
Bundle 'danro/rename.vim'
Bundle 'kchmck/vim-coffee-script'
Bundle 'kien/ctrlp.vim'
Bundle 'pbrisbin/vim-mkdir'
Bundle 'scrooloose/syntastic'
Bundle 'slim-template/vim-slim'
Bundle 'thoughtbot/vim-rspec'
Bundle 'tpope/vim-bundler'
Bundle 'tpope/vim-endwise'
Bundle 'tpope/vim-fugitive'
Bundle 'tpope/vim-rails'
Bundle 'tpope/vim-surround'
Bundle 'vim-ruby/vim-ruby'
Bundle 'vim-scripts/ctags.vim'
Bundle 'vim-scripts/matchit.zip'
Bundle 'vim-scripts/tComment'
Bundle "mattn/emmet-vim"
Bundle "scrooloose/nerdtree"
Bundle "Lokaltog/vim-powerline"
Bundle "godlygeek/tabular"
Bundle "msanders/snipmate.vim"
Bundle "jelera/vim-javascript-syntax"
Bundle "altercation/vim-colors-solarized"
Bundle "othree/html5.vim"
Bundle "xsbeats/vim-blade"
Bundle "Raimondi/delimitMate"
Bundle "groenewege/vim-less"
Bundle "evanmiller/nginx-vim-syntax"
Bundle "Lokaltog/vim-easymotion"
Bundle "tomasr/molokai"

if filereadable(expand("~/.vimrc.bundles.local"))
source ~/.vimrc.bundles.local
endif

filetype on

CentOS修改Root密码

发表于 2018-12-19 | 分类于 Linux
  1. 进入单用户模式
    开机按ESC,选择内核后按e,后选择Kernerl再按e,在“<rhgb quiet”后输入空格1或s或S或Single回车,按b键重启进入命令行模式
  2. 修改密码:passwd root
  3. 重启:init 5

mac系统神器:Homebrew

发表于 2018-12-19 | 分类于 工具

Homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

可以类比Homebrew的功能类似于前端技术的npm,RetHat系列的yum,Ubuntu系统的apt-get

安装

参考官网,使用非常简单: https://brew.sh/index_zh-cn,完成安装
安装完之后可更新源: brew update/brew upgrade

Homebrew使用

  • 确认brew在正常工作:brew doctor
  • 搜索软件:brew search 软件名,如brew search wget
  • 安装软件:brew install 软件名,如brew install wget
  • 卸载软件:brew remove 软件名,如brew remove wget
  • 查询安装的软件:brew list
  • 查询安装的软件信息(安装目录、配置等):brew list 软件名,如brew list redis

通过brew安装的软件都在/usr/local/Cellar目录下

在macOS系统上,git、node都推荐通过Homebrew安装

https://www.cnblogs.com/admln/p/5819100.html

1…567…50
行锋

行锋

496 日志
15 分类
74 标签
GitHub E-Mail
自古写字楼如青楼,不许楼里见白头
© 2015 — 2019 行锋
博客全站共229.9k字