系统相关
首页 > 系统相关> > Linux期末复习-ch1-ch3

Linux期末复习-ch1-ch3

作者:互联网

ch1

Linux作者,应用领域,组成,各种概念(内核,发行版等等)

Linux系统的内核最早是由芬兰大学生Linus Torvalds开发,并于1991年8月发布。

内核
内核是操作系统的核心,具有很多最基本的功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。
Linux内核的主要模块分为存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等几个部分。

ch2

分区,如何分区,分区命名,交换分区作用,关机重启的常用命令

如何分区

自动配置分区方式用户无需进行设置,系统会自动对磁盘进行分区,默认创建/分区、/boot分区、/home分区和swap分区。

手动配置分区

创建标准分区时各分区字段的含义及其使用方法:

挂载点:输入分区的挂载点。如果这个分区是根分区,输入“/”;如果是“/boot”分区,输入“/boot”。如果是swap分区则无需挂载点。也可以通过下拉菜单为磁盘分区选择正确的挂载点。

文件系统类型:使用下拉菜单,选择用于该分区的合适的文件系统类型,如swap或xfs。

设备:包括用户计算机上安装的磁盘列表。如果一个磁盘的列表突出显示,那么在该磁盘上可以创建分区。

期望容量:输入分区的大小。

设备类型:指定标准分区。

加密:将磁盘分区进行加密。

标签:分区的卷标。

交换分区

ch3

字符界面的切换,Linux下获取帮助(man, help等),运行级别,控制台组合键,特殊字符,命令自动补全(tab),命令历史保存,命令排列,命令替换,管道,重定向,vi

虚拟控制台

Linux系统可以同时接受多个用户同时登录,还允许用户进行多次登录,这是因为Linux系统提供了虚拟控制台的访问方式。

在字符界面下,虚拟控制台的选择可以通过按下[Alt]键和一个功能键来实现,通常使用F1~F6键。比如用户登录后,按下[Alt+F2]键,用户可以看到“login:”提示符,说明用户进入了第二个虚拟控制台。然后只需按[Alt+F1]组合键,就可以回到第一个虚拟控制台。

如果用户在图形界面下,那么可以使用[Ctrl+ Alt+F2]~[Ctrl+ Alt+F6]组合键切换字符虚拟控制台,使用[Ctrl+Alt+F1]可以切换到图形界面。

1.shutdown命令

shutdown命令可以安全地关闭或重启Linux系统。

命令语法:

shutdown [选项] [时间] [警告信息]

【例3.1】 立即关闭计算机系统。

[root@rhel ~]# shutdown -h now

【例3.2】 定时45分钟后关闭计算机系统。

[root@rhel ~]# shutdown -h +45

【例3.3】 立即重新启动计算机系统,并发出警告信息。

[root@rhel ~]# shutdown -r now "system will be reboot now."

【例3.4】 定时在1点38分重新启动计算机系统。

[root@rhel ~]# shutdown -r 01:38

2.halt命令

使用halt命令就是调用“shutdown –h”命令执行关机任务。

命令语法:

halt [选项]

【例3.5】 使用halt命令关闭系统。

[root@rhel ~]# halt

3.reboot命令

reboot命令的工作过程与halt相似,不过reboot是引发计算机重启,而halt是引发计算机关闭。它的选项与halt相似。

【例3.6】 使用reboot命令重启计算机系统。

[root@rhel ~]# reboot

特殊字符

符号功能
~用户主目录
`反引号,用来命令替代(在Tab键上面的那个键)
#注释
$变量取值
&后台进程工作
(子Shell开始
)子Shell结束
\使命令持续到下一行
|管道
<输入重定向
>输出重定向
>>追加重定向
单引号(不具有变数置换的功能)
"双引号(具有置换的功能)
/路径分隔符
;命令分隔符

命令历史记录

在操作Linux系统的时候,每一个操作的命令都会记录到命令历史中,在以后可以通过命令历史查看和使用以前操作的命令。

bash启动的时候会读取~/.bash_history文件,并将其载入到内存中,$HISTFILE变量就用于设置~/.bash_history文件,bash退出时也会把内存中的历史记录回写到
~/.bash_history文件中。

使用history命令可以查看命令历史记录,每一条命令前面都会有一个序列号标示。
命令语法:

history [选项]

使用命令历史举例

举例描述
!!运行上一个命令
!6运行第6个命令
!8 /test运行第8个命令并在命令后面加上/test
!?CF?运行上一个包含CF字符串的命令
!ls运行上一个ls命令(或以ls开头的历史命令)
!ls:s/CF/G运行上一个ls命令,其中把CF替换成G
fc编辑并运行上一个历史命令
fc 6编辑并运行第6条历史命令
bootroot^快速替换。将最后一个命令中的boot替换为root后运行
!-5运行倒数第5个命令
!$运行前一个命令最后的参数

【例3.11】 使用命令历史记录功能键。

[root@rhel ~]# mkdir /root/aaa
//创建目录/root/aaa
[root@rhel ~]# cd !$
cd /root/aaa
//!$是指重复前一个命令最后的参数,参数是/root/aaa
[root@rhel aaa]# pwd
/root/aaa
//显示用户当前目录是/root/aaa

搜索历史命令

快捷键描述
↑(向上方向箭)查看上一个命令
↓(向下方向箭)查看下一个命令
Ctrl+p查看历史列表中的上一个命令
Ctrl+n查看历史列表中的下一个命令
Ctrl+r向上搜索历史列表
Alt+p向上搜索历史列表
Alt+>移动到历史列表末尾

命令排列

如果希望一次执行多个命令,Shell允许在不同的命令之间,放上特殊的排列字符。

1. 使用“;”

使用“;”命令时先执行命令1,不管命令1是否出错,接下来就执行命令2。

命令语法:

命令1; 命令2

【例3.15】 使用排列命令“;”同时执行两个命令。

[root@rhel ~]# ls -l /boot;du -hs /root

2. 使用“&&”

使用“&&”命令时只有当命令1正确运行完毕后,才能执行命令2 。

【例3.16】 使用排列命令“&&”同时执行两个命令。

[root@rhel ~]# ls -a /root/bogusdir&&du -hs
ls: 无法访问/root/bogusdir: 没有那个文件或目录
//将返回“ls: 无法访问/root/bogusdir: 没有那个文件或目录”,而“du –hs”命令根本没有运行,因为没有/root/bogusdir目录

命令替换

在Linux系统中,Shell命令的参数可以由另外一个命令的结果来替代,这种称之为命令替换。

1.使用“$( )”
命令语法:

命令1 $(命令2)

2.使用“`”(位于Tab键上面那个键)
命令语法:

命令1 \`命令2`
[root@rhel ~]# pidof less
7552
//less进程号为7552
Kill -9 7552

使用命令替换功能杀死less进程。

kill -9 $(pidof less)

或者

kill -9 `pidof less`

管道

Linux系统的理念是汇集许多小程序,每个程序都有特殊的专长。复杂的任务不是由大型软件完成,而是运用Shell 的机制,组合许多小程序共同完成。管道就在其中发挥着重要的作用,它可以将某个命令的输出信息当作某个命令的输入,由管道符号“|”来标识。
命令语法:

[命令1]|[ 命令2]|[ 命令3]

【例3.22】 使用简单的管道。

[root@rhel ~]# ls /etc|more
abrt
acpi
adjtime
akonadi
--More--
//命令ls /etc显示/etc目录的内容,命令more是分页显示内容

【例3.23】 使用复杂的管道。

[root@PC-LINUX ~]# rpm -qa|grep a|more
//命令rpm -qa显示已经安装在系统上的RPM包,命令grep a是过滤软件包,命令more是分页显示这些信息

3.6 重定向

希望将命令的输出结果保存到文件中,或者以文件内容作为命令的参数,这时就需要用到重定向。重定向不使用系统的标准输入端口、标准输出端口或是标准错误端口,而是进行重新的指定。

重定向有四种方式:输出重定向、输入重定向、错误重定向以及同时实现输出和错误的重定向。

输出重定向

输出重定向,即将某一命令执行的输出保存到文件中,如果已经存在相同的文件,那么覆盖源文件中的内容。

命令语法:

[命令] > [文件]

【例3.24】使用输出重定向将/boot目录的内容保存到/root/abc文件中。

[root@rhel ~]# ls /boot > /root/abc

【例3.25】使用echo命令和输出重定向创建/root/mm文件,文件内容是hello。

[root@rhel ~]# echo Hello > /root/mm
[root@rhel ~]# cat /root/mm
Hello
//显示文件/root/mm,可以看到文件的内容是Hello

另外一种特殊的输出重定向是输出追加重定向,即将某一命令执行的输出添加到已经存在的文件中。

命令语法:

[命令] >> [文件]

【例3.26】使用输出追加重定向将数据写入文件/root/ao。

[root@rhel ~]# echo Hello > /root/ao
//先创建文件/root/ao,文件内容是Hello
[root@rhel ~]# echo Linux >> /root/ao
//向文件/root/ao中追加数据Linux
[root@rhel ~]# cat /root/ao
Hello
Linux

输入重定向

输入重定向,即将某一文件的内容作为命令的输入。
命令语法:

[命令] < [文件]

【例3.27】使用输入重定向将文件/root/mm的内容作为输入让cat命令执行。

[root@rhel ~]# cat < /root/mm
Hello
//可以看到文件/root/mm的内容是Hello

另外一种特殊的输入重定向是输入追加重定向,这种输入重定向告诉Shell,当前标准输入来自命令行的一对分隔符之间的内容。

命令语法:

[命令] << [分隔符]
> [文本内容]
> [分隔符]

【例3.28】使用输入追加重定向创建/root/bc文件。

[root@rhel ~]# cat > /root/bc <<EOF
> Hello Linux
> EOF
//一般使用EOF作为分隔符

错误重定向

错误重定向,即将某一命令执行的出错信息输出到指定文件中。
命令语法:

[命令] 2> [文件]

【例3.29】 查看根本不存在的/root/kk文件,出现报错信息,将其保存到文件/root/b中。

[root@rhel ~]# cat /root/kk 2> /root/b
[root@rhel ~]# cat /root/b
cat: /root/kk: 没有那个文件或目录
//使用cat命令查看/root/b文件,可以看到其内容就是执行命令cat /root/kk的报错信息

另外一种特殊的错误重定向是错误追加重定向,即将某一命令执行的出错信息添加到已经存在的文件中。

命令语法:

[命令] 2>> [文件]

【例3.30】 使用错误追加重定向,将执行命令的多次出错信息保存到文件/root/b中。

[root@rhel ~]# cat /root/kk 2> /root/b
[root@rhel ~]# cat /root/kk 2>> /root/b
[root@rhel ~]# cat /root/b
cat: /root/kk: 没有那个文件或目录
cat: /root/kk: 没有那个文件或目录

同时实现输出和错误重定向

同时实现输出和错误的重定向,即可以同时实现输出重定向和错误重定向的功能。

命令语法:

[命令] &> [文件]

【例3.31】 同时使用输出和错误重定向。

[root@rhel ~]# ls /boot &> /root/kk
[root@rhel ~]# cat /root/kk
config-3.3.4-5.fc17.i686.PAE
grub
grub2
initramfs-3.3.4-5.fc17.i686.PAE.img
lost+found
System.map-3.3.4-5.fc17.i686.PAE
tboot.gz
tboot-syms
vmlinuz-3.3.4-5.fc17.i686.PAE
//因为/boot目录下有文件,所以最终使用了输出重定向

【例3.32】 同时使用输出和错误重定向。

[root@rhel ~]# ls /nn &> /root/oo
[root@rhel ~]# cat /root/oo
ls: 无法访问/nn: 没有那个文件或目录
//因为没有/nn目录,所以最终使用了错误重定向

3.7 vi编辑器

1.命令模式

进入vi编辑器之后,系统默认处于命令模式。命令模式控制屏幕光标的移动,字符、
字或行的删除,某区域的移动、复制等。
在命令模式下,按冒号键“:”可以进入末行模式,按字母键“a”就可以进入插入模式。

2.插入模式

只有在插入模式下,才可以进行文本编辑。在插入模式下按“Esc”键可回到命令模式。

3.末行模式

将文件保存或退出vi编辑器,也可以设置编辑环境、替换字符或删除字符。
在末行模式下按“Esc”键可以回到命令模式。

进入插入模式命令

命令功能
i从光标当前所在位置之前开始插入
a从光标当前所在位置之后开始插入
I在光标所在行的行首插入
A在光标所在行的行末尾插入
o在光标所在的行的下面新开一行插入
O在光标所在的行的上面新开一行插入
s删除光标位置的一个字符,然后进入插入模式
S删除光标所在的行,然后进入插入模式

光标移动(1)

命令功能重点
↑键(向上箭头 )使光标向上移动一行
↓键(向下箭头 )使光标向下移动一行
←键(向左箭头)使光标向左移动一个字符
→键(向右箭头 )使光标向右移动一个字符
k使光标向上移动一行
j使光标向下移动一行
h使光标向左移动一个字符
l使光标向右移动一个字符
nk使光标向上移动n行,n代表数字*

光标移动(2)

nj
nh
nl
H
M
L
Ctrl+b
Ctrl+f
Ctrl+u
Ctrl+d
0(数字0)

光标移动(3)

命令功能重点
$使光标移动到光标所在行的行尾*
^使光标移动到光标所在行的行首*
w使光标跳到下一个字的开头
W使光标跳到下一个字的开头,但会忽略一些标点符号
e使光标跳到下一个字的字尾
E使光标跳到下一个字的字尾,但会忽略一些标点符号
b使光标回到上一个字的开头
B使光标回到上一个字的开头,但会忽略一些标点符号
(使光标移动到上一个句首*
)使光标移动到下一个句首*
{使光标移动到上一个段落首*
}使光标移动到下一个段落首*
G使光标移动到文件尾(最后一行的第一个非空白字符处)*
gg使光标移动到文件首(第一行第一个非空白字符处)*

命令模式命令(1)

删除

命令功能
x删除光标所在位置的字符
X删除光标所在位置的前面一个字符
nx删除光标所在位置开始的n个字符,n代表数字
nX删除光标所在位置前面n个字符,n代表数字
dd删除光标所在行
ndd从光标所在行开始删除n行,n代表数字
db删除光标所在位置的前面一个单词
ndb删除光标所在位置的前面n个单词,n代表数字
dw从光标所在位置开始删除一个单词
ndw从光标所在位置开始删除几个单词,n代表数字
d$删除光标到行尾的内容(含光标所在处字符)
D删除光标到行尾的内容(含光标所在处字符)
dG从光标位置所在行一直删除到文件尾

命令模式命令(2)

复制和粘贴

命令功能重点
yw复制光标所在位置到单词尾的字符
nyw复制光标所在位置开始的n个单词,n代表数字
yy复制光标所在行*
nyy复制从光标所在行开始的n行,n代表数字
y$复制光标所在位置到行尾内容到缓存区
y^复制光标前面所在位置到行首内容到缓存区
YY将当前行复制到缓冲区*
nYY将当前开始的n行复制到缓冲区,n代表数字
p将缓冲区内的内容写到光标所在的位置

命令模式命令(3)

类型命令功能重点
替换r替换光标所在处的字符,按[r]键之后输入要替换的字符*
替换R替换光标所到之处的字符,直到按下[ESC]键为止,按[R]键之后输入要替换的字符*
撤销和重复u撤销上一个操作。按多次u可以执行多次撤销*
撤销和重复U取消所有操作*
撤销和重复.再执行一次前面刚完成的操作
列出行号Ctrl+g列出光标所在行的行号*
保存和退出ZZ保存退出*
保存和退出ZQ不保存退出*
查找字符/关键字先按[/]键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按[n]键会往后查找下一个关键字,而按[N]键会往相反的方向查找
查找字符?关键字先按[?]键,再输入想查找的字符,如果第一次查找的关键字不是想要的,可以一直按[n]键往前查找下一个关键字,而按[N]键会往相反的方向查找
合并nJ将当前行开始的n行进行合并,n代表数字
合并J清除光标所在行与下一行之间的换行,行尾没有空格的话会自动添加一个空格

末行模式命令(1)

类型命令功能重点
运行Shell命令:!command运行Shell命令,command代表命令
运行Shell命令:r!command将命令运行的结果信息输入到当前行位置,command代表命令
运行Shell命令:n1,n2 w !command将n1到n2行的内容作为命令的输入,n1和n2代表数字,command代表命令
查找字符:/str/从当前光标开始往右移动到有str的地方,str代表字符*
查找字符:?str?从当前光标开始往左移动到有str的地方,str代表字符*
替换字符

标签:文件,重定向,命令,字符,ch1,ch3,Linux,root,光标
来源: https://blog.csdn.net/m0_37302219/article/details/110717695