![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
程序员柒叔
专“走捷径”的程序猿,专注知识传承与分享
展开
-
在Linux下记录所有用户的登录和操作日志
在很多大厂中,一般会通过第三方的4A系统登录企业的服务器,登陆者所有的操作都会由4A系统采集、汇总、记录,以达到安全审计的目的。但是很多小公司并没有采购4A系统的预算,那么为了保证操作的安全性和可追溯性,一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整。所以误操作而造成重要的数据丢失,就很难查到是谁操作的。今天就来介绍一种非常简洁的方法,通过编写脚本来追溯每个用户的操作记录。原创 2022-05-30 22:09:41 · 5274 阅读 · 0 评论 -
keepalive实战
本文介绍了keepalive的安装、部署和配置流程,以抢占模式为例进行了验证,并展示了安装过程中常见的问题和解决方案。原创 2022-05-10 14:27:49 · 1731 阅读 · 0 评论 -
linux服务器/bin/bash误删的后果
1、该文件删除后,/etc/init.d/目录下的几乎所有服务都无法启动。 使用 service sshd start 启动或停止服务时,报错:env: /etc/init.d/sshd : no such file or directory单独启动某个服务,执行/etc/init.d/目录下的服务时,也无法启动:$ ./sshd restart/bin/bash: no su原创 2017-03-09 17:13:37 · 6281 阅读 · 3 评论 -
Linux下cpuinfo详解
在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?经过查看,我的开发机器是1个物理CPU,4核8线程,Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz记录一下,判断的过程和知识。 判断依据:1.具有相同core id的cpu是同一个cor转载 2016-03-19 21:08:26 · 457 阅读 · 0 评论 -
Linux下sqlplus显示乱码
1、现象 在公司项目中,由于字符集全部采用的utf-8编码,SecurCRT采用utf-8字符集,导致脚本文件、代码中的汉字全部显示乱码。将上述文件的编码格式全部转换为 UTF-8格式另存,重新刷脚本、编译,中文字符能够正常显示。但是,发现在提取数据时,中文还是乱码。通过sqlplus连接数据库,提取数据,也是乱码。说明系统的字符集与oracle数据库的字符集不一致。原创 2016-03-19 21:02:34 · 7226 阅读 · 0 评论 -
epoll、poll、select的比较
在Linux套接字编程的时候,为了处理大量客户的链接请求,需要使用非阻塞的I/O复用,select、poll、epoll是Linux API提供的IO复用方式,epoll是从Linux2.6以后的版本才加入的,在高性能服务器领域有了广泛的应用。select本质上是通过设置或存放fd标志位的数据结构来进行下一步处理,有如下的缺点:■单个进程可监视的fd数量被限制■需要维护一个用来存放转载 2016-03-16 22:39:48 · 399 阅读 · 0 评论 -
test/expr的使用
1、测试文件状态test 选项 目标(文件) 或[ 选项 目标(文件) ] --注意,[ ]两端有空格 选项:-d 目标文件为目录 -x 目标文件可执行 -w 目标文件可写 -r 目标文件可读翻译 2016-03-16 22:28:13 · 405 阅读 · 0 评论 -
shell中记录运行时间的一种方法
可以使用`date +%s`命令,该命令显示 从某一年(1970)开始到现在的 秒数。 #在shell开始处,START_TIME=`date +%s` #在shell结尾处,END_TIME=`date +%s` EXECUTING_TIME=`expr $END_TIME - $START_TIME`echo $EXECUTING_TIME原创 2016-03-16 22:27:32 · 5721 阅读 · 0 评论 -
shell中等待其他程序执行完毕
有时候,该shell脚本需要等到另一个shell脚本 或 程序执行完毕之后,才开始执行。 提供一种方法: 查看 前序 脚本或程序 的进程是否已经执行结束: #如果有程序在make,则等待make结束cnt=`ps -ef|grep "make"|grep "all"|grep -v grep|grep -v vi|wc -l` echo $cntdo原创 2016-03-16 22:25:41 · 12026 阅读 · 0 评论 -
shell中的时间变量
shell脚本中需要用到时间的字符串形式,如 '20130724',在脚本中,变量的赋值如下: #取当天时间 20130724fee_date=`date +%Y%m%d`echo $fee_date #取前一天时间 20130723fee_date=`date -d last-day +%Y%m%d`echo $fee_date #取后一天时间 2013原创 2016-03-16 22:25:03 · 2472 阅读 · 0 评论 -
shell中调用sqlplus
有时候需要在shell中 调用数据库操作。脚本框架如下: sqlplus -s username/password@SID--此时已进入sqlplus环境了--结尾叹号“!”表示sqlplus将会以“!”结束。 --变量声明variable v_start_time varchar2(20);variable v_user_id varchar2(10);原创 2016-03-16 22:22:42 · 919 阅读 · 0 评论 -
shell读取文件
shell中,读取文件中的每一行:#!/bin/bashcat test | while read linedo echo $linedone翻译 2016-03-16 22:21:31 · 383 阅读 · 0 评论 -
shell中字符串操作函数
字符串操作(长度,读取,替换){#string} $string的长度 ${string:position} 在$string中, 从位置$position开始提取子串 ${string:position:length} 在$string中, 从位置$position开始提取长度为$length的子串 ${string#substring} 从变量$st翻译 2016-03-16 22:20:30 · 1193 阅读 · 0 评论