使用Google翻译翻译自: http://www.ee.surrey.ac.uk/Teaching/Unix/unix5.html
在您的unixstuff目录中,键入
%ls -l(l 代表 long listing!!)
您将看到,您现在可以获得有关目录内容的详细信息,类似于下面的示例。
每个文件(和目录)都具有相关的访问权限,可以通过键入ls -l来找到。此外,ls -lg还提供了哪个组拥有该文件的附加信息(以下示例中为beng95):
-rwxrw-r-- 1 ee51ab beng95 2450 Sept29 11:52 file1
左侧列是由符号d,r,w,x, - 和偶尔出现的s或S组成的10个符号串。如果d存在,则它将位于字符串的左端,并指示一个目录:否则 - 将是字符串的起始符号。
其余9个符号表示权限或访问权限,并被分为三组。
符号r,w等,具体取决于它们是指简单文件还是目录,具有稍微不同的含义。
因此,为了读取文件,您必须对包含该文件的目录具有执行权限,也需要对包含该目录的目录具有执行权限,依此类推。
-rwxrwxrwx | 每个人都可以读取,写入和执行(并删除)的文件。 |
-rw ------- | 只有所有者可以读写的文件 - 其他任何用户都 不能读取或写入,也没有人拥有执行权(例如您的 邮箱文件)。 |
只有文件的所有者可以使用chmod来更改文件的权限。chmod的选项如下
符号 | 含义 |
---|---|
u |
用户(user) |
g |
组用户(group) |
o |
其他用户(other) |
a |
所有(all) |
r |
读(read) |
w |
写(write)和删除 |
x |
执行(execute)和访问目录 |
+ |
添加权限 |
- |
减少权限 |
例如,要删除组用户和其他用户对biglist文件的读写和执行权限,请键入
%chmod go-rwx biglist
其他权限不受影响。
要给所有人biglist 文件的读写权限
%chmod a+rw biglist
尝试更改文件science.txt和目录backups的访问权限
使用ls -l检查权限是否已更改。
进程是由唯一的PID(进程标识符)识别的可执行程序。要查看您的进程的PID和状态等信息,请键入
%ps
进程可能在前台,在后台,或被挂起。通常,shell将不会返回UNIX提示,直到当前进程完成执行。
一些进程需要很长时间才能运行,因此一直占用终端。将需要长时间运行的进程放到后台执行的作用是在终端立即返回UNIX提示符,并且可以在原始进程继续执行其他任务。
要将进程放到后台处理,可以在命令行的末尾键入&。例如,命令sleep等待给定的秒数,然后继续。键入
%sleep 10
这将等待10秒钟,然后返回命令提示符%。在返回命令提示符之前,除了等待之外,您不可以执行任何操作。
要在后台运行sleep进程,请键入
%sleep 10 &
[1] 6259
&在后台运行sleep进程,并直接返回提示符,在等待其执行完成的过程中,可以让你运行其他程序。
上述示例中的第一行是用户输入的; 下一行是由机器返回的,包含了作业号和PID信息。作业号(从1编号)包含在方括号中,后跟后台进程的PID,并在后台进程完成时通知用户。后台执行对于需要很长时间才能完成的工作进程很有用。
在提示符下,键入
%sleep 1000
您可以通过键入^Z来暂停在前台运行的进程,按住[ Ctrl ]键并键入[ z ]。然后把它放在后台,键入
%bg
注意:不要将需要用户交互的程序放到后台执行,例如vi
当进程运行,后台运行或挂起时,它将与作业号一起包含到作业列表中。要检查此列表,请键入
%jobs
作业列表的例子可能如下所示
[1]Suspended sleep 1000
[2]Running netscape
[3]Running matlab
要重新启动(前台运行的)挂起的进程,请键入
%fg %jobnumber
例如,要重新启动sleep 1000,请键入
%fg %1
在没有作业编号的情况下键入fg会使最后一个暂停的进程在前台执行。
有时候有必要杀死一个进程(例如,当执行程序处于无限循环中时)
要杀死在前台运行的作业,请键入^C(Ctrl+c按键)。例如,运行
%sleep 100
^C
要杀死挂起进程或后台进程,请键入
%kill %jobnumber
例如,运行
%sleep 100 &
%%jobs
假设其作业编号为4,键入
%kill %4
要检查这是否有效,请再次查看作业列表以查看进程是否已被杀死。
或者,可以通过查找进程号(PID)并使用kill PID_number来杀死进程
%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
要杀死进程sleep 1000,键入
kill 20077
然后再次键入ps以查看它是否已从列表中删除。
如果进程拒绝被杀死,则使用-9选项,即,键入
%kill -9 20077
注意:不可能杀死其他用户的进程!
命令 | 含义 |
---|---|
ls -lag | 列出所有文件的访问权限 |
chmod [ options ] file | 更改文件的访问权限 |
command& | 在后台运行command命令 |
^C | 杀死在前台运行的作业 |
^Z | 挂起在前台运行的作业 |
bg | 将挂起的工作放到后台 |
jobs | 列出当前的作业 |
fg %1 | 将编号为1的作业放到前台运行 |
kill %1 | 杀死编号为1的作业 |
ps | 列出当前的进程 |
kill 26152 | 杀死进程号为26152的进程 |