一·对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都不可以,则不存在