Skip to content

Commit 9737386

Browse files
author
CoooooLer
committed
sercure shell
1 parent 1592c65 commit 9737386

10 files changed

+319
-1
lines changed

Diff for: 06_命令模式.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
3、剪切/删除
2626
1、剪切/删除光标所在行
2727
按键: dd (删除之后,下一行上移)
28-
注意: dd (严格意思上说是剪切命令,如果剪切了不粘贴就是删除的效果)
28+
注意: dd
29+
粘贴: p
30+
(严格意思上说是剪切命令,如果剪切了不粘贴就是删除的效果)
2931
2、剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
3032
按键: 数字dd (删除之后下一行上移)
3133
3、剪切/删除当前行,删除之后下一行不上移

Diff for: 07_命令模式切换到末行模式.txt

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
命令模式切换到末行模式:
2+
进入末行模式:按下 : 或者 /
3+
退出末行模式:按一下esc 或者 按两下esc 或者 删除末行中的全部命令
4+
5+
保存操作(write):
6+
输入: ":w" 保存文件
7+
输入: ":w 路径" 另存为
8+
9+
退出(quit):
10+
输入: ':q' 退出文件
11+
12+
保存冰退出:
13+
输入: ':wq' 保存并退出
14+
15+
强制(!)
16+
输入: ":q!" 表示强制退出,刚才做的修改不做保存
17+
18+
调用外部命令:
19+
输入: ":! 外部命令"
20+
#:! -la
21+
22+
搜索/查找
23+
语法: /关键词
24+
#/sbin
25+
切换上一个、下一个结果: N/n (next)

Diff for: 07_末行模式.txt

+26
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,29 @@
2323
语法: /关键词
2424
#/sbin
2525
切换上一个、下一个结果: N/n (next)
26+
27+
如果要取消高亮,需要输入":nohl" (no highlight)
28+
29+
替换
30+
:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
31+
:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
32+
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
33+
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容
34+
35+
%表示整个文件
36+
g表示全局(global)
37+
38+
显示行号
39+
:set nu
40+
取消 :set nonu
41+
42+
使用vim同时打开多个文件,在末行模式下进行文件切换
43+
查看当前已经打开的文件名称 ==> :files
44+
执行:files的字段解释:在%a的位置有2种显示可能
45+
%a: a=active,表示当前正在打开的文件
46+
#: 表示上一个打开的文件
47+
切换文件的方式:
48+
1、如果需要指定切换文件的名称,则可以输入 ==> ":open 已经打开的文件名"
49+
2、通过命令切换上一个文件/下一个文件
50+
:bn 切换到下一个文件(back next)
51+
:bp 切换到上一个文件 (back prev)

Diff for: 08_编辑模式.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
从命令模式切换到编辑模式:
2+
i 或者 a 或者 o 或者 I 或者 A 或者 O 或者 S
3+
i ==> 在光标所在字符前开始插入 (insert)
4+
a ==> 在光标所在字符后开始插入 (after)
5+
o ==> 在光标所在行的下面另起一新行插入
6+
I ==> 在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
7+
A ==> 在光标所在行的行尾开始插入
8+
O ==> 在光标所在行的上面另一行开始插入
9+
S ==> 删除光标所在行并开始插入
10+
退出方式: 按下 esc

Diff for: 09_实用功能.txt

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
1.代码着色
2+
开启 ==> syntax on
3+
关闭 ==> syntax off
4+
5+
2.vim中的计算器
6+
当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要使用计算器,但是需要退出,vim集成了一个简易的计算器。
7+
8+
首先进入编辑模式
9+
按" ctrl+R ",输入" = ",此时光标会变到最后一行
10+
输入需要计算的内容,按下回车
11+

Diff for: 10_扩展.txt

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
vim的配置
2+
vim配置有三种情况:
3+
1、在文件打开的时候在末行模式下输入的配置(临时的)
4+
2、个人配置文件(~/.vimrc, 如果没有可以自行新建)
5+
3、全局配置文件(vim自带,/etc/vimrc)
6+
7+
1、新建好个人配置文件之后进入编辑
8+
touch .vimrc
9+
2、在配置文件中进行配置
10+
比如显示行号: set nu
11+
在.vimrc文件中写入 ==> set nu 即可
12+
13+
问题:如果某个配置,在个人配置文件与全局配置文件产生冲突的时候,谁的优先级高?
14+
测试:在两个配置中针对同一个配置项设置不同的值
15+
1、在全局配置中设置不显示行号,在个人配置文件中设置显示行号,观察结果。
16+
最后显示行号,说明以个人配置项为准。
17+
2、在全局配置中设置显示行号,在个人配置中设置不显示行号,观察结果。
18+
最后不显示行号,说明以个人配置项为准。
19+
结论:如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准;如果个人配置文件不存在,则以全局配置为准。
20+
21+
异常退出
22+
在编辑文件之后并没有正常的去 wq (保存退出),而是遇到突然关闭终端或者断电导致的退出称之为异常退出。
23+
解决办法:将交换文件(在编程过程中产生的临时文件)删除掉即可
24+
25+
26+
别名机制
27+
作用:相当于创建一些属于自己的自定义命令
28+
别名机制依靠一个别名映射文件: ~/.bashrc
29+
打开映射文件: vim ~/.bashrc
30+
添加相应的快捷方式即可。
31+
注意:如果想要新的快捷方式生效,需要重新登录当前账户。
32+
33+
34+
退出方式
35+
回顾:之前vim中退出编辑的文件可以使用 ":q" 或者 ":wq"
36+
vim的另一个退出方法 ==> ":x"
37+
说明:
38+
1、 ":x" 在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出。
39+
2、 如果文件没有被修改,但是使用了":wq"进行退出的话,则文件的修改时间会被更新;使用":x"进行退出的话,文件时间不会被更新。
40+
41+
建议使用":x"保存文件。
42+
千万不要写成了":X",大写的X表示加密。

Diff for: 11_linux自有服务.txt

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
运行模式
2+
运行模式也可以称之为运行级别。
3+
在linux中存在一个进程:init(inintialize,初始化),进程id是1.
4+
查看进程: ps -ef|grep init
5+
该进程存在一个对应的配置文件: inittab (系统运行级别配置文件,/etc/inittab)
6+
7+
cat etc/inittab
8+
将看到7种运行级别:
9+
0 ==> 表示关机级别 (不要将默认的运行级别设置成这个值)
10+
1 ==> 单用户模式
11+
2 ==> 多用户模式,不带NFS(network file system)
12+
3 ==> 多用户模式,完全的多用户模式 (不带桌面的,纯命令行模式)
13+
4 ==> 没有被使用的模式(被保留模式)
14+
5 ==> X11,完整的图形化界面模式
15+
6 ==> 表示重启级别 (不要将默认的运行级别设置成这个值)
16+
17+
与该级别相关的几个命令:
18+
#init 0 表示关机
19+
#init 3 表示切换到不带桌面模式
20+
#init 5 切换到图形界面
21+
#init 6 重启电脑
22+
23+
注意:init指令需要超级管理员权限。
24+
这些命令都是调用init进程,将数字(运行级别)传递给进程,进程去读配置文件执行相应的操作。
25+
26+
27+
切换到命令行模式下(临时切换)
28+
#init 3
29+
30+
切换到桌面模式
31+
#init 5
32+
33+
设置模式永久为命令行模式
34+
将etc/inittab文件中的initdefault的值设置成3,然后重启操作系统。
35+
36+

Diff for: 12_用户与用户组管理.txt

+110
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
注意三个文件:
2+
/etc/passwd 存储用户的关键信息
3+
/etc/group 存储用户组的关机信息
4+
/etc/shadow 存储用户的密码信息
5+
6+
用户管理
7+
添加用户
8+
常用语法: #useradd 选项 用户名
9+
常用选项:
10+
-g: 表示指定用户的用户主组,选线的值可以是用户组的id,也可以是组名
11+
-G: 表示指定用户的用户附加组,选线的值可以是用户组的id,也可以是组名
12+
-u: uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
13+
-c: comment, 添加注释
14+
案例1:创建用户zhangsan,不带任何选项
15+
#useradd zhangsan
16+
验证是否创建成功:
17+
1、验证/etc/passwd的最后一行,查看是否有zhangsan的信息
18+
2、验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录)
19+
#cat /etc/passwd 最后一行字段解释
20+
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
21+
22+
用户名:创建新用户的名称,后期登录的时候需要输入
23+
密码:此密码位置一般情况都是"X",表示密码的占位
24+
用户ID :用户的标识符
25+
用户组ID :该用户所属的主组ID
26+
注释:解释该用户是做什么用的
27+
家目录:用户登录进入系统之后默认的位置
28+
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会手机用户输入的指令,传递给内核处理
29+
30+
注意:在不添加选项的时候,执行#useradd之后会执行一系列的操作
31+
创建同名的家目录
32+
创建同名的用户组
33+
34+
案例2:创建一个用户lisi,属于501主组,属于500的附加组,自选靓号666
35+
# useradd -g 501 -G 500 -u 666 lisi
36+
验证:
37+
#cat /etc/passwd
38+
#cat /etc/group 附加组
39+
40+
注意:查看用户的主组#cat /etc/paaawd,查看附加组#cat /etc/group
41+
42+
修改用户
43+
常用语法: #usermod 选项 用户名
44+
usermod: user modify
45+
常用选项:
46+
-g: 表示指定用户的用户主组,选线的值可以是用户组的id,也可以是组名
47+
-G: 表示指定用户的用户附加组,选线的值可以是用户组的id,也可以是组名
48+
-u: uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
49+
-l: 修改用户名
50+
51+
案例1:修改zhangsan的主组为500,附加组为501
52+
#usermod -g 500 -G 501 zhangsan
53+
54+
案例2:修改zhangsan用户名为wangwu
55+
#usermod -l 新用户名 旧用户名
56+
#usermod -l wangwu zhangsan
57+
58+
设置密码
59+
linux不允许没有密码的用户登录系统,因此前面创建的用户目前处于锁定状态,需要设置密码之后才能登录到系统。
60+
语法: #passwd 用户名
61+
案例1:设置wangwu的密码为wangwu.(密码太简单是通不过的)
62+
#passwd wangwu
63+
64+
在设置用户密码之后可以登录账号,例如此处需要登录wangwu
65+
切换命令: #su [用户名] (switch user)
66+
如果用户名不指定,则会切换到root
67+
切换用户注意事项:
68+
1、从root往普通用户切换不需要密码,反之需要密码
69+
2、切换用户之后前后的工作路径是不变的
70+
3、普通用户没有权限访问root用户家目录,反之可以
71+
72+
删除用户
73+
常用语法: #userdel 选项 用户名
74+
userdel: user delete
75+
常用选项:
76+
-r: 表示删除用户的同时,删除其家目录
77+
已经登录的用户是不能删除的,如果要删除,直接kill对应用户的进程id
78+
79+
案例:删除wangwu
80+
#userdel -r wangwu
81+
82+
83+
注意:所有跟用户操作的命令(除passwd外),只有root超级管理员才能执行。
84+
85+
86+
用户组管理
87+
#cat /etc/group
88+
文件结构
89+
用户组名:密码:用户组ID:组内用户名
90+
密码:X表示占位符,虽然用户组可以设置面膜,但是绝大部分的情况下不设置密码
91+
组内用户名:表示附加组是该组的用户名称
92+
93+
用户组添加
94+
常用语法: #groupadd 选项 用户名
95+
常用选项:
96+
-g: 自定义一个用户组ID数字,如果不指定,则默认从500之后递增
97+
案例:创建一个administrators组
98+
99+
用户组编辑
100+
常用语法: #groupmod 选项 用户组名
101+
常用选项:
102+
-g: 表示自定义用户组ID
103+
-n: 表示新的用户组名称
104+
105+
案例: 修改administrators用户组,将组ID从502改成520,将名称改为admins
106+
107+
用户组删除
108+
常用语法: #groupdel 用户组名
109+
110+
注意:如果一个组是某个用户的主组,则不允许删除这个组;若果需要删除,则需要移出组内的所有用户。

Diff for: 13_网络设置.txt

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
网卡配置文件位置: /etc/sysconfig/network-scripts
2+
在目录中网卡的配置文件命名格式: ifcfg-网卡名称
3+
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
4+
ONBOOT: 是否开机启动
5+
BOOTPROTO: IP地址分配方式,DHCP表示动态主机分配协议
6+
HWADDR: 硬件地址,MAC地址
7+
8+
重启网卡1:
9+
#service network restart
10+
11+
重启网卡2:
12+
共性的目录: /etc/init.d 这个目录中放着很多服务的快捷方式
13+
#/etc/init.d/network restart
14+
15+
扩展:如果修改网卡的目录地址很深,可以在浅层次目录创建快捷方式。
16+
#ln -s 原始文件的路径 快捷方式的路径
17+
例子: #ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth
18+
19+
20+
21+
扩展2:重启单个网卡
22+
停止某个网卡: #ifdown 网卡名
23+
开启某个网卡: #ifup 网卡名
24+
例如:需要停止-启动(重启)eth0网卡,则输入
25+
#ifdown eth0
26+
#ifup eth0
27+
28+
29+
注意:不要随意禁用网卡

Diff for: 14_ssh服务.txt

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
ssh(secure shell,安全外壳协议),该协议有2个常用的作用:远程连接协议、远程文件传输协议。
2+
3+
协议使用端口号: 默认是22,可以被修改,修改ssh服务的配置文件:
4+
#etc/ssh/ssh_config
5+
6+
修改端口号注意事项:
7+
1、端口范围是从0-65535
8+
2、不能使用别的服务已经占用的端口号
9+
10+
服务启动/停止、重启
11+
#service sshd start/stop/restart
12+
13+
#/etc/init.d/sshd start/stop/restart
14+
15+
16+
远程终端:
17+
终端工具主要帮助运维人员连接远程的服务器,常见终端工具有:Xshell、secureCRT、Putty
18+
19+
1、获取服务器ip地址,可以通过ifconfig命令进行查看
20+
#ifconfig
21+
22+
2、打开putty,输入相关的信息
23+
24+
25+
26+
SSH服务文件传输
27+
安装客户端:fillzilla软件

0 commit comments

Comments
 (0)