继续
0,
vi/vim 中可以使用 :s 命令来替换字符串。在当前vim命令打开的文本中:
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
5. 删除文本中的^M
问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。
· 使用命令:cat filename1 | tr -d “^V^M” > newfile;
· 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。
· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。
· :%s/^M$//g
如果上述方法无用,则正确的解决办法是:
· tr -d "\r" < src >dest
· tr -d "\015" dest
· strings A>B
6. 其它
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
7. 检查端口
#netstat -anltup | grep :25 -a all,所有 -n number,把能以数字表示的用数字表示,像端口号之类。 -l listen,被监听的 -t tcp,tcp协议的 -u udp,udp协议的
-p 输出进程名
netstat -anp 显示系统端口使用情况
lsof -i :端口 显示占用该端口的进程情况
uname -a 内核信息
cat /proc/interrupts 显示中断信息
8. 检查磁盘空间
[root@Linux var]# df -hl 文件系统 容量 已用 可用 已用% 挂载点 /dev/hdb2 75G 75G 0 100% / /dev/hdb1 99M 9.2M 85M 10% /boot none 251M 0 251M 0% /dev/shm
用以下命令查看单个目录 # du -bs dir_name
查看当前文件夹下所有文件大小(包括子文件夹)
# du -sh
查看指定文件夹下所有文件大小(包括子文件夹)
# du -h ftp
查看指定文件大小
# du -h ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
184K ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
查看指定文件夹大小
# du -hs ftp
6.3G ftp
9. 删除日志文件
今天一看,公司的linux 服务器没放什么东西,但是已经使用了50%了,一查看原来是日志文件太大了,于是就手动删除了,
这个比较快
sudo /dev/null > /var/log/**.log
下面这个可以推荐使用
sudo find /var/log/ -type f -mtime +30 -exec rm -f {} \;
删除30天之前的旧文件
10. du的用法
用法:du [选项]... [文件]...
或:du [选项]... --files0-from=F
计算每个文件的磁盘用量,目录则取总用量。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all 输出所有文件的磁盘用量,不仅仅是目录
--apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会
小一些,但有时它会因为稀疏文件间的"洞"、内部碎
片、非直接引用的块等原因而变大。
-B, --block-size=大小 使用指定字节数的块
-b, --bytes 等于--apparent-size --block-size=1
-c, --total 显示总计信息
-D, --dereference-args 解除命令行中列出的符号连接
--files0-from=F 计算文件F 中以NUL 结尾的文件名对应占用的磁盘空间
如果F 的值是"-",则从标准输入读入文件名
-H 等于--dereference-args (-D)
-h, --human-readable 以可读性较好的方式显示尺寸(例如:1K 234M 2G)
--si 类似-h,但在计算时使用1000 为基底而非1024
-k 等于--block-size=1K
-l, --count-links 如果是硬连接,就多次计算其尺寸
-m 等于--block-size=1M
-L, --dereference 找出任何符号链接指示的真正目的地
-P, --no-dereference 不跟随任何符号链接(默认)
-0, --null 将每个空行视作0 字节而非换行符
-S, --separate-dirs 不包括子目录的占用量
-s, --summarize 只分别计算命令列中每个参数所占的总用量
-x, --one-file-system 跳过处于不同文件系统之上的目录
-X, --exclude-from=文件 排除与指定文件中描述的模式相符的文件
--exclude=PATTERN 排除与PATTERN 中描述的模式相符的文件
--max-depth=N 显示目录总计(与--all 一起使用计算文件)
当N 为指定数值时计算深度为N;
--max-depth=0 等于--summarize
--time 显示目录或该目录子目录下所有文件的最后修改时间
--time=WORD 显示WORD 时间,而非修改时间:
atime,access,use,ctime 或status
--time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):
full-iso,long-iso,iso,+FORMAT
--help 显示此帮助信息并退出
--version 显示版本信息并退出
[大小]可以是以下的单位(单位前可加上整数):
kB 1000,K 1024,MB 1000000,M 1048576,还有 G、T、P、E、Z、Y。
11. find使用方法(部分)
详细请参考:
http://www.oracle.com/technetwork/cn/articles/calish-find-096463-zhs.html
find 命令有几个用于根据您系统的时间戳搜索文件的选项。这些时间戳包括
• mtime — 文件内容上次修改时间
• atime — 文件被读取或访问的时间
• ctime — 文件状态变化时间
这些时间选项都需要与一个值 n 结合使用,指定为 -n、n 或 +n。
• -n 返回项小于 n
• +n 返回项大于 n
• n 返回项正好与 n 相等
自己实验测试部分:
查找30天之前的文件,并且删除之
find /var/log/ -type f -mtime +30 -exec rm -f {} \;
查找30天之前的文件
find ./ -type f -mtime +30
返回两天内的文件且后缀名为sql的文件
find ./ -type f -mtime -2 -a -name "*.sql"
返回两天内的文件且后缀名为sql的文件且文件小于10K的
find ./ -type f -mtime -2 -a -name "*.sql" -a -size -10000c
返回文件大于10M的sql文件个数
find ./ -size +10000000c -a -name "*.sql" | wc -l
返回文件大于10M的sql文件同时删除之
find ./ -size +10000000c -a -name "*.sql" -exec rm -f {} \;
返回文件大于10M的sql文件同时删除之,同时是30天之前的文件文件个数
find ./ -size +10000000c -a -name "*.sql" -a -type f -mtime +30 | wc -l
返回文件大于10M的sql文件同时删除之,同时是30天之前的文件,删除
find ./ -size +10000000c -a -name "*.sql" -a -type f -mtime +30 -exec rm -f {} \;
12. 获取字符串的长度5种方法
方法1: 使用wc -L命令
wc -L可以获取到当前行的长度,因此对于单独行的字符串可以用这个简单的方法获取,另外wc -l则是获取当前字符串内容的行数。
代码如下:echo "abc" |wc -L
方法2: expr length string
使用expr length可以获取string的长度
方法3: awk获取域的个数,但是如果大于10个字符的长度时是否存在问题需要后面确认
代码如下:echo "abc" |awk -F "" '{print NF}'
方法4: 通过awk+length的方式获取字符串长度
代码如下:echo “Alex”|awk '{print length($0)}'
方法5: 通过echo ${#string}的方式(注意:这里的string是该字符串的变量名)
代码如下:name=Alex
echo ${#name}
相关推荐
虽然我们没有具体的代码内容,但可以推测这个文件可能包含了一些基本的日志记录功能,如设置日志级别、记录日志信息到文件或控制台等。 总的来说,理解并构建一个C++日志系统涉及对Linux日志机制的熟悉,掌握C++...
学习这些日志记录知识可以帮助我们更好地管理和优化Kettle的工作流程,及时发现并解决问题。通过分析日志,我们可以了解Job和Transformation的执行顺序、耗时以及错误发生的位置,从而提高ETL流程的稳定性和效率。 ...
在Linux环境下,各种服务、应用以及系统组件会不断产生日志,这些日志记录了它们运行时的事件、错误、警告和其他关键信息。通过对这些日志的分析,我们可以发现潜在的问题,例如系统崩溃的原因、安全漏洞或资源瓶颈...
在IT行业中,日志记录是软件开发中不可或缺的一部分,它帮助开发者追踪程序运行的状态,定位错误,以及进行性能分析。本文将围绕“logc.rar”这个C语言实现的日志记录库进行深入探讨。 标题中的“logc.rar”指的是...
进程统计日志记录了系统中进程的启动和终止情况。当某个进程终止时,系统会自动记录这一事件,并将其添加到进程统计日志文件中。这类日志有助于管理员了解系统中服务的运行状态,从而进行性能优化或故障排除。 ####...
也许在目前许多学者都不知道如何分析Nginx日志,Linux系统日志下的Nginx 日志可以查看系统运行记录和出错说明,对Nginx 日志的分析可以了解系统运行的状态。那么Linux系统Nginx日志怎么分析呢?下面小编为你详解一下...
UNIX/Linux系统通过syslogd或rsyslogd服务来记录系统、安全和应用程序日志。这些服务将日志信息记录到/var/log目录下的不同文件中。常用的系统日志文件有/var/log/messages(通用信息)、/var/log/secure(安全认证...
在寻找特定事件时,可以先模拟该事件,然后在日志中查找对应的记录,例如尝试失败的su命令。 此外,logsurfer是一个高级的日志文件搜索工具,提供更精细的控制。它允许使用两组规则表达式,日志行需匹配第一组但...
在Linux操作系统中,学习和掌握基本的命令是至关重要的,这能够帮助你更有效地管理和操作...以上是Linux学习的一些基础知识点,通过练习和实际操作,你可以逐步熟悉并掌握这些命令,提高你在Linux环境中的工作效率。
事件日志记录了系统中发生的特定事件,如用户登录、服务启动/停止等;消息日志则包含程序运行过程中的各种信息、警告和错误消息。C语言中的日志管理通常涉及读取、写入、搜索和分析这些日志文件。 在Linux下,C语言...
结合`tail`和`grep`,你可以实时监控包含特定模式的最新日志记录: ```bash tail -f /var/log/syslog | grep 'error' ``` 有时,日志文件可能会被压缩,例如`.gz`格式。在这种情况下,可以使用`zcat`、`zless`或`...
1. **内核日志**:在Linux系统中,内核日志是一个重要的功能,它记录了内核运行过程中的事件和错误信息。这些日志通常存储在`/var/log/kern.log`或`/var/log/messages`中,通过`dmesg`命令可以查看。日志信息对于...
Linux 目录架构和文件系统详解 ... + /var/log/httpd, /var/log/news, /var/log/:记录相关服务的日志文件 通过了解 Linux 目录架构和文件系统,可以更好地管理和维护 Linux 系统,提高工作效率和系统安全性。
错误日志记录了MySQL服务的启动、运行或停止MySQL时遇到的问题。错误日志主要用于数据库管理员进行故障排查。通过错误日志,管理员可以迅速定位问题所在,并进行相应的处理。错误日志的配置通常在***f配置文件中设置...
在Linux C环境中,多线程安全日志系统是一种常见的需求,尤其在服务器应用程序中,它能够确保在高并发环境下正确地记录系统事件。本项目利用线程锁、信号量和文件操作技术,构建了一个安全的日志系统,同时考虑了...
Linux学习笔记概述 Linux是一种自由和开放源代码的操作系统,其设计目标是提供一个轻量级、高效且安全的计算平台。Linux系统采用类UNIX目录结构,每个目录都有特定的功能和用途。以下是对Linux主要目录及其内容的...
Linux系统的日志通常存储在/var/log目录下,包括auth.log(认证日志)、syslog(系统日志)、messages(消息日志)等。分析这些日志文件可以帮助识别异常进程、网络连接、文件系统活动等。例如,`/var/log/auth.log`...
Linux学习指南是为初学者设计的一份详尽教程,旨在帮助你快速掌握Linux操作系统的基础知识,特别是关于命令行界面的使用。Linux是一个开源的操作系统,它提供了强大的灵活性和可定制性,广泛应用于服务器、开发环境...
本教程将详细解析这个过程,结合提供的"MYSQL_historyxrl_linux"标签,我们可以推测这是一个关于MySQL安装历史记录或者涉及特定的日志分析。以下是安装MySQL在Linux上的步骤,以及可能涉及的日志分析。 **一、MySQL...
压缩包中的"log"文件可能包含了特定服务或应用的日志记录。通过分析这些记录,可以了解服务运行状况、查找错误原因、追踪异常行为等。例如,如果发现大量"error"或"critical"级别的消息,可能是系统存在问题,需要...