UNIX 常用知识系列讲座(一)

Posted by NosaLee in UNIX/Linux on 18-08-2011. Tags: , ,

作者:牧山道人
原文地址:http://www.seeksunslowly.com/unix-basic-lecture-1
转载请注明出处,谢谢。
_____________________________________

笔者根据 7 年多的实作经验编写了该系列讲座,共分为 5 讲,每讲 10 个要点。
这 50 个要点涵盖了操作 UNIX 的必备知识及正确编写 shell 脚本的必要理论,每一要点均附有演示(在本博客中只能略过,实际培训才有办法演示)。

该讲座在之前任职的公司举办过两次,反映非常好,学员都称专业、有用、获益匪浅。
若您或所在企业有现场培训需要(现场培训的效果,您懂的:)),请留下 QQ 及电话,笔者会及时与您商谈。

UNIX 常用知识系列讲座(一)

1、首先要学会的是:查看联机帮助。
基本上,认真阅读帮助能解决 95% 以上的问题。
而且这份帮助是官方的,所以,联机帮助是遇到难题的首选阅读材料。
命令 man cmd
演示 man ls

2、打包与解包
Why?
一个 web 工程有多少文件呢?如果从一台主机搬到另一台主机,你希望 ftp 一个文件,还是 ftp 上万个文件、目录?
就算有桌面工具可以拖放,速度先不考虑了,你是不是要通过 PC 中转一下?ftp 两次先不说,你的硬盘不是拿来这样折腾的。
命令
* 打包
tar
cvf FileName.tar Directories
>> 功能:将 Directories 下的档案打包成 FileName.tar。
>> 注意:是 Directories 而不是 Directory;是打包而不是压缩。
* 解包
tar
xvf FileName.tar
>> 功能: 将 FileName.tar 解包到当前目录。
* 测包
tar
tvf FileName.tar
>> 功能: 测试包裹(主要看内部文件结构是否正确)。
注意 cvf/xvf/tvf 参数无减号(-),这与常见 UNIX 命令有区别。
演示

3、文件及目录的识别、权限查看、权限分配
这是基本常识,必须弄清楚。
文件及目录的识别
看 ls -l 列表结果第一列第一个字符:d = Directory;- = File。如:
-rw-rw-rw- 1 rasbkg ras 8 May 5 17:32 .pf
drwxrwxrwx 2 rasbkg ras 96 May 5 17:25 aa

权限查看
如上述结果,r = Readable;w = Writable;x = Executable。
ls -l 结果第一栏列出了该文件或目录的所有权限,除去第一字符用于标识文件或目录外,剩余 9 个字符,三个为一组,分别表示自己、同组其他用户、其他组用户的权限。
权限分配
* 命令 chmod
### Files/Directories
### 为三个数字,取值范围 1 – 7, 分别代表自己、同组其他用户、其他组用户的权限.
其中 1 = x, 2 = w, 4 = r.
当然,这个数字游戏刚开始并不好玩,用多了就习惯了,虽然 chmod 也有其他使用方式,但建议耍数字,简单、专业、迅速。
* 特殊用法 chmod = Files/Directories, 取消 Files/Directories 所有已分配权限,这也是个特殊的 UNIX 命令调用方式。
演示

4、最常用的命令 ls
参数相当多,各种 UNIX 实现不一,现列举并演示几个常见参数。
-l 列出文件/目录的完整信息(list)。
-a 列出所有文件,包括隐藏文件/目录 (all)。
-R 递归列出所有文件目录(Return)。
-F 显示文件/目录格式:可执行档档名后加 ‘*’——其实并不一定可执行,只是已赋予其执行权限;目录名后加上’/’;link 档后加上’->’(Format)。可用此选项只列出目录, ls -F | grep /
-t 按时间排序(time)。
-n 按名称排序(name)。
-r 按指定排序方式逆序排列结果(reverse)。
演示

5、查看 IP
HP-UX: netstat -in
Others: ifconfig -a
演示

6、查看用户、组信息
查看文件 /etc/passwd(用户)、/etc/group(组)。
演示

7、查看设置环境变量
export var=xxxx
不带参数则列出当前设置。
演示

8、删除文件、目录
命令 rm -p files/directories
常用参数:
-i 会征求确认再删除。
-r 删除指定目录及其下的所有档案。
-rf 同上,但不会先征求确认。
演示

9、切换用户
su – username
演示

10、重定向及管道
> 以覆盖方式写入档。
>> 以追加方式写入档。
| 管道,把左边的输出作为右边的输入。
非常重要,我是这样理解的,如果没有发明管道,UNIX 命令用处也就不大了,更不会产生 shell 编程了(后续会针对具体应用场景细讲)。
演示

Post a comment