- 博客(231)
- 资源 (33)
- 问答 (7)
- 收藏
- 关注
原创 shell sed命令
sed主要用于将数据进行选取、替换、删除、新增的命令,以批处理的方式而不是交互的方式来编辑文件,sed读取文件是一次读取一行。语法格式为sed [选项] '[动作]' 文件名。
2023-09-25 10:28:20
19
原创 shell awk命令
awk把输入流看做一串记录的集合,每条记录都可以进一步细分为字段,一个awk程序是一对以模式和大括号框起来的操作组合而成的,awk每次从文件中读取一条记录。在输出数据时,默认的分隔符是空格,可以使用-v来设置输出字段分隔符。FNR 当前输入文件的当前行号,当有多个输入文档时相当有用。在读取数据时,默认的分隔符是空格,可以使用-F来指定分隔符。awk是shell进阶的重要命令,可以用来编排字段。保存单一值的变量叫做标量变量,常用的有。$n 当前行的第n的字段的内容。统计nginx各ip访问次数。
2023-09-24 17:32:40
29
原创 shell 字符串操作
字符串的第一个字符,编号为0,右邻的字符编号,一次增加1。由指定的位置开始,截取子字符串到字符串结束。来进行替换所有符合条件的字符串。来进行替换第一个符合的字符串。${变量:位置起点:长度}可以计算变量值的字符串长度。取字符串切片的语法有两种。只替换第一个符合的字符串。替换所有符合条件的字符串。${变量:位置起点}
2023-09-23 17:51:39
45
原创 shell 重定向
标准输出重定向 命令 > 文件 覆盖原文件内容 命令 >> 文件 追加。文件的标准操作分为 标准输入(stdin)、标准输出(stdout)、标准报错输出(stderr)错误输出重定向 错误命令 2>文件 覆盖原文件内容 错误命令 2>文件 追加。可以将命令输出内容追加到文件中(不管是错误信息还是正确信息)而输出重定向可以将本应该输出到控制台的内容输出到文件。bash的输出分为标准输出和错误输出。标准输出 文件描述符是1。
2023-09-22 10:28:22
62
原创 shell 重导和管道
管道的作用是将某个命令的结果输出作为另一个命令的输入,符号是"|"重导可将命令结果输出到文件中,有两种形式">"和">>"/dev/null 当被用做重定向时,输出内容会被抛弃。/dev/tty 当被用做重定向时,表示被重定向到终端。">"是将结果输出到文件中,将该文件中的原内容覆盖。重导和管道不能单独使用,需要配合其他命令一起使用。">>"是将结果追加到文件中。
2023-09-21 18:02:32
69
原创 shell 循环语句
Bash中有三种可以用来重复执行一系列命令的语句:for循环语句、while循环语句和until循环语句。until循环和while循环相反,until循环只要条件不成立则进行循环,一旦条件成立,则终止。使用continue跳出本次循环,使得程序跳到done,从而开始下一次循环。退出循环主要使用exit、continue、break这三个来进行控制。exit表示退出当前shell脚本,后续程序不再执行,可以指定返回值。使用break会跳出当前循环,执行done后面的语句。
2023-09-20 10:43:50
170
原创 shell 位置参数变量
在写shell脚本的时候,难免会进行命令行传参,下面来介绍一下位置参数变量。9代表第一到第九个参数,十以上的参数需要使用大括号,如${10}$* 表示命令行中的所有参数,把所有参数看成一个整体。$@ 也表示命令行中的所有参数,但是把每个参数区分对待。${@:起点:个数} 由起点开始,取得指定个数的位置参数。命令或程序执行完后的状态,一般返回0表示执行成功。${@:起点} 由起点开始,取得后面所有的位置参数。$# 表示命令行中所有参数的个数。0代表本身,即当前程序的名称。
2023-09-19 17:27:33
30
原创 shell 替换运算符
{varname:?message} 如果varname存在且非null时,则返回其值;${varname:=word} 如果varname存在且非null时,则返回其值;否则设置其为word,并返回其值。${varname:+word} 如果varname存在且非null时,则返回word;${varname:-word} 如果varname存在且非null时,则返回其值;有时候${variable}使用变量时,其变量可能没有设置导致存在一些问题,可以使用替换运算符来解决。
2023-09-18 10:33:28
82
原创 shell 判断语句
还有一种[[ 条件 ]]也可以进行条件判断,对于test和[]如果表达式包含特殊字符的话,需要进行转义,而对于[[ 条件 ]]则不需要理会特殊字符的影响,可以看到上述提供的只是基础的判断,那字符串包含如何进行判断呢。上述的test可以使用[ ]来替代。使用test来进行判断。
2023-09-17 15:03:16
39
原创 shell 流程控制
如果匹配的话,会执行该case下的语句,直到发现;匹配到模式则执行对应的命令,执行结束后跳出case语句。可以使用if来实现多路跳转,条件通常使用test命令。如果then需要和if放在同一行的话,使用;如果没有匹配到不想执行任何内容的话,可以不写*)"[" 符号前后、 "]"前边都要有空格。如果没有匹配,就会执行最后*)这一行的内容。fi用来结束if语句,相当于endif。变量的值会匹配)符号前面的字符串。[]: 指定范围内的任意单个字符。*: 任意长度任意字符。取值后边一定要用in。
2023-09-16 12:24:02
56
原创 shell 读取变量
可以通过$variable来读取变量,如果变量是一段命令的话,可以将命令放在括号中,shell会将这个这个命令进行执行,替换为命令的输出结果,该过程称为命令替换。上述方式是静态的在命令行或者脚本中使用赋值语句来给变量赋值,使用起来对用户并不友好,所以可以使用read来接收键盘输入的变量,与位置参数变量相比更适合于人机交互。shell变量包括两种:环境变量和用户定义变量。环境变量用于定制shell的运行环境,保证shell的正确运行,可以参考。用户定义的变量在shell脚本中用来作为临时的存储空间。
2023-09-15 14:47:30
42
原创 linux 查看可支持的shell
linux中支持多种shell类型,所以在shell文件的第一行需要指定所使用的shell。指定该脚本使用的是/bin/bash,这样的机制使得我们可以轻松地引用任何的解释器。查看可支持的shell。
2023-09-14 11:19:29
133
原创 shell 变量和引号
在shell中设定变量使用单引号和双引号有什么区别呢?单引号的作用就是形成一个字符串,写什么就是什么。双引号的功能比较强大。你好,我是 Bash。如果使用单引号则不行。
2023-09-13 14:40:21
55
原创 ssh总是很短时间自动断开连接
有时候使用ssh连接服务器,只是一会儿没用就自动断开连接了,又得重新连,很烦人,那么有没有办法可以让连接保持很久不断开呢?在/etc/ssh目录下的sshd_config就是用来配置ssh的,其对于客户端连接的配置默认是这样的。可以将ClientAliveInterval设置为60。然后重启下ssh就可以了。
2023-09-12 11:07:00
81
原创 linux 系统资源命令
当其他进程需要运行时,在从磁盘将内存的页调度到物理内存中,以恢复进程的运行。第三行是分区信息:total是swap的总数,used是已经使用的,free是空闲的,当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。第一行是内存信息:total表示总内存数,used表示已经使用的,free表示空闲的,shared表示多个进程共享的,buffers表示缓冲内存数,cached表示缓存内存数。
2023-09-11 20:18:08
223
原创 linux 文件系统命令
将要设置配额的分区设置开机自动挂载在添加行在 defaults 后面加上,usrquota(grpquota)表示要建立用户或组的磁盘配额。之前重启看效果,可以使用 umount -a 卸载所有文件挂载,然后使用 mount -a 挂载所有文件系统。全称disk free,磁盘可用空间,查看文件系统的使用情况,分区存储情况,大小,使用率等。如果设置宽限时间,可以让用户在规定的时间内可以超过软极限,但必须在硬极限之内。创建文件,占用磁盘空间,然后超过软极限,看提醒,然后再超过硬极限,看效果。
2023-09-09 16:40:30
189
原创 linux 网络命令
使用route可以进行路由配置,使用netstat -r可以查看路由表,然后使用route可以增加或删除一条路由。ifconfig可以查看主机IP地址和其他一些关于网络接口的信息,相当于windows的ipconfig。mtr集成了ping和traceroute,可以判断网络情况、查询具体在哪个环节丢包。查看网络状态,既可以查看本机开启端口,也可以查看有哪些客户端连接。nslookup显示某个指定域名的ip地址。traceroute可以查看经过的所有路由。配置完之后重启网络服务。nslookup命令。
2023-09-08 11:02:44
1017
2
原创 linux 进程管理命令
wa (Waiting time)一般应小于25%,表示用于等待IO完成的CPU时间,超过25%的wa的值可以表示子系统可能没有被正确平衡,也可能是磁盘密集工作负载的结果,系统的磁盘或其它I/o可能有问题,可以通过iostat/SAR –C命令进一步分解分析。linux中,在/proc/{pid}目录下存储指定进程的相关信息,其中/proc/{PID}/smaps 文件中记录着当前进程所对应的内存映像信息,可以通过该信息查询指定进程的swap使用情况。RES 进程使用的、未被换出的物理内存大小。
2023-09-06 20:48:34
766
原创 linux 后台运行命令
使用nohup命令,使得后台命令在离开操作终端也可以正确的在后台执行,nohup的作用就是不挂断的运行命令。很多时候需要将命令放在后台执行,那么如何让命令在后台运行呢,只需要在命令后加上&即可。使用定时任务,让系统执行该命令,这样该命令就与终端无关了,不依赖所登录的终端。但是后台运行的命令在关闭终端之后就会终止,如何解决这个问题呢?
2023-09-04 11:41:46
331
原创 linux 查看端口占用
可以使用netstat -tunlp | grep 端口号 来查看指定的端口号的进程情况。可以使用lsof -i:端口号 来查看端口占用情况。
2023-09-03 21:00:04
582
原创 vim编辑器
末行模式:该模式下,在vim界面最下边可以输入命令,来执行各种操作,编辑完文件之后,想要保存修改或者不保存修改都需要进入末行模式来进行操作,从命令模式切到底末模式,按:(冒号)进入末行模式。查找,按下/键,然后输入所要查找的字符,按回车,如果找到光标会跳转到第一个搜索结果的位置,然后按n,继续向下查找,如果按Shift+n,会反向向上查找。vim有三种模式,命令模式,插入模式,末行模式,在一开始的时候默认进入的是命令模式。:s/old/new/g 替换当前行的所有old为new。
2023-09-02 20:52:59
153
原创 linux URL访问工具
使用-G表示发起Get请求,同时可以联合--data-urlencode来转义URL参数里的中文特殊符号,data-urlencode默认是POST请求,如果没有-G参数,会发起一个POST请求。使用-X可以指定发送请求类型,如GET|POST|PUT|DELETE。使用-d表示发起post请求,-d后为post内容。使用-I参数,只会返回响应header。使用-i参数,会返回响应header。使用-H可以设置HTTP请求头。URL通常用双引号防止转义。使用-F参数可以上传文件。
2023-09-01 11:40:35
545
原创 linux 权限管理命令
第 1 个字符表示文件类型,其中,普通文件 (-)、目录文件 (d)、套接字文件 (s),管道文件 (p),字符设备文件 (c),块设备文件 (b),软链接文件 (l);ACL是用来解决用户对文件身份不足的问题,上述权限管理只能对三类人群进行权限区分,这明显是不够的,所以出现了ACL操作。第 2~4 位的 rwx 表示该文件可被它的 所有者以 r(读) 或 w(写) 或 x(执行) 的权限访问。第 5~7 位的 r-x 表示该文件可被与该文件同一所有组的用户以 r 或 x 的权限访问。
2023-08-30 20:49:26
286
原创 linux版本
服务器版:RHEL(RedHat Enterprise Linux)内核版是由linus进行维护的,要使用RHEL6.5以上。Debian系列(ubuntu、knoppix等)RedHat系列(contos、suse等)linux主要分为了内核版和发行版。发行版主要有两个系列。个人版:Fedora。
2023-08-29 15:57:08
48
原创 linux 自动登录SSH
把公钥上传至SSH Server端的.ssh目录下的authorized_keys中,私钥则留在client。每次ssh连接服务器还要输入密码,可以进行配置自动登录SSH。会生成私钥文件id_rsa以及公钥文件id_rsa.pub。在SSH的client端产生一组公钥和私钥。
2023-08-26 15:52:29
345
原创 linux 远程登录
每次连接都需要输入用户名密码太麻烦,ssh服务还支持一种安全认证机制,即密钥认证,其有一个公钥,任何人都能看到,用于加密;还有一个私钥,只有拥有者才能看到,用于解密。远程登录使用ssh服务,其配置文件为/etc/ssh/sshd_config。
2023-08-25 15:38:29
1397
原创 linux 源代码编译
有时候会在linux上下载源码包,然后进行编译成可执行的文件,这个过程需要经过configure、make、make install、make clean四个步骤。configure 为这个程序在当前的操作系统环境下选择合适的编译器和环境参数来编译该代码。make install 将已编译好的可执行文件安装到操作系统指定或默认的安装目录下。make 对程序代码进行编译操作,会将源码编译成可执行的目标文件。make clean 删除编译时临时产生的目录或文件。
2023-08-24 18:49:35
542
2
原创 linux用户管理
由于su的权限是没有限制的,所以此时用到了sudo命令,通过 sudo,我们能把某些 root 有针对性的下放,并且无需普通用户知道 root 密码,所以 sudo 相对于权限无限制性的 su 来说,还是比较安全的,所以 sudo 也能被称为受限制的 su;sudo 执行命令的流程是当前用户转换到 root(或其他指定转换到的用户),然后以 root(或其他指定的转换到的用户)身份执行命令,执行完成后,直接退回到当前用户;第二个字段为密码标志 x表示有密码,密码存在/etc/shadow文件中。
2023-08-23 10:34:49
92
原创 linux 压缩解压缩
由于tar格式只会打包不会压缩,而gzip和bz2只会压缩不会打包,所以将两者结合了一下,先进行tar打包,在进行gzip压缩,但是如果每次压缩和解压都要两步操作太麻烦了,所以出现了.tar.gz和.tar.bz2格式。gzip压缩之后源文件就不见了,且不支持将多个文件压缩至一个压缩包中,压缩包的名称为源文件名称+.gz。由于多个文件一起压缩打包gzip和bz2无法完成,需要使用tar,但是tar命令只可以打包,不会压缩。gz格式在linux中是一种很常用的格式,gzip不支持压缩目录。
2023-08-22 22:25:49
271
原创 linux 系统安装
格式化是为了写入文件系统,根据用户选定的文件系统(如FAT32、NTFS、EXT4、XFS等),在磁盘的特定区域写入特定数据,在分区中划出一块用于文件分配表、目录表等用于文件管理的磁盘空间。一部分比较大,用于存储数据块(block),每个数据块默认4KB,block是存储数据的最小单位。全局唯一标示分区表,支持9.4ZB硬盘,理论上支持的分区数没有限制,windows支持128个分区。最大支持2.1T的硬盘,最多支持4个分区。主分区加扩展分区最多只能有4个。/boot(启动分区)swap(交换分区)
2023-08-21 11:02:08
119
原创 linux 文件操作命令
在使用rmdir删除目录的时候如果目录中存在子目录是不可以被删除的,使用起来比较恶心,所以在删除文件或者目录的时候都习惯于使用rm来删除。在复制的时候,如果目标位置是目录,则将文件复制过去,如果目标位置是文件,则将文件内容复制过去。使用mktemp可以创建临时文件,会在/tmp目录下产生一个tep.xxxxxx的临时文件。less也能分页显示文件,和more类似,不过允许在文件中一行或多行的前后滚动。head是显示文件头,tail是显示文件尾,默认10行。软链接不存储真实数据,存储的是源文件的Inode。
2023-08-19 16:49:22
141
原创 linux 搜索命令
这个数据库是在半夜通过cron执行updatedb建立的,有时候新创建的文件使用locate来搜索文件搜索不到,可能是因为文件的索引还没有更新到数据库中,可以使用。虽然locate命令搜索速度很快,但是locate只能搜索文件名,不能根据权限、类型、时间来进行搜索,而使用find命令来搜索文件就可以进行细分了。搜索速度快,是按照数据库进行搜索的(数据库位置在/var/lib/mlocate/mlocate.db)用于在文件中搜索符合条件的字符串,是最早的文本匹配命令。find命令还可以进行组合操作。
2023-08-17 10:04:43
160
Mycat-server-1.6.7.4-release-20200105164103-mac.tar.gz
2022-05-20
apache-shardingsphere-incubating-4.0.1-sharding-proxy-bin.tar.gz
2022-05-13
java中的强引用软引用问题
2017-05-21
myeclipse报错自动关闭
2017-05-19
java内部类中的局部变量
2017-05-19
关于JavaScript的事件
2017-04-24
myeclipse下编写的jsp中文乱码
2017-04-23
html表格单元格焦点事件问题
2017-04-22
myeclipse中编写html表单
2017-04-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人