目录
一. 关于Linux的认识
1.1 什么是Linux
Linux
操作系统
#GNU
/
Linux
#GNU是开源组织
#Linux
是指
Linux
内核
内核
##
系统核心程序
##
相当人的大脑
#
负责系统程序和硬件分配及调度
1.2 Shell
1.2.1 什么是shell
shell ##
对外提供操作这和系统沟通接口
##
对内实现对内核进行保护
##RHEL8
中默认使用的
shell
是
bash
1.2.2 shell行提示符的含义
shell
类型
rhel8
中默认使用的
shell
为
bash
bash
=
GNU Bourne
-
Again SHell
shell
打开方式
(1)右键打开
此方式打开的
shell
在当前用户的桌面上
(2)Application
---->
System tools
---->
terminal #
此方式打开的
shell
默认在当前用户的家目录中
(3)gnome
-
terminal 此方式打开的shell
默认在当前用户的家目录中
(4)当shell
已经开启时需要开启一个新的
shell
,
在
shell
中可以用
<
ctrl
>+<
shift
>+<
N
>
打开
(5)可以在设置中设定任意快捷键执行 gnome
-
terminal
shell
命令行提示符
[root
@localhost
Desktop]
[
1
]
:
运行
shell
的用户
[
2
]
:
分割符
[
3
]
:
系统主机短名称当前主机去掉域名部分的短名称
[
4
]
:
当前目录名称
[
5
]
:
身份提示符
#
表示当前用户为超级用户
,
$
当前用户为普通用户
1.2.3 shell中的快捷键及实用命令
1.
shell
中的快捷键使用
<
ctrl
>+<
shift
>+<
T
>
在一个terminal
中开启多个窗口
<
ctrl
>+<
shift
>+<
N
>
重新打开一个terminal
<
ctrl
>+<
c
>
取消命令执行
<
ctrl
>+<
d
>
关闭shell
<
ctrl
>+<
shift
>+<
鼠标选中
>+<
c
>
(鼠标中键滚轮)
复制选中字符
<
ctrl
>+<
shift
>+<
v
>
粘贴 鼠标选中为复制 鼠标滚轮下按为粘贴
<
ctrl
>+<
a
>
快速移动光标到行首
<
ctrl
>+<
e
>
快速移动光标到行尾
<
ctrl
>+<
u
>
快速删除当前所在字符之前的所有
<
ctrl
>+<
k
>
快速删除当前所在字符和之后的所有
2
.
shell
中如何执行命令
(1)
命令执行格式
命令 参数 对象
命令就是程序
参数表示命令的特殊功能
对象就是操作目标
(2)
命令执行的方法
有些命令可以单独执行
参数可以加多个
-
a
-
b
-
c
= -
abc
= -
cba
= -
acb
参数
-
s
表示单词缩写 参数
--
size
表示单词全拼
命令必须在行提示符之后输入否则命令无法执行
当命令行被占用通常使用
<
ctrl
>+<
c
>
结束占用命令行的程序来释放命令行
3.
Linux
命令行历史调用
我们当前使用的
shell
可以记录系统中执行过的历史命令
history
查看历史命令
history
-
c
清空当前历史命令
永久清空历史需要清空文件
.bash_history
历史命令的调用
上键
|
下键
##
逐行调用
!
数字 ##调用指定行历史
!
字符 ##调用以此字符开头的最近历史
<
ctrl
>+<
R
>
##开启历史搜索模式
,
命令行显示会变为
: ##(reverse
-
i
-
search)`
':输入关键字
会显示含有此关键字的最近一条历史
4.
<
TAB
>
补齐系统中存在的命令
,
文件
,
和某些命令的参数 当按一次tab
没有效果
,
表示以此字符开头的信息不唯一可连续按
2
次 那么会把以此字符开头的所有内容显示 如果仍然不显示表示没有以此字符开头的指令
二. Linux下的文件管理
2.1 文件管理命令
touch
新建文件
,
修改文件时间戳
touch file1 file2...
建立空文件
touch file 把文件时间同步到当前时间
touch
-
t YYYYMMDDHHmm file
把文件时间更改到指定时间
mkdir
(
make directory
)
mkdir dir1 dir2 ...
建立空目录
mkdir
-
p test
/
redhat
/
linux
建立多层目录
rm
删除文件或者目录
rm file file1 ...
删除文件有提示
rm
-
f file 强制删除文件不提示
rm
-
r dir dir1...
删除目录
rm
-
rf dir
gedit
图形的文本编辑器
gedit file file1...
编辑
file file1
gedit
在使用时必须有图形
file file1
可以不存在
vim #
文本编辑器
vim file ##
进入到
vim
的浏览模式
##
浏览模式不能编辑文件
##
在浏览模式中按
<
i
>
进入插入模式
#
在
vim
中鼠标不能控制光标用上下左右移动光标
#
按
<
ESC
>
退出插入模式
#
按
:
wq
保存更改
#
:
q
当
vim
打开文件后未作任何操作可以直接退出
#
:
q
!
当
vim
打开文件后修改文件内容但不想保存可以强制退出
vim
异常退出
##
当
vim
编写文件时在未保存更改内容被强制关闭
##vim
出现异常
#[O]
只读打开文件
#(E)
继续编辑
#(R)
恢复未保存内容编辑
#(D)
删除
.swp
文件进入编辑
#(Q)
退出当前文件编辑
#(A)
推出
vim
程序
vim
同时打开多个文件
vim
-
o westos1 westos2 ##
上下模式打开两个文件
##
<
ctrl
>+<
w
> <
上
|
下
>
来转换控制窗口
vim
-
p westos1 westos2 ##
左右打开两个不同文件
##
:
tabn
进入到下一个窗口
##
:
tabp
进入到上一个窗口
按I O A都可以插入只是插入的位置不同
wq 保存更改
set nu 插入编号
set nonu取消
cat
显示文件的全部内容
cat file
cat
-
b file
显示文件内容并显示行号
,
不显示空行的行号
cat
-
n file
显示文件内容并显示行号
head ##
查看文件前多少行
head westos
默认显示文件前
10
行
head
-
n westos n
代表数字 显示文件的前
n
行
tail
查看文件的后多少
tail westos
默认显示文件后
10
行
tail
-
n westos n
代表数字 显示文件的后
n
行
less
分页浏览
less westos
进入到
less
模式查看
westos
#less
模式中
<
上
><
下
>
逐行查看文件内容
<
pgup
><
pgdn
>
逐页查看文件内容
/
关键字 搜索关键字
n
向下匹配
N
向上匹配
<
v
>
有
less
模式进入到
vim
编辑完成
:
wq
退出返回
less
在
less
中
<
q
>
退出
cp
复制文件
cp 文件 目的地文件
cp
文件
1
文件
2 目的地目录
cp
-
r
目录
1
目录
2
复制原理
: 按照源文件建立新文件(抄作业)
mv
移动文件
mv file file1 dir
mv dir dir1 dir
mv file
不存在
file 重命名
移动原理
: 相同设备分区中的文件移动是重命名过程 不同分区的文件移动是建立删除过程
ls
-
i
file
查看文件节点号
(
相当与文件身份证号
)
file
文件类型的查看
file westos
查看
westos
的真实类型
wc
文件容量统计
wc
-
l 行数
wc
-
m 字符数
wc
-
w 单词数
wc
-
c 字节数
2.2 Linux中文件的寻址
1 Linux
系统结构
FHS (Filesystem Hierarchy Standard) Linux
层级结构标准
3
LINUX
中一切都是文件
Linux顶级目录
rm
-
fr
/*
此命令千万不要在服务器上运行
系统二级目录
/
bin ##
系统常规命令
/
sbin ##
系统管理命令
/
dev ##
设备文件
/
home ##
普通用户家目录集合
,
此目录中的子目录为普通用户家目录
/
root ##
超级用户家目录
/
lib64 ##64
位函数库
/
lib ##
系统函数库
/
proc ##
进程信息
,
系统识别的硬件信息
/
run ##
当前运行的硬件和系统模块
/
srv ##
系统数据
(
常量
)
/
var ##
系统数据
(
变化
)
/
tmp ##
系统临时文件存放目录
/
mnt ##
临时设备挂载点
/
media ##cdrom
临时挂载点
/
etc ##
系统大多数程序的配置目录
/
opt ##
第三方软件安装位置
/
boot ##
系统启动分区
,
系统启动时读取的文件都在此目录中
/
sys ##
关于内核设定目录
/
usr ##unix
system
resource
仅次于
/
重要 多数系统资源都在此目录中
2.相对路径
:
绝对路径名称的简写
,
省略了用户当前所在的系统位置
此名称只有在管理当前所在系统目录中子文件时才能使用
系统中不以
/
开有的文件名称都为相对路径在程序操作时
会自动识别当前路径的信息并关联操作目标
3.绝对路径
:
文件在系统中的真实位置
,
在任何场景下都可以使用
通常以
/
开头
,
不会考虑当前系统位置
4.
关于文件寻址的命令
pwd
显示当前的工作目录
cd
切换当前的工作目录
"cd
~-
"
=
"cd
-
" CDIR
<-->
ODIR
".."
当前目录的上级目录
ls
显示文件信息
# ls 显示当前目录中文件的名称
# ls file 显示指定文件名称
# ls dir 显示指定目录中内容的名称
# ls
-
d dir 显示目录本身的名称
# ls
-
l file 显示文件属性
# ls
-
l dir 显示目录中内容的属性
# ls
-
ld dir 显示目录本身属性
# ls
-
a dir 显示目录中所有文件名称包括隐藏文件案
# ls
-
s 显示文件大小
# ls
-
R dir 第归显示目录中的内容
5.文件批量处理
#
匹配
0
~
任意字符
? ##
匹配单个字符
[[
:
alpha
:
]] ##
匹配单个字母
[[
:
lower
:
]] ##
匹配单个小写字母
[[
:
upper
:
]] ##
匹配单个大写字母
[[
:
digit
:
]] ##
匹配单个数字
[[
:
alnum
:
]] ##
匹配单个数字或字母
[[
:
punct
:
]] ##
匹配单个符号
[[
:
space
:
]] ##
匹配单个空格
字符集合表示方法
[] ##
条件是或者关系是模糊匹配
,
对象和几个对比匹配就操作
##[
1
-
10
] 1
到
10 [
!
d
-
f]
|
[
^
d
-
f]
除了
d
-
f
以外
{} ##
点名机制
,
经精确指定集合中的每一个元素
##{1..10}
1
-
10
{a..c} a
-
c
~
##
默认代表当前用户家目录
~
username ##
指定的用户家目录
"
~+
"
=
"." ##
当前目录
~-
##
当前目录之前所在目录
.. ##
当前目录的上级目录
三. text(练习)
1.
用命令和正则表达式按照要求建立文件
用一条命令建立
12
个文件
WESTOS_classX_linuxY(X
的数值范围为
1
-
2
,
Y
的数值范围为
1
-
6
)
这些文件都包含在
root
用户桌面的
study
目录中
用一条命令建立
8
个文件
redhat_versionX
(
x
的范围为
1
-
8
)
redhat_virsionX
这些文件都包含在
/
mnt
目录中的
VERSION
中
2.
管理刚才信建立的文件要求如下
用一条命令把
redhat_versionX
中的带有奇数的文件复制到桌面的
SINGLE
中
用一条命令把
redhat_versionX
中的带偶数数的文件复制到
/
DOUBLE
中
用一条命令把
WESTOS_classX_linuxY
中
class1
的文件移动到当前用户桌面的
CLASS1
中
用一条命令把
WESTOS_classX_linuxY
中
class2的文件移动到当前用户桌面的CLASS2
中