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

翻译 2017年03月15日 21:23:08

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 %1 kill job number 1
ps 列出当前进程
kill26152 杀死进程号26152

相关文章推荐

UNIX常用命令行指令(2)(基本文件操作)

UNIX教程二 2.1复制文件 cp(copy) cp file1 file2是在当前工作目录中创建file1的副本的命令,并将其命名为file2 我们现在要做的是获取存储在文件系统的开放访问...
  • hwm815
  • hwm815
  • 2017年03月15日 16:06
  • 203

UNIX常用命令行指令(3)(基本输入输出操作)

UNIX教程三 3.1重定向   由UNIX命令启动的大多数进程写入标准输出(即它们写入终端屏幕),并且许多进程从标准输入(即,它们从键盘读取)输入。还有标准错误,其中进程将其错误消息默认情况下写...
  • hwm815
  • hwm815
  • 2017年03月15日 21:20
  • 97

UNIX常用命令行指令(8)(变量)

UNIX教程八 8.1 UNIX变量 变量是在运行它们时将信息从shell传递到程序的一种方式。程序在环境中查找特定变量,如果发现它们将使用存储的值。一些由系统设置,其他由您设置,其他由shell...
  • hwm815
  • hwm815
  • 2017年03月15日 21:25
  • 117

UNIX常用命令行指令(4)(通配符及命令帮助)

UNIX教程四 4.1通配符 *通配符 字符*称为通配符,将与文件(或目录)名称中的一个或多个字符匹配。例如,在您的unixstuff 目录中,键入 %ls list * 这将列出当前目录中...
  • hwm815
  • hwm815
  • 2017年03月15日 21:21
  • 81

UNIX常用命令行指令(6)(其他有用指令)

UNIX教程六 其他有用的UNIX命令   配额 所有学生在文件系统上为他们的个人文件分配一定量的磁盘空间,通常大约100Mb。如果您超过您的配额,您将被给予7天以删除多余的文件。 要检查您当...
  • hwm815
  • hwm815
  • 2017年03月15日 21:23
  • 42

Windows下的CMD常用命令行操作

  • 2017年06月28日 22:04
  • 2KB
  • 下载

命令行的形式,了解java的包访问权限,与.java 文件的关系,通晓java文件储存的关系;

大家,在学习Java时,大多是使用eclipse 等IDE 环境, 然而这样并不好,而包访问权限,也是Java中框架结构控制的关键的步骤, 只有真正得掌握 .java文件与 package 间的关系...

MySQL常用命令行操作大全

MySQL常用命令行操作大全学PHP这么久,还做过一些项目,没一些总结总感觉学不到东西,所以处女博客就献给这一篇吧...
  • ronyao
  • ronyao
  • 2016年05月30日 23:05
  • 109

mysql常用命令行操作

一、从命令行登录MySQL数据库服务器 1、登录使用默认3306端口的MySQL /usr/local/mysql/bin/mysql -u root -p 2、通过TCP连接管理不同端口的多个M...
  • abwxwx
  • abwxwx
  • 2015年06月02日 11:39
  • 228

Linux 操作MySQL常用命令行

Linux 操作MySQL常用命令行 注意:MySQL中每个命令后都要以分号;结尾。   1、显示数据库   mysql> show databases;   +----------+ ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UNIX常用命令行指令(5)(访问权限和进程操作)
举报原因:
原因补充:

(最多只允许输入30个字)