文件权限与目录配置
各个权限的分数如下:
r:4
w:2
x:1
|
所以修改权限就有两种方法:
第一种就是利用chmod
命令,例如chmod -r 740 test.txt
就是让拥有者有rwx
权限,组有r
权限,other没有权限。
或者用直接赋予权限命令, chmod u=rwx,go=rx .bashrc
。
但是如果有w权限,并不意味着可以删除此文件,删除的权限是赋予在目录上的。
目录权限
如果有个目录的权限如下所示
drwxr--r-- 3 root root 4096 jun 23 09:23 .ssh
|
系统有个账号vbird,这个账号对目录仅有r的权限但是只能查看文件列表,不能切换到这个目录下。
所以在建设网站的时候,至少要给rx权限。
文件默认权限 umask
0022 第一个数是特殊权限,后面三个数代表去掉的权限,2说明去掉了w权限。
数据流重定向
- 标准输入(stdin):代码为0,使用<或<<
- 标准输出(stdout):代码为1,使用>或>>
- 标准错误输出(stderr):代码位2,使用2>或 2>>
stdout和stderr
find /home -name .bashrc > list_righ 2> list_error
/dev/null 是垃圾桶黑洞设备。
但是如果想让正确和错误输入到同一个文件中
find /home -name .bashrc > list 2> list <== 错误
find /home -name .bashrc >list 2>&1 <== 正确
find /home -name .bashrc &> list <== 正确
stdin
<将需要键盘输入的数据改由文件替代
cat > catfile < ./bashrc
意思是讲./bashrc里面的内容当做输入传入catfile
<< 代表输入结束的意思
cat > catfile << “eof”
意思是当输入eof的时候,则会结束输入
命令的执行
没有相关性的连续执行:用分号进行分割 sync; sync; shutdown
如果有相关性的 则用 && 或 ||
command1 && command2
如果命令1执行错误,则不会执行2,如果命令1执行正确,则开始执行命令2.
command1 || command2
如果命令1执行错误,则开始执行2,如果命令1执行正确,则不会执行命令2.
选取命令cut、grep
cut 是将一段信息的某一段切出来,处理信息的单位是“行”为单位。
1
2
3
4
5
6
7
8
|
cut -d
'分割字符' -f fields
cut -c 字符范围
ubuntu@VM-13-35-ubuntu:~$
echo
$PATH
/usr/
local/sbin:/usr/
local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr:
local/games
ubuntu@VM-13-35-ubuntu:~$
echo
$PATH | cut -d
':' -f 4
/usr/bin
|
grep是分析一行的信息,如果有目标信息,就拿出来。
1
2
3
|
last | grep
'root'
#讲出现root行打印出来
last | grep -v
'root'
#没有出现root的行打印出来
|
wc
用来统计输出信息的整体信息。
1
2
3
4
|
wc -lwm
-l: 仅列出行
-w: 仅列出多少字
-m:多少字符
|
循环执行命令
crontab
代表的意义 分钟 小时 日期 月份 周 命令
数字范围 0-59 0-23 1-31 1-12 0-7 命令
特殊符号
* 星号 代表任何时刻
,逗号 代表分割时间 0 3,6 * * * conmand 代表 每天的3点和6点
- 减号 代表时间范围
/n 斜线 代表间隔,每隔n单位时间的意思
工作管理
直接将命令丢到后台中“执行”的 \&
tar -zpcf /tmp/tec.tar.gz /etc &
但是当出错或者输出时,将会扰乱当前界面,最好像输出重定向到某个文件。tar -zvcf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
这样就不会有多余信息输出到当前界面了。
将目前的工作丢到后台“暂停”: [ctrl]-z
例如在vim编辑状态,想跳出查找某个文件,则可以按ctrl+z将vim暂停放入后台。
查看目前后台的工作状态: jobs
jobs输出目前后台的工作状态。
将后台的工作拿到前台来 fg
fg %jobnumber
或者fg直接默认取出+号工作
将工作在后台的状态变成运行中:bg
bg %jobnumer