1.1 常见的操作系统
Windows
它微软公司开发的一款桌面操作系统(闭源系统)。版本有dos、win98、win NT、win XP、win 7、win vista、win 8、win 10。服务器操作系统:win server 2003、win server 2008、win server 2012。
Mac
苹果公司开发的一款操作系统(闭源系统),目前最新的版本是IOS12。界面风格还是不错。对于系统底层的优化也是很好。
Linux
Linux是一个开源的操作系统,目前是市面上占有率极高的服务器操作系统。目前其分支有很多。安卓
Linux的开发作者,李纳斯·托瓦兹。
Linux是开源的操作系统。所谓开源就是指开放源代码。
1983年 GNU计划 格奴计划
Linux分支: 常见的有centos(社区企业网络操作系统)、RedHat、乌班图、debian等等。
Unix
Unix是Linux操作系统的前身,Unix时间戳是指1970年1月1日0时0分0秒,1970年是Unix的时间元年,也就是Unix诞生的年份。
1.2 Linux操作系统好处
之所以大部分的公司开发的时候都是使用Linux操作系统,取决于两个特性:
稳定性:取决于系统的底层架构,一般情况下Linux系统能做到很长时间不关机一点也不卡顿;
安全性:开源系统,所有人都可以贡献自己的源代码为Linux系统打补丁;
1.3 Linux目录介绍
/: 表示根的意思
/bin: (binary)存放的是一些二进制文件, 但是在Linux中二进制文件是可以被执行的, 这个目录中的命令是给普通用户使用(非超级管理员用户).
/etc: Linux下所有的配置文件都会放到etc目录
/home: 是所有非root用户家目录的集合
/root: root用户的家目录
/sbin: sbin表示super bin(shell bin),里面同样也类似于bin目录,也存放了一些二进制文件, 只不过这些命令只能让超级管理员去运行
/usr: 存放着一些用户自己安装的软件, 其实类似于windows下的Program File目录
/var: (variable)存放着Linux下的一些日志文件, 在实际开发的时候有一些公司习惯把Apache或者nginx的站点目录也会放到这个目录中
2 命令行
2.1 命令行(shell, 壳)
常见的shell, Csh, tcsh, zsh, bash等,
在Linux中打开命令行界面
在Linux中的任意一个空白的地方(不要点着图标),右键然后选择【在终端中打开】
在Linux中 #表示超级管理员身份, $符号表示普通用户
2.2 基本命令
通用的语法格式: # 指令名称 [选项] [
操作的目标]
2.2.1 ls指令
#ls[路径]
表示列出指定路径下的文件夹和文件的名字, 如果路径没有指定则列出当前路径下的(list)
#ls -l [路径]
表示以列表的形式列出指定路径下的文件夹和文件的名字
#ls -la [路径]
表示以列表的形式列出指定路径下的文件夹和文件名(包含隐藏文件, all)
隐藏文件(特点是'.'开头的名字)
如果一个指令拥有多个选项, 一般情况下(95%)对于选项的顺序没有要求,随意前后, 为了避免混淆按照笔记顺序.
Linux严格区分大小写
2.2.2 clear指令
清空当前屏幕中全部的命令(实质是没有清空,只是顶到上面)
#clear
等效于ctrl+L
清楚Windows的cmd指令叫做: cls
2.2.3 su指令
切换用户(switch user)
#su
需要切换到的用户名(用户名可以不写, 则表示切换到root用户)
当切换到的用户权限比当前用户的权限低,可以直接切换,不需要密码;反之,如果从低往高切换则要求输入被切换到的账户对应的密码(高级权限账户密码)。
2.2.4 cd指令
切换目录 (change directory)
#cd
需要切换到的路径(路径可以是相对路径或绝对路径)
路径可以写也可以不写,不写则表示切换到当前用户的家目录
tab键可以自动补全命令路径
低级用户没有权限访问高级用户相关的资源(权限)
相对路径是相对当前路径的一种表现形式。
特点:只要不是以“/”开头的就是相对路径。
绝对路径是直接从“根”开始的一种路径形式。
特点:以“/”开头的路径称之为绝对路径。
2.2.5 pwd指令
打印当前的工作路径(print working directory)。
#pwd
2.3 文档操作命令
2.3.1 创建文件
#touch 路径
2.3.2 创建文件夹
mkdir [-p] 文件夹路径
[make directory]
-p表示递归创建(parent),可同时创建多级不存在的文件夹
不能以后缀判断是文件还是文件夹, ls -l指令看第一个字母, d文件夹,-表示普通文本文件,c字符设备文件, b:块级设备文件, l:连接文件(快捷方式), s:套接字文件
系统不允许在同一路径下存在同名的文档
2.3.2 复制
#cp[-r] 需要赋值的文档,需要保存的位置
copy
-r表示递归, 如果复制的是文件夹, -r是必须要加的.
2.3.3 移动/剪贴/重命名
剪贴+粘贴
#mv需要操作的文档 新的文档的位置
move
#
mv /root/php2019. txt /root/
重命名
#
mv /root/php2019. txt /root/php. doc
2.3.4 删除
#rm [-rf] , 需要删除的文档
-r: 表示递归(当删除的类型是文件夹时候就加-r)
-f: force, 表示强制, 没有删除确认提示
#
rm -rf /
2.4 文档查看命令
2.4.1 tail指令
#tail -n 文件的路径
查看一个文件的末n行
-n 可以不写, 不写 默认末10行
#
tail -5 /root/install.log
2.4.2 head指令
#head -n 文件的路径
查看文件的头n行
-n 可以不写, 不写 默认头10行
2.4.3 cat指令
#cat 文件路径1 文件路径2 文件路径3 …
查看某个文件的全部阵容(将内容全部输出在命令行中[正序])
2.4.4 tac指令
#tac 文件路径1 文件路径2 文件路径3 …
查看某个文件的全部阵容(将内容全部输出在命令行中[倒叙])
2.4.5 vim指令
#vim 文件路径
打开一个文件,显示内容
推出 ':q
'按下回车即可
2.5 关机重启命令
2.5.1 reboot指令
#reboot
重启计算机
除非自开机以来只有当前一个普通用户登录过
普通用户无法执行reboot指令
2.5.2 shutdown指令
#shutdown -h 时间
关机
now:(shutdown -h now),表示立即关机
+m:(m表示minutes数字),+5,则表示五分钟之后关机
2.5.3 halt指令
#halt
关机(关闭内存)
2.5.4 其他
init 0
关机 poweroff
init 6
重启
2.6 补充
2.6.1 ctrl+a / ctrl+e
光标的快速定位行首ahead
光标的快速定位行末end
2.6.2 ↑和↓键
查看执行命令历史
2.6.3 执行结果保存文件中(输出重定向)
#需要执行有输出结果的命令>
需要保存到的文件路径 【覆盖写】
#需要执行有输出结果的命令>>
需要保存到的文件路径 【追加写】
Windows中 tree 需要执行有输出结果的命令>
需要保存到的文件路径
2.7 进阶指令
2.7.1 du指令
#du -sh 目录路径
目录所占的磁盘空间大小情况(directory used)
-s:表示sumary,汇总统计
-h:表示以较高可读性的形式显示
2.7.2 df指令
#df -h
查看磁盘的剩余空间情况(disk free)
-h:表示以较高可读性单位进行查看。
2.7.3 free指令
free -m
查看内存的使用情况
-m:表示以mb为单位进行查看
第一行表示memory,是内存各项的数字。
2.7.4 find指令
#find 范围路径 选项 选项的值 [选项 选项的值...]
表示根据条件去查询文档的所在位置
-name:根据名字进行查询,支持通配符(*),模糊查询,表示任意长度的任意字符.
-type:根据文档的类型进行查询。[d表示文件夹,f表示普通文件,s表示套接字文件,l表示连接文件,c表示字符设备文件,b表示块状设备文件]
-user:根据所有者进行查询
-group:根据所属的用户组进行查询
-size:根据大小进行查询
查询磁盘中全部的.conf文件,#find / -name “*.conf” -type f
2.7.5 ps指令
#ps -ef
(process show)查看进程
#ps aux
BSD格式进行输出
-e:等价于-A,all,表示全部
-f:表示full,显示全部的列
UID:该进程的启动用户名;
PID:process id,进程的id号
PPID:parent process id,父级进程id号
C:表示的cpu的使用情况
STIME:start time,启动时间
TTY:终端的设备编号,“?”表示该进程不是由终端发起的
TIME:持续运行的时间
CMD:command,显示进程的名称或者位置
结束进程的指令
#kill PID
top指令(查资源占用情况用top)
2.7.6 service指令
#service 服务名 start/stop/restart
#/etc/init.d/服务名 start/stop/restart
CentOS7中
#systemctl start/stop/restart 服务名
操作服务的(启动/停止/重启)
服务名必须要在/etc/init.d中可见
2.7.7 grep指令
#grep [选项] 关键词 文件路径/内容
搜索、过滤,主要用于对文件/内容进行筛选,选出需要的内容
-v:排除,取反
#grep -E/#egrep “关键词1|关键词2|…” 文件路径或内容
-E表示extension,该语法表示多条件筛选,“|”表示or
2.7.8 wc指令
#wc -lwc 文档的路径
统计文件的各项数值(行、单词数、字节数)
-l:line,行数
-w:word,单词数
-c:byte,字节数
2.7.9 管道(|)
将多个指令合在一行上进行操作, 主要用在搜索过滤
# 必须在终端中有输出内容的指令 | 有输入的指令[要求有读取文件内容的需求]
管道前面的指令的输出其实就是管道后面指令的输入。
3 vim编辑器
3.1 vi/vim介绍
Vi编辑器是所有Unix及Linux系统下标准的编辑器,
vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding(写代码的)。
Vim重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。
3.2 三种模式
命令模式:
在该模式下是不能对文件直接编辑,可以输入快捷键(命令)进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之后默认进入的模式】;
编辑模式(输入模式):
在该模式下可以对文件的内容进行编辑;
末行模式(尾行模式)
可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);
3.3 Vim的打开文件的方式
#vim 文件路径
作用:打开指定的文件(可以是不存在的)
#vim +数字 文件的路径
作用:打开指定的文件,并且将光标移动到指定行
#vim +/关键词 文件的路径
作用:打开指定的文件,并且高亮显示关键词(搜索)
3.4 命令模式
该模式是打开文件的第一个看到的模式(打开文件即可进入)
3.4.1 光标移动
-
光标移动到行首 shift + 6 或 ^
-
光标移动到行尾 shift + 4 或 $
-
光标移动到首行行首 gg
-
光标移动到末行行首 G
-
翻屏 翻屏:按键ctrl + b/f 或PgUp/PgDn
-
快速定位到指定行 数字G
3.4.2 复制/剪切/删除
-
复制光标所在行 yy 在想要粘贴的地方按下p键
-
向下复制指定的行数 数字yy
-
剪切/删除 光标所在行 dd
-
向下删除/剪切指定的行 数字dd
-
删除之后下一行不上移 D
-
撤销 :u
-
恢复:ctrl+r
3.4.3 模式间的切换
末行模式进入之后的特征:光标在最后一行上
编辑模式进入之后的特征:在最后一行有类似于“------插入(insert)-----"
末行模式和编辑模式之间是没有办法直接切换的,必须先走命令模式。
3.5 末行模式
进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入
退出方式:
a. 按下esc
b. 连按2次esc键
c. 删除末行全部输入字符
-
保存操作(write) :w 保存文件 输入:“:w 路径” 另存为
-
退出(quit)输入:“:q” 退出文件
-
保存并退出 输入:“:wq” 保存并且退出
-
强制(!) 输入:“:q!” 表示强制退出,刚才做的修改操作不做保存
-
搜索/查找 输入:“/关键词”,再按下回车
-
替换
:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容
%表示整个文件(所有行)
g表示全局(global)
-
显示行号
输入:“:set nu” [number]
如果想取消显示,则输入:“:set nonu”
-
要想永久显示行号,需要进行对vim的配置。
建议创建文件:“~/.vimrc”(该配置是针对用户的,每个用户自己家下有一个独立.vimrc)
末行模式下的复制(yy)、剪切(dd)、删除(dd)操作
复制语法:“:开始行号,结束行号y”,例如输入“:1,10y”
剪切删除语法:“:开始行号,结束行号d”,例如输入“:1,10d”
一步到位的复制语法——“:开始行号,结束行号 co 粘贴到的行号”
剪切粘贴一步到位语法——“:开始行号,结束行号 m 粘贴到的行号
3.6 编辑模式
i(insert) a(after)。
退出方式:按下esc键
3.7 异常退出
编辑文件之后并没有正常的去wq(保存退出)
删除“.文件名.swp”文件即可解决上述问题。
3.8 别名机制
允许操作者对现有的指令/脚本进行重新的命名
允许用户创建自己的指令。
~/.bashrc
alias 别名=’原始名称/路径’
保存退出之后不会立即生效,需要当前用户重新登录到系统才会生效。
4 用户与用户组
Linux系统是一个多用户、多任务的操作系统
每个用户账号都拥有一个唯一的用户名和各自的密码.
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
4.1 用户管理
添加用户
#useradd 选项 选项的值 …. 用户名
-g:表示指定用户的用户主(主要)组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加(额外)组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c:comment,添加注释(选择是否添加)
-s:指定用户登入后所使用的shell 解释器
-d:指定用户登入时的启始目录(家目录位置)
-n:取消建立以用户名称为名的群组
passwd
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;【如果解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示该用户不能登录到系统】【-s】
注意
如果需要为一个用户指定多个附加组,只需要将多个附件组的id通过英文逗号“,”分割即可。
主组只能有1个,附加组可以多个,也可以没有附加组
文档的属组指的是主组
4.1.1 修改用户
#usermod选项 选项的值 …. 用户名
Usermod:user modify,用户修改
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-l:修改用户名
-c<备注>:修改用户帐号的备注文字
-d<登入目录>:修改用户登入时的目录
-s<shell>:修改用户登入后所使用的shell
4.1.2 设置密码
-
该指令普通用户也可以执行
-
只有root用户才可以指定用户名
Linux不允许没有密码的用户登录到系统
#passwd[用户名]
-
从root往普通用户切换不需要密码,反之需要root密码;
-
切换用户之后前后的工作路径是不变的;
-
普通用户没有办法访问root用户家目录,反之可以;
4.1.3 删除用户
#userdel 选项 用户名
Userdel:user delete(用户删除)
-r:表示删除用户的同时,删除其家目录;
kill对应用户的全部进程
在登录需要删除的用户之后,按下快捷键“ctrl+d”进行对当前用户的注销,随后退回到上一个用户(root)此时就可以对需要删除的用户进行删除操作。
4.2 用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
文件结构
用户组名:密码:用户组ID:组内用户名[看附加组的]
密码:X表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不设置密码;
组内用户名:表示附加组是该组的用户名称;
4.2.1 用户组添加
#groupadd 选项 选项的值 …. 用户组名
-g:类似用户添加里的“-u”,
-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从500之后递增;
4.2.2 用户组编辑
#groupmod 选项 选项的值 … 用户组名
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
4.2.3 用户组删除
#groupdel 用户组名
当需要删除一个组,但是这个组是某个用户的主组时,则不允许删除(附加组是可以的);如果确实需要删除,则先从组内移出所有用户。
5 权限管理
5.1 权限介绍
在Linux中分别有读、写、执行权限:
读权限
对于文件夹来说,读权限影响用户是否能够列出目录结构
对于文件来说,读权限影响用户是否可以查看文件内容
写权限
对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档
对于文件来说,写权限影响用户是否可以编辑文件内容,
执行权限
一般都是对于文件来说,特别脚本文件。
对于文件来说,执行权限影响文件是否可以运行。
对于文件夹来说,执行权限影响对应的用户是否可以在文件夹内执行指令。
5.2 身份介绍
Owner身份 (文档所有者,默认为文档的创建者) 除本人(文件所有者)之外的用户无法查看文件内容
Group身份(与文档所有者同组的用户) 能互相修改对方的数据
Others身份(其他人,相对于所有者与同组用户)
Root用户(超级用户) 神一样存在 设置文档的权限的时候不必考虑root用户
5.3 Linux权限查看
Linux中存在用户(owner)、用户组(group)和其他人(others)概念
第1位:表示文档类型,取值常见的有“d表示文件夹”、“-表示文件”、“l表示软连接”、“s表示套接字”、“c表示字符设备”、“b表示块状设备”等等;
第2-4位:表示文档所有者的权限情况,第2位表示读权限的情况,取值有r、-;第3位表示写权限的情况,w表示可写,-表示不可写,第4位表示执行权限的情况,取值有x、-。
第5-7位:表示与所有者同在一个组的用户的权限情况,第5位表示读权限的情况,取值有r、-;第6位表示写权限的情况,w表示可写,-表示不可写,第7位表示执行权限的情况,取值有x、-。
第8-10位:表示除了上面的前2部分的用户之外的其他用户的权限情况,第8位表示读权限的情况,取值有r、-;第9位表示写权限的情况,w表示可写,-表示不可写,第10位表示执行权限的情况,取值有x、-。
权限分配中,均是rwx的三个参数组合,且位置顺序不会变化。没有对应权限就用 – 代替。
5.4 权限设置
#chmod [选项] 权限模式 文档路径
-R:递归设置权限 (当文档类型为文件夹的时候)
权限模式:就是该文档需要设置的权限信息
文档:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径。
想要给文档设置权限,操作者要么是root用户,要么就是文档的所有者
5.4.1 字母形式
给谁设置:
u:表示所有者身份owner(user)
g:表示给所有者同组用户设置(group)
o:表示others,给其他用户设置权限
a:表示all,给所有人(包含ugo部分)设置权限
如果在设置权限的时候不指定给谁设置,则默认给所有用户设置
权限字符:
r:读
w:写
x:表示执行
-:表示没有权限
权限分配方式
+:表示给具体的用户新增权限(相对当前)
-:表示删除用户的权限(相对当前)
=:表示将权限设置成具体的值(注重结果)【赋值】
设置多个身份的权限时候,每个身份之间需要通过英文逗号分开。
如果有两部分权限一样则可以合在一起写
5.4.2 数字形式
读:r 4
写:w 2
执行:x 1
组合权限数字的时候遵循,最短路径要求,并且最多只能出现一次。
如果一个权限数字中但凡出现2与3的数字,则该权限有不合理的情况。
5.5 注意事项
在Linux系统中,创建文档的权限有一个默认值,以当前的系统为例,其创建文件夹之后的默认权限是755,创建文件之后的权限是644。
之所以会这样是受到了系统中umask(掩码)的值的影响,其是用于指定文档创建好之后的权限,umask默认为022。
计算方式:
对于文件:文件的权限 = 666 – umask掩码
对于文件夹:文件夹的权限 = 777 - umask掩码
在Linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限、执行权限,如果有才可以删除。
5.6 属主与属组
属主:所属的用户(文件的主人),文档所有者
属组:所属的用户组(同组用户的组名称)
前面的那个root就是属主
后面的那个roo就是属组
这两项信息在文档创建的时候会使用创建者的信息(用户名、用户所属的主组名称)。
之所以需要设置这个:如果有时候去删除某个用户,则该用户对应的文档的属主和属组信息就需要去修改
5.7 chown/chgrp/sudo
5.7.1 chown
#chown [-R] 新的username 文档路径
更改文档的所属用户(change owner)
修改所有者的人必须是root或者所有者自己(也可能出现没有权限的情况),其他人无权修改所有者。
5.7.2 charp
#chgrp [-R] groupname 文档的路径
更改文档的所属用户组(change group)
5.7.3 sudo
Sudo可以让管理员(root)事先定义某些特殊命令谁可以执行(事先放权规则。
默认sudo中是没有除root之外用户的规则,要想使用则先配置sudo。
Sudo配置文件:/etc/sudoers
该文件默认只读,不允许修改,因此不能直接修改。
-
配置sudo文件请使用“#visudo”,
-
配置普通用户的权限
Root表示用户名,如果是用户组,则可以写成“%组名”
ALL:表示允许登录的主机(地址白名单)
(ALL):表示以谁的身份执行,ALL表示root身份
ALL:表示当前用户可以执行的命令,多个命令可以使用“,”分割
一般需要调整的就是用户/用户组名称与可以执行的指令名。
#
sudo 需要执行的指令(就是放权的指令名称)
#sudo -l
表示list
6 运行级别
运行模式也可以称之为运行级别(Running Level)
0 — 表示关机级别(不要将默认的运行级别设置成这个值)
1 — 单用户模式(找回root密码的)
2 — 多用户模式,不带NFS(Network File Syetem)
3 — 多用户模式,完全的多用户模式(不带桌面的,纯命令行模式)
4 — 没有被使用的模式(被保留模式)
5 — X11,完整的图形化界面模式
6 — 表示重启级别(不要将默认的运行级别设置成这个值)
6.1 相关命令 / 网络设置
(临时切换,立即生效):
#init 0 表示关机
#init 3 表示切换到不带桌面的模式(CLI 命令行模式)
#init 5 切换到图形界面(前提必须先确保已经安装了图形化界面)
#init 6 重启电脑
注意:init指令需要超级管理员的权限,普通用户无法执行。
这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
6.2 永久命令行模式
将/etc/inittab文件中的initdefault值设置成3,然后重启操作系统。切换重启之后默认即命令行模式:
6.3 网络设置
6.3.1 IP地址查看
远程连接、配置相关软件时(vpn)
#ifconfig
有2块网卡,一个叫eth0,另一个lo(本地回环网卡,本机ip)
ip地址是 inet addr那一项
6.3.2 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-*文件
ONBOOT:表示是否自动连接
BOOTPROTO(COL):网卡启动之后使用的协议,一般情况下是DHCP
HWADDR:硬件地址(mac地址,物理地址),计算机之间的通信都是依赖于mac地址
#ln -s 原始路径 快捷方式路径
针对像网卡配置目录层次比较深的文件,如果需要频繁更改,可以将需要的文件设置一个快捷方式,将其放在经常操作的目录,以简化后续的打开文件操作。
6.3.3 网络服务操作
#service network start/stop/restart
通过service指令来对网络的服务进行重启/停止/启动等操作。
#ifdown 网卡名 停止某个网卡
#ifup 网卡名 启动某个网卡
7 ssh
ssh(secure shell,安全外壳协议),该协议有2个常用的作用:远程连接、远程文件传输。
协议使用端口号:默认是22。
可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件:
#/etc/ssh/ssh_config
服务启动/停止/重启 {服务名中的d全称daemon,守护进程}
#service sshd start/stop/restart
#/etc/init.d/sshd start/stop/restart
7.1 远程登录
终端工具主要帮助运维人员连接远程的服务器,常见终端工具有:Xshell、secureCRT、Putty等
-
获取服务器ip地址,可以通过ifconfig命令进行查看,然后顺手测试ip的连接相通性
#ifconfig
-
打开putty,输入相关的信息
-
在弹出key确认的时候点击“是”,以后不会再提示
-
输入登录信息
虚拟机的centos中全部的指令在远程终端中都是可以得到执行的
不借助第三方工具实现远程连接
①打开Windows的cmd黑窗口(前提是Windows必须安装ssh服务,如果没有而需要这个功能,则自行安装openSSH)
②输入“ssh 需要登录的用户名@远程服务器的连接地址”回车
③输入密码
7.2 sftp文件传输
可视化的界面传输工具:Filezilla
-
选择“文件”- “站点管理器(Ctrl + S)”
-
点击“文件”菜单下方的“▽”选择需要连接的服务器
-
从本地windows上传文件到linux中方式,支持直接拖拽文件,也可以右键本地需要上传的文件,然后点选“上传”即可
-
下载linux文件到本地,支持服务器文件直接拖拽到本地,也可以在右侧窗口选择需要下载的文件,右键,点选“下载”。
7.3 软件的安装方式
7.3.1 rpm
优点:
对于软件包的操作比较简单,通过简单指令即可操作
缺点:
①安装时需要自行下载软件包
②安装、卸载软件时需要考虑到依赖关系
③软件的自定义性比较差,不适合444有特殊需求的场景
语法:
① 查询
#rpm -qa 关键词 (
查询机器上是否有安装指定的软件包,只查通过二进制包的形式安装的软件,不包含编译软件与绿色软件)
选项说明:
-q:query,查询
-a:all,所有
②卸载
#rpm -e 软件包全称 [--nodeps] (
卸载软件,包的全称需要通过①去查询)
选项说明:
-e:卸载
--nodeps:忽略依赖关系
③安装
#rpm -ivh 软件包路径
(软件包的下载需要自行解决)
选项说明:
-i:install,安装
-v:显示安装过程
-h:以“#”形式显示安装过程
④更新(了解)
#rpm -Uvh 软件包路径
(软件包的下载、依赖关系需要自行解决)
选项说明:
-U:upgrade,升级
-v:显示安装过程
-h:以“#”形式显示安装过程
⑤查看某个文档是由哪个软件包创建的
#rpm -qf 需要查询的文件路径
选项说明:
-q:query,查询
-f:file,指定文件
7.3.2 yum
优点:
①快速、傻瓜式的软件管理方式
②在联网情况下,自动从服务器上下载软件包(内、外网服务器均可)
③自动解决软件依赖关系
缺点:
因其底层实为rpm操作,所以也丧失了对软件的自定义功能
Yum常用语法:
①搜索/查询相关
#yum search [all] 关键词 (根据关键词搜索服务器上的包资源)
#yum list [关键词] (列出所有的包,包含已经安装的和可供安装的)
#yum list installed [关键词] (列出当前已经安装的包)
②安装
注意:操作指令(install)与-y选项可以颠倒,下同,-y类似于rm指令的-f选项。
#yum [-y] install 关键词 (安装指定的软件)
③卸载
#yum [-y] remove 关键词 (卸载指定的软件)
④更新
#yum [-y] update (更新整个系统,包含内核)
#yum [-y] update 关键词
7.3.3 编译方式
优点:
①用户可选择需要的软件功能
②源码方式,有开发能力的用户,可对源码进行自定义
缺点:
①需要自行解决依赖关系
②编译时间较长
③容易出错,一旦出错,需要重新编译安装
步骤:
①下载源码包
②解压源码包
③进入解压目录
④配置安装
⑤编译
⑥安装
5 计划任务
指定的时间点去执行任务
:#crontab 选项
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
编辑计划任务
计划任务的规则语法格式,以行为单位,一行则为一个计划:
取值范围(常识):
分:0~59
时:0~23
日:1~31
月:1~12
周:0~7,0和7表示星期天
四个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10
,:表示多个取值,比如想在1点,2点6点执行,则可以在时的位置写:1,2,6
分 时 日 月 周 需要执行的命令
每月1、10、22日的4:45重启network服务
45 4 1,10,22 * * service network restart
每天18:00至23:00之间每隔30分钟重启network服务
*/30 18-23 * * * service network restart