Linux概述
Linux简介
- Linux之父: 林纳斯?托瓦兹(Linus Torvalds)在1991年10月首次发布0.0.1版本。
- Linux的特点: 完全免费,多用户多任务,良好的可移植性,良好的界面,设备独立性,完全稳定。
- Linux体系结构: Linux内核,系统程序及运行期库,shell,应用程序(由内而外)。
- Linux发行版本: Debian,Ubuntu,Red hat,CentOS,Fedora。
- Ubuntu的发行版本:
Ubuntu是基于Debian发行版和GNOME桌面环境的一款Linux发行版, Ubuntu的由南非企业家马克·夏特沃斯(Mark Shuttleworth)所创立,开发由英国Canonical有限公司主导。 - Linux应用领域: 服务器,桌面应用,嵌入式应用。
网络与配置
- tools安装
方法一:VMware虚拟机——>VMware tools安装。 方法二:ifconfig 工具安装。 命令:sudo apt install net-tools 或sudo apt-get update 。 - VMware网络配置:
桥接模式:将虚拟机直接连接到外部网络。 NAT模式:与虚拟机共享主机IP地址。 仅主机模式:在装用网络内连接虚拟机。 - SSH配置:
检测网络是否通畅:ping [网址(如:www.baidu.com)] 远程连接检查ssh是否安装:ssh localhost 安装ssh:sudo apt install openssh-serve 开启ssh:sudo /etc/init.d/ssh start 查看是否正确启动:ps e|grep ssh
开发工具
- Vi编辑器
Vi编辑器的三种模式:命令模式、插入模式、底行模式。 1、命令→插入的命令 i ???光标所在字符前开始插入。 a ???光标所在字符后开始插入。 o ???光标所在行的下面另起一新行插入。 I ???光标所在行的行首开始插入,如果行首有空格则在空格之后插入。 A ???光标所在行的行尾开始插入。 O ???光标所在行的上面一行开始插入。 S ???删除光标所在行并插入。 2、插入→命令的命令???esc 3、底行→命令的命令???自动切换(删除键) 4、命令→底行:???:或/ 5、命令模式下的命令: kjgl ???对应上下左右。 x ???删除光标所在的单个字符。 dd ???删除光标所在的当前行。 n+dd ???删除包括光标所在行的后边n行内容。 d+$ ???删除光标位置到行尾的所有内容。 yy ???复制当前行。 p ???粘贴。 6、底行模式下的命令 :q ???退出vi编辑器。 :w ???保存编辑后的内容。 :wq ???保存并退出vi编辑器。 :q! ???强行退出vi编辑器。 :wq! ???强制保存文件并退出vi编辑器。 ?? 刚进入Vi编辑器是命令模式。vim相比vi更高级,是vi升级版,更适用于coding(编码)。 - GCC编辑器
GCC编辑过程分为四个步骤,分别是-E 预处理,-S 编译,-o 汇编和连接。 单文件编译 :gcc [可执行文件名] 文件编译并指定可执行文件名:gcc -o [编辑文件] [可执行文件名]
Linux基础操作
- X窗口系统(基于X的桌面环境)
KDE桌面环境 GNOME桌面环境 Xfce桌面环境 lxde桌面环境 Xorg桌面环境 注释:Ubuntu使用的桌面环境就是GNOME桌面环境。 - Gedit文本编辑器
简介:类似Windows文本,但优于Windows文本。 - 命令行界面
简介:Bash命令处理器类似于Windows的cmd。 - 终端中获取帮助
① help命令: 查看内建命令的作用和使用方法。 help 命令名 ② 帮助选项: 查看外部命令的帮助文档。 命令名 --help ③ man命令: 查看在线文档帮助 man 命令名 注释:q 退出man。 - Nano编辑器
输入nano 直接打开。输入N 不会保存,上面有使用快捷键,ctrl键组合使用。 nano 文件名 :打开文件。
文件系统基础
文件系统概述
- 硬件组成及分区
硬盘:机械硬盘和固态硬盘。 机械硬盘:由盘片、磁头、主轴、电机、机械臂等几个部分组成。 固态硬盘:具有低功耗、无噪音、抗震动等特点,读写速度远高于传统硬盘。 - 常见的文件系统
FAT文件系统:能够支持4GB的单个文件,最大2TB的硬盘。 NTFS文件系统:单个文件最大支持2TB。 EXT系列文件系统:EXT4单个文件最大支持16TB,ext4是Linux默认文件系统。 VFS文件系统:Linux引入的虚拟文件系统。 其他文件系统:MINIX、UMSDOS、MSDES、FAT32、NTFS、PROC、STUB、NCP、HPFS、AFFS以及UFS等多种文件系统。
目录与路径
- 文件系统层次结构标准: FHS 3.0
- 目录:即文件夹。Ubuntu只有一个根目录(目录树起点)
- 特殊目录符号:
. 当前目录,.. 上层目录,~ 当前账户主目录,- 上一个工作目录,~ accountaccount账户的。 - 相对路劲和绝对路径: 相对路径不从根开始
./ ,绝对路径直接从根开始/ 。 - PATH环境变量:
echo $PATH - cd切换目录:
cd [路径]
目录管理(操作)
- 显示当前目录的绝对路径:
pwd - ls命令
语法格式:ls [选项] [参数] 作用:查看目录与文件。 常用选项: -l ???显示当前目录下文件详细信息。 -h ???显示转换之后的大小。 -a ???显示当前目录下的全部文件(包含隐藏文件)。 -d ???查看目录属性。 -t ???按创建时间顺序列出文件。 -i ???输出问价你的inode编号。 -R ???列出当前目录下的所有文件信息,并以递归方式显示各个子目录的文件和子目录信息。 注释:ls 默认打印当前路径下的文件名,. 表示当前目录,.. 表示上一级目录。 - mkdir命令
语法格式:mkdir [选项] 参数 作用:创建文件夹(直接后缀文件名:创建一个当前目录下目录)。 常用选项: -p ???可以一次性创建多层目录(如mkdir -p a/b/c )。 -v ???查看文件创建过程。 - cp命令
语法格式:cp [选项] 源文件或目录 目标目录 作用:复制文件或目录。 常用选项: -r ???递归处理,复制源目录所有内容(大小R都行)。 -p ???复制的同时复制其所有文件属性。 -f ???强行复制文件或目录,无论目的文件或目录是否已经存在。 -s ???创建快捷方式。 注释:目标目录可以从命名,且必须复制的是当前目录下的目录或源文件。 - mv命令
语法格式:mv 源文件或目录 目标目录 作用:移动文件或目录,也可以用来重命名。 重命名:mv a.txt b.txt 移动:mv b.txt ../ 移动且重命名:mv b.txt ../a.txt 注意:可以用 mv xx /tmp 的方式来将文件放入临时文件夹,系统重启后会自动删除。 (rm命令太危险,尽量不要用rm命令删除) - rm命令
语法格式:rm [选项] 文件或目录 作用:删除文件或目录。 常用选项: -f ???强制删除文件或目录。 -r ???用来删除文件或目录。 -i ???在删除文件或目录时对要删除的额呢绒逐一进行确认(y/n)。
文件管理
- 文件类型
- 普通文件:按照文件内容,大致可以分为:纯文本文档、二进制文件、数据格式文件。 d 目录:(directory)文件夹。 l 连接文件:(link)快捷方式。 b 块设备:(block)硬盘、U盘、SD卡等设备。 c 字符设备:(character)一些串口端口的接口设备,如鼠标、键盘等。 s 套接字:(sockets)数据接口文件,常用在网络上的数据连接。 p 管道:(pipe)主要目的在于解决多个程序同时访问一个文件造成的错误问题,是一种先进先出的队列文件。 查看文件类型: ① ls -l|grep -w newyear ② file newyear ?? ls前的d和file的directory是文件类型,newyear指定的文件夹名。 - 管道
最基本的进程通信机制,实质是由内核管理的一个缓冲区。 Linux操作系统有匿名管道、命名管道两种管道。 | ???匿名管道,使用如下:ls -l|grep -w newtyear 。 作用:连接两个及以上命令,将前一个命令的输出导入第二命令作为输出参数,起辅助作用。 FIFO ???命名管道,使用如下:mkfifo teud1_fifo (创建命名管道)。 - which命令
作用:只能查找命令绝对路径位置。 语法格式:which 命令
三种搜索命令
- file命令
语法格式:file [选项] 文件名 作用:查看文件的类型和信息。 -b ???列出辨识结果时,不显示文件名称。 -c ???详细显示指令执行过程。 -L ???直接显示符号连接所指向的文件的类别。 -v ???显示版本信息。 -z ???尝试去解读压缩文件的内容。 - grep命令
语法格式:grep [选项] "模式" [文件] 作用:搜索筛选命令(关键字即模糊查找)。 常用选项: -a ???不要忽略二进制数据。 -b ???除显示查找到的行号外还显示匹配字符所在的整个文档的位置。 -c ???显示匹配关键词的内容的行数合计。 -e ???指定关键词,使用该选项可以指定多个关键词。 -E ???指定正则表达式。 -i ???查找时不区分大小写。 -n ???显示匹配行的行号。 -w ???显示和关键词完全匹配的内容。 -o ???只输出文件匹配到的内容。 - locate命令
语法格式:locate 文件名 -c ???输出超找到的文件数。 -l ???输出查找到的前n个文件。 注释:可以模糊查询,且搜索到的是绝对路径。 - find命令
语法格式:find 路径范围 查找规则 [查找规则的值] [查找完执行的action] 作用:借助搜索关键字(文件名、文件大小、文件所有者)查找文件或目录。 示例:find ~ -mtime -3 | grep yuts 常用查找规则(有55个之多): -name ???按照文件名称进行搜索(支持模糊搜索) -type ???按照文件的类型进行搜索 -mitime ???按照文件修改时间进行搜索。 常用查找完执行的action: -print ???默认情况下的动作。 -ls ???查找到后用ls显示出来。 -ok [commend] ???查找后执行命令的时候询问用户是否执行。 -exec[commend] ???查找后执行命令的时候不询问用户,直接执行。 注释:相比locate功能更加强大,使用更加灵活。 文档类型:- 表示文件(在使用find的时候需要用f来替换),d 表示文件夹。
三种创建文件的方式
- touch命令
语法格式:touch 参数 (文件名) touch a.txt :创建文件。 若a.txt 存在就更新修改时间,不存在就创建文件。 - 文本编辑器创建
nano 文件名 直接打开并创建文件。 - 重定向方式创建文件
Linux提供了两种操作符输出重定向。 > ????当目标文件已存在时,> 输出的内容将覆盖源文件中已有的内容。 >> ??当目标文件已存在时,>> 会将新内容追加到源文件内容的后面。 作用:关闭终端,执行的命令也消失重定向就是创建一个文件并保存命令执行结果。
显示文件内容
- cat命令
语法格式:cat 文件名 作用:打印文件内容到输出设备。 语法格式:cat 文件名 文件名>指定文件 作用:拼接两个文件,重定向把拼接内容存入指定文件。 - more命令
语法格式:more 文件 作用:分页显示文件内容。 常用选项: -d ???输出内容时同时显示常用的快捷键 -f ???计算逻辑行数,而非屏幕行数 -l ???屏蔽换页后的暂停 -c ???不滚动,显示文本并清理行末 -p ???不滚动,清除屏幕并显示文本 -s ???将多行空行压缩为一行 -u ???屏蔽下划线 -<数字> ???指定每屏显示的行数 +<数字> ???从指定行开始显示文件 +/<字符串> ???从匹配搜索字符串的位置开始显示文件 - less命令
语法格式:less [参数] 文件 作用:less与more类似,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。 常用快捷键 空格键(Space/f):显示下一屏内容; 回车键(Enter):显示下一行内容; 斜线(/):斜线后输入一串字符串,可以在文本中查找下一个匹配的字符串位置并显示; H键(Help):显示帮助信息; B键(Back):显示上一屏的内容; Q键(quit):退出more命令。 常用指令 e或E或j或N或回车:向下滚动一行; y或Y或k或K或^P:向上滚动一行; f或F或V或SPACE:向下滚动一屏; b或^B或ESC-v:向上滚动一屏; SPACE:向下滚动一屏,即使文件已经结束,继续滚动; d或^D:向下滚动半屏; u或^U:向上滚动半屏; RightArrow:文档内容整体左移,显示右边部分内容,适用于一行内容过长显示不全时; LeftArrow:文档内容整体右移,和上述方向相反。 - head命令
语法格式:head [选项] 行数 显示的文件名 常用选项: -n ???指定输出的行数; -c ???指定输出的字符数。 - tail命令
语法格式:tail [选项] 行数 文件名称 常用选项: -n ???指定输出的行数,指定输出的行数(文件的最后几行)。 -f ???如果目标文件有新的内容输入,则将新增加的内容输出。 作用:前者输出文件前几行内容,后者输出文件后几行内容。
文件压缩与还原
- gzip压缩命令
语法格式:gzip [选项] 文件 /gunzip [选项] 压缩包包名 (这两种命令都一样) 常用选项: -c ???将压缩的内容输出到屏幕上,源文件保持不变,可以通过重定向处理输出的内容。 -d ???解压缩文件。 -l ???输出压缩包内存存储的原始文件信息吗,如解压缩后的文件名、压缩率等。 -# ???指定压缩等级,从1-9,压缩率以此增大,速度从此减慢,默认压缩等级为6。 - zip压缩命令
语法格式:zip [-r] [压缩后文件名称] 文件或目录 常用选项: -c ???替每个被压缩的文件加上注释 -d ???从压缩文件内删除指定的文件 -L ???显示版权信息 -<> ???压缩效率是一个介于1-9的数值 - unzip压缩命令
语法格式:unzip [选项] 压缩包包名 常用选项: -c ???将解压缩的结果显示到屏幕上,并对字符做合适的转换。 -d<目录> ???指定文件解压缩后所要存储的目录。 -l ???显示压缩文件内所包含的文件。 -L ???将压缩文件中的全部内部文件名改为小写。 - bzip命令
出命令名不一样,使用方法上与gzip基本保持一致,命令选项基本一致。 - tar归档命令
语法格式:tar [选项] 打包压缩后的文件名 被压缩的源文件 作用:前面的压缩只能对单个文件进行压缩,这个可以将多个文件合并为一个压缩包。 注意:没有压缩功能,结合使用才能压缩打包。 常用选项: -c ???新建打包文件。 -z ???通过gzip的支持进行压缩/解压缩。 -v ???输出打包过程中正在处理的文件名。 -f ???指定压缩后的文件名。 -t ???查看打包文件中包含哪些文件。 -x ???解包文件包。 -j ???通过bzip2的支持进行压缩/解压缩。 -C ???指定解包目标路径。 -p ???打包过程中保留源文件的属性和权限。
用户与权限
用户及用户组
- Linux系统中与用户相关的概念: 用户、文件所有者、用户组、文件所属组、其他人、root。
- 用户: 单个账号密码用户。
- 文件所有者: 文件所有者指文件拥有者。
- 用户组: 管理员(root)、普通用户、系统用户。
① 管理员用户id(uid)为0;系统用户是保障系统运行的用户,其用户id为1~1000,其它为普通用户。 ② 可以根据需要对普通用户进行分组,处在同一个用户组的用户拥有类似的功能。 ③ 用户组信息存放在 /etc/group文件中 ④ root也是Linux系统中的用户,属于用户组root,是一个超级用户。 注释:这一章命令基本都在root用户下执行。 - 文件所属组: 文件所属组与用户组相呼应。
- 查看用户(组)
cat /etc/group 查看用户组。 cat /etc/passwd 查看密码。 cat /etc/gshadow 查看用户具体信息。
用户切换
- sudo命令
作用:① 切换用户。② 执行需要系统管理权限的指令或操作。 注意: ① sudo命令只需要知道主机的账户密码即可使用。 ② 需要权限时加在命令最前面使用。 ③ sudo命令并非所有用户都用,/etc/sudoers指定用户可用。 常用选项: -b ???在后台执行命令。 -h ???显示帮助。 -H ???将HOME环境变量设置新身份的HOME环境变量。 -k ???结束密码的有效期限。 -l ???列出目前用户可执行与无法执行的命令。 -p ???改变询问密码的提示符号。 -s ???执行指定的shell。 -u ???以指定的用户作为新的身份,即切换指定用户。默认切换到root用户。 注释:sudo命令并非所有用户都用,/etc/sudores指定用户可用。 - su命令
语法规则:su [选项] 用户名 常用选项: -c :该选项后接命令,执行完该命令后退出登录的用户; -l :该选项输入要切换到的用户,代表切换到该用户; -m :不同用户默认的shell可能不相同,用户切换时,也会切换到该用户默认的shell环境,该选项则保持在当前shell环境。 说明: ①使用su命令切换用户时,需要输入的是目标用户的密码。 ②选项与用户名缺省的情况下,只切换用户,但不改变用户环境。 ③由root用户切换到其它用户,可以不输入密码。 ④在命令行输入“exit”,可退出目标用户。 su与sudo的区别: ①可以将用户切换为root用户。 ②进行任何身份的切换。 su与su -的区别: 都可以切换到root,但是前者切换到根目录,后者切换到/home/yuts目录下。 - su/sudo总结
① sudo命令可以视为受限的su,它可以使“部分”用户使用其它用户的身份执行命令。 ② 在使用sudo命令之前,需要通过修改/etc/sudoers文件,为当前用户配置要使用的权限。su命令不需要修改。 ③ /etc/sudoers文件有一定的语法规范,为避免因修改后出现语法错误,应使用sudo visudo 命令打开文件进行修改。 ④ 如下所示为/etc/sudoers文件中的一条配置信息,该信息设置了root用户可能任何情境下执行任何命令。 命令 用户名 ALL=(ALL) ALL
用户管理
- 新增用户
语法格式:useradd [选项] 用户名 常用选项: -d ???指定用户登入时的目录。 -c ???指定账户的备注文字。 -e ???指定账号的有效期限。 -f ???缓冲天数,密码过期时在指定天数后关闭该账号。 -g ???指定用户所属组。 -G ???指定用户所属的附加用户组。 -m ???自动建立用户的登入目录。 -r ???创建系统账号。 -s ???指定用户的登录shell。 -u ???指定用户的用户ID,若添加-o选项,则用户ID可与其它用户重复。 注释: ① 使用语法前加上sudo。 ② 新添加用户默认没有密码,需要修改密码之后再登录使用。 ③ 添加用户(添加的第一个用户),其UID是1001,所属用户组GID也是1001。 - 查看用户信息
id 显示当前用户信息。 语法格式:用户名 [选项] 常用选项: -g ???显示初始用户组GID。 -G ???显示所有用户组GID。 -u ???显示用户UID。 -n ???与u、g、G选项配合输出用户名称。 - 三种修改用户信息
passwd命令 语法格式:passwd [选项] 用户名 作用:更改用户密码、锁定用户等操作。 实例:sudo passwd yuts 创建修改yuts用户密码。 usermod命令 语法格式:usermod [选项] 用户名 作用:修改用户账号信息,即修改账号的属性,如用户ID、主目录、用户组、登陆shell等。 常用选项: -l ???lock,将shadow文件中相应用户的密码前加上“!”,达到锁定账户的作用 -u ???将shadow文件中相应用户的密码前“!”去掉,达到取消锁定账户的作用; -n ???选项后接天数,修改shadow文件的第4字段; -x ???选项后接天数,修改shadow文件的第5字段; -w ???选项后接天数,修改shadow文件的第6字段; -i ???选项后接日期,修改shadow文件的第7字段,密码失效日期。 chfn命令 直接输入chfn回车使用。 ①不仅可以用来修改用户的信息。 ②而且其采用了交互的方式进行修改。 ③使用方便简洁。 ④不需要管理员权限,普通用户就可使用。 - 删除用户
语法格式:userdel 用户名 - 有效用户组和初始化用户组
不同的用户组可以包含同一个账户,但是每个用户的信息中只会出现一个GID。 因此对某个用户来说,其所属的用户组是有区别的,分为有效用户组和初始用户组。 passwd文件每个用户的第4字段填写的GID,就是该用户的初始用户组,其他包含该用户的用户组为该用户的有效用户组。 通常,用户登录后会自动获取初始用户组的所有权限,所以并不需要将该用户添加到group文件中初始用户组第4项的位置。
用户组管理
创建账户时未指定,默认用户账号名作为该用户的用户组, 并将与该账号同名的用户组同步到/etc/group 文件中。
- 添加用户组
语法格式:group [选项] 用户组名 常用选项: -g ???指定新建用户组的ID -f ???创建系统用户组,组ID取值范围为1~499 -o ???允许创建组ID已存在的用户组 - 删除用户组
语法格式:groupdel 用户组名 注释:初始用户组无法被删除。
文件权限
- 文件属性
文件权限 文件权限由10个字符组成,如“-rw-r–r--” 第一个字符表示文件类型 2-4位字符表示文件所属用户的权限,常见的为rwx三个权限:可读、可写、可执行 5-7位字符代表文件所属用户组权限 8-10位字符代表除了文件所属用户及用户组外,其它用户所拥有的权限 - 权限的意义
文件权限的意义 对Linux操作系统中文件安全、系统安全、隐私保护等起到了相当重要的作用。 权限对文件的意义 r:read读权限,用于读取文本文件的内容; w:write写权限,如果拥有该权限,就可以对文件进行编辑、修改、新增、删除内容等操作,但不一定能删除该文件; x:execute执行权限,如果该文件是应用程序、脚本等文件,当前用户拥有该文件的可执行权限时,可以实现该程序的执行。 权限对目录的意义 r:read读取目录结构权限。如果当前用户并没有对该目录的r权限,则ls命令无法输出该目录的目录结构及内部的文件名; w:write更改目录结构权限。在指定目录中执行文件或目录的增加、删除、复制、移动等操作; x:execute访问目录权限。代表该目录是否可以访问。比如,常用的cd命令,如果拥有对某目录的访问权限,则可以用cd命令切换工作目录到该目录下,否则不可以。 - 修改所属用户
chgrp命令 语法格式:chgrp 目标用户组 被更改的文件名 作用:修改文件所属用户组。 chown命令 语法格式:chown 目标用户组 文件 作用:改变文件所属用户。 - 修改文件权限
更改权限有两种方式:数字的方式,字符的方式。 数字的方法 语法格式:chmod 对应数字权限 目标文件 解析: 字符的方式 语法格式:chmod [选项] 目标文件 用户符号 u :user文件所属用户。 g :group文件所属用户组。 o :other其他用户。 a :all所有用户。 设置符号 + :文件增加权限。 - :文件去除权限。 = :给文件设置权限。 权限符号 r :可读权限。 w :可编辑权限。 x :可执行权限。 示例:sudo chmod ug-x yuts.txt yuts.txt所属用户和用户组剪掉可执行权限。 注释:前面要不要sudo看用户权限。 - 为新增用户创建主目录
方法一:创建用户主目录直接在home目录下创建目录。 命令:mkdir 目录 方法二:直接复制"/etc/skel"到指定位置,采用复制模板目录的方法进行创建。 命令:sudo cp -a /etc/skel /home/yuts 更改所属用户及用户组 命令:sudo chown -R 目标用户:目标用户组 /home/yuts -R 选项递归更改目录所属用户及用户组。 /home/yuts 指定被更改的目录。
程序与进程管理
任务管理
- 任务管理的意义
在图形界面环境中,如果需要同时执行多个命令,可以采用开启多个终端的做法来实现; 在字符界面环境中只有一个终端。此时执行两个nano编辑器是无法再打开一个终端的, Linux操作系统提供了很多实用的命令来实现任务管理,也可以将运行的程序在前台和后台之间切换, 达到多任务同时运行的目的。 - 后台执行程序
作用:在执行一个耗时较长的程序同时想继续做其它工作可以使用& 符号将程序直接放到后台执行。 例如:tar -zcvf yuts.gz.tar > /tmp/tar.log 2>&1 & 分析: - 后台暂停程序
ctrl+z :后台暂停程序。 fg :返回继续编辑,后面的数(工作号码)可以指定返回进程。 注释:若不指定工作号码则直接将最后一次切换到后台程序切换到前台。 ctrl+c :结束程序。 任务号码,"+":表示最后切换到后台的程序。 jobs命令 语法格式:jobs [选项] 作用:查看所有后台程序,可以不带选项直接使用。 常用选项: -l ???选项可以列出所有程序的PID进程号。 -r ???选项可以列出所有正在运行的后台程序,此处后台并没有正在运行的程序。 -s ???选项可以列出所有已暂停的后台程序。 注释:使用jobs命令可以列出所有后台的程序,无论是否运行。 - 启动后台暂停程序
bg :把停止的程序在后台启动,后接数字(工作号码)指定进程程序。 - 删除后台程序
kill命令 语法格式:kill [选项] 作用:删除(杀死)后台出错或其他原因不希望其继续运行的程序,kill可以直接结束掉某个进程。 常用选项: -l ???列出目前kill命令可用的信号(signal)。 -1 ???对应"SIGHUP"信号,重新读取一次参数配置。 -2 ???对应"",执行和"ctrl+c"相同的操作。 -9 ???对应"",强制删除(杀死)一个程序。 -15 ???对应"",信号,以正常方式终止一个人任务,也是kill命令的默认值。 %1 ???如果直接写数字,kill命令默认会杀死指定PID的程序,加上%代表杀死指定的后台程序。 - 程序后台脱机运行
screen命令 语法格式:screen [规则] 环境名 示例:screen -S wget 创建一个名为wget的screen环境。 wget Ubuntu 下载链接 执行wget命令运行下载的任务。 注释:ctrl+A+Z 退出screen环境,提示已停止并不是指下载任务停止, 是指screen命令切换到后台并停止;此时可以关闭终端,而下载任务不会暂停。 screen -r wget 恢复创建的wget环境。 作用:把执行的命令放到新开的一个中盾后台脱机运行,以便下次直接使用不需要再执行。 常用选项: -A ???将所有的视窗都调整为目前终端机的大小。 -d ???将指定的screen作业离线。 -r ???恢复离线的screen作业。 -R ???先试图恢复离线的作业。若找不到离线的作业,即建立新的screen环境。 -S ???指定screen环境的名称。 -x ???恢复之前离线的screen环境。 -ls或--list ???显示目前所有的screen环境。
进程管理
- 查看进程
ps命令 命令格式:ps [选项] 作用:将命令执行一瞬间的进程运行情况获取并显示出来。 常用选项: -A ???显示所有程序。 -a ???显示现行终端机下的所有程序,包括其他用户的程序。 -f ???显示与终端无关的进程。 -l ???详细显示进程信息 c ???列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 -e ???此参数的效果和指定"A"参数相同。 e ???列出程序时,显示每个程序所使用的环境变量。 f ???用ASCII字符显示树状结构,表达程序间的相互关系。 -H ???显示树状结构,表示程序间的相互关系。 -N ???显示所有的程序,除了执行ps指令终端机下的程序之外。 s ???采用程序信号的格式显示程序状况。 S ???列出程序时,包括已中断的子程序资料。 -t <终端机编号> ???指定终端机编号,并列出属于该终端机的程序的状况。 u ???以用户为主的格式来显示程序状况。 x ???显示所有程序,不以终端机来区分。 -p ???同时输出进程PID。 pstree命令 作用:可以以树形显示所有进程与父进程之间的关系。 语法格式与选项与ps一致。 top命令 注意:使用top 进入执行环境,使用下面快捷键进行交互。 ? ???显示top执行过程中可以输入的按键。 P ???按CPU资源占有率进行排序。 M ???按内存资源占有率进行排序。 N ???以PID进行排序。 T ???由该进程使用CPU的累计时间进行排序。 q ???退出top命令。 区别: ps和pstree只能静态的查看某个时间点的状态,而top则可以动态的、可定时刷新、可交互的查看当前系统的状态。 - 关闭进程
kill命令 关闭进程的过程与杀死后台进程的过程是一样的,都是使用kill命令, 不同的是杀死后台进程采用的是工作号码,而关闭进程使用的是进程的PID。 - 进程优先级
Linux操作系统中优先级主要有内核优先级和NI两个值构成。 其中内核优先级一般来说用户是不能修改的, 但是可以通过调整NI值来达到调整优先级的目的。 nice命令 语法格式:nice [选项] 需要设置的NI值 作用:更改新执行的命令NI值。 常用选项: -n adjustment/-adjustment/--adjustment=adjustment ???皆为将该原有优先序的增加adjustment。 --help ???显示求助讯息。 --version ???显示版本资讯。 renice命令 语法格式:renice NI值 需要修改优先级的进程PID 作用:更改已经运行(调整bash)的NI值。 注释:ps进程派生自bash进程,当bash进程优先级更改后,ps的进程优先级也自动的更改为和bash同一级别。 - 系统资源查看
free命令 语法格式:free [选项] 作用:查看内存占用(使用量)。 常用选项: -b ???以Byte为单位显示信息。 -k ???以KB为单位显示信息。 -m ???以MB为单位显示信息。 -g ???以GB为单位显示信息。 uname命令 语法格式:uname [选项] 作用:查看系统与内核相关信息。 常用选项: -s ???内核名称。 -r ???内核版本。 -m ???硬件信息,主要是CPU架构信息,如i386、x86_64等。 -a ???显示所有信息,包括以上选项输出的内容。 uptime命令 作用:直接输入uptime ,查看系统启动时间和工作负载。
计划任务管理
- 单词计划管理
at命令 语法格式:at [选项] 时间参数 作用:创建单次任务(执行一次,自动删除)。 常用选项: -m ???当at命令指定的任务完成后,以email的方式通知用户任务完成。 -l ???查看计划任务(atq 也可以查看计划任务)。 -d ???删除计划任务,后接任务号码(atrm 任务号码 也可以删除计划任务)。 -c ???显示某项任务的实际命令内容。 时间参数: HH: MM:时间格式,如13:00,在13:00时执行任务,如果设置任务时已经超过13:00,则明天执行; HH: MM YYYY-mm-dd:日期加时间的格式,在指定日期的指定时间执行任务; HH: MM[am|pm] + 数字 [minutes|hours|days|weeks]:在某个时间点加上时间段才开始。 提示:Ctrl+D 退出。 - 循环任务管理
crontab命令 命令:crontab -e 作用:添加循环任务,修改/var/spool/cron/crontabs目录中的任务列表文件。 注意:一般默认nano编辑器,创建任务所执行的命令前面要加# 。 执行的命令示例:10 15 22 11 1 echo "yuts" > /dev/pts/0 对应的分别是分、时、日、月、星期。 - 关机期间的计划管理
anacron命令 语法格式:anacron [选项] 作用:前面只能再开始时执行,而anacron可以检测关机期间未执行的任务重新执行。 常用选项: -s ???根据时间戳判断是否需要执行,需要执行则按顺序执行。 -f ???不判断时间戳,直接顺序执行所有任务计划。 -n ???立即执行还没执行的任务。 -u ???更新时间记录文件的时间戳,不进行任何工作。 注意:anacron不具有管理任务计划的能力,只能检测crontab任务列表中的任务计划。
系统服务管理
- systemd简介
init是Unix和类Unix系统中用来产生其他所有进程的程序,init进程的进程号为1。 是Linux内核启动后第一个运行的程序,之后再由init进行加载服务、启动shell、启动图形化界面等工作。 在关机时,init又负责关闭服务等工作。 systemd是Ubuntu操作系统中负责init工作的这样一套程序, systemd提供了包括守护进程、程序库和应用软件等。 目前绝大多数Linux发行版都已经采用了systemd代替init程序。 - systemctl命令简介
systemd服务的绝大多数管理命令都由systemctl实现。 根据功能的不同systemctl可执行7大类系统管理: ① 服务单元管理指令 ② 服务单元文件管理指令 ③ 设备管理指令 ④ 工作计划管理指令 ⑤ 环境管理指令 ⑥ daemon生命周期管理指令 ⑦ 系统管理指令 systemctl命令 语法格式:systemctl [选项] 常用选项: status ???常看系统服务状态。 list-units ???列出所有运行中的服务。 list-unit-files ???列出所有可用服务。 enable ???启用服务,被启用的服务会在系统启动时自动启动。 disable ???禁用服务,被禁用的服务会在系统启动时不会自动启动。 kill ???杀死某个服务。 查看服务信息 start ???启动服务。 stop ???关闭服务。 restart ???重启服务。 - 服务配置文件说明无了
- systemctl设置开机启动任务
第1步,创建开机任务脚本 (在/etc/目录下创建) sudo nano starton.sh 创建要执行的任务。 第2步,创建启动服务 (在/lib/systemd/system目录下) cd /lib/systemd/system 创建路径。 sudo nano starton.service 创建文件。 第3步,创建启动项 sudo systemctl enable starton.service 创建启动项。 第4步,重启验证 删除开机启动项。 sudo systemctl disable starton.service 删除第三步中创建的符号链接。 sudo rm /etc/starton.sh /lib/systemd/system/starton.service 删除创建的任务脚本及服务配置文件。
Ubuntu软件包管理
软件包管理
- Ubuntu软件包管理简介
Linux操作系统主要由Linux内核和大量的软件包构成(广义)。 Linux各个发行版的软件包: ① DEB格式软件包(Debian发行版,dpkg命令管理)。 ② RPM软件包(RedHat发行版,yum,rpm命令管理) ③ TarBall格式软件包(源代码提供的,tar及其他命令生成) - 软件源
Ubuntu操作系统常用的软件包按照一定的结构存储在一组网站中,这样的网站叫软件源。 国内外网站存储与官网相同软件源信息,这样的网站叫镜像软件源。 例如:阿里、网易、搜狐等商业公司,中科大、清华、北理工大等教育机构都有Ubuntu操作系统的镜像软件源。 软件源信息保存在“/etc/apt/sources.list”文件中,如果需要更改软件源,可以直接更改该文件。 常用的软件源可以参考http://wiki.ubuntu.org.cn/index.php?title=模板:18.04source&oldid=155264链接中的内容。
dpkg命令
- dpkg简介
语法格式:dpkg [选项] 安装包名 作用:主要用于软件包的安装、卸载、打包、解包等管理操作(Debian)。 常用选项: -i ???安装本地deb格式的安装包。 --unpack ???解包本地deb格式安装包。 -P ???彻底删除指定软件包。 -p ???显示制定安装包可安装的软件版本。 -V ???检查包完整性。 -s ???显示指定软件包的详细状态。 -l ???列出所有已软件包的状态。 -L ???列出属于指定软件包的文件。 -r ???移除指定软件包。 - dpkg安装软件包
1、准备deb格式的软件包(官网或镜像获取)。 2、执行安装命令。 - dpkg删除软件包
语法:dpkg -r 安装包名 注意: ① 删除软件包属于修改系统,普通用户不能直接更改,需要在命令前加sudo命令使用超级管理员命令才行。 ② 部分安装包安装时会安装多个附属组件到系统中,卸载时需要仔细分辨其他组件一并删除,否则会有残留;同时注意不能删错 ③ -r选项只会删除软件包,不会删除配置文件,如果希望彻底删除,可以使用-P选项。 检查安装软件包详细信息 命令:dpkg -l|grep 软件名 软件包通常用三种常见的状态: ii 表示软件已安装。 iu 软件未安装成功。 rc 软件已卸载,但保留了配置文件。
apt-get命令
- apt-get简介
APT是dpkg的优化版,能自动处理包与包之间的依赖关系及维护相关配置文件,不用担心使用dpkg命令带来的依赖问题。 apt-get和apt两个命令是APT方法提供的两个常用的软件包管理命令。 apt-get是一个较早的命令,通常使用在Debian系发行版中,经过修改之后的apt-rpm命令也可以用于红帽系发行版中。 语法格式:apt-get 选项 辅助命令 常用选项: -d ???只下载软件包,不解压、不安装下载的安装包。 -f ???修复已安装软件包的依赖关系。 -y ???对于需要用户确认的请求,全部以yes作为回答。 -c ???指定apt-get命令默认配置文件之外的配置文件。 -o ???更改某一项或几项配置文件内容。 常用辅助命令: install ???安装一个或多个软件包。 update ???同步本地和软件源之间的软件包索引。 upgrade ???升级软件包。 check ???检查软件包依赖关系是否损坏。 clean ???清除软件包本地缓存。 remove ???删除指定的软件包。 autoremove ???删除指定的软件包,并处理该软件包的依赖关系。 purge ???彻底删除指定的软件包,包括配置文件等内容。 - apt-get安装软件包
sudo apt-get install 软件包名 - apt-get更新软件包
① 更新本地索引sudo apt-get update ② 更新软件sudo apt-get upgrade - apt-get删除软件包
三种删除方式 ① apt-get remove 包名 将指定包名的软件包进行删除,但是不会处理相关依赖。 ② apt-get autoremove 包名 指定包名的软件包进行删除,同时自动处理相关依赖; 如果该命令后没有指定包名,则会自动查找已安装的软件包及依赖,清理或删除废弃的依赖包。 ③apt-get purge 包名 彻底清除指定包的所有信息,包括软件包和配置信息。
snap包管理工具
- snap简介
目的: 为了解决日益严重的软件依赖问题。 介绍: snap≈容器,将软件所需要的所有的依赖和库等内容完整打包到一起, 安装时各个软件独立,并不会产生依赖关系,使程序之间更容易管理。 缺点: 是需要占用更多的磁盘空间。 snap使用软件商店(snap store)管理软件包,同样是在线管理; snap提供了软件的搜索、安装、卸载、更新等基本功能, 除此之外还提供了登录功能,可以使用户在没有root权限的情况下进行软件的安装。 语法格式:snap 辅助命令 关键词 常用辅助命令: find ???搜索指定软件包。 list ???列出系统中已安装的snap软件包。 install ???安装指定的安装包。 refresh ???更新指定的软件包,如果没有指定软件包名称,则更新所有软件包。 revert ???还原软件包到上一个版本。 remove ???删除指定软件包。 login ???登录。 logout ???退出。 buy ???购买指定软件包。 - snap搜索软件包
注意:搜索结果中可能会出现许多相关的软件包,上述结果中只是展示了最准确的那条结果。 - snap安装软件包
命令:sudo snap install 包名 - snap更新软件包
① snap refresh 包名 更新指定的名为“hello”的软件包。 ② snap refresh 一次性更新所有软件包。 注意:snap在更新软件包时,不需要先更新本地索引,snap每次更新前都会自动在软件源中查找对应包的版本信息。 - snap删除软件包
命令:sudo snap remove hello 注意:删除过程,所有信息都会在一行命令行中动态显示,若成功只会显示“helloremoved”信息,其他信息不会被保留。
TarBall格式软件包
- 源代码及可执行程序
程序员编写的程序通常以文本文件的格式进行保存,这些文本文件就是软件的源代码。 源代码通过编译后可以生成可执行文件。可执行文件是指系统可以运行的程序,通常是二进制文件。 在Windows平台上,可执行文件一般以.exe为后缀。 在Linux平台上,可执行文件并没有固定的后缀,甚至没有后缀,而是看该文件在当前用户下是否有可执行权限。 - gcc编译工具
GCC编辑过程分为四个步骤,分别是-E 预处理,-S 编译,-o 汇编和连接。 单文件编译 :gcc [可执行文件名] 文件编译并指定可执行文件名:gcc -o [编辑文件] [可执行文件名] 注意:gcc在不指定任何参数的情况下,默认将编译结果保存到a.out文件中,该文件可以直接运行。 - TarBall格式软件包安装
1、下载软件包源码 在编译源码之前,需要先下载源码才可以,通常开源软件的官方网站会有源码提供下载,如“Python3.7.0” sudo apt install wget 下载wget tar -zxvf Python-3.7.0.tgz 解压python cd Python-3.7.0/ 转目录 ls 查看 ./configure -- prefix=/usr/local/python37 2、解压软件包 通常TarBall是指由tar命令及压缩软件打包而来的压缩包,在编译之前需要先解压缩、解包才可以。 3、使用configure命令生成Makefile 每个TarBall文件中,通常都会包含有一个名为“configure”的脚本, 其作用是检测系统平台、依赖环境等信息,之后根据用户的输入的配置信息生成make命令所需的Makefile文件。 4、使用make命令编译源代码 make命令是一个管理编译过程的软件,实际上真正执行的是gcc命令对源码进行编译。 5、安装软件包依赖项 使用TarBall软件包进行软件安装,所有的依赖都需要手动进行处理, 通常软件依赖项都可以在官网中找到,最好提前进行依赖项的安装,否则在后续安装过程中会由于缺少依赖项导致安装失败。 6、使用make命令进行安装 make命令不仅可以编译源代码,还可以根据Makefile中install命令进行安装, 需要注意的是,并不是所有的Makefile中都包含“install”指令。
网络管理及安全
snap包管理工具
- ifconfig命令
作用:用户显示或配置网络设备。 安装:sudo apt-get install net-tools 语法格式:ifconfig [选项] 常用选项: -a ???列出当前系统所有可用网络接口。 up ???启用指定的网络接口。 down ???禁用指定的网络接口。 netmask ???指定当前IP网络的子网掩码。 IP地址 ???修改指定网络接口的IP地址。 - ip命令
作用:ip命令旨在取代ifconfig等命令,能够简单的执行一些网络管理任务。 语法规则:ip [选项] object [子命令] object表示ip命令操作对象。 常用选项: -h ???以方便阅读的形式输出信息。 -4 ???指定协议为IPv4。 -6 ???指定协议为IPv6。 -s ???显示详细信息。 子命令: address ???ip地址,IPv4或IPv6地址。 l2tp ???L2TP隧道协议。 link ???网络设备。 maddress ???多播地址。 route ???路由表。 rule ???路由策略。 tunnel ???隧道。 区别: ifconfig 命令和ip address 命令相比输出内容多了接收/发送数据包数量。 - route命令
语法格式:route [选项] 作用:用来显示和操作IP路由表。 常用选项: -A ???指定协议族,可以指定inet(ipv4)、inet6(ipv6)等值。 -n ???显示数字形式的IP地址。 -e ???使用netstat格式显示路由表,netstat命令将在后续章节讲解。 -net ???指定目标是一个网络。 -host ???指定的目标是一台主机。 del ???删除路由记录。 add ???添加路由记录。 gw ???设置默认网关。 dev ???路由记录对应的网络接口。 netmask ???指定目标网络的子网掩码。 - netstat命令
语法格式:netstat [选项] 作用:查看各种网络信息,较前述命令输出的信息要更详细。 常用选项: -a ???显示所有处于活动状态的套接字。 -A ???显示指定协议族的网络连接信息。 -c ???持续列出网络状态信息,刷新频率为1s。 -e ???显示更加详细的信息。 -i ???列出所有网络接口。 -l ???列出处于监听状态的套接字。 -n ???直接显示IP地址,不转换成域名。 -p ???显示使用套接字的进程ID和程序名称。 -r ???显式路由表信息。 -s ???显示每个协议的统计信息。 -t ???显示TCP/IP协议的连接信息。 -u ???显示UDP协议的连接信息。 - nslookup命令
作用:查看域名信息。 命令:nslookup www.yuts.cn - ping命令
语法格式:ping [选项] 域名或IP地址 作用:向目标主机发送ICMP包,并接受响应。 常用选项: -c count ???ping指定次数后停止ping。 -i time ???指定收发信息的间隔时间。 注释:一个域名可以对应多个ip地址的。一个域名多个ip可以实现网路调优或负载均衡,但可能会增加部署成本。
防火墙
- ufw防火墙简介
防火墙是一个由软件、硬件设备组合而成,在内网和外网之间、专用网与公网之间的保护屏障, 所有的网络信息都会经过防火墙的过滤之后再进行传输。UFW是Ubuntu系统上配置iptables防火墙的工具。 - ufw命令
语法格式:ufw [辅助命令] [参数] 常用选项: enable ???开启防火墙。 disable ???关闭防火墙。 reload ???重新加载防火墙。 default ???修改默认策略。 logging ???日志管理。 reset ???将防火墙配置恢复到初始状态。 status ???显示防火墙状态(不活动:表示禁用状态)。 show ???显示防火墙信息。 allow ???添加允许通信的规则。 deny ???添加禁止通信的规则。 reject ???添加拒绝通信的规则。 limit ???添加限制规则。 delete ???删除指定的规则。 insert ???在指定的位置插入规则。 app list ???列出使用防火墙的应用系统。 app info ???查看应用系统信息。 app update ???更新应用系统的信息。 app default ???指定应用系统默认的规则。
SSH服务
- SSH服务简介
SSH(Secure Shell)是一种通用的、功能强大的、基于软件的网络安全解决方案。 计算机每次向网络发送数据时,SSH都会自动对其进行加密。 数据到达目的地时,SSH自动对加密数据进行解密。 SSH另一项优点是为其传输的数据是经过压缩的,可以加快传输的速度。 - 配置SSH服务
1、安装openssh-server软件包 sudo apt -get install openssh-server 2、查看ssh服务是否开启 systemctl status ssh 3、添加ssh端口到防火墙允许列表 sudo ufw allow ssh - 使用Putty登录SSH服务
XFTP、Xshell等等软件都能实现登录SSH服务的功能。
FTP文件传输服务
- FTP协议简介
FTP(File Transfer Protocol,文件传输协议)用于基于互联网的文件双向传输协议。 在该协议的基础上,分别实现客户端软件和服务端软件,进行文件传输。 FTP协议分为两种模式: Standard模式: FTP客户端主动与服务器通过21端口建立连接, 实现与服务器的通信并发送PORT命令到服务器, 之后通过20端口建立连接并发送数据。 Passive模式: FTP客户端主动与服务器通过21端口建立连接, 并发送PASV命令到服务器,之后服务器打开一个随机端口 (端口号在1023和65535之间)连接到客户端进行文件传输。 - 安装vsftpd服务
vsftpd (very secure FTP daemon)是 UNIX 类操作系统上运行的ftp服务程序,也可以在linux操作系统上运行。 vsftpd服务特点: ① vsftpd是以一般用户身份启动服务,对于Linux系统的使用权限较低,对于Linux系统的危害相对降低。 ② 任何需要具有较高执行权限的 vsftpd指令均以一支特殊的上层程序所控制, 该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准。 ③ 所有来自客户端,想要使用这支上层程序所提供的较高执行权限之vsftpd指令的需求, 均被视为“不可信任的要求”来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。 ④ 上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。 安装命令:sudo apt-get install vsftpd 常见可以更改配置如下所示: vsftpd服务安装完成后即可使用,其配置文件保存在/etc/vsftpd.conf文件中,如需更改配置信息,可以修改该文件。 ? anonymous_enable=YES 设置为NO代表不允许用户匿名,设置为YES表示允许用户匿名。 ? local_enable=YES 设定本地用户是否可以访问,主要是虚拟宿主用户,如果设为NO则虚拟用户将无法访问。 ? write_enable=YES 设置是否可以进行写的操作,YES为可以进行读写操作,NO则不行。 ? local_umask=022 设定上传文件的权限掩码, 此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2)。 ? anon_upload_enable=NO 禁止匿名用户上传,NO则不允许匿名用户上传数据,YES为允许。通常需要禁止匿名用户上传数据来增强系统安全性。 ? anon_mkdir_write_enable=NO 禁止匿名用户建立目录,同上一条设置项。通常该项为NO。 ? xferlog_enable=YES 设定开启日志记录功能,该项一般开启即可。 ? connect_from_port_20=YES 设定端口20进行数据连接,前述内容提到过在不同的传输模式下,20端口的作用,在此处可以设定是否打开20端口。 ? chown_uploads=NO 设定禁止上传文件更改宿主。 ? xferlog_file=/var/log/vsftpd.log 设定vsftpd服务日志保存路径。该文件需手动进行创建,并设置相应的读写权限,否则可能造成vsftpd服务启动失败。 ? xferlog_std_format=YES 设定日志使用标准的记录格式。 ? idle_session_timeout=600 设定空闲链接超时时间,这里使用默认/秒。 ? data_connection_timeout=3600 设定最大连接传输时间,这里使用默认,将具体数值留给每个用户具体制定,默认120/秒。 ? nopriv_user=vsftpd 设定支撑vsftpd服务的宿主用户为手动建立的vsftpd用户。 注意:一旦更改宿主用户,需一起与该服务相关的读写文件的读写赋权问题。 ? async_abor_enable=YES 设定支持异步传输的功能。 ? ftpd_banner=hello 欢迎登录 设置vsftpd的登录标语。 ? chroot_list_enable=NO 禁止用户登出自己的ftp主目录。 ? ls_recurse_enable=NO 禁止用户登录ftp后使用ls -R 命令。 该命令会对服务器性能造成巨大开销,如果该项运行当多个用户使用该命令会对服务器造成威胁
其他网络安全相关服务
- AppArmor
AppArmor是一款能够起到主动防御的软件,较杀毒软件来说能够针对敏感操作、 新病毒特征进行主动防御,与杀毒软件配合能够更好的保全操作系统的安全。 AppArmor采用配置文件的形式规定每个应用程序的运行权限, 应用程序必须遵循配置文件中的规则,否则可能运行不成功,或被误认为有害的应用程序。 根据配置文件不同,分为两种加载方式: enforce模式: ① 符合设定的操作可运行。 ② 不符合设定的操作被拦截。 complain模式: ① 符合设定的操作可运行。 ② 不符合设定的操作也可运行,但是会记录到日志中。 - 数字证书
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。 每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥), 用其进行解密和签名,同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。 数字证书是由CA(Certificate Authority,证书授权中心)机构发行,人们可以在网上用该证书来识别对方的身份。
Shell编程
学习ing……
|