@@ -671,20 +671,22 @@ Linux系统的命令通常都是如下所示的格式:
671
671
672
672
2. 命令模式、编辑模式和末行模式:启动vim进入的是命令模式,在命令模式下输入英文字母`i`会进入编辑模式,屏幕下方出现`-- INSERT --`提示;在编辑模式下按下`Esc`会回到命令模式,此时如果输入英文`:`会进入末行模式,在末行模式下输入`q!`可以在不保存当前工作的情况下强行退出vim,如果希望执行保存退出,则应该在末行模式下输入`wq`。
673
673
674
- 3. 光标操作。
674
+ 3. 退出vim:在命令模式下输入`:` 进入末行模式,输入wq可以实现保存退出;如果想放弃编辑的内容输入`q!`强行退出,这一点刚才已经提到过了;在命令模式下也可以直接输入`ZZ`实现保存退出。
675
+
676
+ 4. 光标操作。
675
677
676
678
- 在命令模式下可以通过`h`、`j`、`k`、`l`来控制光标向左、下、上、右的方向移动,可以在字母前输入数字来表示移动的距离,例如:`10h`表示向左移动10个字符。
677
679
- 在命令模式下可以通过`Ctrl+y`和`Ctrl+e`来实现向上、向下滚动一行文本的操作,可以通过`Ctrl+f`和`Ctrl+b`来实现向前和向后翻页的操作。
678
680
- 在命令模式下可以通过输入英文字母`G`将光标移到文件的末尾,可以通过`gg`将光标移到文件的开始,也可以通过在`G`前输入数字来将光标移动到指定的行。
679
681
680
- 4 . 文本操作。
682
+ 5 . 文本操作。
681
683
682
684
- 删除:在命令模式下可以用`dd`来删除整行;可以在`dd`前加数字来指定删除的行数;可以用`d$`来实现删除从光标处删到行尾的操作,也可以通过`d0`来实现从光标处删到行首的操作;如果想删除一个单词,可以使用`dw`;如果要删除全文,可以在输入`:%d`(其中`:`用来从命令模式进入末行模式)。
683
685
- 复制和粘贴:在命令模式下可以用`yy`来复制整行;可以在`yy`前加数字来指定复制的行数;可以通过`p`将复制的内容粘贴到光标所在的地方。
684
686
- 撤销和恢复:在命令模式下输入`u`可以撤销之前的操作;通过`Ctrl+r`可以恢复被撤销的操作。
685
687
- 对内容进行排序:在命令模式下输入`%!sort`。
686
688
687
- 5 . 查找和替换。
689
+ 6 . 查找和替换。
688
690
689
691
- 查找操作需要输入`/`进入末行模式并提供正则表达式来匹配与之对应的内容,例如:`/doc.*\.`,输入`n`来向前搜索,也可以输入`N`来向后搜索。
690
692
- 替换操作需要输入`:`进入末行模式并指定搜索的范围、正则表达式以及替换后的内容和匹配选项,例如:`:1,$s/doc.*/hello/gice`,其中:
@@ -693,15 +695,21 @@ Linux系统的命令通常都是如下所示的格式:
693
695
- `c` - confirm:替换时需要确认。
694
696
- `e` - error:忽略错误。
695
697
696
- 6 . 参数设定:在输入`:`进入末行模式后可以对vim进行设定。
698
+ 7 . 参数设定:在输入`:`进入末行模式后可以对vim进行设定。
697
699
698
700
- 设置Tab键的空格数:`set ts=4`
701
+
699
702
- 设置显示/不显示行号:`set nu` / `set nonu`
703
+
700
704
- 设置启用/关闭高亮语法:`syntax on` / `syntax off`
705
+
701
706
- 设置显示标尺(光标所在的行和列): `set ruler`
707
+
702
708
- 设置启用/关闭搜索结果高亮:`set hls` / `set nohls`
703
709
704
- 7. 高级技巧
710
+ > 说明:如果希望上面的这些设定在每次启动vim时都能生效,需要将这些设定写到用户主目录下的.vimrc文件中。
711
+
712
+ 8. 高级技巧
705
713
706
714
- 比较多个文件。
707
715
@@ -725,11 +733,19 @@ Linux系统的命令通常都是如下所示的格式:
725
733
726
734

727
735
728
- - 映射快捷键。
729
- - `:inoremap key code`
730
- - `:map key code`
736
+ - 映射快捷键:在vim下可以将一些常用操作映射为快捷键来提升工作效率。
737
+ - 例子1:在命令模式下输入`F4`执行从第一行开始删除10000行代码的操作。
738
+
739
+ `:map <F4> gg10000dd`。
740
+
741
+ 例子2:在编辑模式下输入`__main`直接补全为`if __name__ == ' __main__' :`。
742
+
743
+ `:inoremap __main if __name__ == ' __main__' :`
744
+
745
+ > 说明:如果希望映射的快捷键每次启动vim时都能生效,需要将映射写到用户主目录下的.vimrc文件中。
731
746
732
747
- 录制宏。
748
+
733
749
- 在命令模式下输入`qa`开始录制宏(其中`a`是寄存器的名字,也可以是其他英文字母或0-9的数字)。
734
750
735
751
- 执行你的操作(光标操作、编辑操作等),这些操作都会被录制下来。
@@ -788,6 +804,13 @@ Complete!
788
804
nginx version: nginx/1.12.2
789
805
```
790
806
807
+ 下面以MySQL为例,演示如何使用rpm安装软件。
808
+
809
+ ```Shell
810
+
811
+
812
+ ```
813
+
791
814
#### 下载解压配置环境变量
792
815
793
816
下面以安装MongoDB为例,演示这类软件应该如何安装。
@@ -858,11 +881,10 @@ build environment:
858
881
[root@iZwz97tbgo9lkabnat2lo8Z ~]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
859
882
[root@iZwz97tbgo9lkabnat2lo8Z ~]# make && make install
860
883
[root@iZwz97tbgo9lkabnat2lo8Z ~]# ln -s /usr/local/python36/bin/python3.6 /usr/bin/python3
861
- [root@iZwz97tbgo9lkabnat2lo8Z ~]# ln -s /usr/local/python36/bin/pip3 /usr/bin/pip3
862
- [root@iZwz97tbgo9lkabnat2lo8Z ~]# ln -s /usr/local/python36/bin/2to3-3.6 /usr/bin/2to3
863
884
[root@iZwz97tbgo9lkabnat2lo8Z ~]# python3 --version
864
885
Python 3.6.5
865
886
[root@iZwz97tbgo9lkabnat2lo8Z ~]# python3 -m pip install -U pip
887
+ [root@iZwz97tbgo9lkabnat2lo8Z ~]# pip3 --version
866
888
```
867
889
868
890
2. 安装Redis-3.2.12。
@@ -890,24 +912,66 @@ build environment:
890
912
891
913
### 配置服务
892
914
893
- 1. systemctl start / stop / restart / status
894
- 2. systemctl enable / disable
895
- 3. 计划任务 - **crontab**。
896
- 4. 开机自启。
915
+ 1. 启动服务。
916
+ 2. 终止服务。
917
+ 3. 重启服务。
918
+ 4. 查看服务。
919
+ 5. 设置是否开机自启。
920
+
921
+ ### 计划任务
922
+
923
+ 1. **crontab**命令。
924
+ 2. crontab相关文件。
897
925
898
926
### 网络访问和管理
899
927
900
928
1. 通过网络获取资源 - **wget**。
901
929
- -b 后台下载模式
902
930
- -O 下载到指定的目录
903
931
- -r 递归下载
904
- 2. 显示/操作网络配置(旧) - **ipconfig**。
932
+
933
+ 2. 显示/操作网络配置(旧) - **ifconfig**。
934
+
935
+ ```Shell
936
+
937
+
938
+ ```
939
+
905
940
3. 显示/操作网络配置(新) - **ip**。
941
+
942
+ ```Shell
943
+
944
+
945
+ ```
946
+
906
947
4. 网络可达性检查 - **ping**。
948
+
949
+ ```Shell
950
+
951
+
952
+ ```
953
+
907
954
5. 查看网络服务和端口 - **netstat**。
955
+
956
+ ```Shell
957
+
958
+
959
+ ```
960
+
908
961
6. 安全文件拷贝 - **scp**。
962
+
963
+ ```Shell
964
+
965
+
966
+ ```
967
+
909
968
7. 安全文件传输 - **sftp**。
910
969
970
+ ```Shell
971
+
972
+
973
+ ```
974
+
911
975
### Shell和Shell编程
912
976
913
977
1. 通配符。
0 commit comments