2023年8月3日发(作者:)
linuxvim终端⾏⾸⾏尾_学习笔记Linux篇~基本使⽤Ubuntu软件管理在⼤多数的Linux中,都有给⾃的软件管理⼯具,⽐如Ubuntu常⽤的是apt,通过软件管理包来安装和更新软件等sudo apt install –y lrzsz # 安装软件sudo apt uninstall –y lrzsz # 卸载软件sudo apt remove -y lrzsz # 删除软件注意:sudo #是临时提升当前⽤户权限到管理员exit #退回apt #是下载第三⽅软件的命令pip #是下载安装python⾃带的库的命令-y #表⽰yesctrl+c #直接打断当前命令Ctrl+l #清屏/ #根⽬录ip addr #查看IP地址⽤户与权限管理添加⽤户useradd -m username#在普通⽤户下可以使⽤su root命令切换管理员权限,进⾏创建⽤户-m:⾃动建⽴⽤户的登⼊⽬录-u UID:指定 UID,这个 UID 必须是⼤于等于500,并没有其他⽤户占⽤的 UID-g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在-G GROUPS:指定额外组-c COMMENT:指定⽤户的注释信息-d PATH:指定⽤户的家⽬录注意:使⽤useradd -m username创建新⽤户后发现,前缀看不懂切换到root⽤户下使⽤vim /etc/passwd命令将新建⽤户djrm的最后⼀个⽂件夹sh改名为bash保存退出即可userdel username # 删除⽤户groups 查看当前登录⽤户的组内成员添加⽤户组groupadd groupname # 添加⽤户组groupdel groupname # 删除⽤户组修改⽤户组(⽤的⽐较少)usermod [options] username-c:修改⽤户帐号的备注⽂字;-d:修改⽤户登⼊时的⽬录;-g:修改⽤户所属的群组;-G;修改⽤户所属的附加群组;-l:修改⽤户帐号名称;-L:锁定⽤户密码,使密码⽆效;-s:修改⽤户登⼊后所使⽤的shell;-u:修改⽤户ID;切换不同的⽤户组newgrp ⽤户组名⽂件权限第1列表⽰⽂件类型第2列表⽰⽂件权限第3列为硬链接个数,⽂件夹表⽰引⽤计数,即..加上⾥⾯的⽬录个数第4列表⽰⽂件所有者,就是⽂件属于那个⽤户第5列表⽰⽂件所属的组第6列表⽰⽂件⼤⼩,⽂件夹表⽰⽂件夹的⼤⼩,不是⽂件夹的总⼤⼩第7列表⽰⽂件的修改时间第8列表⽰⽂件名或⽬录名权限详解-rwxr-xr-x 这10个字符的确定了⽂件类型和⽤户对⽂件的权限第1个字符代表⽂件类型:- 表⽰普通⽂件后⾯9位每3位为⼀组 (rwx),读(r),写(w),执⾏(x)第1组是u所有者的权限:rwx代表⽂件的所有者root⽤户有读、写和执⾏的权限第2组是g所属组的权限:r-x 代表与⽂件所有者在同⼀组的⽤户有读和执⾏的权限第3组是o其他⼈的权限:r-x 代表其他的⽤户有读和执⾏权限在Linux中,⽂件有3种属性:可读、可写和可执⾏。每个⽂件都有⾃⼰的属主,每个⽤户有⾃⼰的⽤户组,这样⽂件权限就有属主权限、同组⽤户权限和不同组⽤户权限Linux中通过符号表⽰权限之外,也可以通过数字来表⽰权限 r 对应数字 4, w 对应数字 2,x对应数字 1 。 那么rwx 就是数字7,0表⽰没有任何权限更改⽂件权限chmod u+x #对应⽤户增减制定权限chmod 640 #直接⽤数字来指定权限chgrp root /tmp/vi #改变⽤户组chown –R bd:bd test #将test⽂件夹更改成bd⽤户所属⽂件编辑(vim)VIM的三种模式1、命令模式使⽤VIM打开⽂件之后,就会进⼊命令模式,在其他模式下,按ESC回到命令模式基本命令:h j k l #对应 左 下 上 右gg #移动⾄⾏⾸G #移动⾄⾏尾2、插⼊模式进⼊插⼊模式后,类似于记事本⼀样可以直接编辑⽂本内容基本命令:i 当前插⼊a 后⾯插⼊o 下⾏插⼊I ⾏⾸插⼊A ⾏尾插⼊O 上⾏插⼊3、末⾏模式在命令模式下输⼊英⽂的冒号(:)就会进⼊末⾏模式命令模式下可以输⼊的命令⼗分少,因此提供了末⾏模式来提供更多的命令基本命令::wq #保存退出:q! #强制退出不保存命令模式-扩展命令模式下还有很多其他的命令简单了解下:^ ⾮空格⾏⾸0 $ ⾏⾸ ⾏尾w e b 下个单词词⾸ 下个单词词尾 上个单词词⾸( ) 句⼦移动{ } 段落移动H 屏幕顶部M 屏幕中间L 屏幕底部% 跳转到匹配的括号^f ^b 向下移动⼀屏 向上移动⼀屏 (^代表 ctrl 键)^d ^u 向下移动半屏 向上移动半屏^e ^l 向屏幕顶端多滚动⼀⾏ 向屏幕底端多滚动⼀⾏. 执⾏上⼀条命令增yy 复制当前⾏nyy 复制n⾏p 粘贴yw 复制⼀个单词y$ 复制当前到⾏尾y0 复制当前到⾏⾸:x,ycoz:x,ymzx,y,z都是⾏号。x到y被复制或移动,插⼊到z⾏的下⾯:m删除源⾏:co不删除原始⾏删dd 删除当前⾏ndd 删除n⾏dw 删除⼀个单词x 删除当前字符X 删除前⼀个字符D 删除当前到⾏尾J 删除换⾏符改r 替换⼀个字符R 替换多个字符s 替换当前字符,并进⼊插⼊模式C 替换当前⾏到末尾的所有字符S 或 CC 以插⼊的⽅式替换当前⾏查/ 向前搜索 向后搜索n 重复/或?,⽅向相同N 重复/或?,⽅向相反* 向下搜索光标所在字符串# 向上搜索光标所在字符串% 搜索与当前花括号、圆括号、⽅括号成对的符号寄存器Vim有多个寄存器::reg 查看寄存器内容这个寄存器就相当于多个粘贴板, Vim提供了 a-z 26个命名寄存器, 0-9 10个数字寄存器,还有⼀些特殊寄存器复制:“{register}y 来复制内容到寄存器 {register} 中 例如: 3”ayy 复制3⾏到寄存器 a 中粘贴:“{register}p 来粘贴寄存器 {register} 中的内容 例如:”ap特殊寄存器:匿名寄存器: ”” 使⽤复制删除等命令时,都会放⼊匿名寄存器编号寄存器: “0-”9 “0保存复制的字符串, “1-”9保存着删掉的内容末⾏模式下的替换语法规则::[range]s/{pattern}/{string}/[flags]range 表⽰范围 1 表⽰⽂件第⼀⾏ $ 表⽰⽂件最后⼀⾏ . 表⽰光标所在⾏ % 整个⽂件(:1,$ 的简写)flags 标识 g 表⽰全局范围c 表⽰选择替换(y 替换、n 不替换、q 退出替换过程、l 替换此处后退出、a 替换此处 和之后所以的地⽅)n 不会替换,只返回替换的次数例如::%s/^/#/g 快速全⽂注释:%s/$/;/g 每⾏末加上 ;Vim设置:set all 显⽰所有选项的值:set option? 显⽰⼀个选项的值,例: :set fileencoding常见设置::set nu 显⽰⾏号:set ai ⾃动缩进:set list 显⽰⾮打印字符,如tab、空格、⾏尾如果是永久的配置,可以在⽤户的家⽬录下修改 .vimrcVim打开⽂件:vim –u NONE –N 出⼚配置,其中 –u NONE 不加载vimrc,-N不进⼊兼容模式vim +[num] file 打开⽂件,并将光标置于第n⾏⾸vim + file 打开⽂件,并将光标置于最后⼀⾏⾸vim –R file 只读模式打开⽂件命令查找命令搜索whereis 搜索命令的位置和帮助⽂档的位置which 搜索位置和命令的别名find命令find 命令格式:find [-path] -optionspath : 要查找的⽬录,默认是当前⽬录option:-name 按⽂件名的某种规则的查找-type 按⽂件类型查找 f 普通⽂件 l 符号连接 d ⽬录-size 按⽂件⼤⼩查找-exec: 假设find指令的回传值为True,就执⾏该指令;-print 假设find指令的回传值为Ture,就将⽂件或⽬录名称列出到标准输出。格式为每列⼀个名称,每个名称前皆有“./”字符串通配符:* 匹配任意内容 匹配任意⼀个字符[] 匹配任意⼀个中括号内的字符xargs 命令find ./ -type f -name ‘*.txt’ –print | xargs rmfind 命令可以把匹配到的⽂件传递给 xargs 命令执⾏grep命令grep 命令格式:grep –options file-c 计算符合范本样式的列数。-E 将范本样式为延伸的普通表⽰法来使⽤,意味着使⽤能使⽤扩展正则表达式。-i 忽略字符⼤⼩写的差别。-n 在显⽰符合范本样式的那⼀列之前,标⽰出该列的编号。-s 不显⽰错误信息。-v 反转查找。-w 只显⽰全字符合的列。-x 只显⽰全列符合的列。-o 只输出⽂件中匹配到的部分。
2023年8月3日发(作者:)
linuxvim终端⾏⾸⾏尾_学习笔记Linux篇~基本使⽤Ubuntu软件管理在⼤多数的Linux中,都有给⾃的软件管理⼯具,⽐如Ubuntu常⽤的是apt,通过软件管理包来安装和更新软件等sudo apt install –y lrzsz # 安装软件sudo apt uninstall –y lrzsz # 卸载软件sudo apt remove -y lrzsz # 删除软件注意:sudo #是临时提升当前⽤户权限到管理员exit #退回apt #是下载第三⽅软件的命令pip #是下载安装python⾃带的库的命令-y #表⽰yesctrl+c #直接打断当前命令Ctrl+l #清屏/ #根⽬录ip addr #查看IP地址⽤户与权限管理添加⽤户useradd -m username#在普通⽤户下可以使⽤su root命令切换管理员权限,进⾏创建⽤户-m:⾃动建⽴⽤户的登⼊⽬录-u UID:指定 UID,这个 UID 必须是⼤于等于500,并没有其他⽤户占⽤的 UID-g GID/GROUPNAME:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在-G GROUPS:指定额外组-c COMMENT:指定⽤户的注释信息-d PATH:指定⽤户的家⽬录注意:使⽤useradd -m username创建新⽤户后发现,前缀看不懂切换到root⽤户下使⽤vim /etc/passwd命令将新建⽤户djrm的最后⼀个⽂件夹sh改名为bash保存退出即可userdel username # 删除⽤户groups 查看当前登录⽤户的组内成员添加⽤户组groupadd groupname # 添加⽤户组groupdel groupname # 删除⽤户组修改⽤户组(⽤的⽐较少)usermod [options] username-c:修改⽤户帐号的备注⽂字;-d:修改⽤户登⼊时的⽬录;-g:修改⽤户所属的群组;-G;修改⽤户所属的附加群组;-l:修改⽤户帐号名称;-L:锁定⽤户密码,使密码⽆效;-s:修改⽤户登⼊后所使⽤的shell;-u:修改⽤户ID;切换不同的⽤户组newgrp ⽤户组名⽂件权限第1列表⽰⽂件类型第2列表⽰⽂件权限第3列为硬链接个数,⽂件夹表⽰引⽤计数,即..加上⾥⾯的⽬录个数第4列表⽰⽂件所有者,就是⽂件属于那个⽤户第5列表⽰⽂件所属的组第6列表⽰⽂件⼤⼩,⽂件夹表⽰⽂件夹的⼤⼩,不是⽂件夹的总⼤⼩第7列表⽰⽂件的修改时间第8列表⽰⽂件名或⽬录名权限详解-rwxr-xr-x 这10个字符的确定了⽂件类型和⽤户对⽂件的权限第1个字符代表⽂件类型:- 表⽰普通⽂件后⾯9位每3位为⼀组 (rwx),读(r),写(w),执⾏(x)第1组是u所有者的权限:rwx代表⽂件的所有者root⽤户有读、写和执⾏的权限第2组是g所属组的权限:r-x 代表与⽂件所有者在同⼀组的⽤户有读和执⾏的权限第3组是o其他⼈的权限:r-x 代表其他的⽤户有读和执⾏权限在Linux中,⽂件有3种属性:可读、可写和可执⾏。每个⽂件都有⾃⼰的属主,每个⽤户有⾃⼰的⽤户组,这样⽂件权限就有属主权限、同组⽤户权限和不同组⽤户权限Linux中通过符号表⽰权限之外,也可以通过数字来表⽰权限 r 对应数字 4, w 对应数字 2,x对应数字 1 。 那么rwx 就是数字7,0表⽰没有任何权限更改⽂件权限chmod u+x #对应⽤户增减制定权限chmod 640 #直接⽤数字来指定权限chgrp root /tmp/vi #改变⽤户组chown –R bd:bd test #将test⽂件夹更改成bd⽤户所属⽂件编辑(vim)VIM的三种模式1、命令模式使⽤VIM打开⽂件之后,就会进⼊命令模式,在其他模式下,按ESC回到命令模式基本命令:h j k l #对应 左 下 上 右gg #移动⾄⾏⾸G #移动⾄⾏尾2、插⼊模式进⼊插⼊模式后,类似于记事本⼀样可以直接编辑⽂本内容基本命令:i 当前插⼊a 后⾯插⼊o 下⾏插⼊I ⾏⾸插⼊A ⾏尾插⼊O 上⾏插⼊3、末⾏模式在命令模式下输⼊英⽂的冒号(:)就会进⼊末⾏模式命令模式下可以输⼊的命令⼗分少,因此提供了末⾏模式来提供更多的命令基本命令::wq #保存退出:q! #强制退出不保存命令模式-扩展命令模式下还有很多其他的命令简单了解下:^ ⾮空格⾏⾸0 $ ⾏⾸ ⾏尾w e b 下个单词词⾸ 下个单词词尾 上个单词词⾸( ) 句⼦移动{ } 段落移动H 屏幕顶部M 屏幕中间L 屏幕底部% 跳转到匹配的括号^f ^b 向下移动⼀屏 向上移动⼀屏 (^代表 ctrl 键)^d ^u 向下移动半屏 向上移动半屏^e ^l 向屏幕顶端多滚动⼀⾏ 向屏幕底端多滚动⼀⾏. 执⾏上⼀条命令增yy 复制当前⾏nyy 复制n⾏p 粘贴yw 复制⼀个单词y$ 复制当前到⾏尾y0 复制当前到⾏⾸:x,ycoz:x,ymzx,y,z都是⾏号。x到y被复制或移动,插⼊到z⾏的下⾯:m删除源⾏:co不删除原始⾏删dd 删除当前⾏ndd 删除n⾏dw 删除⼀个单词x 删除当前字符X 删除前⼀个字符D 删除当前到⾏尾J 删除换⾏符改r 替换⼀个字符R 替换多个字符s 替换当前字符,并进⼊插⼊模式C 替换当前⾏到末尾的所有字符S 或 CC 以插⼊的⽅式替换当前⾏查/ 向前搜索 向后搜索n 重复/或?,⽅向相同N 重复/或?,⽅向相反* 向下搜索光标所在字符串# 向上搜索光标所在字符串% 搜索与当前花括号、圆括号、⽅括号成对的符号寄存器Vim有多个寄存器::reg 查看寄存器内容这个寄存器就相当于多个粘贴板, Vim提供了 a-z 26个命名寄存器, 0-9 10个数字寄存器,还有⼀些特殊寄存器复制:“{register}y 来复制内容到寄存器 {register} 中 例如: 3”ayy 复制3⾏到寄存器 a 中粘贴:“{register}p 来粘贴寄存器 {register} 中的内容 例如:”ap特殊寄存器:匿名寄存器: ”” 使⽤复制删除等命令时,都会放⼊匿名寄存器编号寄存器: “0-”9 “0保存复制的字符串, “1-”9保存着删掉的内容末⾏模式下的替换语法规则::[range]s/{pattern}/{string}/[flags]range 表⽰范围 1 表⽰⽂件第⼀⾏ $ 表⽰⽂件最后⼀⾏ . 表⽰光标所在⾏ % 整个⽂件(:1,$ 的简写)flags 标识 g 表⽰全局范围c 表⽰选择替换(y 替换、n 不替换、q 退出替换过程、l 替换此处后退出、a 替换此处 和之后所以的地⽅)n 不会替换,只返回替换的次数例如::%s/^/#/g 快速全⽂注释:%s/$/;/g 每⾏末加上 ;Vim设置:set all 显⽰所有选项的值:set option? 显⽰⼀个选项的值,例: :set fileencoding常见设置::set nu 显⽰⾏号:set ai ⾃动缩进:set list 显⽰⾮打印字符,如tab、空格、⾏尾如果是永久的配置,可以在⽤户的家⽬录下修改 .vimrcVim打开⽂件:vim –u NONE –N 出⼚配置,其中 –u NONE 不加载vimrc,-N不进⼊兼容模式vim +[num] file 打开⽂件,并将光标置于第n⾏⾸vim + file 打开⽂件,并将光标置于最后⼀⾏⾸vim –R file 只读模式打开⽂件命令查找命令搜索whereis 搜索命令的位置和帮助⽂档的位置which 搜索位置和命令的别名find命令find 命令格式:find [-path] -optionspath : 要查找的⽬录,默认是当前⽬录option:-name 按⽂件名的某种规则的查找-type 按⽂件类型查找 f 普通⽂件 l 符号连接 d ⽬录-size 按⽂件⼤⼩查找-exec: 假设find指令的回传值为True,就执⾏该指令;-print 假设find指令的回传值为Ture,就将⽂件或⽬录名称列出到标准输出。格式为每列⼀个名称,每个名称前皆有“./”字符串通配符:* 匹配任意内容 匹配任意⼀个字符[] 匹配任意⼀个中括号内的字符xargs 命令find ./ -type f -name ‘*.txt’ –print | xargs rmfind 命令可以把匹配到的⽂件传递给 xargs 命令执⾏grep命令grep 命令格式:grep –options file-c 计算符合范本样式的列数。-E 将范本样式为延伸的普通表⽰法来使⽤,意味着使⽤能使⽤扩展正则表达式。-i 忽略字符⼤⼩写的差别。-n 在显⽰符合范本样式的那⼀列之前,标⽰出该列的编号。-s 不显⽰错误信息。-v 反转查找。-w 只显⽰全字符合的列。-x 只显⽰全列符合的列。-o 只输出⽂件中匹配到的部分。
发布评论