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
  • 351

黑马程序员——Mac OS X终端的常用操作命令(UNIX指令)

对于一般用户,可以选择可视化来操作系统,完成各种命令,但是作为程序员,必须要学会更加方便快捷的操作——终端,终端类似于Windows系统中的CMD命令行程序,可以通过代码来快速方便的完成各种系统操作指...
  • l1170486003
  • l1170486003
  • 2015年01月12日 21:13
  • 1798

Liunix 如何命令行退出当前进程?

原文  http://zhidao.baidu.com/link?url=KZ1ejNUbe2YKPFHRHf4DlQZ12iiPcELFx8mz_D_9F02jRwzy0o5Vckvz6esF7...
  • w_vc_love
  • w_vc_love
  • 2016年03月07日 19:37
  • 1475

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

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

Unix之初学者命令

Linux Unix 初学者命令
  • liaoqianwen123
  • liaoqianwen123
  • 2014年03月19日 14:40
  • 1929

unix 简单的命令

ls 用途:ls用来列出目录内容。/只列出文件名 ls -l  以长格式的形式查看当前目录下所有可见文件的详细属性      $ls -l        drwxr-xr-x 3 user grou...
  • u012467492
  • u012467492
  • 2015年06月23日 17:33
  • 918

UNIX编程的操作系统基础知识(进程篇)

进程描述与控制 一、什么是进程? ①一个正在执行的程序; ②一个在计算机上执行的程序实例; ③能分配给处理器并执行的实体; ④一个具有以下特征的活动单元:一组指令序列的执行、一个当前状态和相...
  • u012103747
  • u012103747
  • 2014年11月05日 22:03
  • 596

Unix/Linux命令技巧和Linux最常用的60个命令

Unix/Linux命令技巧 删除一个大文件 我在生产服务器上有一个很大的200GB的日志文件需要删除。我的rm和ls命令已经崩溃,我担心这是由于巨大的磁盘IO造成的,要删除这个大文件,输入:...
  • andnr003
  • andnr003
  • 2015年04月07日 16:54
  • 2784

操作系统 - unix和windows下进程异同

在UNIX系统中,只有一个系统调用可以用来创建新进程:fork。这个系统调用会创建一个与调用进程相同的副本。在调用了fork之后,这两个进程(父进程和子进程)拥有相同的存储映像、同样的环境字符串和同样...
  • zyq522376829
  • zyq522376829
  • 2015年08月23日 09:13
  • 1379

Linux-Unix系统操作与维护常用命令

Linux-Unix系统操作与维护常用命令 (关注常用、实用目录)                           1 Linux下挂载新建硬盘的方法 1.1新硬盘分区及挂载 进入系...
  • romaticjun2011
  • romaticjun2011
  • 2014年10月03日 12:58
  • 1479
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UNIX常用命令行指令(5)(访问权限和进程操作)
举报原因:
原因补充:

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