440 likes | 704 Views
UNIX 操作系统. 为什么要使用 UNIX ? 是真正的多用户系统 设计简洁,功能全面 系统开放,性能优良 强大的网络功能是大型网络服务器操作系统的首选,网络就是计算机. Bell 实验室. 早期 UNIX. 加州大学 伯克利分校 4BSD. At&T 的系统 V. SCO UNIX. Solaris. HP-UX. AIX. Linux. UNIX 的结构. 用户. 实用程序. SHELL. 内核. 硬件. 登录与退出
E N D
为什么要使用UNIX? 是真正的多用户系统 设计简洁,功能全面 系统开放,性能优良 强大的网络功能是大型网络服务器操作系统的首选,网络就是计算机
Bell实验室 早期UNIX 加州大学 伯克利分校 4BSD At&T 的系统V SCO UNIX Solaris HP-UX AIX Linux
UNIX的结构 用户 实用程序 SHELL 内核 硬件
登录与退出 /etc/passwd wuhp:*:103:100:WuHaiping:/home/wuhp:/bin/csh 口令:密码:用户号:用户组:用户描述:主目录:shell /etc/shadow wuhp:OetAtL5RVxc1g:10917:::::: login:wuhp password:******** %passwd 修改密码,%是C Shell的提示符 logout退出
Shell的工作环境,shell变量和环境变量 B Shell执行.profile C Shell执行.cshrc K Shell执行.profile和$ENV两个文件 USER表示该Shell的用户名 HOME表示注册目录 PATH表示命令搜索路径 MAIL表示邮箱目录 环境变量使用$来访问,例如$PATH
.cshrc的例子 set path=($PATH $HOME/bin \ /usr/local/bin /usr/ccs/bin) setenv MAIL /var/mail/$LOGNAME
.profile的例子 PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/ccs/bin:. MAIL=/var/mail/$LOGNAME export PATH MAIL
UNIX的图形环境--X窗口 OpenLook与Motif都是建立在X协议上的 IBM,SUN,HP等合作的CDE(Common Desktop Environment)环境提供了一个统一图形界面 X协议是Client/Server
UNIX命令执行的一般规则 command [-选项] [参数],例如 %ls -l 命令的连续执行:分号隔开,例如 pwd; ls -l 一行写不下,使用\来续行 使用man来进行帮助,例如 man ls
UNIX的目录树 /etc系统配置文件和系统管理文件 /dev设备文件入口 /sbin系统启动和停止的命令 /usr/sbin网络管理命令 /bin和/usr/bin用户常用命令目录 /home用户主目录 /var动态数据目录,例如邮件数据,审计与记帐数据等 /opt本地命令目录 /lib和/usr/lib存放程序库文件 /tmp临时目录
多用户文件系统的访问许可 ls -l tt -r-xr-xr-x 1 demo staff 18120 1998.10.6 tt 访问权限 链接 拥有者 组名 大小 最后访问时间 文件名 第一个字符表示文件类型。例如: b表示块文件、d表示目录、-表示一般文件 c表示字符文件、p是一个管道文件 l表示链接文件、s是一个套接字文件
使用umask命令指定文件的访问许可 二进制表示法,user, group, other三组 1表示屏蔽,0表示不屏蔽 000 010 111表示对属主不屏蔽,对组内成员用户屏蔽写权限,对其他用户完全屏蔽,因此命令为 umask 027
使用chmod改变文件属性 二进制改法: rwxr-xr-x为111 101 101是755,那么 例如:chmod 755 a.out 文字改法: chmod [u][g][o][+|-][r][w][x] 文件名 例如:chmod o-rx a.out
显示当前工作目录 pwd 创建目录 mkdir dirname 转换工作目录 cd directory 无参数时使用环境变量$HOME 作为其参数 例如: cd 回到注册进入时的目录 cd /tmp 进入 /tmp 目录 cd .. 进入上级目录 常用命令
创建文件 touch filename 删除文件 rm [说明]:用来删除文件或目录 - f 删除文件时不作提示 - r 递归地删除目录及其所有子目录 - i 删除文件之前先作提示 [例子]: rm file1 删除文件 file1 rm -i /tmp/* 删除目录 /tmp 下的所有文件 rm -r /mytmp 递归地删除目录 /mytmp 删除目录 rmdir dirname
移动文件 mv [语法]: mv [-f] [-i] 文件1 [文件2...] 目标 [说明]: 将文件移动至目标,若目标是文件名,则相当于文件改名 - i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止 - f 覆盖前不作任何提示 [例子]: mv file1 file2 将文件 file1 改名为 file2 mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下
列文件名 • ls [options] names • -a显示以.开头的隐藏文件 • -d显示目录 • -m用逗号将文件进行分割 • -l显示详细信息 • -r以逆序排列 • -s以信息块为单位显示文件大小 • -R递归列出子目录及文件信息 • -t以修改时间为序 • -u以访问时间为序 • -F为文件名增加后缀(/:目录、*:可执行文件、@指向其 它文件或目录的符号链接)
显示目前注册的用户和用户正在运行的命令 • w • who • whoami或者 who am i
常用命令,显示文本文件内容 cat [语法]: cat filename [说明]: 显示文件至标准输出 head [语法]: head [-n] filename [说明]: 将文件的头n 行显示输出,缺省值为 10 行 more [语法]: more filename [说明]: 将文件显示在终端上,每次一屏,在左下部显示 --more--,若是从文件读出而非从管道,则在后面显示百分比,表示已显示的部分,按回车键则上滚一行,按空格键则上滚一屏,未显示完时可以使用more 命令中的子命令。
cp [语法]: cp [ -p ] [ -r ] 文件 1 [ 文件 2 ...] 目标 [说明]: 将文件1(文件2 ...)拷贝到目标上,目标不能与文件同名, 若目标是文件名,则拷贝的文件只能有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在,则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录下。 - i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止 - p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表, 但不拷贝UID 及 GID - r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时目标必须为目录 [例子]: cp file1 file2 将文件 file1 拷贝到文件 file2 cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下 cp -r /tmp /mytmp 将目录 /tmp 下所有文件及其子目录拷贝至目录/mytmp 拷贝命令
改变文件或者目录所属的组 chgrp [-R] groupname filename 例子: chgrp -R staff /home/wuhp 改变文件或者目录的属主 chown [-R] username filename 例子:chown -r wuhp /home/wuhp
文件压缩命令 compress -cfv filename -c选项,不改变文件,结果写到屏幕 -f强制压缩, -v显示压缩过程的详细信息 compress file1压缩文件成file1.Z,删除file1 uncompress file1.Z解压文件file1.Z,删除file1.Z uncompress -c file1.Z仅在屏幕上显示出文件的压缩内容
网络上的.gz文件是用gzip命令压缩的。 需要安装自由软件gzip和gunzip gzip [-fv] file 将文件压缩成.gz的文件格式,选项同前 gzip -d file.gz 将.gz文件解压
文件或者目录打包 • tar [option] [tarfile] filename • c 创建新包 • x 从包中extract文件 • t 仅仅列出包中的文件名 • f 指定其后的参数为包文件名 • o 以当前用户作为extract的文件的uid和gid • v 报告tar命令执行的详细信息
网络上有一些.tar.gz文件 • 先用gzip解压缩,然后用tar拆包 • tar cvf mytar.tar file.dat • tar xvf file.dat
文件截取命令,截取的结果显示在屏幕上 cut -[cf] list [-d] char [file] -c按照字符截取 -f按照域截取 -d定界符 cut -c1-72 file截取文件file第1~第71个字符 cut -f1,3-5 file取文件file1,3,4,5列 cut -d: -f1 /etc/passwd取passwd文件第一列,界定符是冒号
查找文件 find 目录名 选项 -name filename按名字查找 -type x查找类型为x的文件(d,f) -user username查找属主为username的文件 -atime n查找n天以前被访问过的文件 -mtime n查找n天以前被修改过的文件 -exec cmd {}对查找出来的文件执行cmd命令,{}表示找到的文件,命令要以\;结束
-a选择条件与 -o选择条件或 (expr.)括号中作为一个整体判断,用\或者“”来转义 find . -name “my*.c”在当前目录下查找以my开头的c源文件 find /home \(-name core -o -name a.out\) -atime +3 -exec rm {} \;
在多个文件中搜索 • grep [option] pattern file • -v 显示不匹配的行 • -c 仅显示匹配的行号 • -l 仅显示指定的文件名 • -y 模式不区分大小写 • grep the tempfile • grep ‘the ‘ tempfile • grep “fork()” *.c
建立文件的连接 • ln [-s] file target • ln abc.c xyz.c建立一个硬连接,好象文件有了两个文件名 • ln -s /usr/lib /home/wuhp/lib在用户wuhp目录下建立一个lib连接,连上/usr/lib,用户访问/home/wuhp/lib,就是访问/usr/lib。
对文件按行进行排序 • sort [options] filename • -b 忽略开头的空格和制表符 • -f 不区分大小写 • -n 按数字从小到大的顺序排序 • -r 按当前排序规则逆序排序 • -u 排序时忽略重复的行 • -o 指定输出文件名 • -k start stop 规定排序关键字的列范围
例如: • sort filea对文件filea进行排序 • sort -nr myfile对myfile中的字段从大到小的顺序进行排序,并且是逆排序 • sort -k 2,2 myfile按照第二个字段对myfile文件进行排序
显示指定文件中的行数、词数或字符数 • wc [-clw] filename • -c显示字符数 • -l显示行数 • -w显示单词数 • 例如:wc temp显示temp文件的字符、行和单词数 • wc -l temp仅仅显示temp文件的行数
显示或者设置系统日期和时间 • date [+format] • %m显示月份%d显示日期 • %y显示年份%D以mm/dd/yy表示日期 • %H显示小时%M显示分钟 • %S显示秒%j显示一年中的第几天 • %w显示是星期几
例如 • date • 1999年 11月 29日 星期一 15时 27分 14秒 CST • date +%D • 11/29/99 • date 11291345超级用户用来设置系统日期
报告磁盘空间使用情况 • df [-k] [resource] • -k选项是以K为单位显示使用情况 • df -k
Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t0d0s0 482824 19243 415299 5% / /dev/dsk/c0t0d0s6 963869 469061 436976 52% /usr /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd /dev/dsk/c0t0d0s1 482824 38444 396098 9% /var /dev/dsk/c0t0d0s7 2634745 168210 2413841 7% /home /dev/dsk/c0t0d0s5 1986439 10378 1916468 1% /opt /dev/md/dsk/d0 26109793 4976462 20872234 20% /www /dev/md/dsk/d1 17405631 1109990 16121585 7% /real swap 2459112 192 2458920 1% /tmp
统计目录所占磁盘空间的大小 • du [-ks] 文件系统 • -k表示以K为单位来显示 • -s表示不显示统计字目录的信息 • du -ks .显示当前目录的大小
显示用户信息 • id [-a] 用户名 • id wuhp • uid=1001(wuhp) gid=10(staff) • id -a • uid=1001(wuhp) gid=10(staff) groups=10(staff)
显示进程状态 • ps [-efl] [namelist] • -e显示当前运行的每一进程的信息 • -f产生一个完整的清单 • 杀死某个进程 • kill [-signal] pid • kill -9 378 • kill -HUP 378
网络通信命令arp • 查询同网段内服务器的IP地址,网卡地址等。 • 例如arp -a • Net to Media Table • Device IP Address Mask Flags Phys Addr • hme0 166.111.9.1 255.255.255.255 08:00:02:09:a0:96 • hme0 oads.tsinghua.edu.cn 255.255.255.255 00:00:e8:49:bc:20 • hme0 edumis 255.255.255.255 SP 08:00:20:94:01:17 • hme0 BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00
使用finger命令找出在Internet上的任何系统中登录的用户使用finger命令找出在Internet上的任何系统中登录的用户 finger username@hostname • 例子: • finger wuhp@www • [www] • Login Name TTY Idle When Where wuhp WuHaiping pts/31 <Nov 29 14:38> 166.111.4.125
显示其他计算机是否联网 • ping hostname • ping bbs.tsinghua.edu.cn • bbs.tsinghua.edu.cn is alive