Linux学习

1、shutdown

数据同步写入磁盘: sync

shutdown -h 10 ‘I will shutdown after 10 mins’
-k : 不要真的关机, 只是发送警告讯息出去!
-r : 在将系统的服务停掉之后就重新开机( 常用)
-h : 将系统的服务停掉后, 立即关机。 ( 常用)
-c : 取消已经在进行的 shutdown 指令内容。
时间 : 指定系统关机的时间! 时间的范例下面会说明。 若没有这个项目, 则默认 1 分钟后自动进行。

sync; sync; sync; reboot 重新开机
poweroff
2、很多读者都会误会/usr为user的缩写, 其实usr是Unix Software Resource的缩写, 也就是“Unix操作系统软件资源”所放置的目录, 而不是使用者的数据

3、more
空白键 ( space) : 代表向下翻一页;
Enter : 代表向下翻“一行”;
/字串 : 代表在这个显示的内容当中, 向下搜寻“字串”这个关键字;
:f : 立刻显示出文件名以及目前显示的行数;
q : 代表立刻离开 more , 不再显示该文件内容。
b 或 [ctrl]-b : 代表往回翻页, 不过这动作只对文件有用, 对管线无用。

4、less
空白键 : 向下翻动一页;
[pagedown]: 向下翻动一页;
[pageup] : 向上翻动一页;
/字串 : 向下搜寻“字串”的功能;
?字串 : 向上搜寻“字串”的功能;
n : 重复前一个搜寻 ( 与 / 或 ? 有关! )
N : 反向的重复前一个搜寻 ( 与 / 或 ? 有关! )
g : 前进到这个数据的第一行去;
G : 前进到这个数据的最后一行去 ( 注意大小写) ;
q : 离开 less 这个程序;

5、head -n 5 取出前5行 head -n -100 最后100行不打印

6、tail -n 5 取出最后5行 tail -n +100 开始的99行不打印

7、gzip压缩
gzip -c readme.txt > readme.txt.gz (-c:将压缩的内容打印到屏幕,通过重定向保留原始文件)
gzip -t readme.txt (查看压缩是否有错误)
gzip -v readme.txt (显示压缩比)
gzip -数字 readme.txt (压缩等级设置 1 最快,压缩比差;9最慢,压缩比好,默认6)
gzip -d readme.txt.gz (解压缩)

 cat/more/less 可以使用不同的方式来读取纯文本文件, 那个 zcat/zmore/zless 则可以对应于           cat/more/less 的方式来读取纯文本文件被压缩后的压缩文件! 

 bzip2: 比gzip多了 -k 参数,用于保存原始文件 ; readme.txt.bz2
 (bzip2的压缩比gzip好,但是大文件,压缩时间长)

 xz:比bzip2多了 -l 参数,列出压缩文件的相关信息。 readme.txt.xz
 (xz的压缩比更好,但是压缩时间更长)

8、tar打包
tar -czvf 打包压缩后的文件名.tar.gz 打包压缩前的文件名
-c 只是列出文件名
-t 列出文件的详细信息(以上只能二选一)
-z gzip压缩方式 -j bzip2压缩 -J xz压缩 (只能三选一)
-v 显示正在处理的文件名
-f 将要压缩出的文件名(必须放在最后)
tar -xzvf 被打包压缩的文件名.tar.gz -C 解压缩后的文件名
-x 解压缩
-C 指定解压后的文件

9、cut 以行为单位进行切分
cut -d ‘切分字符’ -f 显示切出来的第几段 -c 切出第几个到第几个字符
例:

woshidamingxing,nizhidaoma,haha
cut -d ',' -f 2          nizhidaoma
cut -c 5-10              idamin

10、grep

grep [-acinv] [--color=auto] '搜寻字串' filename
选项与参数:
-a : 将 binary 文件以 text 文件的方式搜寻数据
-c : 计算找到 '搜寻字串' 的次数
-i : 忽略大小写的不同, 所以大小写视为相同
-n : 顺便输出行号
-v : 反向选择, 亦即显示出没有 '搜寻字串' 内容的那一行!
--color=auto : 可以将找到的关键字部分加上颜色的显示喔!

11、sort

sort [-fbMnrtuk] [file or stdin]
选项与参数:
-f : 忽略大小写的差异, 例如 A 与 a 视为编码相同;
-b : 忽略最前面的空白字符部分;
-M : 以月份的名字来排序, 例如 JAN, DEC 等等的排序方法;
-n : 使用“纯数字”进行排序( 默认是以文字体态来排序的) ;
-r : 反向排序;
-u : 就是 uniq , 相同的数据中, 仅出现一行代表;
-t : 分隔符号, 默认是用 [tab] 键来分隔;
-k : 以那个区间 ( field) 来进行排序的意思

12、正则表达式

基础正则表达式:



grep -A2 'good' regular_express.txt 
显示regular_express.txt文件中带有good的行及其后面的2行   After


grep -B2 'good' regular_express.txt 
显示regular_express.txt文件中带有good的行及其前面的2行   Befer

grep -n 'the' regular_express.txt
显示regular_express.txt文件中所有带the的行       -n指显示行号

grep -vn 'the' regular_express.txt
显示regular_express.txt文件中所有不带the的行     -n指显示行号    -v反选

grep -in 'the' regular_express.txt  (默认区分大小写)
显示regular_express.txt文件中所有带the的行       -n指显示行号    -i 不区分大小写

grep -n 't[ae]st' regular_express.txt  (中括号表示搜索集合字符)
显示regular_express.txt文件中带tast和test的行    -n指显示行号    
 [] 里面不论有几个字符, 他都仅代表某“一个”字符

grep -n '[^g]oo' regular_express.txt   (中括号内的^表示非)
显示regular_express.txt文件中,oo前面不是g的行    

grep -n '[^a-z]oo' regular_express.txt
显示regular_express.txt文件中,oo前面不是小写字母的行   

grep -n '[0-9]' regular_express.txt
显示regular_express.txt文件中,带数字的行

grep -n '^the' regular_express.txt   (中括号外的^表示行首)
显示regular_express.txt文件中,行首是the的行

grep -n '^[a-z]' regular_express.txt
显示regular_express.txt文件中,行首是小写字母的行

grep -n '^[^a-zA-Z]' regular_express.txt
显示regular_express.txt文件中,行首不是字母的行

grep -n '\.$' regular_express.txt  ($表示行尾,放在后面)
显示regular_express.txt文件中,行尾是小数点的行

grep -n '^$' regular_express.txt
显示regular_express.txt文件中,空白行

grep -v '^$' regular_express.txt
显示regular_express.txt文件中,非空白行

grep -n 'g..d' regular_express.txt  (点表示一定有一个任意字符)
显示regular_express.txt文件中,包含g和d中间有两个任意字符的行

grep -n 'ooo*' regular_express.txt  (星号表示 有0个或多个 星号前面的字符)
显示regular_express.txt文件中,连续两个及以上个o的行
grep -n 'g*g' regular_express.txt
显示regular_express.txt文件中,所有带一个g的行(g前面有0个g代表g前面可以是任意字符)

grep -n 'o\{2\}' regular_express.txt
显示regular_express.txt文件中,带有连续两个o的行
grep -n 'go\{2,5\}g' regular_express.txt
显示regular_express.txt文件中,g和g之间带有连续两到5个o的行
grep -n 'go\{2,\}g' regular_express.txt
显示regular_express.txt文件中,g和g之间带有连续两个以上o的行

基础正则表达式的总结:
基础
延伸正则表达式:
grep 默认仅支持基础正则表达式, 如果要使用延伸型正则表达式, 你可以使用 grep -E , 不过更建议直接使用 egrep !

在这里插入图片描述

13、sed

sed [-nefr] [动作]
选项与参数:
-n : 使用安静( silent) 模式。 在一般 sed 的用法中, 所有来自 STDIN 的数据一般都会被列出到屏幕上。
但如果加上 -n 参数后, 则只有经过 sed 特殊处理的那一行( 或者动作) 才会被列出来。
-e : 直接在命令行界面上进行 sed 的动作编辑;
-f : 直接将 sed 的动作写在一个文件内, -f filename 则可以执行 filename 内的 sed 动作;
-r : sed 的动作支持的是延伸型正则表达式的语法。 ( 默认是基础正则表达式语法)
-i : 直接修改读取的文件内容, 而不是由屏幕输出。

动作说明: [n1[,n2]]function

n1, n2 : 不见得会存在, 一般代表“选择进行动作的行数”, 举例来说, 如果我的动作
是需要在 10 到 20 行之间进行的, 则“ 10,20[动作行为]function 有下面这些咚咚:
a : 新增, a 的后面可以接字串, 而这些字串会在新的一行出现( 目前的下一行) ~
c : 取代, c 的后面可以接字串, 这些字串可以取代 n1,n2 之间的行!
d : 删除, 因为是删除啊, 所以 d 后面通常不接任何咚咚;
i : 插入, i 的后面可以接字串, 而这些字串会在新的一行出现( 目前的上一行) ;
p : 打印, 亦即将某个选择的数据印出。 通常 p 会与参数 sed -n 一起运行~
s : 取代, 可以直接进行取代的工作哩! 通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!

例子:

sed '2,5d' regular_express.txt
删除regular_express.txt文件中,2到5行

sed '2a drink tea' regular_express.txt
在regular_express.txt文件中第二行之后插入drink tea

sed '2a drink tea \nlike tea' regular_express.txt
在regular_express.txt文件中第二行之后插入两行drink tea和like tea

sed '2,5c No 2-5 number' regular_express.txt
将regular_express.txt文件中第二到五行替换为No 2-5 number

sed -n '5,7p' regular_express.txt
打印regular_express.txt中的5到7行,-n为安静模式,只显示操作的内容

sed 's/要被取代的字串/新的字串/g' regular_express.txt
替换regular_express.txt中所有的 要被取代的字串  -i 在原文件中操作

14、awk
相较于 sed 常常作用于一整个行的处理, awk 则比较倾向于一行当中分成数个“字段”来处理。 因此, awk 相当的适合处理小型的数据数据处理呢!

grep 更适合单纯的查找或匹配文本
sed 更适合编辑匹配到的文本
awk 更适合格式化文本,对文本进行较复杂格式处理

关于awk内建变量

解释一下变量:

变量:分为内置变量和自定义变量;输入分隔符FS和输出分隔符OFS都属于内置变量。

内置变量就是awk预定义好的、内置在awk内部的变量,而自定义变量就是用户定义的变量。

FS(Field Separator):输入字段分隔符, 默认为空白字符
OFS(Out of Field Separator):输出字段分隔符, 默认为空白字符
RS(Record Separator):输入记录分隔符(输入换行符), 指定输入时的换行符
ORS(Output Record Separate):输出记录分隔符(输出换行符),输出时用指定符号代替换行符
NF(Number for Field):当前行的字段的个数(即当前行被分割成了几列)
NR(Number of Record):行号,当前处理的文本行的行号。
FNR:各文件分别计数的行号
ARGC:命令行参数的个数
ARGV:数组,保存的是命令行所给定的各参数
自定义变量的方法

方法一:-v varname=value ,变量名区分字符大小写。
方法二:在program中直接定义。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值