LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 一颗小白菜

咱们玩一玩console?

[复制链接]
发表于 2002-9-14 14:47:35 | 显示全部楼层
以后所有的配置和参数全用XML就好了:)
发表于 2002-9-14 20:54:08 | 显示全部楼层

我喜欢console但有时也必需用用Xwindows

因为我需要找一些中文资料看,我英文太差。
所以我的系统这两样都有。慢慢来,我不怕累,就怕没的学了。呵呵。
发表于 2002-9-15 22:16:06 | 显示全部楼层

在字符界面下工作-为什么使用字符工作方式

Linux是一种类UNIX操作系统。在UNIX发展的早期,类UNIX操作系统根本没有图形操作界面,只有字符工作模式。后来随着GUI的发展,在类UNIX操作系统上开发了X Window系统,使类UNIX系统有了图形用户界面。虽然图形用户界面操作简单,但是字符操作方式仍然沿用至今,这主要是因为:
1.在字符操作方式下可以高效地完成所有的任务,尤其是系统管理任务。
2.系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式。
3.由于使用字符界面不用启动图形工作环境,大大地节省了系统资源开销。
发表于 2002-9-15 22:19:04 | 显示全部楼层

在字符界面下工作-进入字符工作方式的方法

--在图形环境下开启终端窗口进入字符工作方式。
--以init 3模式启动系统后直接进入字符工作方式。
--使用远程登录方式(telnet/SSH)进入字符工作方式。
发表于 2002-9-15 22:25:03 | 显示全部楼层

在字符界面下工作-Shell 简介

--什么是Shell
Shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。Shell在Linux系统上具有极其重要的地位。
--Shell的功能
Shell最重要的功能是命令解释,从这种意义上说,Shell是一个命令解释器。Linux系统上的所有可执行文件都可以作为Shell命令来执行。当用户提交了一个命令后,Shell首先判断它是否为内置命令,如果是就通过Shell内部的解释器将其解释为系统功能调用并转交给内核执行;若是外部命令或实用程序就试图在硬盘中查找该命令并将其调入内存,再将其解释为系统功能调用并转交给内核执行。在查找该命令时分为两种情况:(1)用户给出了命令的路径,Shell就沿着用户给出的路径进行查找,若找到则调入内存,若没找到则输出提示信息;(2)用户没有给出命令的路径,Shell就在环境变量PATH所制定的路径中依次进行查找,若找到则调入内存,若没找到则输出提示信息。此外,Shell还具有如下的一些功能:
+        通配符
+        命令补全、别名机制、命令历史
+        重定向
+        管道
+        命令替换
+        Shell编程语言
--Shell的主要版本
+ Bourne Again Shell(bash, bsh 的扩展)--Linux的默认Shell
+ Korn Shell (ksh)--AIX的默认Shell
+ tcsh (csh 的扩展)
发表于 2002-9-15 22:39:43 | 显示全部楼层

在字符界面下工作-基本操作命令

--文件目录操作--
        ls                  显示文件和目录列表
        touch                  生成一个空文件或更改文件的时间
        cp                  复制文件或目录
        mv                  移动文件或目录、文件或目录改名
        rm                  删除文件或目录
        cat、tac                  显示文本文件内容
        more、less          分页显示文本文件内容
        ln                  建立链接文件
        whereis                  查找系统文件所在路径
        find                  在文件系统中查找制定的文件
        grep                  在制定的文本文件中查找指定的字符串
        pwd                  显示当前工作目录
        cd                  切换目录
        mkdir                  创建目录
        rmdir                  删除空目录
        tree                  显示目录树
        chmod                  更改文件或目录的权限
        chown                  更改文件或目录的属主
--信息显示        --
        stat                  显示指定文件的相关信息
        who、w                  显示在线登录用户
        whoami                  显示用户自己的身份
        hostname          显示主机名称
        uname                  显示系统信息
        dmesg                  显示系统启动信息
        top                  显示当前系统中耗费资源最多的进程
        du                  显示指定的文件(目录)已使用的磁盘空间的总量
        df                  显示文件系统磁盘空间的使用情况
        free                  显示当前内存和交换空间的使用情况
        ifconfig          显示网络接口信息
        ping                  测试网络的连通性
        netstat                  显示网络状态信息
--用户间通信--       
        write                  向另外一个登录用户发信息
        wall                  向所有登录用户发信息
        mesg                  显示、设置接受或者不接受其它登录用户发来的信息
        mail、pine         邮件收发
        ftp                  ftp客户端程序
        lynx              字符界面浏览器
--备份压缩        --
        tar                  文件、目录打(解)包
        gzip                  压缩(解压)文件或目录,压缩文件后缀为gz
        compress          压缩(解压)文件或目录,压缩文件后缀为Z
        bzip2                  压缩(解压)文件或目录,压缩文件后缀为bz2
        zcat                  显示压缩的文本文件的内容
--其他命令        --
        echo                  显示输出变量、字符串的值
        exit                  返回上一级Shell
        date                  显示(设置)系统日期和时间
        cal                  显示日历
        clear                  清屏
        wc                  统计文本文件的行数、单词数和字符个数
        passwd                  设置用户登录密码
        su                  切换为指定的用户进行操作
发表于 2002-9-15 22:46:01 | 显示全部楼层

在字符界面下工作-提高工作效率

Shell的功能
-使用自动补全命令行(类似于Cisco IOS)
-使用命令历史(类似于Dos的Doskey)
-使用命令别名(alias)
守护进程的gpm功能
-在字符界面下用鼠标来拷贝与粘贴。具体做法是按住鼠标左键拖动,使要拷贝的文字反白显示,这时反白的区域已经被拷贝,再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了。
发表于 2002-9-15 22:52:05 | 显示全部楼层

在字符界面下工作-重定向

--何谓重定向
Linux命令在执行时常常期望接收输入数据,命令执行后又期望将产生的数据结果输出。Linux的大部分命令都具有标准的输入/输出设备端口。
-stdin        标准输入设备端口,命令在执行时所要的输入数据通过它来取得。
-stdout标准输出设备端口,命令执行后的输出结果从该端口送出。
-stderr标准错误设备端口,命令执行时的错误信息通过该端口送出。
缺省的标准输出端口和错误端口被指到了控制台的屏幕上,也就是说,输出信息都是通过屏幕显示的;缺省的标准输入端口被指到了控制台的键盘上,即它接收键盘输入的输入。
所谓重定向,就是不使用系统的标准输入端口、标准输出端口或标准错误端口,而进行重新的指定,所以重定向分为输出重定向、输入重定向和错误重定向。通常情况下重定向到一个文件。在Shell中,要实现重定向主要依靠重定向符实现,即Shell是检查命令行中有无重定向符来决定是否需要实施重定向。
--重定向符
<        实现输入重定向。输入重定向并不经常使用因为大多数命令都以参数的形式在命令行上指定输入文件的文件名。尽管如此,当使用一个不接受文件名为输入参数的命令,而需要的输入又是在一个已存在的文件里时,你就能用输入重定向解决问题。
<<!……!        实现输入重定向的特例,即here文件
>或>>        实现输出重定向。输出重定向比输入重定向更常用。输出重定向使用户能把一个命令的输出重定向到一个文件里,而不是显示在屏幕上。很多情况下都可以使用这种功能。例如,如果某个命令的输出很多,在屏幕上不能完全显示,能把它重定向到一个文件中,稍后再用文本编辑器来打开这个文件。
2>        实现错误重定向
&>        同时实现输出重定向和错误重定向

--使用重定向的例子
1. 将ls命令生成的/tmp目录的一个清单存到当前目录中的dir文件中。
$ ls -l /tmp >dir
2. 将ls命令生成的/etc目录的一个清单以追加的方式存到当前目录中的dir文件中。
$ ls -l /etc >>dir
3. 将/etc/passwd文件的内容作为wc命令的输入。
$ wc < /etc/passwd
4. 将命令随后输入的文本作为wc命令的输入。
$ wc <<!
> This text forms the content of the heredocument ,
> which continues until the end of text delimiter
> !
5. 获得apache软件包的安装文件清单并存入指定的文件。
$ rpm -ql apache > apache.list
6. 用echo命令和输出重定向建立简单的文本文件。
$ echo "lease call me : 65524699">message
7. 利用cat命令、Here文档和输出重定向建立简单的文本文件。
$ cat <<! >mytext
> This text forms the content of the heredocument ,
> which continues until the end of text delimiter
> !
8. 将命令myprogram的错误信息保存在当前目录下的err_file文件中。
$ myprogram 2> err_file
9. 将命令myprogram的输出信息和错误信息保存在当前目录下的output_file文件中。
$ myprogram &> output_file
10. 快速建立MP3播放列表
$ find  ~  -name *.mp3 > ~/cd.play.list
发表于 2002-9-15 22:54:39 | 显示全部楼层

在字符界面下工作-管道

--何谓管道
许多Linux命令具有过滤特性,即一条命令通过标准输入端口接受一个文件中的数据,命令执行后产生的结果数据又通过标准输出端口送给后一条命令,作为该命令的输入数据。后一条命令也是通过标准输入端口而接受输入数据。
Shell提供管道命令“|”将这些命令前后衔接在一起,形成一个管道线,格式为:
命令1 | 命令2 | ………|命令n
管道线中的每一条命令都作为一个单独的进程运行,每一条命令的输出作为下一条命令的输入。由于管道线中的命令总是从左到右顺序执行的,因此管道线是单向的。
管道线的实现创建了Linux系统管道文件并进行重定向,但是管道不同于I/O重定向,输入重定向导致一个程序的标准输入来自某个文件,输出重定向是将一个程序的标准输出写到一个文件中,而管道是直接将一个程序的标准输出与另一个程序的标准输入相连接,不需要经过任何中间文件。
--使用管道的例子
1. 以长格式递归地方式分屏显示/etc目录下的文件和目录列表
$ ls -Rl /etc |more
2. 分屏显示文本文件/etc/passwd的内容
$ cat /etc/passwd | more
3. 统计文本文件/etc/passwd的行数、字数和字符数。
$ cat /etc/passwd | wc
4. 查看是否存在lrj用户账号
$ cat /etc/passwd | grep lrj
5. 查看引导信息中关于第1块网卡的信息。
# dmesg | grep eth0
6. 查看系统是否安装了apache软件包。
$ rpm -qa | grep apache
7. 解压缩tar名为xyz.tar.gz的软件包。
$ gzip -dc xyz.tar.gz | tar -xvf
8. 以排序方式查看Linux系统中目录的磁盘占据情况
$ du -S | sort -n
9. 快速移动整个目录
$ (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -)
10. 把 man的信息存为文本文件
$ man bash | col -b > bash.txt
11. 只列子目录
$ ls -F | grep /$
或者
$ ls -l | grep "^d"
12. 计算当前目录下的文件数和目录数
$ ls -l * | grep "^-" | wc -l
$ ls -l * | grep "^d" | wc -l
发表于 2002-9-15 22:58:23 | 显示全部楼层

在字符界面下工作-作业控制

--何谓作业控制
作业控制是指控制当前正在运行的进程的行为,也被称为进程控制。作业控制是Shell的一个特性,使用户能在多个独立进程间进行切换。例如,用户可以挂起一个正在运行的进程,稍后再恢复它的运行。bash记录所有启动的进程并保持对所有已启动的进程的跟踪,在每一个正在运行的进程的生命期内的任何时候,用户可以任意地挂起进程或重新启动进程恢复运行。
例如,当用户使用Vi编辑一个文本文件,并需要中止编辑做其他事情时,利用作业控制,用户可以让编辑器暂时挂起,返回shell提示符开始做其他的事情。其他事情做完以后,用户可以重新启动挂起的编辑器,返回到刚才中止的地方,就像用户从来没有离开编辑器一样。这只是一个例子,作业控制还有许多其他实际的用途。
--实施作业控制的常用命令
Cmd &        命令后的&符号表示将该命令放到后台运行,以免霸占终端
<Ctrl+D>        终止一个正在前台运行的进程(含有正常含义)
<Ctrl+C>        终止一个正在前台运行的进程(含有强行含义)
<Ctrl+Z>        挂起一个正在前台运行的进程
jobs        显示后台作业和被挂起的进程
bg        在后台恢复运行一个被挂起的进程
fg        在前台恢复运行一个被挂起的进程
--作业控制举例
例如,你输入这个命令:
$ find / -name "test" > find.out
它将寻找整个文件系统中的名为test 的文件并把结果保存在一个叫fing.out的文件里。如果在前台运行的话,根据文件系统的大小不同, 交互的Shell将会工作数秒甚至数分钟不能使用,若用户不想这样的话,可以在上面的命令的运行期间再输入以下面的内容:
<Cont+Z>
bg
$
这样find 命令首先被挂起,然后由bg命令让其在后台继续被执行,此时用户便能回到bash的交互状态下继续做其他的工作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表