UNIX常用命令行指令(5)(访问权限和进程操作)

UNIX教程五

5.1文件系统安全(访问权限)

在您的unixstuff目录中,键入

%ls -l(l为长列表!)

你会看到,现在你有很多关于你的目录的内容的细节,类似于下面的例子。

文件和目录访问权限

每个文件(和目录)都有相关的访问权限,可以通过键入ls -l找到。此外,ls -lg给出关于哪个组拥有文件(以下示例中为beng95)的其他信息:

-rwxrw-r - 1 ee51ab beng95 2450 Sept29 11:52 file1

在左边的列中是由符号d,r,w,x, - 和偶尔的s或S组成的10个符号串。如果d存在,则它将在串的左手端,并指示一个目录:否则将是字符串的起始符号。

其余9个符号表示权限或访问权限,并且被视为三个组3。

  • 左侧组3给出了拥有文件(或目录)的用户的文件权限(上例中为ee51ab); 
  • 中间组给予文件(或目录)所属的人群(上述示例中的eebeng95)的权限;
  • 最右边的组给出所有其他组的权限。

符号r,w等具有略微不同的含义,取决于它们是指简单文件还是目录。

文件的访问权限。

  • r(或 - ),表示读取权限(或其他),也就是说,是否存在读取和复制文件的权限 
  • w(或 - ),表示写许可(或其他),即允许(或以其他方式)更改文件 
  • x(或 - )表示执行权限(或其他),也就是说,在适当的情况下执行文件的权限

目录的访问权限。

  • r允许用户列出目录中的文件;
  • w意味着用户可以从目录中删除文件或将文件移入其中;
  • x表示访问目录中的文件的权限。这意味着您可以读取目录中的文件,前提是您对各个文件具有读取权限。

因此,为了读取文件,您必须对包含该文件的目录具有执行权限,因此必须对包含该目录作为子目录的任何目录具有执行权限,等等。

一些例子

-rwxrwxrwx每个人都可以读取,写入和执行(和删除)的文件。
-rw -------一个只有所有者可以读写的文件 - 没有其他人
可以读写,没有人有执行权限(例如您的
邮箱文件)。

5.2更改访问权限

chmod(更改文件模式)

只有文件的所有者可以使用chmod更改文件的权限。chmod的选项如下

符号含义
u
用户
G
o
其他
一个
所有
r
w
写(和删除)
X
执行(和访问目录)
+
添加权限
- -
取走权限

例如,要删除 组和其他人的文件biglist的读写和执行权限,请键入

%chmod go-rwx biglist

这将使其他权限不受影响。

为了给所有的文件biglist赋予读写权限,

%chmod a + rw大列表

练习5a

尝试更改文件science.txt和目录备份的访问权限

使用ls -l检查权限是否已更改。

5.3过程和工作

进程是由唯一PID(进程标识符)标识的执行程序。要查看有关进程的信息及其相关的PID和状态,请键入

%ps

进程可以在前台,在后台或暂停。通常,在当前进程完成执行后,shell不返回UNIX提示。

一些进程需要很长时间才能运行和保持终端。后台长进程具有立即返回UNIX提示的作用,并且可以在原始进程继续执行的同时执行其他任务。

运行后台进程

要对进程进行后台处理,请在命令行末尾键入。例如,命令sleep在继续之前等待给定的秒数。类型

%sleep 10

这将等待10秒钟,然后返回命令提示符%。在返回命令提示符之前,除了等待之外,您什么都不能做。

要在后台运行睡眠,请键入

%sleep 10 &

[1] 6259

&使此进程在后台运行,并返回提示直线距离。允许在等待时其他项目的运行。

向用户通知用方括号括起来的作业号(从1开始编号)以及PID,并且当后台处理完成时通知用户。后台运行对于需要很长时间才能完成的作业非常有用。

Backgrounding a current foreground process

在提示符下,键入

% sleep 1000

您可以通过键入^ Z暂停前台运行的进程,即按住[ Ctrl ]键并键入[ z ]。然后把它放在后台,键入

%bg

注意:不要求需要用户交互的后台程序,例如vi

5.4列出挂起和后台进程

当进程正在运行,后台或挂起时,它将与作业号一起输入到列表中。要检查此列表,请键入

% jobs

作业列表的示例可以是

[1] Suspended sleep 1000 
[2] Running netscape

要重新启动(前台)挂起的进程,请键入

%fg %jobnumber

例如,要重新启动睡眠1000,请键入

%fg %1

键入没有作业号的fg可前台显示上次挂起的进程。

5.5终止进程

kill(终止或发送进程)

有时需要终止进程(例如,当执行程序处于无限循环中时)

要终止在前台运行的作业,请键入^ C(控件c)。例如,运行

%sleep 100 
^ C

要杀死挂起或后台进程,请键入

%kill %jobnumber

例如,运行

%sleep 100 &
%jobs

如果是作业编号4,请键入

%kill %4

要检查这是否有效,请再次检查作业列表,以查看该过程是否已删除。

ps(进程状态)

或者,可以通过找到其进程号(PID)并使用kill PID_number来终止进程

%sleep 100 &
%ps

PID TT S时间命令
20077 pts / 5 S 0:05睡眠1000 
21563 pts / 5 T 0:00 netscape 
21873 pts / 5 S 0:25 nedit

要杀掉进程sleep 1000,键入

%kill 20077

然后再次键入ps以查看它是否已从列表中删除。

如果进程拒绝被杀死,使用-9选项,即类型

%kill -9 20077

注意:不可能杀死其他用户的进程!

概要

命令含义
ls -lag列出所有文件的访问权限
chmod [ options ] file更改命名文件的访问权限
command运行命令在后台
^C杀死在前台运行的作业
^Z暂停在前台运行的作业
bg背景暂停的工作
jobs列出当前作业
fg %1前台作业号1
kill %1kill job number 1
ps列出当前进程
kill26152杀死进程号26152
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值