Linux系统命令

Liunx文章:https://www.fujieace.com/linux/man/

一、Permission denied是指什么?

Permission denied 翻译过来的意思是:权限被拒绝;相信大家都知道,文件权限是读(r)、写(w)、执行(x);

二、为什么会出现“Permission denied”权限被拒绝?

为了安全着想,每个文件它的权限都不一样的,很明显出现这个问题,你缺少某种权限;

例如:

如果你要运行一个安装文件,你肯定是需要有执行(x)权限的,但是:恰好,这个文件默认给你的权限只允许你读(r)和写(w);因此你只要执行它安装,就会出现权限被拒绝;

三、如何解决“Permission denied”权限被拒绝?

文件缺少什么权限我们就给它什么权限;

修改权限命令:

chmod +x  xampp.run #给xampp.run执行权限

chmod +w xampp.run #给xampp.run写权限

chmod +r  xampp.run #给xampp.run读权限

 四、Linux命令三剑客

1、grep

grep命令主要用于文本内容的查找。它支持正则表达式查找,命令格式为:

grep [option]  pattern filename

例如:在filename文本中查找包含“text"的行: grep "text" filename

这条命令默认只输出匹配的文本行

option为-o时,命令只输出匹配的文本

option为-v时,命令行只输出没有匹配的文本行

option为-R -v时,匹配目录下的所有文件

2、sed

sed命令主要用于文本内容的编辑。默认只处理模式空间,不处理原数据,而且,sed是针对一行行数据来进行处理的。

sed的命令格式为:sed [option] 'command' filename

opthon常用选项有以下:

-n:使用安静(silent)模式。在一般sed的用法中,所有来自stdin的数据一般都会被列出到终端上。但如果加上-n参数后,则只有经过sed特殊处理的哪一行(或者动作)才会被列出来。

-e:直接在命令列模式上进行sed的动作编辑。

-i:直接修改读取的文件内容,而不是输出到终端。

command可以分为以下几种:

a:追加,a的后面可以接子串,而这些子串会在新的一行出现(目前的下一行)

i:插入,i的后面可以接子串,而这些子串会在新的一行出现(目前的上一行)

d:以行为单位的删除

c:以行为单位的替换,c的后面可以接子串

s:在行中搜寻并替换

p:以行为单位的显示,通常p会参数sed -n 一起运行

例如:

1、在filename文本最后一行追加hello world:

sed '$a hello world' filename

2、在filename文本第一行插入hello worlld:

sed 'li hello world' filename

3、既要在最后一行追加hellow world,又要在第一行插入hello world:

sed -e '$a hello world' -e 'li hello world' filename

另外,sed比较常用的就是文本替换,它也支持正则表达式,功能强大。

例如:

1、表示将filename文本的每行中的oldstring替换为newstring:

sed  's/oldstring/newstring/g' filename

2、删除空白行:

sed '/^\s*$/d' filename

ps:正则表达式中\s表示空白字符(包括,空格,制表符等)

3、awk

awk命令主要用于文本内容的分析处理。

如果对处理的数据需要生成报告之类的信息,或者处理的数据是按列进行处理的,最后使用awk.

awk读入有‘\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,$0则表示所有域,$1表示第一个域,$n表示第n个域。

例如:以“:“分隔filename文本的每一行并且打印第一列

1、可以制作一个文本test.txt,内容为:

This is my cat,my cat's name is betty

This is my dog,my dog's name is frank

This is my fish, my fish's name is george

This is my goat ,my goat's name is adam

awk -F ':'  '{print $1"} filename

需要显示的结果为:

cat:betty

dog:frank

fish:george

goat:adam

如果采用sed,可以输入

sed 's/This is my \(.*\),.* is \(.*\)/\1:\2/g' test.txt

如果采用awk,则有两种方法

awk -F '[ ,]' '{print $4,$10}' OFS=":"  test.txt

awk -F '[ ,]' '{printf("%s:%s\n",$4,$10)}' test.txt

awk -F, 'print $1,$2}' test.txt|awk '{print $4,$9}' 0FS=":"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值