Linux的基本操作

文件权限与目录配置

Linux的基本操作

各个权限的分数如下:


r:4
w:2
x:1

所以修改权限就有两种方法:
第一种就是利用chmod命令,例如chmod -r 740 test.txt就是让拥有者有rwx权限,组有r权限,other没有权限。
或者用直接赋予权限命令, chmod u=rwx,go=rx .bashrc 。

但是如果有w权限,并不意味着可以删除此文件,删除的权限是赋予在目录上的。

目录权限

Linux的基本操作

如果有个目录的权限如下所示


drwxr--r-- 3 root root 4096 jun 23 09:23 .ssh

系统有个账号vbird,这个账号对目录仅有r的权限但是只能查看文件列表,不能切换到这个目录下。
所以在建设网站的时候,至少要给rx权限。

文件默认权限 umask
0022 第一个数是特殊权限,后面三个数代表去掉的权限,2说明去掉了w权限。

数据流重定向

Linux的基本操作
  1. 标准输入(stdin):代码为0,使用<或<<
  2. 标准输出(stdout):代码为1,使用>或>>
  3. 标准错误输出(stderr):代码位2,使用2>或 2>>

stdout和stderr

Linux的基本操作

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的时候,则会结束输入

命令的执行

Linux的基本操作

没有相关性的连续执行:用分号进行分割 sync; sync; shutdown

如果有相关性的 则用 && 或 ||

command1 && command2 如果命令1执行错误,则不会执行2,如果命令1执行正确,则开始执行命令2.

command1 || command2
如果命令1执行错误,则开始执行2,如果命令1执行正确,则不会执行命令2.

选取命令cut、grep

Linux的基本操作

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     

上一篇:随机数问题——微软面试题


下一篇:JAVA知识