- linux中查找包含指定内容的文件
查找包含指定内容的文件就是用grep这个命令
grep 'name' -r /
grep '指定内容' -r 目录
上述命令就是在根目录下递归查找包含name内容的文件
-r 递归查找文件
-e 从文件内容查找与正则表达式匹配的行
–i 查时不区分大小写
-c 查找匹配的行数
-v 从文件内容查找不匹配指定字符串的行
- find命令可以用于查找目录和文件。
命令格式:find 路径 -命令参数 [输出形式]
需要使用的参数:
-ctime -n | +n 按照文件的创建时间来查找文件
-n表示文件创建时间距现在n天以内
+n表示文件创建时间距现在n天以前。
用法示例:
查看根目录/下最近1天增加的文件
$ find / -ctime -1
- 通过chmod改变文件权限
查看文件的文件权限: ls -l或者ll, Linux文件的三种身份和四种权限,三种身份分别为:
u:文件的拥有者
g:文件所属的群组
o:其他用户
对于每个身份,又有四种权限,分别为:
r:读取文件的权限(read)
w:写入文件的权限(write)
x:执行的权限(execute)
s:特殊权限
chmod以数字形式改变文件权限,例:chmod 755 test.sh
- Linux下出现permission denied的解决办法
命令行中输入
sudo passwd
会提示你输入新密码,再次输入密码,就输入以前的一样的就行,成功之后,输入
su root
再次输入密码即可~
1)、source
source a.sh
在当前shell内去读取、执行a.sh,而a.sh不需要有"执行权限"
source命令可以简写为"."
. a.sh
注意:中间是有空格的。
2)、sh/bash
sh a.sh bash a.sh
都是打开一个subshell去读取、执行a.sh,而a.sh不需要有"执行权限"
通常在subshell里运行的脚本里设置变量,不会影响到父shell的。
3)、./
./a.sh #bash: ./a.sh: 权限不够 chmod +x a.sh ./a.sh
打开一个subshell去读取、执行a.sh,但a.sh需要有"执行权限"
可以用chmod +x添加执行权限
4)、fork、source、exec
- 使用fork方式运行script时, 就是让shell(parent process)产生一个child process去执行该script,当child process结束后,会返回parent process,但parent process的环境是不会因child process的改变而改变的。
- 使用source方式运行script时, 就是让script在当前process内执行, 而不是产生一个child process来执行。由于所有执行结果均于当前process内完成,若script的环境有所改变, 当然也会改变当前process环境了。
- 使用exec方式运行script时, 它和source一样,也是让script在当前process内执行,但是process内的原代码剩下部分将被终止。同样,process内的环境随script改变而改变。