计算机理论知识
-
计算机软件分为几类?
答:计算机的软件往往分成两大类:应用程序和系统软件。 -
操作系统的定义:
1.操作系统是介于计算机用户和计算机硬件之间的-个中间接口层。操作系统是服务提供者,提供的服务使得其他程序更加方便有效地执行。
2.操作系统是一个资源管理器,管理着计算机系统中每个部件的活动,并确保计算机系统中的硬件和软件资源能够更加有效的使用,当出现资源使用冲突时,操作系统应能够及时处理,排除冲突。
3.操作系统是一个控制程序, 控制着用户程序的执行和1/0设备的运行。
3.操作系统是内核( kernel ),即系统启动以后-直运行着的程序,而其他程序统称为应用程序。 -
单道程序和多道程序之间的区别:
a.单道程序是同一时刻只运行一道程序 , 应用程序和操作系统共享存储器, 大多数内存用于应用程序操作系统只占一小部分程序整体装入内存运行结束后由其他程序替代。
b.多道程序,同-时刻可以装入多个程序并且能够同时执行这些程序,CPU轮流为他们服务。 -
一个标准的操作系统由哪些部分组成?
用户界面程序和内核部分组成,内核部分至少包括进程管理器、存储管理器、 文件管理器和设备管理器。
简述程序、进程、线程的概念以及他们之间的关系。
1.程序(Program)是由程序员编写的-组稳定的指令,保存在硬盘上。
2.进程(Process)是运行中的程序,仅存在于内存(包括虚拟内存中)。
3.线程(Thread)是利用CPU的应该基本单位,也称为轻量级进程。
多个进程可以运行应该程序,一个进程可以拥有多个线程。
初识Linux
安装了虚拟机,首次接触了Linux系统,并掌握了部分口令:
命令 | 作用 |
---|---|
su | 切换为root登录,获得权限 |
ifconfig | 用于显示或配置网络设备(网络接口卡)的命令 |
free -h | 查看内存占比 |
lscpu | 可以列出本机的 CPU 的相关信息 |
(从图中的190M可见Linux系统非常省空间,可见其特别适合跑服务器,而且服务器上一般不用图形)
命令 | 作用 |
---|---|
init 0 | 关机(poweroff是关机并断电) |
init 6 | 重启(reboot) |
init 3 | 切换到字符模式(占用内存较小,适用于工作环境) |
init 5 | 切换到图形模式(类似于windows系统的桌面,占用内存更大) |
startx | (在字符模式下执行)与init 5效果相似但不是模式切换,当前模式还是字符模式(只是打开了一个类似图形模式的“软件”而已) |
runlevel | 用于查看运行模式 |
“5”表示当前的模式(图形模式),“N”表示之前无模式(即开机时即是“5”模式);
“3”表示当前的模式(字符模式),“5”表示之前是图形模式(即现在的模式是从“5”模式转换过来的);
命令 | 作用 |
---|---|
Ctrl+Alt+F2 | 在图形模式下临时切换到字符界面(未改变模式)Ctrl+Alt+F1 切换回来 |
Ctrl+Alt+(F2、F3、F4、F5、F6) | 都可以,可以分别登录不同的用户 |
chvt 2 | 相当于Ctrl+Alt+F2(适用于前者不能用时) |
tty | 查看当前是F几 |
Whoami | 查看当前用户是谁 |
nmcli connection modify ens33 connection.autoconnect yes | 网络连接 |
Id -u | 查看当前用户的id(如果是0就是管理员,非0就是普通用户) |
cat /etc/centos-release | 查看当前版本 |
lscpu | 查看CPU型号 |
hostname | 查看主机名(只显示最前面的主机名) |
echo $SHELL | 查看当前所用的shell类型(一般情况都是bash类型) |
- cd(change directory)命令切换到指定的目录,并把它作为工作目录:
命令 | 作用 |
---|---|
cd | 返回用户主目录,并把它作为工作目录 |
cd | 目录名称 改变现行目录到指定目录 |
cd . . | 返回到工作目录的父目录,并把它作为工作目录 |
cd / | 进到根目录 |
cd - | 切换到上一个目录 |
命令 | 作用 |
---|---|
exit | 返回上一层,如果在最初始层则直接退出(logout)(快捷键Ctrl+D) |
Ctrl+Alt+(F2、F3、F4、F5、F6) | 都可以,可以分别登录不同的用户 |
clear | (Ctrl+L)清屏 |
rm | 后面跟文件名可删除一个或多个指定文件 (之后输入Y表示(yes);N表示(no)) |
rm -f | 后面跟文件名无需询问直接删除 |
PS1="[\e[1;5;41;33m][\u@\h \w]\$[\e[0m]"
(其中不同位置的数字分别对应不同的效果,可用于区分)
-
nano /etc/profile.d/env.sh(nano命令,打开文件)
-
alias 用于修改别名(但只是临时的,如果想要永久保存就存在文件中,见上条)(直接输入alias以查看修改历史)
-
内部命令 . 文件名(“.”+“文件名”可以使其立即生效,无需重启直接读取文件内容放入到内存中)
-
连接两台设备(screen)(远程协助)
第一台设备: screen -S help(随便起一个名)
第二台设备: screen -x help(输入上面的名字) (可多人同时连接)
退出并关闭远程对话: exit
显示已开启的对话: screen -ls
恢复某screen对话: screen -r
命令 | 作用 |
---|---|
df | 查看挂载分区 |
lsblk | 硬盘的分区对应关系 |
在Linux中查询帮助(重点)
- 获取帮助的能力决定了技术能力
- 多层次的帮助
- 例如:1.whatis + rm(命令名称)可查询某命令的用途
2.command --help
3.man and info
4./usr/share/doc/
5.Red Hat documentation
6.其他网站搜索 - 内部命令:help COMMAND或 man bash
- 外部命令:
(1) COMMAND - -help
COMMAND - -h
(2)使用手册(manual)
man COMMAND
(3)信息页
info COMMAND
(4)程序自身的帮助文档
README
INSTALL
(5)程序官方文档
官方文档 :Documentation
bash的快捷键
- Ctrl + l 清屏,相当于clear命令
- Ctrl + o 执行当前命令,并重新显示本命令
- Ctrl + s 阻止屏幕输出,锁定
- Ctrl + q 允许屏幕输出
- Ctrl + c 终止命令 //使命令终止
- Ctrl + z 挂起命令
- Ctrl + a 光标移到命令行首,相当于Home
- Ctrl + e 光标移到命令行尾,相当于End
- Ctrl + f 光标向右移动一个字符
- Ctrl + b 光标向左移动一个字符
- Alt + r 删除当前整行
Linux文件管理
文件命名规则
(1)文件名最长255字节
(2)包括路径在内文件名称最长4095个字节
(3)蓝色–>目录;绿色–>可执行文件;红色–>压缩文件;浅蓝色–>链接文件(软链接);灰色–>其他文件
(nano /etc/DIR_COLORS可以查看颜色命令方式)
(4)除了斜杠和NUL,所有字符都有效。但使用特殊字符的目录名和文件不推荐使用,有些字符需要引号来引用它们
命令 | 作用 |
---|---|
touch | 之后跟一个或多个文件名称用于建立文件(不同后缀对应的文件类型不同,体现在颜色) |
touch {a. .z} | 建立 a~z 26个文件 |
- 问:如何建立一个名为 -a 的文件?
touch ‘-a’
touch “-a”这几种写法会使“ - ”被看作是命令来处理
touch “/-a”
正确方法:touch - - -a //在当前目录下建立
删除方法:rm - - -a
还有: touch . /-a //相对路径在当前文件夹下建立
touch /data/-a //绝对路径下建立
删除方式同上。
命令 | 作用 |
---|---|
pwd( -L) | 显示当前工作目录(默认) |
pwd -P | 显示真实物理路径 |
stat |
相对路径和绝对路径
- 绝对路径:
1.以正斜杠开始
2.完整的文件的位置路径
3.可用于任何想指定一个文件名的时候 - 相对路径:
1.不以斜线开始
2.指定相对于当前工作目录或某目录的位置
3.可以作为一个简短的形式指定一个文件名 - 基名: basename
- 目录名: dirname
- ls的作用(列出目录内容)
命令 | 作用 |
---|---|
ls --help | 查找ls口令 |
ls -a | 包含隐藏文件 |
ls -l | 显示额外信息 |
ls -R | 目录递归通过 (常用) |
ls -ld | 目录和符号链接信息 |
ls -1 | 文件分行显示 |
ls -S | 按从大到小排序 |
ls -t | 按mtime排序 |
ls -u | 配合-t选项,显示并按atime从新到旧排序 |
ls -U | 按目录存放顺序显示 |
ls -X | 按文件后缀排序 |
文件通配符
例:(1) * 的用法:
(2) ?的用法:而‘ ?’是替代任意一个 字符。
问:如何查找以‘ . ’开头的文件?
错误示范:ls .*
//此时所展示的包括副目录下的所有文件 (即 . .: )
正确示范:ls .[^.]* //此时会进到符合条件的目录下
优化:ls .[^.]* -d //-d 列出目录本身而不是目录的内容
-
cp 复制文件
[格式] $ cp 文件名1 文件名2
[描述] cp命令进行文件“文件名1”的复制拷贝,拷贝件称为“文件名2”
[注释] 如果你将一文件拷贝到已存在的文件中,那么现存文件的内容会被改写。一般状态下不会显示复制过程,若要显示复制过程,则加入-v参数可显示命令执行过程。加入“-R”参数可同时复制目录下的所有文件及子目录。
[举例] 为将文件从“this”拷贝到“that”中,请输入命令cp this that<CR> -
mv 移动或重新命名文件和目录
[格式] $mv 文件名1 文件名2
$mv 文件名…directory
$mv directory directory
[描述] mv命令的
第1种[格式]重新命名指定的普通文件;
第2种[格式]将指定的普通文件移到指定目录;
第3种[格式]重新命名带指定名的指定目录,或如果第2个目录名是1个现存目录,那么就把第1个指定目录移到它里面。
[举例] 下面的命令将普通文件“文件名1”和“文件名2”移到目录“directory.1”中:
mv 文件名1 文件名2 directory.1
下面这条命令将工作目录中其名以“文件名”开头的所有文件移到目录“ directory.1”中:
mv file* directory.1
下面这条命令不仅重新命名目录“index”,而且把它从你的工作目录移到目录“/usr/ishmael/book”中。然而,如果“/usr/ishmael/book/index” 是1个现存目录,那么该命令将把“directory.1”移到其中,而不变更名字。
mv directory.1 /usr/ishmael/book/I
重导与管道
重导(redirect)可将某命令的结果输出到文件中,它有两种命令:“>”和“>>”。“>”可将结果输出到文件中,该文件原有的内容会被删除:“>>”则将结果附加到文件中,原文件内容不会被清除。范例如下:
[tony@free tony]$ ls –a>dir.txt ← 将ls –a命令执行结果输出到dir.txt文件。
[tony@free tony]$ cat data1.txt >> data2.txt ← 将 data1.txt 内容附加到data2.txt文件之后。
通道(pipe)命令的符号是“|”,可将某命令的结果输出给另一命令,以下范例将ls命令的输出结果传给grep命令过滤:
[tony@free etc]$ ls | grep conf ← 搜索并显示ls命令运行结果中包含有“conf”字符串。
-
locate
-
find