在学习Linux命令的时候,我们会发现每一个命令都有很多的参数,如果说要把素有的参数都牢牢记住,可能有些强人所难,所以我们需要学习 man 。俗话说的好,授人以鱼不如授人以渔,学会了man就相当于学会了钓鱼的方法

1.man

man的全称其实是manual这个单词,是手册的缩写。所以这个命令就是用来查阅自己不熟悉的命令,文件,接口,库等都是什么。

使用方法:

man passwd                ##查看passwd命令的帮助


man的级别

1        系统命令

2        系统接口

3        函数库

4        特殊文件,比如设备文件

5        文件

6        游戏

7        系统的软件包

8        系统管理命令

9        内核

使用方法:

man 5 passwd                ##查看/etc/passwd文件的帮助(我们可以自己试验一下,看看和man                               passwd有什么区别)

man页面的快捷方式

上下键                      ##向上或向下一行

Pgup|Pgdn                   ##向上一个屏幕或向下一个屏幕

d|u                         ##向下或者向上半个屏幕

G|gg                        ##跳转到最下面或最上面

/关键字                     ##搜索关键字,关键字会高亮显示,n向下匹配,N向上匹配

q                           ##退出帮助页面


如果我们是开发人员,一定不会让用户看到所有的运行结果,用户能看到的应该只是友好的用户界面。所以,我们接下来就要学习 输入输出的管理

2.管理输入输出

在系统中用普通用户执行


find /etc -name passwd


因为student用户权限问题会有以下输出

find: ‘/etc/pki/CA/private’: Permission denied    ##没有进入权力,报错

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

/etc/passwd                                         ##正确输出

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/selinux/targeted/modules/active’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/grub.d’: Permission denied

/etc/pam.d/passwd                                     ##正确输出

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/named’: Permission denied


如果我们只想让用户看到正确的输出,屏蔽掉错误输出,那我们就需要让错误输出在其他地方去显示,不管是垃圾箱也好,自己定义的file文件也好,总之不要让它显示出来就好,所以,我们需要让它重定向。

find /etc -name passwd > file                ##重定向正确的输出

find /etc -name passwd 2> file               ##重定向错误的输出

find /etc -name passwd &> file               ##重定向所有的输出


注意:>,2>,&>都会覆盖原文件内容,所以,如果我们想要清空一个文件,也可以是使用如下命令

 >file                                        ##清空file

但是有时候我们并不希望覆盖源文件,我们希望它能追加在源文件的下面,当然也可以

find /etc -name passwd >> file                ##追加正确输出

find /etc -name passwd 2>> file               ##追加错误输出

find /etc -name passwd &>> file               ##追加所有输出

这样,使用>>就不会覆盖原文件内容啦!


 | 管道,管道的作用是将前一条命令的输出作为管道后一条命令的输入


ls /bin | wc -l                               ##统计ls /bin 命令输出 的行数

但是错误的输出是无法通过管道的,即系统中被标识为2的输出是无法通过管道的,如果想让他通过管道,我们就要把它的标识变成 1

使用 2>&1 可以把错误的输出编号由2变成1


tee        复制输出到指定位置(注意,是复制,上面所讲相当于剪切)

date |tee file |wc -l                         ##tee命令复制date命令的输出到file中,并统计输出行数



在上一章我们曾粗浅的学习了vim编辑文件的相关知识,现在就让我们更具体的了解一下这个强大的编辑器

3.vim


在vim的命令模式下可以配置vim的工作方式(所谓命令模式,就是当你打开vim时不能编辑的那个模式)

:set nu                        ##添加行号

:set nonu                      ##取消行号

:set mouse=a                   ##添加鼠标选择(默认情况下,vim中是无法使用鼠标的)

:set cursorline                ##显示行线

*以上设定都是临时的

永久设定方式:

vim /etc/vimrc                 ##此文件是vim的配置文件,在此文件最后加入以上参数


vim 命令模式下关键字搜索:

/ 关键字

n向下匹配

N向上匹配


vim命令模式下字符的管理

1.字符的复制

yl                              ##复制一个字母

y3l                             ##复制三个字母

yw                              ##复制一个单词

y3w                             ##复制三个单词

yy                              ##复制一行

y3y                             ##复制三行

p                               ##复制完成后按"p"粘贴(不用退出命令模式)


2.字符的删除

dl                              ##删除一个字母

d3l                             ##删除3个字母

dw                              ##删除一个单词

d3w                             ##删除3个单词

dd                              ##删除一行

d3d                             ##删除3行


3.字符的剪切

cl                              ##剪切一个字母

c3l                             ##剪切3个字母

cw                              ##剪切一个单词

c3w                             ##剪切3个单词

cc                              ##剪切一行

c3c                             ##剪切3行

esc ----->p                     ##剪切后会进入插入模式,在粘贴时一定要退出插入模式,在命令模式下粘贴


vim的可视化模式

在命令模式下按 ctrl+v 进入可视化模式

在可视化模式下可以区域选择字符


可视化模式下批量添加字符:

ctrl + v 选中要加入字符的所在列

按 I 进入插入模式,输入要插入的字符(注意,这里是大写I)

按esc即可整列插入


命令模式下批量修改字符

:%s/原有字符/替换后的字符                      ##只替换每一行中出现的第一个原有字符

:%s/原有字符/替换后的字符/g                    ##替换所有

:%s/\t//g                                      ##把全文的tab键替去掉,\t表示tab键

:%s/^\ *//g                                    ##把全文行首的空格去掉,"^\ *"表示行首的空格

:%s/^\#\ */#/g                                 ##把全文#后的空格去掉


vim的分屏功能

ctrl+w  s                                       ##上下分屏

ctrl+w  v                                       ##左右分屏

ctrl+w  c                                       ##关闭光标所在屏幕

ctrl+w  上下左右                                ##光标移动到指定屏幕



vim光标的快速移动


在命令模式下:

:数字                             ##移动到指定的行

G                                 ##文件最后一行

gg                                ##文件第一行


i                                 ##光标所在位置进入插入模式

I                                 ##光标所在行行首进入插入模式

a                                 ##光标所在字符的下一个字符进入插入模式

A                                 ##光标所在行行尾进入插入模式

o                                 ##光标所在行下一行进入插入模式

O                                 ##光标所在行上一行进入插入模式

s                                 ##删除光标所在字符并进入插入模式

S                                 ##删除光标所在行并进入插入模式


vim的退出

:q                                ##当用vim打开文件但没有对字符作任何操作时可直接退出

:q!                               ##当用vim打开文件并对字符作操作,放弃所有操作退出

:wq                               ##保存退出

:wq!                              ##强行保存退出,对超级用户及文件所有人生效


vim手册

vimtutor                          ##vim的手册

:q                                ##退出vimtutor


gedit相关快捷键

ctrl+n                             ##在gedit中打开一个新的tab

ctrl+s                             ##保存文件

ctrl+o                             ##打开文件

ctrl+x                             ##剪切字符

ctrl+v                             ##粘贴字符

ctrl+c                             ##复制字符

yelp help:gedit                    ##gedit的图形手册