linux的路上_linux学习笔记四

写在前面,linux学习笔记记录了本人的学习linux过程及学习的一些心得。

  • linux学习最好是命令行。好处是通过命令行可以熟悉系统功能的命令,而这是sh脚本的内容。为以后自动化打下基础。能更好的理解一些计算机方面的概念,如管道通信,重定向等。
  • 我比较推崇索引式学习方法。多找共性,多建索引,少记具体内容(能通过索引找到的内容),毕竟人脑有限,把资源留给有价值的知识是一种战略。linux指令千千万万,没必要全记住,但是重要的几个指令还是要记住的,比如man、ls。
  • 学习书籍是鸟哥私房菜,进度基本上也是和书籍一致的,学习笔记实例。
开机过程的相关程序:/lib/systemd/system

正则表达式:
[:lower:]/[:upper:]/[:digit:]/[:alpha:]/[:alnum:]
[] : 匹配括号内任意一个 grep -n 'te[abs]t' /test
[^]: 匹配非括号内内容  grep -n '[^abc]a' /test

^  : 匹配行首
$  : 匹配行尾
^$ :匹配空白行 grep -n ^$ /test
*  :匹配0个或着多个前一个字符
.  : 匹配一个任意字符
{} : 限定  
grep -n 'go\{2,5\}' /test : 匹配g开头2个到5个o

sed : 数据处理软件 sed [-nefr] [动作](acdips) 

nl :显示文件及行号

nl /etc/passwd | sed '2,5d' : 删除第二到第五行
/sbin/ifconfig virbr0 | grep 'inet' | sed -r 's/^.*inet//g' : 删除inet及前面的内容

sed '/^$/d' :删除空白行

sed -n '2,5p' 文件 :直接打印第2到第5行到屏幕 

sed -i '' 文件 :直接修改源文件内容(危险)

grep -E/egrep : 延伸RE
+ :重复1个或1个以上的前一个字符
? :零个或一个前一个字符
| :匹配多个字符穿
() :找出(群组)字符串 egrep -n 'g(al|oo)d' /test
()+:多个重复群组的判别

printf :格式化打印  printf '打印格式' 实际内容
%ns : n个字符串
%ni : n个整数
%N.nf :浮点数N总位数,n小数点后的位数

awk :数据处理工具(可细化到行内数据处理,sed更倾向与行级别的数据处理)
awk '条件类型1{动作1} 条件类型2{动作2} ...' filename
cat pay.txt | awk 'NR==1{printf "%10s %10d %10s",$1,$2,"Total"} {if(NR>=2) total=$2+$3; printf "%10s %10d %10.2f",$1,$2,total}' 

diff : 文件比较工具(ASCII纯文本文档)可以比较文件和目录
diff [-bBi]

cmp : diff以行为单位比较,cmp以字节为单位比较
cmp [-l] file1 file2 列出所有不同,默认只列出第一个不同点

制作补丁\差异文件
diff -Naur passwd passwd.new > passwd.patch

patch -pN < patch_file 更新 patch -p0 < passwd.patch
patch -R -pN < patch_file 还原 patch -R -p0 < passwd.patch

pr : 文件打印准备

查看/etc里面包含*的所有文件名
grep -l '\*' $(find /etc -type f) 2>/dev/null
#find /etc -type f 2>/dev/null | grep '\*' 有问题(指令列长度限制需要加xargs)
find /etc -type f 2>/dev/null | xargs -n 10 grep -l '\*'


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值