Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20424
  • 博文数量: 11
  • 博客积分: 505
  • 博客等级: 下士
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-09 14:01
文章存档

2010年(11)

我的朋友
最近访客

分类: LINUX

2010-06-09 14:19:44

    在UNIX/linux中Shell是非常重要的组成部分。对于linux用户来说,深入了解和熟悉Shell的特性及使用是用好linux的关键,也可以这样说对Shell的使用熟悉程度可以反映用户使用linux的熟悉程度。
Shell提供了一个内核与用户之间的界面,可以理解为以高解析器。
Shell的特点:对已有点命令进行适当组合,构成了新的命令;提供了文件名扩展字符,使得单一的字符串可以匹配多个文件名;可以直接使用Shell的内置命令;允许灵活的使用数据流,提供了通配符、输入、输出重定向、管道等机制;结构化的程序模块提供了顺序分支循环流程控制;提供后台执行命令的能力;提供一个高级的命令语言,允许用户创建从简单到复杂的程序。
进入Shell:右键选择新建终端;可以通过“K菜单”---“系统”---“终端”。
退出Shell:执行exit命令;Ctrl+D
Shell提示符:如[a@b root] [#/$] ----a代表当前的用户;b代表主机名;root代表当前目录#代表超级用户$代表普通用户。
Shell的版本:bsh;csh;ksh;bash;tcsh;pdksh.
Shell命令的基本规则:命令名 [选项] [参数] ---------注意Shell命令区分大小写。
下面主要讲比较常用的命令。
命令自动补全
l+Tab键 ----如果只有一个就会自动补上,多个的话会列出来查看
hostn+Tab键 ----自动补完hostname命令

显示目录和文件
ls ----显示文件和目录
ll ----与ls -l相同
ls -l /home ----以列表形式列出/home文件和目录
man ls ----man手册查看命令ls

打印到标准的输出设备上
cat 123.txt ----把123.txt文件打印到屏幕上,默认屏幕为标准的输出设备
man cat ----man手册查看命令cat

输出重定向
ls -l /home>>a.txt ----把根目录下/home下列表输出到a.txt中,>>(追加)输出附加重定向符
cat a.txt ----查看文件

ls -l /home/a.txt 2>err.txt ----把输出a.txt错误重定向到err.txt文件中,2>标准错误输出重定向

相关I/O重定向如下:
> 文件名:标准输出重定向,屏幕输出的内容写入该文件名(代表文件或设备)中
< 文件名:标准输入重定向,键盘读入该为从该文件名(代表文件或设备)中读入
>> 文件名:标准输出重定向,屏幕输出的内容追加写入该文件名(代表文件或设备)中
2> 文件名:错误输出重定向,错误信息输出内容写入该文件名(代表文件或设备)中
> /dev/null:标准输出重定向,不再输出屏幕内容

管道
在linux系统中,管道是由符合“|”隔开的若干个命令组成的系列。前一个命令的输出是下一个命令的输入。如将1.txt文件的内容输出作为wc命令的输入
cat 1.txt|wc -l

文件权限的设置
linux是多任务多用户的操作系统,用户之间是相当独立,各次拥有自己的文件资源,相对于文件,每个用户只能处于三种关系之一:文件属主、文件属组成员、其他用户。每一种情况下用户都可以对文件进行读写执行3种操作,所以文件的全部访问权限总共有9位,文件的属性共有10位,那么那一位是文件类型。
[类型][属主][][][属组][][][其他][][]----除第一位外,其它9分别为属主,属组,其它 。
每组成员可有r(可读)w(可写)x(可执行)。用二进制表示:1表示具有;0表示无权限。
如:111 101 100 也代表为 754,下面在linux更改权限:
[redhat@bogon ~]$ ll
总计 64
-rw-rw-r-- 1 redhat redhat 862 05-09 20:32 1.txt
-rw-rw-r-- 1 redhat redhat 122 04-18 20:00 argc+argv_test.c
drwxrwxr-x 2 redhat redhat 4096 04-27 06:43 day01
drwxrwxr-x 2 redhat redhat 4096 04-27 06:25 day02
drwxr-xr-x 2 redhat redhat 4096 04-18 17:45 Desktop
-rw-rw-r-- 1 redhat redhat 73 04-18 23:09 hello.c
-rw-rw-r-- 1 redhat redhat 1555 04-18 19:47 ls_test.c
-rwxrwxr-x 1 redhat redhat 11 05-07 02:05 test.sh
怎样看呢?看下面注释!!!
文件属性 链接数 用户 属组 大小 修改时间 文件名
大家可以看见1.txt是-rw-rw-r--这样的,第一位-代表是普通文件,转换二进制为:-110110100=664,现在改为当前用户(属主)可以执行-rwxrw-r--,111110100=764
[redhat@bogon ~]$ chmod 764 1.txt
[redhat@bogon ~]$ ll
总计 64
-rwxrw-r-- 1 redhat redhat 862 05-09 20:32 1.txt
-rw-rw-r-- 1 redhat redhat 122 04-18 20:00 argc+argv_test.c
drwxrwxr-x 2 redhat redhat 4096 04-27 06:43 day01
drwxrwxr-x 2 redhat redhat 4096 04-27 06:25 day02
drwxr-xr-x 2 redhat redhat 4096 04-18 17:45 Desktop
-rw-rw-r-- 1 redhat redhat 73 04-18 23:09 hello.c
-rw-rw-r-- 1 redhat redhat 1555 04-18 19:47 ls_test.c
-rwxrwxr-x 1 redhat redhat 11 05-07 02:05 test.sh
[redhat@bogon ~]$
大家可以对比下,其他的权限更该也差不多。现在说下第一位的文件类型,类型如下:
-: 普通文件
p: 管道文件
d: 目录文件
b: 块文件
c: 字符文件
l: 符号链接文件
s: 套接字文件

使用man获得帮助
像刚才一样不知道的可以用man ls 命令查看ls命令的解析。

    技巧:为用户使用方便可在当前用户跟目录.bash_profile文件添加当前路径
如:PATH=$PATH:$HOME/bin:.



阅读(321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~