第五学时
文件属性操作
file 普通文件
file filename 检测文件名
符号链
是指向系统中另一个文件的特殊文件。当访问其中一个文件可看到在文件中存在这个一个路径名。使用该路径名可以到达给符号链代表的系统中的一个文件或目录
ln -s source destination
ln -s /home/httpd/html/users/ranga /home/ranga/public_html
ls -l /home/ranga/public_html
设备文件
设备文件一般位于/dev目录下,两种主要的设备文件
字符特殊文件
块特殊文件
字符特殊文件提供每次一个字符与设备通信的机制。通常,字符设备代表一个“原始”设备。
用字符特殊文件的ls输出如下:
crw-------- 1 ranga users 4,0 Feb 7 13:47 /dev/tty0
因为输出的第一个字符是c,这样用户就知道了这个文件是一个字符特殊文件,但在日期前还可以看到两个额外的数字,第一个数字被称为主数字,第二个数字被称为从数字。UNIX使用这连个数字识别与该文件通信的设备。
块特殊文件
块特殊文件提供通过文件系统与设备驱动程序通信的机制。这些文件被称作块设备,块设备每次传输一个大的数据块。这种文件类型的代行代表是硬盘和可移动媒质
brw-rw---- l root dist 8,0 Feb 7 13:47 /dev/sda
命名管道
rwx 读写操作
改变目录权限chmod
chmod expression files expression: 怎样改变权限的语句,可以是符号或是八进制
符号方式
符号表达式语法: (who)(action)(permissions)
改变所有者和组
chown change owner 基本语法: chown options user:group files
chgrp change group 基本语法: chgrp options group files
进程
如果用户运行了这条命令后并没有看到完整信息,也许是应为用户的Shell已被告知不显示这些。当置为可用时,这些信息是进程或任务检测的以部分。下面命令使检测成为可用:
set -o monitor 检测命令
set +o monitor 要取消检测信息可使用+o
set -o 检查所有的Shell选项
把一个前台进程移到后台
除了可以使用&在后台运行一个进程外,用户还可以把一个前台进程一到后台。一个前台进程运行是,Shell不处理任何新命令。用户在输入新命令前,必须悬挂前台进程来得到一个提示符。
大多数UNIX的命令悬挂键是Ctrl+Z
把一个后台进程移到前台(ft命令)
当有一个进程在后台或是悬挂,用户可以使用fg命令把他移到前台。在缺省情况下,最近ige被悬挂或移到后台的进程将被移到前台。用户可以使用任务标识号声明把哪项任务移到前台。
使后台进程持续运行(nohup命令)
当退出系统或是链接一台中断时,用户可以防止一个后台进程终止(在缺省情况下后台进程会终止)。nohup命令可以防止用户的进程接受到HUP(Hang up)信号,从而进程可以继续运行。
nohup 只需要把它加到实际要运行的命令前面即可。由于nohup被设计为无终端连接时运行,所以他希望用户把输出重定向到一个文件中。如果不这样做,nohup自动重定向到一个叫做nohup.out的文件中。
nohup ls &
列出正在运行的进程
jobs命令
jobs命令为用户显示出悬挂的以及正在后台运行的进程。用于jobs命令是一个前台进程,所以他不能显示活动的前台进程。
ps命令
显示正在运行的所有进程的另一个命令是ps(process status)命令。在缺省情况下,他显示那些正在运行的进程。他还可以接受许多的选项。
ps pid 进程号 TTY 进程运行终端 TIME 进程消耗的CPU时间 CMD 运行的命令名
ps -f UID 进程所用于的用户ID
PID 进程ID
PPID 父进程ID(启动它的进程ID)
C 进程使用的CPU时间
未标识 用来计算进程的优先级
STIME 进程开始时间
CMD 启动该进程的命令,使用-f的CMD与不使用的CMD不同,他显示所有行选项和参数
ps -a -x -u
杀死一个进程(kill命令)
kill %num num是进程号
父进程和子进程
ps -f 可获取PPID
ps -ef | grep PPID
任务ID和进程ID
SubShells
当用户运行Shell脚本时,除了脚本中的任何命令外,还创建了另一个Shell解释器的拷贝。新Shell被称为一个subshell,就像一个目录包含在另一个目录下时成为子目录一样。
覆盖当前进程(exec命令)
除了创建子进程外,用户还可以用另一个进程覆盖当前进程。exec命令会用一个新进程替换当前进程,因此使用该命令是要特别谨慎。如果用户在主Shell解释器中使用exec,Shell解释器将被新进程代替。
术语
后台Background:后台描述进程通常以较低优先级运行,他们的输入与交互式绘画相分离。输入或输出通常被定向到一个文件或其他进程
后台进程:后台进程是独立的进程,他在UNIX系运行不需要用户交互
bash hash代表GNU Bourne Again Shell, 他给予Bonme Shell的sh这个最早的命令解释器
Bourne Shell 该Shell是最初的UNIX标准用户接口,他只支持有限的编程能力
BSD Berkeley Software Distribution缩写
守护进程(Daemon):守程序是与系统相关的后台进程,它通常具有root用户的权限,为其他进程的请求服务
Korn Shell 该Shell是具有郭崇脚本支持的UNIX用户接口,它由David G.Korn开发。它由命令行编辑特征,且能接受为Bourne Shell写的脚本。