美文网首页
初学UNIX T5

初学UNIX T5

作者: geoeee | 来源:发表于2014-11-22 12:11 被阅读90次
    5.1 文件系统安全(访问权限)

    在unixstuff目录中,输入
    % ls -l
    会输出很多有关目录的内容细节


    每一个文件和目录都有相关的访问权限,可以看出是什么用户什么组拥有这个文件。
    -rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1
    最左边一列的是十个字符组成的字符串,是由d,r,w,x,-,还有s或者S组成的,如果开头是d的

    话就代表是一个目录,开头是-的话就代表是字符串的开始。
    其余的九个字符显示的就是文件访问权限,三个一组加起来是九个。

    • 最左边的一组表示的文件所有者的权限
    • 中间的一组表示同一组的成员的权限
    • 最右边的一组表示所有其他人的权限
      符号r,w,等的含义根据文件或者目录来讲含义是不一样的。
    文件的访问权限
    • r表示可以读取,就是有读和拷贝的权限
    • w表示写权限,就是可以修改文件
    • x表示可以执行的权限
    目录的访问权限
    • r表示用户可以列印目录的内容
    • w意思是用户可以删除目录里的文件或者往目录里添加文件
    • x就可以访问目录里的文件,也就是可以读取目录里的所有文件

    所以,想要读一个文件,首先要有这个文件所在的目录的执行权限。

    一些例子
    权限 意思
    -rwxrwxrwx 可以对一个文件可读可写可执行,还有可删除
    -rw------- 只有所有者可以读写,其他人不能读写也没有执行权(例如邮件)
    5.2 更改访问权限
    符号 意思
    u user
    g group
    o other
    a all
    r read
    w write(and delete)
    x execute(and access directory)
    + add permission
    - take away permission

    chmod(changing a file mode)
    只有所有者可以使用chmod来更改文件的权限。

    符号 意思
    u user
    g group
    o other
    a all
    r read
    w write(and delete)
    x execute(and access directory)
    + add permission
    - take away permission

    例如移除组成员和其他人对biglist文件的写和执行权限
    % chmod go-rwx biglist

    习题 5a

    尝试改变文件science.txt和目录backups的访问权限

    5.3 进程和任务

    一个进程,就是以PID(进程ID)来定义的执行程序。可以使用以下信息来看看进程相关信息。
    % ps
    一个进程可以再前台运行,也可以在后台运行,也可以挂起。一般来说shell会在程序运行结束之后

    才返回提示符。
    一些进程所花的时间会很长很长,占据着终端屏幕,也不能做其他事情。后台运行一个进程就可以

    马上回到UNIX提示符,可以操作其他任务了就。

    运行后台进程

    为了将进程后台运行,在命令行的结尾可以加一个&符号,例如,sleep命令可以使得计算机进行等

    待,时间是10秒。
    % sleep 10
    在提示符出现之前会有十秒的时间间隔,在出现之前,什么也做不了。
    也可以将这个等待命令放到后台运行
    % sleep 10 &
    [1] 6259
    符号&会将进程放到后台运行,并且直接返回提示符,允许你在运行期间做其他的事情。
    上面第一行是用户的输入命令,第二行是机器返回的信息,作业号和进程ID。用户被告知的是第一

    个作业号(数字1),由方括号包裹。后面的PID会在进程完成的时候返回。后台运行在作业运行时

    间很长的时候是非常有用的。

    将前台的进程放到后台去

    在提示符中输入,
    % sleep 1000
    你可以通过按下[Ctrl]+[z]来挂起进程,这个进程会进入一个作业的序列,jobs命令可以查看这个

    序列。
    [1] Suspended sleep 1000
    [2] Running netscape
    [3] Running matlab
    将作业重新拉回前台运行,只要输入
    % fg %jobnumber
    比如,重新唤醒sleep 1000,
    % fg %1
    fg命令不带参数的话就会唤醒最近的一个挂起进程。

    5.5 杀死一个进程

    kill(终结或者中断一个进程)
    有时候必须杀死一个进程,比如程序陷入无限循环。杀死一个前台的进程可以使用组合键

    [Ctrl]+[c]。
    % sleep 100
    ^C
    杀死一个挂起的或者后台运行的进程可以使用kill命令
    % kill %jobnumber
    比如现在
    % sleep 100 &
    % jobs
    如果他的作业号是4
    % kill %4

    ps(process status)
    杀死一个进程,可以使用作业号或者使用进程ID,都可以
    % sleep 1000 &
    % ps

    PID TT S TIME COMMAND
    20077 pts/5 S 0:05 sleep 1000
    21563 pts/5 T 0:00 netscape
    21873 pts/5 S 0:25 nedit
    通过进程号来杀死进程
    % kill 20077
    如果进程拒绝被终止,那就可以启用-9选项来强制执行
    % kill -9 20077
    注意:想要终止其他用户的进程是不可能的。

    小结
    命令 意思
    ls -lag 列出所有文件访问权限
    chmod [选项] 文件 改变文件的访问权限
    命令 & 将命令后台运行
    ^c 组合键来终止前台进程
    ^z 组合键来挂起前台进程
    bg 后台运行挂起的进程
    jobs 列出现在的作业
    fg %1 将作业1拿到前台运行
    kill %1 终止作业1
    ps 列出当前的进程
    kill 26152 终止进程26152

    相关文章

      网友评论

          本文标题:初学UNIX T5

          本文链接:https://www.haomeiwen.com/subject/fvhwtttx.html