kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

grub

在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。 比如,在第一硬盘的第一分区上装有windows xp系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:

1
2
3
grub>set root=(hd0,1)
grub>chainloader +1
grub>boot

又比如启动第二硬盘第一逻辑分区上的ubuntu系统:

1
2
3
4
grub>set root=(hd1,5)
grub>linux /boot/vmlinuz-xxx-xxx root=/dev/sdb5
grub>initrd /boot/initrd.img-xxx-xxx
grub>boot

其中内核vmlinuz和initrd.img的版本号可用按Tab键自动查看。

\r\n,\n,\r简介

‘\r'是回车,前者使光标到行首,(carriage return)
’\n'是换行,后者使光标下移一格,(line feed)

\r 是回车,return
\n 是换行,newline

^M 是ascii中的'\r', 回车符,是16进制的0x0D,八进制的015,十进制的13
^M在vi编辑器中可以使用Ctrl+ v + m三个键打出来

对于换行这个动作,unix下一般只有一个0x0A表示换行(“\n”),windows下一般都是0x0D和0x0A两个字符(“\r\n”),苹果机(MAC OS系统)则采用回车符CR表示下一行(\r)

Unix系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
Mac系统里,每行结尾是“<回车>”,即“\r”。

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix下打开的话,在每行的结尾会多车一个M字符。 Dos和windows采用回车+换行CR/LF表示下一行,即M$($不是换行符的表示,换行符没有表示出来,$是文本结束EOF的表示) 而UNIX/Linux采用换行符LF表示下一行,即\n
苹果机(MAC OS系统)则采用回车符CR表示下一行,即\r

CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A. 所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

由于dos风格的换行使用\r\n,把这样的文件上传到unix,有些版本的vi不能识别\r,所以vi显示时在行尾会出现M出来,但是有些就能识别\r\n,正常显示回车换行。

dos to unix,去掉M

1
2
tr -d "\015" <myfile.txt > myfile_new.txt
tr -d "\r" <myfile.txt > myfile_new.txt

grep 命令

  • ^:匹配正则表达式的开始行。
  • $: 匹配正则表达式的结束行。

1.作用

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

2.格式

grep [options]

3.主要参数

[options]主要参数:

1
2
3
4
5
6
7
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:

1
2
3
4
5
6
7
8
9
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。