运维初学之获取帮助;vim,cal,head和tail命令

一·对linux的认识

1.什么是linux 
	linux整个基于Linux内核,是linux的内核+GNU组织的软件 GNU/linux的操作系统 	
2.什么是shell 
	shell是一个解释器,是保护系统内核不被篡改的软件,我们所使用的系统中默认启动的shell是bash 

注: bash是一个为GNU计划编写的Unix shell,它是Bourne-Again SHell的缩写 

3.怎样在shell中执行命令
	命令必须在行提示符之后输入,如果行提示符被占用,那么,ctrl+c可以结束占用当前行提示符的程序从而释放行提示符

4.在shell中输入命令的格式:命令+空格+参数+空格+对象 
	命令就是程序,参数就是程序指定的某种功能   -a -b -c =-abc = -bac,对象是操作的目标 
举例:   rm  -f -r  /*    ==    rm  -fr  /* 

二·虚拟机的基本操作

 1.虚拟机的控制 

 [kiosk@foundation0 Desktop]$ rht-vmctl   view     desktop	#显示虚拟机 
 [kiosk@foundation0 Desktop]$ rht-vmctl   start    desktop #打开虚拟机 
 [kiosk@foundation0 Desktop]$ rht-vmctl   poweroff desktop	#关闭虚拟机 
 [kiosk@foundation0 Desktop]$ rht-vmctl   reset    desktop	#重置虚拟机
 
  注: 
  kiosk                           #表示shell的运行人是谁 
  @foundation0              	  #shell开启主机的主机名称 
  Desktop                         #你当前所在文件夹的名字 

 2. 虚拟机的报错情况以及改正             

[kiosk@foundation0 Desktop]$ rht-vmctl start desktop 
 	Error: desktop not started (is already running)	          #虚拟机正在运行  
	改正:停止‘rht-vmctl start desktop’操作,直接执行当前准备执行的命令 

[kiosk@foundation0 Desktop]$ rht-vmctl view desktop 
	Error: unable to view desktop - not currently running.	  #虚拟机没有运行 
	改正:先执行命令‘rht-vmctl start desktop’,再执行下一步操作 

[kiosk@foundation0 Desktop]$ rht-vmct1  start desktop 
	bash: rht-vmct1: command not found...	                #命令输入错误 
	改正:检查输入的命令‘rht-vmctl’是否正确,注意区分‘数字1’和‘字母l’

 [kiosk@foundation0 Desktop]$ rht-vmctl  stat desktop
 	Error: bad option, stat	                              #参数写入错误 
	改正:检查输入的参数‘start/view/poweroff/reset’是否正确,注意区分大小写

[kiosk@foundation0 Desktop]$ rht-vmctl  start deskop 
	Error: unrecognized VMNAME specified, deskop.   	#虚拟机名称错误 
	改正:检查输入的名称‘desktop’是否正确,注意区分大小写 

3.系统用户登陆 

$            #普通用户,这个用户只能使用系统,但是权力比较低,比如不能删除  home/computer/boot/student/student 
#            #超级用户,系统管理员,权力绝对大,可以破坏系统

注意:   删除boot以后,在系统中选择reset 那么系统启动成功 系统启动不了可以直接重置虚拟机 

4.在系统内添加中文输入法 

application ------> setting ---> 蓝旗(region&language)---->china pinyin 

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.文本编辑
gedit   文件名称   &         # "&"的作用是让gedit命令在后台运行而不占用当前接口

6.文件管理命令 

(1)新建文件
 touch   文件名   
   
 注:建立多个文件时,touch ‘文件名’ ‘文件名’ ...       #想建立多少个文件,就用引号引用多少个

[root@desktop Desktop]# touch file[root@desktop Desktop]# ls    
	file
[root@desktop Desktop]# touch file1 file2 file3
[root@desktop Desktop]# ls
	file  file1  file2  file3

在这里插入图片描述

(2)新建目录
mkdir 目录名

(3)删除文件
rm  -f  文件名          # -f 是force的缩写,表示强制删除不提示

区分rm和rm  -f
[root@desktop Desktop]# ls
	file  file1  file2  file3
[root@desktop Desktop]# rm file               # 删除时要征求意见
	rm: remove regular empty file ‘file’? y
[root@desktop Desktop]# rm -f file1           #直接删除
[root@desktop Desktop]# ls
	file2  file3

在这里插入图片描述

(4)删除目录
rm -fr 目录名         #-r 表示递归,包括目录本身和里面的所有内容一起删除

7.查看
(1)cat 文件名         # 查看文件或者目录里的具体内容
(2)ls  文件名         # 显示当前文件下的目录名称

注: 
ls -a                 #显示所有文件包括以点开头的隐藏文件 
ls -R                 #递归显示目录中的所有内容
(3)file               # 查看文件类型操作步骤(可以清楚的体现file的作用以及文件的作用)

[root@desktop Desktop]# touch  westos
[root@desktop Desktop]# file westos
	westos: empty
[root@desktop Desktop]# vim westos 
	1 hello world 
	2 say hi
[root@desktop Desktop]# file westos
	westos: ASCII text
[root@desktop Desktop]# vim westos 
	1 #!/bin/bash 
	2 hello
[root@desktop Desktop]# file westos
	westos: UTF-8 Unicode text
[root@desktop Desktop]# vim westos 
	1 #include<stdio.h> 
	2 hello
[root@desktop Desktop]# file westos
	westos: C source, ASCII text

(4)wc (统计文件的字数,字符数,字节数)

	wc -l           #行数 
	wc -m           #字符数 
	wc -c           #字节数 
	wc -w           #字数

[root@desktop Desktop]# cat westos
	 #include<stdio.h>
	 hello
[root@desktop Desktop]# wc -l  westos 
	2 westos
[root@desktop Desktop]# wc -m  westos 
	24 westos
[root@desktop Desktop]# wc -c  westos 
	24 westos
[root@desktop Desktop]# wc -w  westos 
	2 westos

在这里插入图片描述

区分wc    -m 与 wc    -c    
	在输入中文时,会有不同;输入英文时,两个差不多

[root@desktop Desktop]# cat westos 
	hello
	linux
	你好
[root@desktop Desktop]# wc   -c  westos 
	19 westos
[root@desktop Desktop]# wc  -m  westos 
	15 westos 

8.复制 
	cp   文件名      新文件名称/目录
	cp   -r 目录     新目录名称        # -r 表示递归

[root@desktop Desktop]# ls
[root@desktop Desktop]# cp    /etc/passwd   file
[root@desktop Desktop]# ls    file
[root@desktop Desktop]# cp   -r   /etc  .         # . 代表当前位置
[root@desktop Desktop]# lsetc  file
[root@desktop Desktop]# mkdir westos
[root@desktop Desktop]# cp /etc/passwd westos/
[root@desktop Desktop]# ls westos/
	passwd

在这里插入图片描述

9.移动
	mv   文件名   要移动到的目录名称
	mv   目录名   要移动到的目录名称
	mv 目录/*  .   		#把目录中的所有内容移动到当前所在系统位置, "."代表当前位置

10.历史调用
 history                 # 显示历史
 history -c              # 清除当前循环
 上键| 下键               # 逐行翻阅历史!
 数字                     # 调用指定行!
 字母                  # 调用以此字母开头的最近一条命令行
 crtl+r(按键)      #调用含有此关键字的最近一条命
11.系统结构
	 /bin                  # 存放常用系统命令
	 /sbin                 # 存放系统管理命令
	 /boot                 # 启动分区
	 /sys                  # 内核参数调整
	 /dev                  # 设备文件
	 /lib                  # 32位库文件 
	 /lib64                # 64文库文件 
	 /media /run /mnt      # 临时设备的挂载点
	 /opt                  # 第三方软件安装位置
	 /proc                 # 系统信息
	 /etc                  #系统配置目录
	 /home                 # 普通用户家目录
	 /root                 # 超级用户家目录
	 /var,/srv             # 系统数据 

12.关于路径的命令 
	<1>路径的分类
	
	 绝对路径:文件所在系统的真实位置,在系统的任何位置都可以使用通常以"/"开头 
	 相对路径:相对当前所在系统位置的一个文件名称的简写,他通常会自动添加"pwd"的值在名称前

	pwd                 # 显示当前所在系统位置的路径
	 [root@desktop Desktop]# pwd
	 	/root/Desktop 
	 
	touch /mnt/file         # 用绝对路径的方式在/mnt/中建立file文件 
	rm -fr /mnt/file        # 用绝对路径的方式删除/mnt/中的file文件 
	mv hello /mnt           # 把当前的hello文件移动到/mnt目录中
	mv /mnt/hello  .        # 用绝对路径的表示方式把/mnt中的hello文件移动到当前位置 

13.切换工作目录
	 cd   目录名 
	 cd  ..            # 进入当前目录的上层目录 
	 cd  .             # 进入当前目录

14.如何在系统中获得帮助
	(1)whatis     # 得到一个命令但不知道这个命令的作用时使用
 	whatis cat      # 显示cat命令的用途
 	[root@desktop Desktop]# whatis cat
	 	cat (1)              - concatenate files and print on the standard output
	 	cat (1p)             - concatenate and print files
	(2)--help命令:当知道命令的用途,但是不知道命令的运行格式或者方法时使用
	注:--help只适用于命令

	[root@desktop Desktop]# cal --help

在这里插入图片描述

Cal     # 用来显示阳历日历  
	-1          # 显示当前月日历 
	-3          # 显示上月,本月,下月日历 
	-s          # 显示的日历是以周日为每周的第一天 
	-m          # 显示的日历是以周一为每周的第一天	
	 -j         # 日历中显示的数字是指此天为今年的第几天 
	 -y         # 显示今年的日历
	 -V         # 显示版本信息并退出 
	-h          # 显示此帮助文本并退出

在这里插入图片描述

[]             #选加,可以加也可以不加 
...            #加的个数可以时任意多个 
<>             #必须加不可缺少的信息

[root@desktop Desktop]# cal 8 2018        # 显示2018年8月的日历
[root@desktop Desktop]# cal               #显示当月的日历
[root@desktop Desktop]# cal -j            #显示自1月1日至当天的总天数

在这里插入图片描述

3.man ==manual  #当查看文件的帮助时,--help是不能使用的,必须用man命令来查看帮助了
 (1)man的级别  
	 1 命令
	 2 内核调用的接口
	 3 函数库
	 4 特殊文件比如设备文件
	 5 系统文件
	 6 游戏
	 7 包信息
	 8 系统密令
	 9 内核规则

[root@desktop Desktop]# man date      # 查看date命令的帮助手册
[root@desktop Desktop]# man 5 passwd  # 查看/etc/passwd 文件的帮助手册 

(2)man使用时的快捷键
	 进入man页面后 
		 pageup           # 向上翻页 
		 pagedown         # 向下翻页 
		 q                # 退出 
 注:当man或者whatis命令无法查询帮助是,是因为系统没有加载帮助数据库 
 解决办法:执行    mandb 

三.vim

1.编辑文件 
	vim   文件名  
		进入浏览模式,按"i"键 进入插入模式开始编写字符,编写结束后按"ESC"键 退出插入模式,按":wq" 保存退出,文件编写完成。 
		
	vim同时编辑多个文件 
		先打开一个文件,再进行操作‘:sp ’+‘filename’  
		ctrl + w     # 实现光标在上下文件窗口切换

在这里插入图片描述
在这里插入图片描述

注:
<1>当文件名称存在,那么进入文件直接编辑,当文件名称不存在,vim会在退出保存时自动建立文件,当vim命令后没有跟任何文件名称时,无法实现‘:wq’退出保存的,那么可以用":wq filename"
<2>当vim异常退出时,系统会建立.file.swp这个缓存文件,这个文件中保存着在‘:wq’动作之前保存的信息,当用vim对文件做编辑的时候会提示   

O               #只读打开  
E               #直接忽略.file.swap信息编辑文件   
R               #利用.file.swap进行为保存数据恢复   
D               #删除.file.swap   
Q               #退出   
A               #终止 

在这里插入图片描述

扫描二维码关注公众号,回复: 3428398 查看本文章
2.vim的三种模式 

(1)命令模式

 A:  vim工作方式设定(命令模式是vim打开文件后默认进入的模式,这个模式中不能插入字符,但是可以设定vim的工作方式)
	 :set nu   
	 :set nonu 
	 :set cursorline 
	 :set mouse=a 
 注:在vim中直接设定vim的工作方式是临时设定,也就是说当vim关闭,设定失效     如果要永久设定需要编写vim的配置文件  ‘/etc/vimrc’

 B:  在命令模式下如何管理字符
	  x            # 删除光标所在字符 
	  u            # 恢复(undo) 
	  ctrl+r       # 撤销恢复(redo) 
	  y            # 复制
	  yw           # 复制一个单词 
	  yl           # 复制一个字母 
	  yy           # 复制一整行 
	  y5y          # 复制5行 
	  c            # 剪切 
	  cw           # 剪掉一个单词 
	  cl           # 剪掉一个字母 
	  cc           # 剪掉一整行 
	  c5c          # 剪掉5行 
注:"用C做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按‘ESC’键再按‘P’
	 d            # 删除 
	 dw           # 删除一个单词 
	 dl           # 删除一个字母 
	 dd           # 删除一整行 
	 d5d          # 删除5行 
	 p            # 粘贴  

C.vim的可视化操作
 
	a:可视化模式的基本操作   
		在vim中是不能用鼠标选择区域操作的,如果要操作某个区域,需要进入到可视化模式,在命令模式下 "ctrl + v"  就可以进入到可视模式了   按"上|下|左|右"移动光标选择区域,按相应操作键就可以对选择区域进行操作  	
	b.可视化模式下批量添加字符
		 。把光标停留在想要加入字符所在的列的第一行 
		 。移动光标选择添加字符所在列
		 。"I"进入插入模式 。写入要插入的字符 
		 。按"ESC"退出插入模式,字符批量添加成功   

D:vim的字符替换  
	%s/原有字符/新字符/g         # 全文替换 
	1,5s/原有字符/新字符/g        # 替换1到5行的字符 
	g                            # 替换出现的所有关键字,如果不加"g"只替换每行出现的第一个 
	
E:总字符的查找及光标的移动

	(1)字符的查找 
		/关键字                      # 搜索关键字 
		n                           # 向下匹配关键字 
		N                           # 向上匹配关键子 
注:按‘v’  由浏览模式进入vim模式,按‘i’进入编辑模式,按‘ECS’后按‘:wq’退出编辑模式进入浏览模式

(2)光标的移动
	:数字           # 光标快速移动到指定行 
	gg              #光标移动到文件的第一行 
	G               # 光标移动到文件的最后一行

(3)插入模式
	 i          #在光标所在位置插入字符 
	 I          #光标所在行的行首插入字符 
	 o          # 光标所在行的下一行新行插入字符 
	 O          # 光标所在行的上以行新行插入 
	 s          # 删除光标所在字符并插入字符 
	 S          # 删除光标所在行并插入字符 
	 a          #光标所在字符的下一个字符插入 
	 A          # 光标所在行的行尾插入字符 

(4)退出模式 
 	:q      # 当vim进入文件没有对文件内容做任何操作可以按"q"退出 
 	:q!      #当vim进入文件对文件内容有操作但不想保存退出 
 	:wq    # 正常保存退出 
 	:wq!    # 强行保存退出,只针对与root用户或文件所有人生效  

四.通配符

1.字符匹配  

	*                        # 匹配0到任意字符 
	?                       # 匹配单个字符 
	[[:alpha:]]              # 匹配单个字母 
	[[:lower:]]              # 匹配单个小写字母 
	[[:upper:]]              # 匹配单个大写字母 
	[[:digit:]]              # 匹配单个数字 
	[[:alnum:]]              # 匹配单个数字或字母 
	[[:punct:]]              # 匹配单个符号 
	[[:space:]]              # 匹配单个空格 

[root@desktop Desktop]# cp -r /etc/*[[:digit:]]* .
[root@desktop Desktop]# ls
at-spi2              grub2.cfg  mke2fs.conf   rc0.d  rc5.ddbus-1               
gtk-2.0    pbm2ppa.conf  rc1.d  rc6.dDIR_COLORS.256color  gtk-3.0  
pkcs11        rc2.d  sasl2e2fsck.conf          iproute2   pnm2ppa.conf  
rc3.d  udisks2gnome-vfs-2.0        krb5.conf  polkit-1      rc4.d  X11

在这里插入图片描述

	{}                 # 精确指定目标,前提是指定的所有目标都必须存在
	{}{}               # 两个括号里的目标分别进行有顺序的组合组合
	{1..3}             # 指定1,2,3,而且1,2,3都存在 
	{1..3}{a..c}       # 1a 2a 3a 2a 2b 2c 3a 3b 3c  
	[]                 # 模糊指定目标 
	[1-3]              # 1或者2或者3 
	[^abc]|[!abc]      # 除了a并且除了b并且除了c	

2.常用文本处理工具(在命令输入窗口直接输入) 

	(1)head             # 显示指定文件的前多少行 
		head -n 1 passwd     # 显示文件的第一行 
		head -n 3 passwd     #显示文件的前3行 
		head  passwd        # 默认显示文件的前10行
	(2)tail              #显示文件的后多少行,在阅读文件时,直接按此字符 
		tail -n 1 passwd      # 显示文件的最后以行 
		tail -n 5 passwd      # 显示文件的最后5行 
		tail     passwd      # 显示文件的最后10行
	(3)less             # 分页浏览
		 less   passwd 
	(4)‘!’和‘^’                        # 表示非,相反的 

3. 鼠标点不动时,   ctrl  alt  f2 , init   3;ctrl  alt  f1 , init   5;

4. 命令执行方式

(1)命令必须要在shell行提示符之后输入
(2)当有程序占用shell时可以用ctrl+c结束此程序
(3)命令格式

5.tab(自动补齐系统中存在的文件名)  

tab补齐不了时,证明文件开头名称不唯一,按两次用来显示所有该字母开头的内容若两次i都不可以,则不存在

猜你喜欢

转载自blog.csdn.net/wzt888_/article/details/82829305