From d071fc2719924ab956bfbeaac1e48c52c2fef48a Mon Sep 17 00:00:00 2001 From: lxx <3099029007@qq.com> Date: Sun, 2 Jun 2024 22:31:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...16\350\246\201\345\201\232\347\232\204.md" | 9 ++- ...4\351\201\223\351\242\230\347\233\2561.md" | 3 +- ...4\351\201\223\351\242\230\347\233\2562.md" | 72 +++++++++++++++++++ .../20240529-vim\347\273\203\344\271\240.md" | 49 +++++++++++++ ...m\347\274\226\350\276\221\345\231\2501.md" | 40 +++++++++++ ...m\347\274\226\350\276\221\345\231\2502.md" | 71 ++++++++++++++++++ 6 files changed, 242 insertions(+), 2 deletions(-) rename "\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\256.md" => "\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2561.md" (98%) create mode 100644 "\346\236\227\346\231\223\351\233\252/20240527-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2562.md" create mode 100644 "\346\236\227\346\231\223\351\233\252/20240529-vim\347\273\203\344\271\240.md" create mode 100644 "\346\236\227\346\231\223\351\233\252/20240530-vim\347\274\226\350\276\221\345\231\2501.md" create mode 100644 "\346\236\227\346\231\223\351\233\252/20240531-vim\347\274\226\350\276\221\345\231\2502.md" diff --git "a/\346\236\227\346\231\223\351\233\252/20240520-\345\256\211\350\243\205\345\256\214Debain\347\263\273\347\273\237\345\220\216\350\246\201\345\201\232\347\232\204.md" "b/\346\236\227\346\231\223\351\233\252/20240520-\345\256\211\350\243\205\345\256\214Debain\347\263\273\347\273\237\345\220\216\350\246\201\345\201\232\347\232\204.md" index 8318a21..24589f8 100644 --- "a/\346\236\227\346\231\223\351\233\252/20240520-\345\256\211\350\243\205\345\256\214Debain\347\263\273\347\273\237\345\220\216\350\246\201\345\201\232\347\232\204.md" +++ "b/\346\236\227\346\231\223\351\233\252/20240520-\345\256\211\350\243\205\345\256\214Debain\347\263\273\347\273\237\345\220\216\350\246\201\345\201\232\347\232\204.md" @@ -39,6 +39,7 @@ vim /etc/ssh/sshd_config vim /etc/network/interfaces ````````` `根据图片找到iface ens33 inte dhcp将动态改为静态static配置IP子网及网关保存退出即可` + ![alt text](https://img2.imgtp.com/2024/05/26/iHxFPakC.png) ## 配置完重启更新 @@ -49,6 +50,12 @@ cd /sbin --进入sbin目录 `sbin是一个特殊的目录 用于存放系统管理和系统维护的关键性命令` ## 配置环境变量 简单化ls的用法 +````````bash +vim ~/.bashrc +alias l='ls -a --color=auto' --创建别名,使其默认使用彩色输出 +source ~/.bashrc --执行配置文件生效 +```````` + ## 配置变量环境 设置当前系统字符集 以接受中文 ````````bash cd /etc/profile.d/ --正常在终端是输入不了中文可能会导致乱码 @@ -57,5 +64,5 @@ cd /etc/profile.d/ --正常在终端是输入不了中文可能会导致 ````````bash vim lang.sh --在当前目录创建后缀为.sh的文件 export LC_ALL=C.utf8 --输入后保存 -soure lang.sh --执行文件即可输入中文 +source lang.sh --执行文件即可输入中文 ```````` diff --git "a/\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\256.md" "b/\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2561.md" similarity index 98% rename from "\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\256.md" rename to "\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2561.md" index 7ab143b..919182d 100644 --- "a/\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\256.md" +++ "b/\346\236\227\346\231\223\351\233\252/20240523-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2561.md" @@ -6,7 +6,7 @@ 在修改完这些配置文件后,通常需要重启相关服务或重新登录用户才能使新的环境变量生效 ### 想设置一个针对当前root用户都生效的环境变量,请问应该放在哪个文件中? - 添加到.bash_profile或.profile文件中 + 添加到.bash_profile(.bashrc)或.profile文件中 编辑完这些配置文件后,通常需要重新加载配置文件或重新登录才能使环境变量生效 ### ls命令的作用是什么?常用的一些选项 及其意义具体是什么?常用用法有哪些? @@ -64,6 +64,7 @@ ### 切换用户使用什么命令? 使用超级管理员执行某个命令怎么做? 使用sudo 用户名进行切换用户 `注意切换方式的root用户是不能执行超级管理员能执行的一些命令` + 下载sudo:apt install sudo 如果你已经是以root用户登录,那么不需要使用sudo切换,可以直接执行管理员命令 如果不是需要进入到 /etc/ssh/sshd_config配置文件进行修改允许root用户登陆 diff --git "a/\346\236\227\346\231\223\351\233\252/20240527-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2562.md" "b/\346\236\227\346\231\223\351\233\252/20240527-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2562.md" new file mode 100644 index 0000000..368b9b6 --- /dev/null +++ "b/\346\236\227\346\231\223\351\233\252/20240527-\345\215\201\344\272\224\351\201\223\351\242\230\347\233\2562.md" @@ -0,0 +1,72 @@ +### 在当前目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为shiyan.c? + touch exam.c --创建文件 exam.c + cp exam.c /tmp/shiyan.c --复制文件到 /tmp 目录并重命名为 shiyan.c + +### 在任何目录下回到用户主目录? + pwd # 查看当前目录路径 + cd /home/username # 手动切换到主目录 + +### 打印当前目录(隐藏文件也显示)? + ls -a --这里的-a选项告诉ls命令显示所有文件,包括以点(.)开头的隐藏文件(默认情况下,ls命令不会显示隐藏文件) + +### 用长格式列出/home目录下所有的文件包括隐藏文件? + ls -la /home + -l:使用长格式列出文件详细信息,包括文件权限、链接数、所有者、组、大小和最后修改时间 + -a:显示所有文件,包括以点(.)开头的隐藏文件 + +### 查看当前目录下所有的文件或目录(含.开头的),把查看结果生成文件1s.txt? + ls -a > ls.txt + >:重定向操作符,将ls命令的输出写入到ls.txt文件中,而不是显示在屏幕上(如果ls.txt文件已经存在,它将被覆盖;如果文件不存在,它将被创建) + +### 将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中? + cp *.txt /home/ 这三条命令分别复制当前目录下所有扩展名为.txt、.doc和.bak的文件到/home目录。 + cp *.doc /home/ + cp *.bak /home/ + 如果/home目录中已经存在同名的文件,cp命令会询问您是否覆盖它们。如果您想要避免这些提示,可以在cp命令后面添加-n选项,这样就不会覆盖已存在的目标文件,例如:cp -n *.bak /home/ + 如果您想要将所有这些文件一次性复制过去,并且不想看到任何提示,可以使用-f选项来强制复制: + cp -f *.txt *.doc *.bak /home/ + +### 显示一个文件的最后10行用什么命令 + tail -n 10 文件名 + +### 如何统计一个文件的行数? + 可以使用wc命令的-l选项 wc -l 文件名 + +### 如何创建一个新文件,并且向文件内部写入数据"清华大学",并在当前的文件里面追加数据"计算机科学与技术" + 通过makdr或touch命令创建文件touch example.txt + 使用echo命令重定向写入echo "清华大学" > example.txt (文件存在原内容会被覆盖) + 如果要追加内容不想被覆盖echo "计算机科学与技术" >> example.txt + +### sbin 目录和 bin 目录有什么区别? + bin目录包含所有用户都需要的基本命令,而sbin目录包含主要用于系统管理和维护的命令 + +### vi 编辑器有几种模式? + 命令模式 插入模式 可视化模式 + +### 如何进入vi编辑器的插入模式 + 按i a o字母即可进入插入模式 + +### 如何进入vi编辑器的可视化模式 + 在普通模式下按v键可以进入可视模式 + +### 在vi 编辑器中如何复制一行 + 进入普通模式 将光标移动到要复制的行的开始或任意位置 + 执行yy命令(即按y两次)来复制当前行 + 移动光标到目标位置 按p键粘贴复制的行 + +### 在vi 编辑器中如何进行粘贴 + 粘贴到光标之后: + 将光标移动到您想要粘贴内容的位置。 + 在普通模式下,按小写字母p + 刚刚复制或删除的内容将被粘贴到光标所在位置的后面 + + 粘贴到光标之前: + 将光标移动到您想要粘贴内容的位置 + 在普通模式下,按大写字母P + 刚刚复制或删除的内容将被粘贴到光标所在位置的前面 + +### 如何删除从3行到15行的所有数据 + 在底线模式下输入:3,15d + : 进入命令行模式 + 3,15 指定了一个范围,从第3行到第15行(包括第3行和第15行) + d 是删除命令,它会删除指定范围内的所有行 \ No newline at end of file diff --git "a/\346\236\227\346\231\223\351\233\252/20240529-vim\347\273\203\344\271\240.md" "b/\346\236\227\346\231\223\351\233\252/20240529-vim\347\273\203\344\271\240.md" new file mode 100644 index 0000000..1485a18 --- /dev/null +++ "b/\346\236\227\346\231\223\351\233\252/20240529-vim\347\273\203\344\271\240.md" @@ -0,0 +1,49 @@ +### 什么是 vim +Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连vim的官方网站自己也说 vim 是一个程序开发工具而不是文字处理软件 + +### 其他编辑器 +- emacs +emacs是一款功能强大的编辑器,需要在图形界面的Linux中使用; +emacs的优点:可定制,可扩展;功能强大;可以和许多自由软件编程工具集成 +emacs的缺点:入门难度高,对普通用户不友好 + +- nano +nano是一个自由软件,同时也是GNU计划的一个组成部分;nano有很多人性化的设计,如语法敞亮、正则表达式搜索和替换、平滑滚动、多个缓冲区、自定义快捷键、撤销或重复编辑 +优点:易于使用,操作简单,适用于简单文本编辑 +缺点:对复杂的文本编辑比较耗时,无强大的命令功能进行复杂操作,不支持如宏、一次编辑多个文件、窗口分割 、垂直块/矩形选择/编辑、自动完成等高级功能 + +- gedit +gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器;其简单易用,对中文支持很好,支持包括GB2312、GBK在内的多种字符编码;支持完整的恢复和重做系统以及查找和替换 +优点:图形化界面,易上手,操作习惯与Windows类似,包括常用的快捷键如复制粘贴等 +缺点:需要安装图形化界面才能使用 + +- kedit +Kedit是KDE图形化桌面中常用的一种文本编辑器,是一个非常小的编辑器,适用于浏览文本和各种配置文件 +优点:图形化界面,易上手,操作习惯与Windows类似,包括常用的快捷键 +缺点:需要安装图形化界面 + +- Notepad++ +适用于Windows的免费开源文本编辑器。支持多种编程语言的语法高亮显示和代码折叠。功能强大,插件丰富,适合程序员和高级用户 + +### 练习 +光标移动练习 命令模式下: +- 单位级 h j k l +- 单词级 w e b +- 块级 gg G 0 ^ $ H M L ngg nj nk + +把下列句子按照第一句的正确顺序修改好并把多余的空行删除 +````````bash +this is a simple easy vim tutorial --这是一个简单易学的vim教程 + +tutorial vim this is a easy simple +tutorial easy vim simple a this is +simple a vim easy tutorial is this + +tutorial is easy vim a simple this + +- 打开vim编辑器在命令模式下按大写的gg会将光标移动到文件的第一行 +- 可以在命令模式使用yy复制第一行作为参考 +- 在命令模式通过p粘贴复制的行 +- 之后在底线模式使用:%d 删除所有行,除了第一行 +- 删除多余的空行: :%g/^$/d " +```````` \ No newline at end of file diff --git "a/\346\236\227\346\231\223\351\233\252/20240530-vim\347\274\226\350\276\221\345\231\2501.md" "b/\346\236\227\346\231\223\351\233\252/20240530-vim\347\274\226\350\276\221\345\231\2501.md" new file mode 100644 index 0000000..6b0f572 --- /dev/null +++ "b/\346\236\227\346\231\223\351\233\252/20240530-vim\347\274\226\350\276\221\345\231\2501.md" @@ -0,0 +1,40 @@ +# vi/vim 的使用 +`基本上 vi/vim 共分为三种模式:命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)` + +## 命令模式 + i -- 切换到输入模式,在光标当前位置开始输入文本 + x -- 删除当前光标所在处的字符 + : -- 切换到底线命令模式,以在最底一行输入命令 + a -- 进入插入模式,在光标下一个位置开始输入文本 + o -- 在当前行的下方插入一个新行,并进入插入模式 + O -- 在当前行的上方插入一个新行,并进入插入模式 + dd -- 剪切当前行 + yy -- 复制当前行 + p(小写) -- 粘贴剪贴板内容到光标下方 + P(大写)-- 粘贴剪贴板内容到光标上方 + u -- 撤销上一次操作 + Ctrl + r -- 重做上一次撤销的操作 + :w -- 保存文件 + :q -- 退出 Vim 编辑器 + :q! -- 强制退出Vim 编辑器,不保存修改 + 若想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i 切换到输入模式即可 + +## 输入模式 + 在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式 + 字符按键以及Shift组合,输入字符 + ENTER,回车键,换行 + BACK SPACE,退格键,删除光标前一个字符 + DEL,删除键,删除光标后一个字符 + 方向键,在文本中移动光标 + HOME/END,移动光标到行首/行尾 + Page Up/Page Down,上/下翻页 + Insert,切换光标为输入/替换模式,光标将变成竖线/下划线 + ESC,退出输入模式,切换到命令模式 + +### 底线命令模式 + 在命令模式下按下 :(英文冒号)就进入了底线命令模式 + :w:保存文件 + :q:退出 Vim 编辑器 + :wq:保存文件并退出 Vim 编辑器 + :q!:强制退出Vim编辑器,不保存修改 + 按 ESC 键可随时退出底线命令模式 \ No newline at end of file diff --git "a/\346\236\227\346\231\223\351\233\252/20240531-vim\347\274\226\350\276\221\345\231\2502.md" "b/\346\236\227\346\231\223\351\233\252/20240531-vim\347\274\226\350\276\221\345\231\2502.md" new file mode 100644 index 0000000..58f0e45 --- /dev/null +++ "b/\346\236\227\346\231\223\351\233\252/20240531-vim\347\274\226\350\276\221\345\231\2502.md" @@ -0,0 +1,71 @@ +# vi/vim 按键说明 + +## 第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等 +### 移动光标的方法 + h 或 向左箭头键(←) 光标向左移动一个字符 + j 或 向下箭头键(↓) 光标向下移动一个字符 + k 或 向上箭头键(↑) 光标向上移动一个字符 + l 或 向右箭头键(→) 光标向右移动一个字符 + + 光标移动到非空格符的下一行 + - 光标移动到非空格符的上一行 + n n表示『数字』例如,按下数字后再按空格键,光标会向右移动这一行的 n 个字符 + 0 或功能键[Home] 移动到这一行的最前面字符处 (常用) + $ 或功能键[End] 移动到这一行的最后面字符处 (常用) + H 光标移动到这个屏幕的最上方那一行的第一个字符 + M 光标移动到这个屏幕的中央那一行的第一个字符 + L 光标移动到这个屏幕的最下方那一行的第一个字符 + G 移动到这个档案的最后一行 (常用) + nG n为数字 移动到这个文件的第 n 行 (可配合 :set nu) + gg 移动到这个文件的第一行 (常用) + n n为数字 光标向下移动 n 行 (常用) + +### 搜索替换 + /word 向光标之下寻找一个名称为 word 的字符串 (常用) + ?word 向光标之上寻找一个字符串名称为 word 的字符串 + n 这个n是英文按键 代表重复前一个搜寻的动作 + N 这个 N 是英文按键 与小写n刚好相反,为(反向)进行前一个搜寻动作 + +### 删除、复制与粘贴 + x,X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键) X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) + nx n为数字,连续向后删除 n 个字符 + dd 剪切游标所在的那一整行(常用) + ndd n为数字。剪切光标所在的向下 n 行 + d1G 删除光标所在到第一行的所有数据 + dG 删除光标所在到最后一行的所有数据 + d$ 删除游标所在处,到该行的最后一个字符 + d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 + yy 复制游标所在的那一行(常用) + nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) + y1G 复制游标所在行到第一行的所有数据 + yG 复制游标所在行到最后一行的所有数据 + y0 复制光标所在的那个字符到该行行首的所有数据 + y$ 复制光标所在的那个字符到该行行尾的所有数据 + p, P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 + c 重复删除多个数据 + u 复原前一个动作 (常用) + [Ctrl]+r 重做上一个动作 (常用) + . 使用小数点意思是重复前一个动作的意思 (常用) + + +## 第二部分:一般模式切换到编辑模式的可用的按钮说明 +### 进入输入或取代的编辑模式 + i, I 进入输入模式(Insert mode): + i 为(从目前光标所在处输入), I 为(在目前所在行的第一个非空格符处开始输入) (常用) + a, A 进入输入模式(Insert mode): + a 为(从目前光标所在的下一个字符处开始输入), A 为(从光标所在行的最后一个字符处开始输入) (常用) + o, O 进入输入模式(Insert mode): + 这是英文字母 o 的大小写:o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行 (常用) + [Esc] 退出编辑模式,回到一般模式中 (常用) + +## 第三部分:一般模式切换到指令行模式的可用的按钮说明 +### 指令行的储存、离开等指令 + :w 将编辑的数据写入硬盘档案中 (常用) + :w! 若文件属性为『只读』时,强制写入该档案 + :q 离开 vi (常用) + :q! 强制离开并不保存 + :wq 储存后离开 + :wq! 强制储存后离开 (常用) + +### vim 环境的变更 + :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 + :set nonu 与 set nu 相反,为取消行号 \ No newline at end of file -- Gitee