`
oboaix
  • 浏览: 275265 次
社区版块
存档分类
最新评论

Linux学习日志记录003

 
阅读更多

继续

 

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}

 

分享到:
评论

相关推荐

    logc.rar_C++ 日志系统_Linux日志_linux 日志_logc_日志记录 linux

    虽然我们没有具体的代码内容,但可以推测这个文件可能包含了一些基本的日志记录功能,如设置日志级别、记录日志信息到文件或控制台等。 总的来说,理解并构建一个C++日志系统涉及对Linux日志机制的熟悉,掌握C++...

    Kettle运行日志记录

    学习这些日志记录知识可以帮助我们更好地管理和优化Kettle的工作流程,及时发现并解决问题。通过分析日志,我们可以了解Job和Transformation的执行顺序、耗时以及错误发生的位置,从而提高ETL流程的稳定性和效率。 ...

    linux收集日志工具

    在Linux环境下,各种服务、应用以及系统组件会不断产生日志,这些日志记录了它们运行时的事件、错误、警告和其他关键信息。通过对这些日志的分析,我们可以发现潜在的问题,例如系统崩溃的原因、安全漏洞或资源瓶颈...

    logc.rar_C C 日志_C语言日志记录_Linux日志_logc语言_日志系统

    在IT行业中,日志记录是软件开发中不可或缺的一部分,它帮助开发者追踪程序运行的状态,定位错误,以及进行性能分析。本文将围绕“logc.rar”这个C语言实现的日志记录库进行深入探讨。 标题中的“logc.rar”指的是...

    Linux网络日志分析与流量监控

    进程统计日志记录了系统中进程的启动和终止情况。当某个进程终止时,系统会自动记录这一事件,并将其添加到进程统计日志文件中。这类日志有助于管理员了解系统中服务的运行状态,从而进行性能优化或故障排除。 ####...

    Linux系统怎么分析Nginx日志

    也许在目前许多学者都不知道如何分析Nginx日志,Linux系统日志下的Nginx 日志可以查看系统运行记录和出错说明,对Nginx 日志的分析可以了解系统运行的状态。那么Linux系统Nginx日志怎么分析呢?下面小编为你详解一下...

    UNIX Linux网络日志分析与流量监控

    UNIX/Linux系统通过syslogd或rsyslogd服务来记录系统、安全和应用程序日志。这些服务将日志信息记录到/var/log目录下的不同文件中。常用的系统日志文件有/var/log/messages(通用信息)、/var/log/secure(安全认证...

    Linux 服务器日志文件查找技巧精粹.doc

    在寻找特定事件时,可以先模拟该事件,然后在日志中查找对应的记录,例如尝试失败的su命令。 此外,logsurfer是一个高级的日志文件搜索工具,提供更精细的控制。它允许使用两组规则表达式,日志行需匹配第一组但...

    Linux学习笔记记录

    在Linux操作系统中,学习和掌握基本的命令是至关重要的,这能够帮助你更有效地管理和操作...以上是Linux学习的一些基础知识点,通过练习和实际操作,你可以逐步熟悉并掌握这些命令,提高你在Linux环境中的工作效率。

    日志文件源代码(C语言)

    事件日志记录了系统中发生的特定事件,如用户登录、服务启动/停止等;消息日志则包含程序运行过程中的各种信息、警告和错误消息。C语言中的日志管理通常涉及读取、写入、搜索和分析这些日志文件。 在Linux下,C语言...

    查看日志_linux_

    结合`tail`和`grep`,你可以实时监控包含特定模式的最新日志记录: ```bash tail -f /var/log/syslog | grep 'error' ``` 有时,日志文件可能会被压缩,例如`.gz`格式。在这种情况下,可以使用`zcat`、`zless`或`...

    src_Linux-kernel-release-1.0.rar_Linux内核日志_linux 日志_linux内核源码_内核

    1. **内核日志**:在Linux系统中,内核日志是一个重要的功能,它记录了内核运行过程中的事件和错误信息。这些日志通常存储在`/var/log/kern.log`或`/var/log/messages`中,通过`dmesg`命令可以查看。日志信息对于...

    linux学习笔记分享

    Linux 目录架构和文件系统详解 ... + /var/log/httpd, /var/log/news, /var/log/:记录相关服务的日志文件 通过了解 Linux 目录架构和文件系统,可以更好地管理和维护 Linux 系统,提高工作效率和系统安全性。

    linux运维学习笔记:Mysql日志.pdf

    错误日志记录了MySQL服务的启动、运行或停止MySQL时遇到的问题。错误日志主要用于数据库管理员进行故障排查。通过错误日志,管理员可以迅速定位问题所在,并进行相应的处理。错误日志的配置通常在***f配置文件中设置...

    linux c 多线程安全日志系统

    在Linux C环境中,多线程安全日志系统是一种常见的需求,尤其在服务器应用程序中,它能够确保在高并发环境下正确地记录系统事件。本项目利用线程锁、信号量和文件操作技术,构建了一个安全的日志系统,同时考虑了...

    linux学习笔记 .doc

    Linux学习笔记概述 Linux是一种自由和开放源代码的操作系统,其设计目标是提供一个轻量级、高效且安全的计算平台。Linux系统采用类UNIX目录结构,每个目录都有特定的功能和用途。以下是对Linux主要目录及其内容的...

    windows日志分析#linux日志分析#web日志分析#windows入侵排查#linux入侵排查

    Linux系统的日志通常存储在/var/log目录下,包括auth.log(认证日志)、syslog(系统日志)、messages(消息日志)等。分析这些日志文件可以帮助识别异常进程、网络连接、文件系统活动等。例如,`/var/log/auth.log`...

    linux学习指南(入门)

    Linux学习指南是为初学者设计的一份详尽教程,旨在帮助你快速掌握Linux操作系统的基础知识,特别是关于命令行界面的使用。Linux是一个开源的操作系统,它提供了强大的灵活性和可定制性,广泛应用于服务器、开发环境...

    Mysql+linux安装日志.rar_MYSQL_historyxrl_linux

    本教程将详细解析这个过程,结合提供的"MYSQL_historyxrl_linux"标签,我们可以推测这是一个关于MySQL安装历史记录或者涉及特定的日志分析。以下是安装MySQL在Linux上的步骤,以及可能涉及的日志分析。 **一、MySQL...

    ygm-log.zip_Linux日志

    压缩包中的"log"文件可能包含了特定服务或应用的日志记录。通过分析这些记录,可以了解服务运行状况、查找错误原因、追踪异常行为等。例如,如果发现大量"error"或"critical"级别的消息,可能是系统存在问题,需要...

Global site tag (gtag.js) - Google Analytics