Linux基础命令
Linux基础命令背景最近在补Linux相关基础,看的书是《Linux命令行与Shell脚本大全》,内容只记录了自己不熟的地方,算是对以前知识的回顾。
内容命令行操作在命令行上操作,时常会因为输入错误而需要重新输入,此时如果删除重新来则会很不方便,可以通过以下方式:
12# 直接重新开启一行输入行Ctrl + C
在命令的使用过程中,最常用的莫过于man和--help了,然而有时其输出内容之多,一屏幕显示不下,则此时可以:
12345678# 向上滚动Shift + PageUP# 向下滚动Shift + PageDOWN# 向下翻页空格键
有时命令行的输入内容很长,在输入的过程中发现一开始输错了,此时可以:
12345# 快速移动到行首Ctrl + A# 修改完以后,移动到行尾Ctrl + E
有时候,需要退出时常用的是Exit,除此之外,也有快捷键
1Ctrl + D
基本bash常见的Bash命令,首推ls:
1234567891011# 最常用ls# -R:遍历打印指定路径下的所有文件ls -R [路径/文件]# -F: 将文件、文件夹(加/)、可执行文件(加*)友好展 ...
Vim实用技巧3
Vim实用技巧3背景今天偶然看到本书中一个灰常牛皮的技巧,光看其名称就能知晓该玩意儿异乎寻常:宏。宏乃vim自动化的巅峰之作,能够将原本重复机械的操作录制下来,作用于其他符合条件的地方。除此之外,今天对查找命令/和替换命令:s/{string}/{string}/{option}做一些记录
内容宏命令宏命令让我们可以拥有属于自己的自动化员工。
123456789101112131415# 录制宏命令的标志是q, 后面跟随的是对应的寄存器q{register}# 停止录制q# 如:qa --> 录制宏并保存进a寄存器中# 调用指定寄存器中的宏@{register}# 如:@a --> 调用a寄存器中的宏命令# 调用最近一次执行的宏命令@@
当我们需要这个员工反复工作100的时候。
1234# 执行指定数目的任务[num]@{register}# 如:100@a --> 执行100次a寄存器中的宏
又或是我们需要这个员工在指定的范围内才工作,这是就 ...
Vim实用技巧-2
Vim实用技巧-2背景继昨天vim实用技巧-1以后,今天看的还是vim模式下光标的移动、选择、内容的快捷修改,毕竟在vim中,快速定位和编辑修改是其操作的核心。
内容光标移动vim中,将行分为实际行和屏幕行两种,hjkl操作的是实际行,这对于实际使用中操作屏幕换行存在问题,为此vim也提供了操作屏幕行的方式
123456# 操作屏幕行的以g开头gk --> 屏幕行的上一行gj --> 屏幕行的下一行g0 --> 屏幕行的行首g$ --> 屏幕行的行尾g^ --> 屏幕行的第一个非空字符
在基础篇中,我们常用的是w,b,e这样操作单词的跳跃方式,抑或是W、B、E这样操作字符串的跳跃方式,你会发现其本身同样,对于e而言也有会跳的方案
12ge --> 回跳到上一个单词的末尾gE --> 回跳到上一个字符串的末尾
同样,在同一行中,vim还提供了另一种跳转的方式,它更加的灵活:f/F、t/T
1234567# 直接跳转到单个字符的位置,直达f{char} --> 向后跳转到查询的字符处F{char& ...
Vim实用技巧-1
Vim实用技巧-1背景时光荏苒,转眼又回到了Vim的世界里,我决心将此前《Vim实用技巧》一书看完,以慰寡淡之生活,读本书之开始,是基于此前所定计划「深度Vim工作者」,尽管Python的学习步履维艰,但还是知道没得办法,迟早又要回头,既然实在不想看,那么就值此反感之间隙,摸一摸别的。
内容vim中显示行号12345678# 在文件中执行命令:set number# 或者执行命令:set nu# 或者修改home下的配置文件.vimrc,追加内容set nu
撤销修改1Ctrl + r
修改大小写vim中当一个操作符命令被连续调用两次时,它会作用于当前行,但是有一个除外,即gU。
1234567gU: 将指定区域全部转换为大写gu:将指定区域全部转换为小写g~:将指定区域的大小写进行转换如:gUaw:表示将当前光标的单词全部转化为大写gUU:表示将当前光标所在行单词全部转换为大写
你也会发现,上述的操作并没有作用到最小单元:字母。
12# vim使用~可以将当前光标所在的字符转为其对应的大/小写~
屏幕绘制除了寻常的H、M、L切换光标在窗口的位置方式外,还可以重回当前窗口的内容 ...
文本流常见命令
文本流常见命令背景昨天看Nginx时,看博文中有一些很有意思的文本操作的linux命令自己不曾了解,现下单独分类记述
知识点常见123456789# 查看所有的内容cat [文件名称]# 查看文本文件的前十行head [文件名称]# 查看文本内容,支持翻页less [文件名称]more [文件名称]
tail命令:动态显示12# tail命令可以动态的在命令行窗口刷新文本的内容部分tail -f [文件名称]
egrep:内容检索命令格式1234567# egrep = grep -eegrep [option] [正则表达式] [文件名]# option常用的参数有以下几种:-v:匹配的内容取反-o:只展示匹配上的内容,不展示匹配内容所在行的所有信息-i:忽略大小写的匹配
egrep的正则元字符:
字符匹配
字符
匹配内容
说明
.
匹配任意字符
[内容]
匹配范围内的任意字符
如:[1-9]
[^内容]
匹配范围外的任意字符
如:[ ^a-z]
次数匹配
字符
匹配内容
说明
*
匹配任意次
?
匹配0到1次
+
匹配至少一 ...
服务器禁止ping
服务器禁止ping背景最近搭建几个站点,为了安全,需要设置服务器禁止ping,以提高服务器的安全性。ping使用的是ICMP协议,当我们禁止ping以后,服务器就不会对用户的ping做出任何回应
Linux默认允许ping响应,系统是否能够被ping取决两个要素:内核参数(不懂)和防火墙,二者缺一不可
配置方法
方法1:通过修改配置文件【icmp_echo_ignore_all】(root权限),配置完毕后,别人无法ping本服务器,本服务器也无法ping别的机器(系统提示不允许改)
1234567# 该文件默认只读,设置完毕后重启机器sudo chmod 600 /proc/sys/net/ipv4/icmp_echo_ignore_allsudo vim /proc/sys/net/ipv4/icmp_echo_ignore_all# 将其中的默认值1改为0# 1:表示不允许ping# 0:表示允许ping
方法2:通过命令修改方法1的文件,实现结果都是一样的(系统提示不允许改)
12# 运行该命令需要root权限,设置完毕后重启机器sudo echo 1 > /proc/ ...
帮助命令
常见帮助命令1234# 内容简要command --help# 内容详实man command
备注1234567# 针对man命令,查看时有如下几个操作空格键:查看手册的下一页Enter键:一次滚动手册的一行b:回滚一屏f:前滚一屏q:退出/word:搜索word单词
设置Ubuntu的启动方式123456# 设置默认命令行启动sudo systemctl set-default multi-user.targetreboot# 设置默认图形界面启动sudo systemctl set-default graphical.targetreboot
vim使用教程
Vim知识点vim [文件名] +[行数]:打开文件并且快速定位到指定行
行内移动
命令
含义
w
向后移动一个单词
b
向前移动一个单词
0
跳转到行首
^
跳转到第一个非空白字符位置
$
跳转至行尾
%
括号匹配及切换
行数移动
命令
含义
gg
跳转至文本顶端
G
跳转至文本最后
行数 + G
跳转至指定的行数位置
屏幕移动
命令
含义
Ctrl + b
向上翻页
Ctrl + f
向下翻页
H
屏幕顶端
M
屏幕中间
L
屏幕底端
段落移动
命令
含义
{
上一个段落
}
下一个段落
标记123# 标记名称可以是a-z、A-Z之间的任何一个字母# 添加标记的行被删除,则标记同时被删除# 如果在其它位置使用了相同的标记名称,则之前添加的标记会被替换掉
命令
含义
m + [标记字母]
添加标记
‘ + [先前标记的字母]
直接定位到之前标记的位置
文本选择1# 选择模式可以和之前的所有的移动命令联合使用
命令
含义
v
从光标模式开始正常模式 ...