Linux
文章平均质量分 67
开发 运维常用知识
01空间
生无大事
展开
-
shell 命令 tee & {..}定义循环体
tee{..} 循环体。原创 2023-08-15 19:17:16 · 312 阅读 · 0 评论 -
Linux 基础(九)软件包管理
和Maven一样,YUM默认中央仓库为国外的仓库,下载速度较慢,需要配置国内镜像仓库。rpm -e 软件名(无需完整包名):检查依赖,当前软件被依赖,则无法提示报错。不检查依赖,强制卸载,可能导致依赖它的软件无法正常运行。rpm包管理工具存在缺陷,需手动维护软件之间的依赖关系,而且先下载rpm包。YUM底层还是使用的RPM,只是对其做了一些优化,使其更易于使用。YUM 在安装软件时,会自动下载安装所需依赖软件,然后安装本软件。基于以上原因,基于RPM,更智能化的软件管理工具YUM就诞生了。原创 2023-08-13 03:54:49 · 453 阅读 · 0 评论 -
Linux 基础(八)常用命令 - ps & kill & pstree & top & netstat & crontab & lsof
crontab 的表达式与 一般cron表达式略有出入没有秒,年。killall 进程名称,停掉某个程序启动的所有进程。kill [opts] pid: 按pid停掉进程。crontab 管理定时任务,按用户进行隔离的。process status 查看进程状态。-i:仅展示,上次刷新到此刻活动过的进程。以下分别是两种方式查看本地进程信息。Linux 系统自带的定时任务服务。系统就会自动运行该任务。,是一个systemd创建的服务。查看所有进程,父进程id。查看所有进程,资源占用。展示当前所有进程信息。原创 2023-08-13 02:44:03 · 324 阅读 · 0 评论 -
Linux 基础(七)常用命令 - 磁盘分区命令
剩余的空间默认 /dev/sda2 分区 挂载到 / 目录,只是这里没有完全展示分区2的信息,它里面包括了 swap 分区。NTFS:是Windows系统中常用的文件系统类型,Linux可以通过ntfs-3g驱动来挂载和读写NTFS分区。如果需要划分更多的分区,可以使用。ext3:是ext4的前身,也是常见的Linux文件系统类型之一,支持日志记录和回滚功能。ext2:是ext3的前身,是较旧的Linux文件系统类型,不支持日志记录功能。ext4:是Linux上最常用的文件系统类型,支持大容量文件和分区。原创 2023-08-12 23:08:02 · 3299 阅读 · 0 评论 -
Linux 基础(六)常用命令 - find & locate & which & whereis & gzip & gunzip & tar
但是这个数据库并不是实时更新的,可能最近添加的文件并未收录进去,也可能已经删除的文件没来得及移除;通过本地数据库并非实时搜索文件,定位文件,Linux系统会为每个文件建立路径对应的本地数据库。tar 命令是通过 参数来决定是打包还是解压的操作,常用参数如下。find 目录(不指定目录,则以当前目录查找) 查找参数。,并且默认保留源文件,压缩多个文件默认生成到一个压缩文件。默认是一周更新次,如果要修改这个频率,编辑。源文件,压缩多个文件时分别压缩成。查找执行文件或命令相关的文件,(默认,为压缩文件),原创 2023-08-12 17:08:14 · 380 阅读 · 0 评论 -
Linux 基础(五)常用命令-文件属性
其中 rwx 分别表示 :读权限,写权限(仅限修改,不能删除;命令:chmod [-R 如果修改的是文件夹,对其内部所有文件执行该操作]分别表示 所属用户权限(u),所属用户组权限(g),其他用户权限(o);该命令有几种方式设置权限属性:增量修改和全量覆盖。Linux中文件权限 可以通过文件属性体现;第一个7代表 所属用户有有所有权限;用户/数组/其他用户/所有用户。后面的rwx,以三个为一组,第三个7表示 其他用户的权限。第二个7表示 所属组的权限。修改文件所有者属性 使用。的修改权限),执行权限。原创 2023-08-12 02:40:59 · 620 阅读 · 0 评论 -
Linux 基础(四)常用命令-日期 & 用户权限
想要执行sudo 操作,需要root用户事先将 需要使用sudo的用户添加到 sudoers 列表中 /etc/sudoers 参考root用户,增加一行对应用户的配置。创建用户时,如果没有指定用户组,则默认创建同名组;修改用户(修改其他属性参考帮助文档)组信息都在 /etc/group 中。原创 2023-08-12 01:01:18 · 348 阅读 · 0 评论 -
Linux 基础(三)常用命令-文件目录
tail -n file 展示文件后10行,默认就是10行;-10f 查看文件实时内容,并展示10行。ln 给文或目录创建软链接,类似快捷方式;软链接文件仅仅是个特殊的文件。head -n 10 file 展示文件前10行,默认就是10行。echo 输出内容到控制台;history 执行过的命令历史。原创 2023-08-11 21:09:26 · 417 阅读 · 0 评论 -
Linux 基础(二)修改hostname & 修改本地域名解析 hosts & network 和 NetworkManager & 创建系统服务 & 关机重启
打开一个文本编辑器,创建一个新的.service文件,例如myservice.service。[Unit]Description=After=[Service]ExecStart=ExecStop=Type=Restart=[Install]原创 2023-08-11 17:34:16 · 959 阅读 · 0 评论 -
Cent OS 7.x 下 tomcat 自启动
安装tomcat,这里就不赘述,本文主要讲述开机启动项配置1.vim 打开 tomcat 下 catalina.sh2.配置JDK目录,保存退出3.创建tomcat服务配置文件vim /etc/systemd/system/tomcat.service输入以下内容,tomcat安装路径自行调整[Unit]Description=Tomcat serviceAfter=sy...原创 2020-03-30 00:31:10 · 205 阅读 · 0 评论 -
Vim基本使用
在常规模式下,按下 i 或者 o ,进入编辑模式,此时可以进行文本编辑。移动光标到起始位置,按下y,按下$(和正则类似 $表示结尾)移动光标到起始位置,按下y,按下^(和正则类似 ^表示开始)在常规模式下,按下 : 或者 /?此模式下我们可以进行复制,粘贴,删除等操作。删除/剪切一个字符,光标不动删后面的字符。编辑完成,按下 esc 回到常规模式。先按下要删除的总行数 ,再按 dd。先按下总行数 数字,再按yy。按下 r ,然后输入对应的。复制一行中光标后面的内容。先按下数字,再按 p。原创 2023-08-11 02:12:04 · 1169 阅读 · 0 评论 -
Linux 文件基础(一)文件系统
但是根目录下的 bin 目录只是一个链接文件,它链接到的实际目录是。Linux 系统需要的一些库文件,lib64 位64系统的特殊库文件;虽然Linux有很多不同的发行版,但是其基本目录结构都是类似的,因此只要了解一个发行版基本足矣。设备目录,描述硬件设备,Linux中万物皆文件,硬件设备也以文件形式描述。我们需要做的是,先分区,再创建目录,然后将指定分区挂载到对应的目录。同样也是存放可执行文件的目录,但是sbin里面存放的一般是。,同样它也是一个链接文件,实际目录为。主要存放一些应用程序的配置文件。原创 2023-08-10 23:53:57 · 318 阅读 · 0 评论 -
虚拟机安装 Ubuntu桌面版,虚拟机可以访问宿主机,宿主机无法访问虚拟机
网络连接使用的是桥接,查看ubuntu的ip是正常的,与宿主机在同一个网段。获取已经设置的规则,可以获取到规则编号,用于后续操作。最后发现ubuntu内没有ssh服务。能ping通但是无法连接。原创 2023-08-10 17:00:41 · 619 阅读 · 0 评论 -
Shell编程基础(十六)文本三剑客(awk & cut)
前面的 grep 和 sed 在处理文本时都是以行为单位,逐行处理;还有很多其他的命令都是以行为单位进行处理。在实际开发运维中,可能需要拆分整行内容,只关心部分字段。可以使用awk进行拆分。与 grep,sed类似;awk 可以直接从文件获取数据也可以从管道流获取数据。awk的功能非常丰富,它作为一门独立的变成语言。创建 student.txt 文件。各种匹配方式可结合正则实现。原创 2023-08-10 00:04:46 · 154 阅读 · 0 评论 -
Shell编程基础(十五)文本三剑客(sed)
``bash# 将含有 abc 的行 的第一个 abc 换成 def。原创 2023-08-09 03:08:12 · 164 阅读 · 0 评论 -
Shell编程基础(十四)文本三剑客(grep)
|, \w(匹配大小写字母和数字,相当于[A-Za-z0-9]),\W (所有非字母数字 = [^A-Za-z0-9]),\b 边界词 \bxxx\b相当于 \)-C : 显示上下多少行 -C10上下都显示10行。-A :显示下面多少行 -A10向下显示10行。-B:显示上面多少行 -B10向上显示10行。-q :不显示匹配结果,但返回值依然有。-v :从结果中过滤掉 -v的后的数据。-R :匹配指定目录下的所有文件。egrep -l :只显示文件名。-o :只显示匹配的关键字。原创 2023-08-08 18:15:52 · 181 阅读 · 0 评论 -
Shell编程基础(十三)正则表达式
上述2种区别都类似:^ $ 匹配的是整个字符串的首尾而 \< \> 匹配的是字符串中的词(整个字符串根据空格可以拆分成多个词)的首尾。原创 2023-08-07 01:49:16 · 792 阅读 · 0 评论 -
Shell编程基础(十二)函数
shell 函数的创建方式function 函数名空格xxxxreturn 返回码(不指定时,以函数内最后一条命令的返回码返回,一般来讲0代表成功,其他错误代表各种异常,根据实际情况设计返回码)函数名 ()空格xxxreturn 返回码。原创 2023-08-06 01:24:34 · 151 阅读 · 0 评论 -
Shell编程基础(十一)使用 expect 脚本处理人机交互
因此,通常会将expect 脚本嵌入到 shell 脚本中,让expect做完自己那一部分工作就回到shell环境中。“交互提示语中的词,就模糊匹配,包含就行” {send “要输入的内容**\r**”}这样的提示 - 再进行匹配,然后执行 ip a 命令,查看目标机器id - 再匹配。我们在执行某些程序时,可能会出现需要用户在过程中输入某些选项才能继续执行的场景。的shell进程,则需要考虑执行完后对expect所在 shell进程的处理。如果我们想要实现一些自动话的操作,是会被卡在这里的。原创 2023-08-06 01:00:14 · 970 阅读 · 0 评论 -
Shell编程基础(十)读取多行文本到数组 & 写入多行文本到文件
cat_lines.txt 将cat 收集到的文本以覆盖/追加的方式重定向到文件 cat_lines.txt 中。FFF 定义多行文本结束符,通常这个标识符使用 EOF(end of file)并非只能EOF。echo 方式引号如果没和数据在一行,会有一个空行。<< 表示将FFF 中定义的内容收集到 cat 中。以上两种都能将指定格式的数据写入文本。原创 2023-08-05 23:15:35 · 1184 阅读 · 0 评论 -
Shell编程基础(九)数组
同其他编程语言一样,数组用于保存多个数据将之前的多个变量放到一个数组中数组根据索引的不同可以分为 普通数组 和关联数组所谓关联数组,就是索引可以自定义;普通的数组索引只能一个一个按数字递增数据项通过空格隔开,而不是习以为常的逗号还可以手动指定索引及对应的值这两种方式还可以混合使用但是要特别注意,[0] 的方式优先级高于直接写值方式 而且跟在[index] 后面的直接定义的值会基于前面的 index 递增再次设值,如果 index 超过了当前数组大小,则中间那些索引都是空的。原创 2023-08-05 20:12:56 · 139 阅读 · 0 评论 -
Shell编程基础(八)并行执行代码 {}& 同步并行进程 wait
如果采用传统的 串行执行,写在后面的方法,需要前面的执行完才开始执行,总体下来,这种效率是比较低的,如果,后续的逻辑不关心,前面并行执行的结果,那么我们可以直接编写后续的代码;可以看到,前面两个 sleep 命令都脱离了当前 shell 进程,相当于。在实际编写shell脚本中,我们可能会需要同时处理多个不想关的业务;接着上面并行执行例子,未同步时,直接就完成了,我们在完成之前加个同步。开启并行同步也很简单,只需要在 需要等待的地方加上。可以看到,整个过程,执行时间为。的方式提高整体的效率。原创 2023-08-05 19:12:27 · 305 阅读 · 0 评论 -
Shell编程基础(七)循环 for & while & util & select
和其他编程语言中 for 类似;支持 fori 和 for in 两种方式。一般用于变量已知的数组,支持 通配符, {…},$(seq 1 5),如果 seq 从1 开始可以省略 1 ,直接写 seq 5。如:遍历某个目录下的文件,并展示其中内容。while [[ 布尔表达式 ]]util [[ 布尔表达式 ]]原创 2023-08-05 19:12:06 · 125 阅读 · 0 评论 -
Shell编程基础(五)shell 条件判断语句 if 和 case
和其他编程语言一样,shell也有条件判断语法,同样是分支流程设计的基础。原创 2023-07-30 03:07:02 · 307 阅读 · 0 评论 -
Shell编程基础(六)shell 脚本调试
可以看到那几行有语法错误;如果测试的脚本没有语法错误,则不输出信息。使用 sh -vx 测试脚本执行过程。使用 sh -n 测试脚本语法错误。原创 2023-07-29 18:12:32 · 330 阅读 · 0 评论 -
Shell编程基础(四)配置本地yum源仓库 &
下创建 xxx.repo 的配置文件,内容如下。原创 2023-07-24 01:54:28 · 335 阅读 · 0 评论 -
Shell编程基础(三)环境变量 & 位置变量 & 系统内置变量
因此也可以在这个脚本里面做一些,开机的初始化操作(自启动应用等)。在当前进程中,通过 export 指定的环境变量,只在当进程及其子进程中有效。在用户目录(cd 或者 cd ~ 可切换到当前用户目录)下有个文件 ==若想要在其他shell进程中使用,可以将变量声明为 环境变量。我们在执行命令,脚本时,有时会传参,那么在脚本内,就可以通过。在脚本种直接定义的变量,只能在当前shell进程中使用。要想环境变量全局有效,需在指定的文件中定义环境变量。==这里面声明的环境变量,只对当前用户有效。原创 2023-07-24 01:43:01 · 706 阅读 · 0 评论 -
Shell编程基础(二)变量 & 整数运算 & 浮点运算
简单来讲,就是用于保存数据的一个盒子,数据本质上是存储在内存种的,变量存储了这个内存地址,从而可以获取数据。命名规范:由字母,数字,下划线构成,变量又分为 系统变量 ,自定义变量。常用于定义一个变量接收计算结果。运算符和数字之间要留有。语法:表达式 | bc。运算符和数字无需空格。运算符和数字无需空格。原创 2023-07-22 18:39:03 · 94 阅读 · 0 评论 -
shell 命令 ping & pstree & id & chmod & chown & “> 和 &>“ & 格式化时间 & --stdin --stdout
W :ping 单词ping超时时间 秒。-c :ping 多少次,默认一直ping。-i :ping 执行间隔 秒,默认1秒。Ping常用于测试网络的连通性。-w:ping 总体超时时间 秒。原创 2023-07-22 16:44:25 · 82 阅读 · 0 评论 -
shell知识点 && 和 || 配合使用
逻辑或:同样可以用于shell脚本逻辑判断 和 命令编排(前面的命令执行失败[未返回0,0代表命令正确执行] ,检测当前目录是否存在 11.txt 这个文件,如果存在则打印 success。检测当前目录是否存在 11.txt 这个文件,如果不存在则打印 fail。fail执行成功,第四个命令是 && 控制 ,因此 done会执行。因为 第一个命令执行失败,导致 && success未执行,如果存在则打印 success,否则打印fail。第三个命令是 || 控制的,因此 fail会执行。原创 2023-07-22 16:30:47 · 195 阅读 · 0 评论 -
Shell编程基础(一)基础概念 & shell执行方式
与其他脚本语言一样,shell脚本需要一个解释器来解析脚本文件;常用解释器:Csh,Bash,Zsh等。/bin/sh, #!Shell 是一种用 C 语言编写的脚本语言,常用于用户与Linux/Unix系统交互;将shell命令写进一个脚本文件,通过运行脚本文件的方式执行里面的shell命令;只要脚本没有退出,即使前面的内容出现一些错误,后面的还会执行。基于当前shell进程,创建一个子进程来执行脚本文件。在当前 shell进程种直接执行这个脚本文件。原创 2023-07-22 13:24:30 · 40 阅读 · 0 评论