shell是什么?

为使用者提供操作界面的软件(命令解析器)
内核保镖
shell的种类分为1.图形shell
2.命令形式shell

如何打开一个shell?
单击鼠标右键 选择timital

# 在操作过程中,存在风险,在虚拟机中进行操作

el8中控制虚拟机的方法(在真机中打开Terminal,输入命令如下)

rht-vmctl 控制vm
rht-vmview 显示vm

[root@foundation66 ~]# rht-vmctl status workstation //检测vm的状态
workstation DEFINED
[root@foundation66 ~]# rht-vmctl start workstation //打开vm
Starting workstation.
[root@foundation66 ~]# rht-vmview view workstation //显示vm
[root@foundation66 ~]# rht-vmview view workstation//当vm出现任何问题时把vm还原(重置)
[root@foundation66 ~]# rht-vmctl  poweroff workstation //关闭vm

Kernel

系统核心程序
负责管理系统的进程,内存,设备驱动程序,文件和系统网络
Linux是一款内核的名称并不是操作系统
uname -r

命令行提示符的含义

[root@workstation Desktop]# [ kiosk@workstation Desktop]$
root 开启shell的用户 开启shell的用户
@ 分隔符
foudation66 主机短名称
Desktop 当前工作目录的基本名称
# 身份提示符 高级用户 $ 普通用户

命令行中如何执行命令

[kiosk@foundation0 Desktop]$<命令>空格<参数>空格<目标>
[kiosk@foundation0 Desktop]$ ls -l westos
1.参数用来测定命令的某些功能,可以加也可以不加
2.命令和参数和目标之间要用空格分开
3.参数中“-”表示单词的缩写,“--”表示单词的全拼
4.命令必须在提示符之后输入,没有提示符的输入是无效的
5.如何释放行提示符(crtl+c)
6.使用参数时-a -b -c=-abc=-acb=-bac
7.用于命令行的补齐

Shell中的快捷键

+ 取消命令执行
+ 取消当前shell
++ 打开一个新shell
++ 打开一个新界面
+ 快速移动光标的命令首字母、
+ 快速移动光标的命令结尾、
+ 从光标所在位置删除到行首
+ 从光标所在位置删除到行尾
++ 复制
++ 粘贴

history 查看历史

history -c 清空当期shell中的历史
上下键 逐行调用
!数字 指定行调用
!字母 指定首字母调用
++关键字 指定关键字调用
Linux 基础操作_第1张图片
Linux 基础操作_第2张图片
Linux 基础操作_第3张图片

linux 下对文件, 目录的建立

touch filename touch file1 file2 file3... touch 通常在系统中用于新建文件但是命令本身也可以修改文件的时间戳
Access //atime 文件被访问的时间
Modify//m time文件内容被修改的时间
Change//c time文件属性或内容被修改的表示

mkdir directory mkdir dir1 dir2 dir3 mkdir -p dir1/dir2/dir3 //层级目录 1下有2,2下有3

linux下文件的删除

rm -f file1,file2 删除文件
rm -fr dir1 dir2

vim的分屏功能

crtl+w(放开) s 上下分屏
crtl+w v 左右分屏
crtl+w c 关闭光标所在屏幕
crtl+w 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2
注:前三个同时编辑,第四个编辑不同文件,在vim中打开。
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定的行

vim的编写模式进入

i 光标所在位置插入
L 光标所在行行首插入
o 光标所在行下一行插入
O 光标所在行上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
:q 退出,在文件内容没有被改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出不保存,在对只读文件编写时使用,注意,所编辑的只读

vim命令模式下调整工作参数

在命令模式下
:set 参数信息
例如:set nu
此设定为临时设定,vim关闭后设定消失
Linux 基础操作_第4张图片
Linux 基础操作_第5张图片
vim ~/.vimrc
当前用户家目录下的vimrc 设定
假设 vim /root/.vimrc 则/root/student下的vimrc不能被设定
Linux 基础操作_第6张图片
vim下永久设定Linux 基础操作_第7张图片
vim /etc/vimrc root和student用户都被设定
Linux 基础操作_第8张图片
set 参数信息

vim可视化

在vim可视化模式中处理字符区域
在命令模式下按【ctrl+v】进入可视化模式
键盘上下左右可以移动选择区域
在可视化模式下批量添加字符
ctrl+v 选中要加入字符所在的列
按大写的i
加入字符
按【esc】

vim中字符的替换

%s表示全文所有的行
g表示全文所出现原字符的列
替换示例
:%s/:/@/g 替换全文的:为@
:1,5/:/@/g 替换1-5行的:为@
:/adm/,/halt/s/:/@/g 替换adm到halt之间的:为@

vim的异常退出

vim异常退出:当vim还没保存编写内容而被强制关闭,,,在vim中对文件进行操作后按叉
Linux 基础操作_第9张图片
Linux 基础操作_第10张图片
Linux 基础操作_第11张图片
Linux 基础操作_第12张图片
Linux 基础操作_第13张图片
.文件名称.swp 文件内保存没有写入部分的数据,此文件如果被手动删除掉vim恢复正常工作
快捷键说明
[O]pen Read-only 只读打开 (E)dit anyway 继续编辑 (R)ecover 恢复数据 (D)elete it 删除[.swap]文件
(Q)uit 退出 (A)bort 恢复后退出
vim改写文件,强制关闭,会出现异常,R,A恢复数据恢复到异常退出时的数据
E进行继续编辑,再按R还是恢复到异常操作时的数据

在文件较长时使用less 分页浏览

/关键字 高亮显示关键字,n向下匹配,N向上匹配
v 进入vim 模式,在vim 模式中按:wq退回到less模式
q 退出 less

文件查看 cat所有 head tail

root@workstation Desktop]# touch westos1
[root@workstation Desktop]# vim westos1
[root@workstation Desktop]# cat westos1//只查看内容
1
2
3

[root@workstation Desktop]# tac westos1//倒序查看

3
2
1
[root@workstation Desktop]# cat -b westos1//查看内容,显示行号
     1  1
     2  2
     3  3

[root@workstation Desktop]# tac -b westos1


3
21[root@workstation Desktop]# cat -n westos1//查看内容,还显示空格的行号
     1  1
     2  2
     3  3
     4  
     5  
[root@workstation Desktop]# 

head tail

root@workstation Desktop]# touch westos2
[root@workstation Desktop]# vim westos2
[root@workstation Desktop]# cat westos2//查看所有内容
1
2
3
4
5
6
7
8
9
1o
11
12

[root@workstation Desktop]# head -1 westos2//显示文件前1行
1
[root@workstation Desktop]# head westos2//默认显示文件前10行
1
2
3
4
5
6
7
8
9
1o
[root@workstation Desktop]# tail westos2//默认显示文件后10行
4
5
6
7
8
9
1o
11
12

[root@workstation Desktop]# tail -3 westos2//显示文件后3行
11
12

[root@workstation Desktop]# sed -n 1,3p westos2//显示文件1~3行
1
2
3
[root@workstation Desktop]# sed -n "5p,8p" westos2
sed: -e expression #1, char 3: extra characters after command
[root@workstation Desktop]# sed -ne "1p,3p" westos2
sed: -e expression #1, char 3: extra characters after command
[root@workstation Desktop]# sed -ne "1p;3p" westos2//注意为分号 显示文件第1行和第3行
1
3
[root@workstation Desktop]# 

cp 源文件 目的地文件 复制文件,当目的地文件存在会有询问 覆盖
cp -r 源文件 目的地文件 复制目录到目录中
cp 源文件1源文件2 目的地文件 复制多个文件到一个目录中,注意:目的地目录必须存在
cp -r 源目录1源目录2 目的地目录 复制多个目录或文件到一个目录中,注意目的地目录必须存在
注意 复制是按照模板新建的过程
mv 源文件 目的地文件 重命名,当目的地文件存在会被覆盖
mv 源目录 目的地目录 不许要加任何参数,直接移动即可
注意 相同分区的移动是重命名的过程,不同分区的移动是复制删除的过程//相同磁盘,比如自己的u盘到u盘只是重命名


[root@workstation Desktop]# cp /etc/passwd /mnt //复制/etc/目录中的passwd文件
[root@workstation Desktop]# cp /etc/group .  //复制/etc/目录中的group 文件到当前用户桌面
[root@workstation Desktop]# mv /mnt/passwd wetos_passwd  //重命名/mnt目录中的passwd 文件为west_passwd
[root@workstation Desktop]# 

显示路径 pwd
切换路径
cd 目录名称 进入到指定目录中
cd - 当前目录和当前目录之前所在目录之间的切换 cdir->odir
cd .. ##进入当前目录的上级目录

[root@workstation Desktop]# cd /mnt/ 目录 为 /mnt

[root@workstation mnt]# pwd
/mnt
[root@workstation mnt]# cd /root/Desktop
[root@workstation Desktop]# pwd
/root/Desktop
[root@workstation Desktop]# cd -        //返回之前的目录
/mnt
[root@workstation mnt]# pwd
/mnt
[root@workstation mnt]# cd -``
/root/Desktop
[root@workstation Desktop]# cd ..      //进入到当前目录的上级目录
[root@workstation ~]# pwd       // 显示路径
/root
[root@workstation ~]# 

“~”应用汇总

~ 当前用户家目录
~usename 指定用户的家目录
~+ 当前目录
~- 进入当前目录之前所在目录cd-中的"-"


[root@workstation Desktop]# pwd
/root/Desktop
[root@workstation Desktop]# cd /etc/sysconfig/network-scripts/
[root@workstation network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@workstation network-scripts]# cd ~   //当前用户家目录
[root@workstation ~]# pwd
/root
[root@workstation ~]# cd ~student  //指定用户的家目录
[root@workstation student]# pwd
/home/student
[root@workstation student]# cd ~root/    
[root@workstation ~]# pwd
/root
[root@workstation ~]# 

# 文件信息查看
ls -l file     文件属性
ls  dir        目录中包含的内容
ls -d  dir     目录本身
ls -a  dir     所有文件包含隐藏的
ls -S  dir     查看并且按照大小排序
ls -s  file/dir  查看文件大小

file 文件的名称不能代表文件的类型,例如file.mp3不能从文件名称后缀来确定文件类型
      可以查看文件的真实类型是什么``
[root@workstation Desktop]# file westos    
westos: ASCII text

# wc
wc 用于统计文件的  行数,字数,字节数,
wc -l file 文件的行数
wc -w file  文件的字数
wc -m file  文件字符数
wc -c file   文件字节数`

root@workstation Desktop]# touch westos
[root@workstation Desktop]# vim westos//vim编辑,ni
[root@workstation Desktop]# wc westos//统计文件的字数,
1 1 3 westos
[root@workstation Desktop]# wc -l westos//文件的行数
1 westos
[root@workstation Desktop]# wc -w westos//文件的字数
1 westos
[root@workstation Desktop]# wc -m westos//文件的字符数 3个 ni+/n 2+1 一个英文字母一个字符一个字节
3 westos
[root@workstation Desktop]# wc -c westos//文件的字节数
3 westos
[root@workstation Desktop]# vim westos
[root@workstation Desktop]# vim westos 你
[root@workstation Desktop]# wc westos//文件的行数,字数,字节数
1 1 4 westos
[root@workstation Desktop]# wc -l westos
1 westos
[root@workstation Desktop]# wc -w westos
1 westos
[root@workstation Desktop]# wc -m westos //一个汉字一个字符
2 westos
[root@workstation Desktop]# wc -c westos// 一个汉字3个字节
4 westos
[root@workstation Desktop]#


字符集合
精确匹配
{}        用于精确匹配内容
{1..3}    3个,1,2,3
{1,3,4}   3个 1,3,4这三个数
模糊匹配
[]      用于模糊匹配内容//不能用于建立 多个文件
[1-9]   1位,这位是1-9的任意数字
[!3-5]  1位,不是3-5 的数字
[^3-5]  1位,不是3-5的数字
[a-z]  1位,a-z的任意字母

[root@workstation Desktop]# touch westos{1..9}
[root@workstation Desktop]# rm -fr westos[!3-5]
[root@workstation Desktop]# touch westos{a..c}
[root@workstation Desktop]# rm -fr westos[^1-4a] 除1-4和a都被删除
[root@workstation Desktop]# rm -fr westos[2-5a-c] 删除2-5和a-c
[root@workstation Desktop]#


系统中的通用配置符号
?  匹配单个字符
[[:alpha:]]单个字母
[[:lower:]]单个小写字母
[[:upper:]]单个大写字母
[[:digit:]]单个数字
[[:punct:]]单个符号
[[:space:]]单个空格
[[:alnum:]]单个数字或字母
[[:punct:][:upper:]]单个符号或单个大写字母

[root@workstation Desktop]# rm -fr *
[root@workstation Desktop]# touch westos1 westoss westosA westos@
[root@workstation Desktop]# rm -fr westos[[:lower:]]
[root@workstation Desktop]# rm -fr westos[[:upper:]]
[root@workstation Desktop]# rm -fr westos[[:punct:]]//单个符号
[root@workstation Desktop]# rm -fr westos[[:digit:]]//单个数字
[root@workstation Desktop]# touch "west os"
[root@workstation Desktop]# rm -fr west[[:space:]]os //当个空格
[root@workstation Desktop]# touch westos1 westosa westosA westos@
[root@workstation Desktop]# rm -fr westos[[:alpha:]] //单个字母
[root@workstation Desktop]# touch westosa
[root@workstation Desktop]# rm -fr westos[[:alnum:]]//单个数字或字母
[root@workstation Desktop]# touch westosA
[root@workstation Desktop]# rm -fr westos[[:punct:][:upper:]]//单个符号或单个大写字母
[root@workstation Desktop]# touch westos1 westoss westos@
[root@workstation Desktop]# rm -fr westos?//单个字符
[root@workstation Desktop]#

Linux系统中的根文件系统的层级结构
FHS Filesystem Hierarchy Standard 文件系统层级结构标准
/boot 系统启动引导过程中加载的文件存放目录

/dev Device files 系统设备文件存放路径
字符设备 线性设备
快设备 随机设备
/home&/root
/home普通用户家目录集合
此目录中的子目录通常被设定为用户家目录,是可选目录,此目录不是基本系统目录
普通用户在登录后默认被设定进入此目录中的相应子目录中
/root超级用户家目录
超级用户登录系统后默认进入的系统目录
/lib&/lib64
/lib系统启动程序和根下应用程序(/bin,/sbin等)提供共享库
lib.so.* 动态链接c库
modules 内核模块
/lib6464位系统存放64位库的路径

/media 临时设备挂点 u盘 cdrom usb
/mnt 系统磁盘的临时挂裁点

/opt 系统默认第三方软件安装的位置

/proc 进程和内核相关参数信息
/sys 内核参数目录
/srv 当前主机位系统服务提供的数据
/var 经常变化的系统数据中重要的目录
cache 缓存 log 系统日志 lib 程序固定数据信息 spool 程序队列数据,用户邮电等 tmp 系统关机后依然需要保存的临时文件
/tmp Temporary file 系统临时文件存放目录 系统中的所有用户都会用到所以要对所有用户可写
/run 当前运行进程相关数据 此目录中的文件通常被程序自动调用