资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 什么是Bash 什么是Shell Bash 是 GNU Bourne-Again SHell,是目前大多数Linux发行版采用的Shell。 Shell 是 *nix提供给用户使用的界面。 一个操作系统的底层是独立运行的,用户界面和底层分开,可以最大限度的保证系统稳定。Shell就是一个特殊的程序,负责接受用户的命令,并把系统的响应返回给用户。 Bash Shell一般不需要自己安装,在安装发行版的同时都会安装好。 Shell的存在是和登陆相关的,从用户名密码验证通过以后,Shell就启动了,知道你退出,Shell就结束了运行。 除了Bash Shell之外,还有很多其他的Shell。 2 Linux的文件、目录、程序 Linux的文件、目录、程序是使用bash操作的主要对象。有必要事先了解一下文件、目录和程序的概念 文件 Linux中一切都是文件、普通的文件、设备文件、管道也是文件的形式。一切操作都是文件为基础的。DOS操作系统早期也是模拟这种方式,不过有很多漏洞(比如C:concon会蓝屏) 文件是有属性的,有一个属性表示这个文件是不是目录,有3个属性表示这个文件的访问权限,还有一些表示从这个文件派生出的文件属性。 目录 目录是管理文件的手段,不同的文件要分门别类才容易找到。严格的说,目录也是一种文件,是具有目录属性的文件。 文件和目录都有所有者和所有组。叫UID和GID,对应的,有3个属性表示相应的权限。后面写到ls和chmod有详细地说明。 程序 程序是可以执行的代码,有些是直接交给内核或者CPU执行的,有些是通过其他程序执行的(解释脚本),可以运行的程序都有一个可执行的属性。 3 简单的命令 ls cp mv mkdir rm chown chmod 前面说了一些枯燥的概念,现在趁着看官还没有烦躁,开始实际操作的例子。 QUOTE: Last login: Mon Aug 14 21:52:47 2006 from 61.149.202.143 rootCERNET # 这就是bash登陆后的样子。#井号是root特权用户的提示符号,一般用户提示符是$符号。 现在输入ls,列出当前目录的内容 QUOTE: rootCERNET # ls anaconda-ks.cfg install.log.syslog log4cplus-1.0.2 MceMonitor-install-files.tgz.md5sum vmstat_monitor Ice-3.0.1 jwsmtp-1.32.11 log4cplus-1.0.2.tar.gz memcached-1.1.12 wuhan.sh Ice-3.0.1.tar.gz jwsmtp-1.32.11.tar.gz login_keepalived memcached-1.1.12.tar.gz ids.sh libevent-0.8 MceMonitor sar.log install.log libevent-0.8.tar.gz MceMonitor-install-files.tgz tmp 再输入cd /,把当前目录改为根目录 QUOTE: rootCERNET /# ls bin data etc home lib media mnt proc sbin srv tmp var boot dev eth1.route initrd lost+found misc opt root selinux sys usr 相信你的Linux一定是有颜色的,呵呵。 现在回到原来的目录(刚登陆的时候那个目录叫用户主目录),然后新建一个目录叫aaa。 QUOTE: rootCERNET /# cd rootCERNET # mkdir aaa rootCERNET aaa# 表示用户的主目录,mkdir是建立目录的命令,还可以这样用 mkdir aaa,bbb,ccc,ddd 会同时建立4个目录 mkdir -p /aaa/bbb/ccc/ddd/eee 这样在前面目录不存在的时候,会自动建立。 在当前目录下有这样的文件,复制和移动是这样的: QUOTE: rootCERNET /# ls a.log rootCERNET /# cp a.log b.log rootCERNET /# ls a.log b.log rootCERNET /# rm a.log rootCERNET /# ls b.log rootCERNET /# mkdir dir1 rootCERNET /# ls b.log dir1 rootCERNET /# rm -r dir1 b.log cp是复制文件,rm是删除文件。cp和rm都有-r的参数,可以复制目录或者删除目录。 删除时有可能会提示你每个文件都按y确认,可以用-f参数不让它提示。 -r -f这样的参数可以写成-rf。也就是 QUOTE: rootCERNET /# rm -rf dir1 最后看一下设置权限的两个命令,这通常会给初学者造成很大的困扰,遇到权限不足错误的时候,应该看一下是不是权限的问题。 先列出完整的文件列表: QUOTE: rootCERNET /# ll total 176 drwxr-xr-x 2 root root 4096 Apr 12 04:02 bin drwxr-xr-x 3 root root 4096 Apr 3 15:47 boot drwxr-xr-x 4 root root 4096 Apr 27 00:34 data drwxr-xr-x 8 root root 5180 Jun 27 13:51 dev drwxr-xr-x 76 root root 12288 Aug 13 04:03 etc -rw-r-r- 1 root root 176 Apr 4 14:17 eth1.route drwxr-xr-x 2 root root 4096 Aug 13 2004 home drwxr-xr-x 2 root root 4096 Aug 13 2004 initrd drwxr-xr-x 11 root root 4096 Apr 4 04:04 lib drwx- 2 root root 16384 Apr 3 23:45 lost+found drwxr-xr-x 2 root root 4096 Aug 13 2004 media drwxr-xr-x 2 root root 4096 Dec 2 2005 misc drwxr-xr-x 2 root root 4096 Aug 13 2004 mnt drwxr-xr-x 5 root root 4096 Aug 9 00:27 opt dr-xr-xr-x 191 root root 0 Jun 27 21:50 proc drwxr-x- 12 root root 4096 Aug 12 09:02 root drwxr-xr-x 2 root root 12288 Apr 4 04:05 sbin drwxr-xr-x 2 root root 4096 Apr 3 15:46 selinux drwxr-xr-x 2 root root 4096 Aug 13 2004 srv drwxr-xr-x 9 root root 0 Jun 27 21:50 sys drwxrwxrwt 4 root root 4096 Aug 14 22:16 tmp drwxr-xr-x 14 root root 4096 Apr 3 15:47 usr drwxr-xr-x 22 root root 4096 May 17 16:08 var ll命令是RedHat系列一般都有的一个别名,它代表ls -l。每一行是一个文件或者目录,就这一行说明一下: QUOTE: drwxr-xr-x 14 root root 4096 Apr 3 15:47 usr drwxr-xr-x 表示:目录 所有者有rwx权限 所有组有r-x权限 其他用户有r-x权限 root root 表示:所有者是root,所有组是root。(前面的是用户,后面的是组) 4096是大小,目录的大小和文件系统有关系,文件的话,大小就是文件真实的大小。 现在看看修改权限: QUOTE: rootCERNET aaa# ls -l drwxr-xr-x 2 root root 4096 Apr 3 15:46 bbb drwxr-xr-x 2 root root 4096 Aug 13 2004 ccc rootCERNET aaa# chown ftp:ftp bbb rootCERNET aaa# ls -l drwxr-xr-x 2 ftp ftp 4096 Apr 3 15:46 bbb drwxr-xr-x 2 root root 4096 Aug 13 2004 ccc rootCERNET aaa# chmod -R 777 bbb drwxr-xr-x 2 ftp ftp 4096 Apr 3 15:46 bbb drwxrwxrwx 2 root root 4096 Aug 13 2004 ccc 4 管道 和 高级一些的命令 grep less more sed awk 常用的命令还有很多,在后面有没见过的命令,我会随时说明。 现在说一些主要用作配合别的命令的命令。 管道 配合别的文件操作的这类命令一般是这样工作的:前一个程序的输出结果,是后一个程序的输入。这样衔接起来,可以实现一个很长的串完成复杂的工作。 *nix的设计概念就是这样的,每个工具完成很简单的工作,都使用文本做输入输出。还有就是关键的“管道”,这就可以串起来了。 比如: QUOTE: rootCERNET log# cat /var/log/dmesg 这个命令会把/var/log/dmesg显示在屏幕上。但是这个文件里面是系统的日志,非常
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号