第一章:Linux系统初步了解
系统简介:
Linux系统最大的特色是源代码完全公开;
Linux系统的应用涉及4个方面:
Linux服务器;嵌入式Linux系统;软件开发平台;桌面应用。
Linux系统的特点:
开放性/多用户/多任务/良好的用户界面/设备独立性/丰富的网络功能/可靠的系统安全/良好的移植性;
Linux系统的组成:
内核/shell/文件系统/应用程序;
内核:
os的核心,Linux内核的主要模块分为,存储管理,CPU和进程管理,文件系统,设备驱动和管理,网络通信,系统的初始化和系统调用等;
shell:
系统的用户界面,提供了用户与内核进行交互操作的一种接口,实际是一个命令解释器,解释用户输入的命令并把它送入内核去执行;
文件系统:
文件存放在磁盘等存储设备上的组织方法,xfs,ext4,ext3,msdos,vfat和iso9660等;
应用程序:
标准的Linux系统都有一套称为应用程序的程序集;
Linux版本介绍:
主要是指Linux系统的内核版本和发行版本:
内核版本号:
r.x.y,例如3.10.0-327
r:目前发布的内核主版本,x:偶数表示稳定版本,奇数表示开发版本,y:错误修补的次数;发行版本:与Linux系统内核的版本号是相对独立的
主流Linux发行版本:Red Hat,SUSE,Oracle,CentOS,Ubuntu,Debian,Mandriva,Gentoo,Slackware,Fedora
Red Hat Linux系统优点:
支持和硬件平台多、优秀的安装界面、独特的RPM升级方式、丰富的软件包、安全性能好、方便的系统管理界面、详细而完整的在线文档 。
第二章 安装Linux系统
准备安装Linux系统
**分区!!!(重点)
**交换分区
直接从物理内存读写数据要比从硬盘读写数据快的多,而 物理内存是有限的,这样就使用到了虚拟内存。虚拟内存 是为了满足物理内存的不足而提出的一种策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空 间被称为交换分区(swap分区) 。
内核会将暂时不用的内存块信息写到交换分区,这样一来, 物理内存得到了释放,这块内存就可以用于其它用途,当 需要用到原始的内容时,这些信息会被重新从交换分区读 入物理内存。
Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存 中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。
Linux系统会不时地进行页面交换操作,以保持尽可能多 的空闲物理内存,即使并没有什么操作需要使用内存, Linux也会交换出暂时不用的内存页面,这可以避免等待 交换所需的时间。
Linux进行页面交换是有条件的,不是所有页面在不用时 都交换到虚拟内存,Linux内核根据“最近最常使用”算 法,仅仅将一些不经常使用的页面文件交换到虚拟内存。
**分区命名方案
Linux系统使用字母和数字的组合来指代硬盘分区,使用 一种更加灵活的分区命名方案,该命名方案是基于文件的,文件名的格式为/dev/xxyN(比如/dev/sda1分区)。
/dev:这是Linux系统中所有设备文件所在的目录名。因 为分区位于硬盘上,而硬盘是设备,所以这些文件代表了 在/dev上所有可能的分区;
xx:分区名的前两个字母表示分区所在设备的类型,通常 是hd(IDE硬盘)或sd(SCSI硬盘)。
y:这个字母表示分区所在的设备。例如,/dev/hda(第1 个 IDE 硬盘)或/dev/sdb(第2个SCSI硬盘);
N:最后的数字N代表分区。前4个分区(主分区或扩展分 区)用数字1~4表示,逻辑驱动器从5开始。例如, /dev/hda3是第1个IDE 硬盘上的第3个主分区或扩展分区; /dev/sdb6是第2个SCSI硬盘上的第2个逻辑驱动器。
**磁盘分区和挂载目录
Linux系统中的每一个分区都是构成支持一组文件和目录所必需的存储区的一部分。它是通过挂载来实现的,挂载是将分区关联到某一目录的过程,挂载分区使起始于这个指定目录(称为挂载目录)的存储区能够被使用。
例如,如果分区/dev/sda5被挂载在目录/usr上,这意味着 所有在/usr下的文件和目录在物理上位于/dev/sda5。因此 文件/usr/bin/cal被保存在分区/dev/sda5上,而文件 /etc/passwd却不是。
/usr目录下的目录还有可能是其它分区的挂载目录。例如, 某个分区(如/dev/sda7)可以被挂载到/usr/local目录下, 这意味着文件/usr/local/man/whatis将位于分区/dev/sda7 上,而不是分区/dev/sda5上。
**硬盘分区规划
(1)最简单的分区规划
-
swap分区:即交换分区,实现虚拟内存,建议大 小是物理内存的1~2倍;
-
/boot分区:用来存放与Linux系统启动有关的程 序,比如引导装载程序等,最少200MB;
-
/ 根分区:建议大小至少在10GB以上。
(2)合理的分区规划 • swap分区:实现虚拟内存,建议大小是物理内存 的1~2倍;
-
/boot分区:建议大小最少为200MB;
-
/usr分区:用来存放Linux系统中的应用程序, 其相关数据较多,建议大小最少为8GB;
-
/var分区:用来存放Linux系统中经常变化的数 据以及日志文件,建议大小最少为1GB;
-
/ 根分区:Linux系统的根目录,所有的目录都挂在 这个目录下面,建议大小最少为1GB;
-
/home分区:存放普通用户的数据,是普通用户 的宿主目录,建议大小为剩下的空间 。
安装Linux系统
安装教程,有图形界面和字符界面
登录Linux系统实际上是一个验证用户身份的过程,如果用户输入了错误的用户账户 名或密码,就会出现错误信息从而不能登 录系统。
Linux系统使用用户账户来管理特权和维护安全,不是所有的账户都具有相同的权限, 某些账户所拥有的文件访问权限和服务要比其它账户少。
注销、关闭和重启Linux系统
在切断计算机电源之前请先关闭Linux系统, 如果不执行关闭系统就直接切断计算机的 电源,那么会导致数据没有保存就丢失或 系统出现故障 。
FirewallD防火墙
Linux为增加系统安全性提供了防火墙保护功能。 防火墙存在于计算机和网络之间,用于判断网络 中的远程用户的访问权限。在RHEL 7系统中默 认使用FirewallD防火墙,FirewallD提供了支持网络/防火墙区域定义网络链接以及接口安全等级的 动态防火墙管理工具。
它支持IPv4、IPv6防火墙设置以及以太网桥接, 并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接 口。以前的iptables防火墙是静态的,每次修改 都要求防火墙完全重启。现在FirewallD可以动态 管理防火墙,支持动态配置,不用重启服务。
通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略,以此来控制不同程度区域 间传送的数据流。比如互联网是不可信任的区域, 而内部网络是高度信任的区域。数据包进入到内核必须要通过区域,而不同的区域定义的规则是不一样的。
可以根据网卡所连接的网络的安全性来判断,这块网卡的流量到底使用哪个区域。可以把这些区域想象成进入火车站的安检,不同的入口检测的 严格度不一样。默认情况下FirewallD防火墙的连接区域为public,public在公共区域内使用,指定外部连接可以进入内部网络或主机。
第三章 字符界面操作基础
字符界面简介
Linux字符界面与图形界面
安装Linux系统之后,系统启动默认进入的是图形化界面, 可以通过使用以下命令修改为进入字符界面,所做改变在系统重新引导之后即可生效。
[root@rhel ~]# systemctl get-default
graphical.target //查看计算机系统启动后要进入的默认目标,graphical.target表示图 形化界面
[root@rhel ~]# systemctl set-default multi-user.target
//将multi-user.target目标设置为启动计算机系统后要进入的默认目 标,multi-user.target表示字符界面
**注意, 超级用户root登录后提示符是“#”,而其 他用户登录后提示符是“$”。 **
在Linux系统图形化桌面环境中提供了打开终端命令行界 面的方式,终端方式允许用户通过输入命令来管理计算机
虚拟控制台
Linux系统可以同时接受多个用户同时登录,还允许用户 进行多次登录,这是因为Linux系统提供了虚拟控制台的 访问方式。
在字符界面下,虚拟控制台的选择可以通过按下[Alt]键和 一个功能键来实现,通常使用F1~F6键。比如用户登录 后,按下[Alt+F2]键,用户可以看到“login:”提示符, 说明用户进入了第二个虚拟控制台。然后只需按[Alt+F1] 组合键,就可以回到第一个虚拟控制台。
如果用户在图形界面下,那么可以使用[Ctrl+ Alt+F2]~ [Ctrl+ Alt+F6]组合键切换字符虚拟控制台,使用 [Ctrl+Alt+F1]可以切换到图形界面。
**关闭和重启Linux系统
在Linux系统中常用的关闭/重启系统的命 令有shutdown、halt、reboot,每个命令 的内部工作过程是不同的。
shutdown命令可以安全地关闭或重启Linux 系统。
命令语法: shutdown [选项] [时间] [警告信息]
1、立即关闭计算机系统。
[root@rhel ~]# shutdown -h now
2、定时45分钟后关闭计算机系统。
[root@rhel ~]# shutdown -h +45
3、立即重新启动计算机系统,并发出警告信息。
[root@rhel ~]# shutdown -r now "system will be reboot now."
4、定时在1点38分重新启动计算机系统。
[root@rhel ~]# shutdown -r 01:38
使用halt命令就是调用“shutdown –h”命 令执行关机任务。
命令语法: halt [选项]
使用halt命令关闭系统。
[root@rhel ~]# halt
reboot命令的工作过程与halt相似,不过 reboot是引发计算机重启,而halt是引发 计算机关闭。它的选项与halt相似
使用reboot命令重启计算机系统。
[root@rhel ~]# reboot
目标target
在RHEL 7之前的版本,使用运行级别代表特定的操作模式。运行级别被定义为七个级别,用数字0到6表示,每 个运行级别可以启动特定的一些服务。RHEL 7使用目标 (target)替换运行级别。目标使用目标单元文件描述, 目标单位文件扩展名是.target,目标单元文件的唯一目标是将其他systemd单元文件通过一连串的依赖关系组织在 一起。比如graphical.target单元,用于启动一个图形会话, systemd会启动像GNOME显示管理(gdm.service)、帐 号服务(axxounts-daemon)这样的服务,并且会激活 multi-user.target单元。相似的multi-user.target单元,会 启动必不可少的NetworkManager.service、dbus.service 服务,并激活basic.target单元。
每一个目标都有名字和独特的功能,并且能够同时启用多个。一些目标继承其他目标的服务,并启动新服务。 systemd 提供了一些模仿System V init启动级别的目标, 仍可以使用旧的telinit启动级别命令切换。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFPUsNHW-1606218140498)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\1606145334747.png)]
在Linux系统下获取帮助
记住每个命令的众多选项和参数是不可能的,需要在Linux系统下使用和获取帮助。
使用man手册页
一般情况下,Linux系统中所有的资源都会 随操作系统一起发行,包括内核源代码。 **而在线手册是操作系统所有资源的一本很 好的使用手册。**有不懂的命令时可以用 man查看这个命令,写程序时有不会用的 函数可以用man查看这个函数,有不懂的 文件时也可以用man查看文件。
一般情况下man手册页的资源主要位于 /usr/share/man目录下。
man命令格式化并显示在线的手册页。通 常使用者只要在命令man后,输入想要获 取的命令的名称,man就会列出一份完整 的说明,其内容包括命令语法、各选项的 意义以及相关命令等。
命令语法: man [选项] [名称]
使用–help选项获取帮助
使用–help选项可以显示命令的使用方法以 及命令选项的含义。只要在所需要显示的 命令后面输入“–help”选项,然后就可以 看到所查命令的帮助内容了。
命令语法: [命令] --help
查看mkdir命令的帮助信息。
[root@rhel ~]# mkdir --help
**Shell基础
**shell简介
Shell接收用户命令,然后调用相应的应用程序,同时它还是一种程序设计语言, 是系统管理维护时的重要工具。 作为命令语言,它交互式的解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令。 作为程序设计语言,它可以定义各种变量和参数,并提供 了许多在高级语言中才具有的控制结构(循环和分支)。
Shell命令重新初始化用户的登录会话。当给出该命令时, 就会重新设置进程的控制终端的端口特征,并取消对端口 的所有访问。然后Shell命令为用户把进程凭证和环境重 新设置为缺省值,并执行用户的初始程序。根据调用进程 的登录用户标识建立所有的凭证和环境。
目前流行的Shell 有sh、csh 、ksh、tcsh 和bash等。大 部分Linux系统的默认Shell类型为bash。
bash (Bourne-Again Shell) 简介
bash目前是大多数Linux系统默认的 Shell, bash的命令语法是Bourne shell命令语法的超集。 数量庞大的Bourne shell脚本大多不经过修改就 可以在bash中执行,只有那些引用了Bourne特殊 变量或使用了Bourne内置命令的脚本才需要修改。 bash的命令语法很多来自ksh和csh,比如命令行 编辑、命令历史、目录栈、$RANDOM变量、 $PPID变量以及POSIX命令置换语法。
bash命令
Linux系统的标准提示符包括了用户登录名、登录 的主机名、当前所在的工作目录路径和提示符号。
shell命令一般格式
要运行命令的话,只需要在提示符后敲进命令,然后再按“回车”键。
命令语法: [Shell命令] [选项] [参数]
所有选项在该命令的man手册页中都有详 细的介绍,而参数则由用户提供。选项决定命令如何工作,而参数则用于确定命令 作用的目标。
选项有短命令行选项和长命令选项两种。
Linux系统命令分类
-
bash 内置的命令:如果是bash内置的命令,则由bash负责回应。
-
应用程序:如果是应用程序,那么Shell会找出该应用程序, 然后将控制权交给内核,由内核执行该应用程序, 执行完之后,再将控制权交回给Shell
使用bash
Linux系统中的Shell,除了可作为命令编 译器之外,它也是一种不错的编程语言, 是系统管理维护时的重要工具。
Shell实用功能
-
命令行自动补全:键
-
命令历史记录: history [选项] ps: 使用history命令可以查看命令历史记录,每一条命令前面 都会有一个序列号标示。 bash启动的时候会读取/.bash_history文件,并将其载入到内存中,$HISTFILE变量就用于设置/.bash_history文 件,bash退出时也会把内存中的历史记录回写到 ~/.bash_history文件中。
-
命令排列: 如果希望一次执行多个命令,Shell允许在 不同的命令之间,放上特殊的排列字符。1、 使用“;” 符号,使用“;”命令时先执行命令1,不管命令 1是否出错,接下来就执行命令2。 命令语法: 命令1; 命令2 2、 使用“&&” ,使用“&&”命令时只有当命令1正确运行完毕后,才能执行命令2 。命令语法: 命令1&&命令2
-
命令替换: 在Linux系统中,Shell命令的参数可以由另外一 个命令的结果来替代,这种称之为命令替换。 1.使用“$( )” 命令语法: 命令1 $(命令2) 2.使用“
”,:命令1
命令2` -
命令别名: 在需要执行某一个非常长的命令时,所有的命令以及命令 的选项、参数都要一一输入,很枯燥也容易出现错误。可 以为常用命令定义快捷方式,这些快捷方式可以用比较简 单的命令别名来定义。 1.创建别名 使用alias命令可以为命令定义别名。如果命令中有空格 的话,就需要使用双引号(比如在命令与选项之间就有 空格)。 命令语法: alias [别名]=[需要定义别名的命令] 2.取消别名 当用户需要取消别名的定义时,可以使用unalias命令。 命令语法: unalias [别名]
-
文件名匹配: 文件名匹配使得用户不必一一写出文件名称就可 以指定多个文件。这将用到一些特殊的字符,称 之为通配符。 1.通配符“” “”可匹配一个或多个字符。 2.通配符“?” 在匹配时,一个问号只能代表一个字符
-
管道: Linux系统的理念是汇集许多小程序,每个程序都 有特殊的专长。复杂的任务不是由大型软件完成, 而是运用Shell 的机制,组合许多小程序共同完成。管道就在其中发挥着重要的作用,它可以将 某个命令的输出信息当作某个命令的输入,由管 道符号“|”来标识。 命令语法: [命令1]|[ 命令2]|[ 命令3]
/1、使用简单的管道。 [root@rhel ~]# ls /etc|more abrt acpi adjtime akonadi --More-- //命令ls /etc显示/etc目录的内容,命令more是分页显示内容 2、 使用复杂的管道。 [root@PC-LINUX ~]# rpm -qa|grep a|more //命令rpm -qa显示已经安装在系统上的RPM包,命令grep a是过滤软件包,命令more是分页显示这些信息
重定向
希望将命令的输出结果保存到文件中,或 者以文件内容作为命令的参数,这时就需 要用到重定向。重定向不使用系统的标准 输入端口、标准输出端口或是标准错误端 口,而是进行重新的指定。重定向有四种方式:输出重定向、输入重 定向、错误重定向以及同时实现输出和错误的重定向。
输出重定向
输出重定向,即将某一命令执行的输出保存到文件中,如果已经存在相同的文件,那么覆盖源文 件中的内容。
命令语法: [命令] > [文件]
【例3.24】使用输出重定向将/boot目录的内容保存到/root/abc文件中。
[root@rhel ~]# ls /boot > /root/abc
【例3.25】使用echo命令和输出重定向创建/root/mm文件,文件内容是hello。
[root@rhel ~]# echo Hello > /root/mm
[root@rhel ~]# cat /root/mm
Hello
//显示文件/root/mm,可以看到文件的内容是Hello
另外一种特殊的输出重定向是输出追加重定向, 即将某一命令执行的输出添加到已经存在的文件 中。
命令语法: [命令] >> [文件]
【例3.26】使用输出追加重定向将数据写入文件/root/ao。
[root@rhel ~]# echo Hello > /root/ao
//先创建文件/root/ao,文件内容是Hello
[root@rhel ~]# echo Linux >> /root/ao
//向文件/root/ao中追加数据Linux
[root@rhel ~]# cat /root/ao
Hello
Linux
输入重定向
输入重定向,即将某一文件的内容作为命令的输入。
命令语法: [命令] < [文件]
使用输入重定向将文件/root/mm的内容作为输入让cat命令执行。
[root@rhel ~]# cat < /root/mm
Hello
//可以看到文件/root/mm的内容是Hello
另外一种特殊的输入重定向是输入追加重定向,这 种输入重定向告诉Shell,当前标准输入来自命令行 的一对分隔符之间的内容。
命令语法: [命令] << [分隔符] > [文本内容] > [分隔符]
使用输入追加重定向创建/root/bc文件。
[root@rhel ~]# cat > /root/bc <<EOF
> Hello Linux
> EOF
//一般使用EOF作为分隔符
错误重定向
错误重定向,即将某一命令执行的出错信息输出 到指定文件中。
命令语法: [命令] 2> [文件]
查看根本不存在的/root/kk文件,出现报错信息,将其保存到文件/root/b中。
[root@rhel ~]# cat /root/kk 2> /root/b
[root@rhel ~]# cat /root/b
cat: /root/kk: 没有那个文件或目录
//使用cat命令查看/root/b文件,可以看到其内容就是执行命令cat /root/kk的报错信息
另外一种特殊的错误重定向是错误追加重定向, 即将某一命令执行的出错信息添加到已经存在的 文件中。
命令语法: [命令] 2>> [文件]
使用错误追加重定向,将执行命令的多次出错信息保存到文件/root/b中。
[root@rhel ~]# cat /root/kk 2> /root/b
[root@rhel ~]# cat /root/kk 2>> /root/b
[root@rhel ~]# cat /root/b
cat: /root/kk: 没有那个文件或目录
cat: /root/kk: 没有那个文件或目录
同时实现输出和错误重定向
同时实现输出和错误的重定向,即可以同 时实现输出重定向和错误重定向的功能。
命令语法: [命令] &> [文件]
1、同时使用输出和错误重定向。
[root@rhel ~]# ls /boot &> /root/kk
[root@rhel ~]# cat /root/kk
config-3.3.4-5.fc17.i686.PAE
grub
grub2
initramfs-3.3.4-5.fc17.i686.PAE.img
lost+found
System.map-3.3.4-5.fc17.i686.PAE
tboot.gz
tboot-syms
vmlinuz-3.3.4-5.fc17.i686.PAE
//因为/boot目录下有文件,所以最终使用了输出重定向
2、同时使用输出和错误重定向。
[root@rhel ~]# ls /nn &> /root/oo
[root@rhel ~]# cat /root/oo
ls: 无法访问/nn: 没有那个文件或目录
//因为没有/nn目录,所以最终使用了错误重定向
vi编辑器(去ipad笔记上看重点记哪几个命令!)
vi编辑器可以用 于编辑任何ASCII文本,可以对文本进行创 建、查找、替换、删除、复制和粘贴等操 作。 在Linux系统Shell提示符下输入vi和文件名称后, 就进入vi编辑界面。如果系统内还不存在该文件, 就意味着创建文件,如果系统内存在该文件,就 意味着编辑该文件。
vi编辑器有3种基本工作模式,分别是命令模式、 插入模式和末行模式。
命令模式: 进入vi编辑器之后,系统默认处于命令模 式。命令模式控制屏幕光标的移动,字符、 字或行的删除,某区域的移动、复制等。 在命令模式下,按冒号键“:”可以进入末 行模式,按字母键“a”就可以进入插入模 式。
插入模式: 只有在插入模式下,才可以进行文本编辑。 在插入模式下按“Esc”键可回到命令模式。
末行模式: 将文件保存或退出vi编辑器,也可以设置 编辑环境、替换字符或删除字符。 在末行模式下按“Esc”键可以回到命令模 式。
第四章目录和文件管理
Linux系统与Windows系统有很大的不同, 它以目录的形式挂载文件系统,其目录结 构是一个分层的树形结构。链接是一种在 共享文件和访问它的用户的若干目录项之 间建立联系的方法,Linux系统中包括硬链 接和软链接两种方式。
linux文件类型
在Linux系统中除了一般文件之外,所有的目录和设备(如光驱、硬盘等)都是以文件的形式存在的。 Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。
通过一般应用程序创建的文件,比如file.txt、 file.tar.gz,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多称之为普通文件。
Linux文件类型常见的有:普通文件、目录 文件、设备文件(字符设备文件和块设备 文件)、管道文件和符号链接文件等。
普通文件
用“ls -lh”命令查看某个文件的属性, 可以看到有类似“-rw-------”的属性符 号,其属性第一个符号是“-”,这样的文件在Linux系统中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具或归档工具等。
目录文件
当在某个目录下执行“ls -lh”命令,看 到有类似“drwxr-xr-x”的属性符号,其属性第一个符号是“d”,这样的文件在 Linux系统中就是目录文件
设备文件
Linux系统中的/dev目录中有大量的设备文件,主要是块设备文件和字符设备文件。
块设备文件
块设备的主要特点是可以随机读写,而最常见的块设备就是磁盘,如**/dev/hda1、 /dev/sda1**等。用“ls -l”命令查看某个 文件的属性,可以看到有类似“brw-rw— -”的属性符号,其属性第一个符号是 “b”,这样的文件在Linux系统中就是块设备文件。
字符设备文件
最常见的字符设备文件是打印机和终端, 可以接收字符流。/dev/null是一个非常有用的字符设备文件,送入这个设备的所有内容都被忽略。用“ls -l”命令查看某个文件的属性,可以看到有类似“crw–w— -”的属性符号,其属性第一个符号是 “ c”,这样的文件在Linux系统中就是字符设备文件。
管道文件
管道文件有时候也被叫做FIFO文件(FIFO 是先进先出的意思),管道文件就是从一 头流入,从另一头流出。用“ls -l”命令 查看某个文件的属性,可以看到有类似 “prw-------”的属性符号,其属性第一 个符号是“p”,这样的文件在Linux系统 中就是管道文件。
链接文件
软链接文件
软链接文件又叫符号链接文件,这个文件包含了另一个文 件的路径名。其可以是任意文件或目录,可以链接不同文件系统的文件。在对软链接文件进行读写的时候,系统会自动地把该操作转换为对源文件的操作,但删除软链接文 件时,系统仅仅删除软链接文件,而不删除源文件本身。
用“ls -l”命令查看某个文件的属性,可以看到有类似 “lrwxrwxrwx”的属性符号,其属性第一个符号是“l”, 这样的文件在Linux系统中就是软链接文件。
硬链接文件
硬链接是已存在文件的另一个文件,对硬链接文件进行读写和删除操作时,结果和软链接相同。但如果删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而 把它当成一个普通文件。
用“ls -l”命令查看某个文件的属性,可以看到第二列的文件硬链接数大于1 ,这样的文件在Linux系统中就是硬链接文件。
linux目录结构
Linux系统都有根文件系统,它包含系统引导和使其它文件系统得以挂载所必要的文 件,根文件系统需要有单用户状态所必须 的足够的内容,还应该包括修复损坏系统、 恢复备份等工具。
Linux系统的目录结构是分层的树形结构, 都是挂载在根文件系统“/”下。
文件和目录操作
主要讲述在Linux系统下如何使用命令 对文件和目录进行操作,涉及的命令有 pwd、cd、ls、touch、mkdir、rmdir、cp、 mv、rm、wc等。
pwd:显示工作目录路径
显示当前用户所处的工作目录的绝对路径。
命令语法: pwd [选项]
显示用户当前工作目录路径。
[root@rhel sysconfig]# pwd
/etc/sysconfig
//用户当前工作目录路径是/etc/sysconfig
cd:更改工作目录路径
更改用户的工作目录路径。工作目录路径可以使用绝对路径名或相对路径名,绝对路径从/(根)开始,然后循序到所需的目录下,相对路径从当前目录开始。
命令语法: cd [选项] [目录]
1、更改用户工作目录路径为/etc。
[root@rhel sysconfig]# cd /etc
[root@rhel etc]# pwd
/etc
//查看当前目录,已经更改为/etc了
2、更改目录位置至当前目录的父目录。
[root@rhel etc]# pwd
/etc
[root@rhel etc]# cd ..
[root@rhel /]# pwd
/
//可以看到目录已经更改为当前目录的父级目录“/”了
3、更改目录位置为用户主目录。
[root@rhel /]# pwd
/
[root@rhel /]# cd ~
[root@rhel ~]# pwd
/root
//可以看到目录已经更改为当前用户的主目录
4、更改目录位置至用户zhangsan的主目录。
[root@rhel ~]# cd ~zhangsan
[root@rhel zhangsan]# pwd
/home/zhangsan
//可以看到目录已经更改为用户zhangsan的主目录/home/zhangsan
ls:列出目录和文件信息
对于目录而言将列出其中的所有子目录与 文件信息;对于文件而言将输出其文件名 以及所要求的其它信息。
命令语法: ls [选项] [目录|文件]
显示/root目录下所有文件目录的详细信息,包括隐
藏文件。
[root@rhel ~]# ls -al /root
总用量 404
dr-xr-x---. 24 root root 4096 6月 3 06:00 .
dr-xr-xr-x. 18 root root 4096 6月 2 23:05 ..
drwxr-xr-x. 2 root root 4096 6月 3 05:29 .abrt
-rw-------. 1 root root 10670 6月 3 01:17 anaconda-ks.cfg
-rw-------. 1 root root 551 6月 3 05:55 .bash_history
-rw-r--r--. 1 root root 18 1月 15 05:25 .bash_logout
-rw-r--r--. 1 root root 176 1月 15 05:25 .bash_profile
-rw-r--r--. 1 root root 176 1月 15 05:25 .bashrc
touch:创建空文件、更改文件时间
创建空文件以及更改文件的时间(atime和 mtime)。
命令语法: touch [选项] [文件]
1、创建空文件file,file1和file2。
[root@rhel ~]# touch file1
[root@rhel ~]# touch file2 file3
[root@rhel ~]# ls -l file1 file2 file3
-rw-r--r--. 1 root root 0 6月 3 05:45 file1
-rw-r--r--. 1 root root 0 6月 3 05:45 file2
-rw-r--r--. 1 root root 0 6月 3 05:45 file3
//file1,file2,file3这3个都是空文件,文件内没有任何数据
2、将文件file1的时间记录改为6月7日19点30分,时间格式为MMDDHHmm。
[root@rhel ~]# ls -l file1
-rw-r--r--. 1 root root 0 6月 3 05:45 file1
//空文件file1其创建日期为6月3日5:45
[root@rhel ~]# touch -c -t 06071930 file1
[root@rhel ~]# ls -l file1
-rw-r--r--. 1 root root 0 6月 7 19:30 file1
//可以看到文件file1现在的时间已经改为6月7日19点30分
mkdir:创建目录
在Linux系统中创建目录。
命令语法: mkdir [选项] [目录]
创建目录newdir1,其默认权限为755。
[root@rhel ~]# mkdir newdir1
[root@rhel ~]# ls -ld
drwxr-xr-x. 2 root root 4096 6月 3 05:46 newdir1
//目录newdir1的权限为rwxr-xr-x(755)
rmdir:删除空目录
在linux系统中删除空目录。命令语法:rmdir [选项] [目录]
删除空目录newdir1。
[root@rhel ~]# rmdir newdir1
cp:复制文件和目录
复制文件和目录到其它目录中。如果同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。 若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
命令语法: cp [选项] [源文件|目录] [目标文件|目录]
1、将/etc/grub2.cfg文件复制到/root目录下,并改名为grub。
[root@rhel ~]# cp /etc/grub2.cfg /root/grub
2、将文件/etc/grub2.cfg复制到/root目录下。
[root@rhel ~]# cp /etc/grub2.cfg /root
3、将/boot目录中的所有文件及其子目录复制到目录/root中。
[root@rhel ~]# cp -r /boot /root
mv:文件和目录改名、移动文件和目录路径
对文件和目录更改名称以及移动文件和目录的路径。
命令语法: mv [选项] [源文件|目录] [目标文件|目录]
1、将/root/picture目录下所有的后缀名为“.png”的文件移到/usr/local/share/picture目录下。
[root@rhel ~]# mv -f /root/picture/*.png
/usr/local/share/picture
2、 把/root/picture目录下的文件kdepic.png改名为life.png。
[root@rhel ~]# mv /root/picture/kdepic.png /root/picture/life.png
【例4.20】 把目录/root/pitcure名称更改为/root/mypicture。
[root@rhel ~]# mv /root/picture /root/mypicture
rm:删除文件或目录
删除系统中的文件或目录。 命令语法: rm [选项] [文件|目录]
1、删除当前目录下的file4文件。
[root@rhel ~]#rm file4
rm:是否删除普通文件 “file4”? y//输入y确认删除该文件
2、连同文件/root/ab/a和目录/root/ab一起删除。
[root@rhel ~]# mkdir /root/ab
[root@rhel ~]# touch /root/ab/a
//创建目录/root/ab和文件/root/ab/a
[root@rhel ~]# rm -rf /root/ab
//连同文件/root/ab/a和目录/root/ab一起删除
wc:统计文件行数、单词数和字节数和字符数
统计指定文件的行数、单词数、字节数和 字符数,并将统计结果显示输出到屏幕。 如果没有给出文件名,则从标准输入读取。 wc同时也给出所有指定文件的总统计数。 单词是由空格字符区分开的最大字符串。 输出列的顺序和数目不受选项的顺序和数目的影响。总是按行数、单词数、字节数、文件的顺序显示每项信息。
命令语法: wc [选项] [文件]
1、 统计/root/aa文件的行数、单词数和字符数。
[root@rhel ~]#cat /root/aa
a b
c de f
中国 g h
//查看/root/aa文件内容
[root@rhel ~]#wc /root/aa
3 8 22 /root/aa
链接文件
在Linux系统中,内核为每一个新创建的文件分配一个inode(索引节点)号,文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存里,从而实现文件的快速访问。
链接文件简介
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的方法。Linux系统中包括硬链接和软链接(也被称为符号链接)两种
硬链接
硬链接是一个指针,指向文件inode,系统 并不为它重新分配inode,两文件具有相同 的inode。硬链接节省空间,也是Linux系 统整合文件系统的传统方式。
硬链接文件有两个限制:(1)不允许给目录创建硬链接; (2)只有在同一文件系统中的文件之间才能创建链接。
软链接
软链接也叫符号链接,这个文件包含了另 一个文件的路径名。可以是任意文件或目 录,可以链接不同文件系统的文件,和 Windows下的快捷方式相似。链接文件甚 至可以链接不存在的文件,这就产生一般称之为“断链”的问题,链接文件甚至可以循环链接自己。
硬链接和软链接的区别
硬链接记录的是目标的inode,软链接记录 的是目标的路径。软链接就像是快捷方式, 而硬链接就像是备份。软链接可以做跨分区的链接,而硬链接由于inode的缘故,只能在本分区中做链接。所以软链接的使用频率要高得多。
创建和使用链接文件
使用ln命令可以创建链接文件(包括软链 接文件和硬链接文件)。
命令语法: ln [选项] [源文件名] [链接文件名]
1、硬链接文件的使用。
[root@rhel ~]#echo hello > a
[root@rhel ~]#ln a b
2、软链接文件的使用。
[root@rhel ~]#echo hello > a
[root@rhel ~]#ln –s a b
第五章 Linux常用操作命令
文本内容显示
主要讲述Linux系统中文本内容显示的 相关命令,这些命令有cat,more,less, head,tail。
cat:显示文本文件
显示文本文件的内容,也可以把几个文件 内容附加到另一个文件中。如果没有指定 文件,或者文件为“-”,那么就从标准输入 读取。
命令语法: cat [选项] [文件]
1、显示/etc/inittab文件的内容。
[root@rhel ~]# cat /etc/inittab
2、把textfile1文件的内容加上行号后输入到textfile2文件中。
[root@rhel ~]# cat -n textfile1 > textfile2
3、使用cat命令创建mm.txt。
[root@rhel ~]#cat >mm.txt<<EOF
>Hello
>Linux
>EOF //在此输入字符EOF,会自动回到shell提示符界面
more:分页显示文本文件
分页显示文本文件的内容。类似于cat命令, 不过是以分页方式显示文件内容,方便使用者逐页阅读,其最基本的按键就是按空格键就显示下一页内容,按[b]键返回显示上一页内容。
命令语法: more [选项] [文件名]
1、分页显示/etc/services文件的内容。
[root@rhel ~]# more /etc/services
2、逐页显示testfile文件内容,如有连续两行以上空白行则以一行空白行显示。
[root@rhel ~]# more -s testfile
3、从第20行开始显示testfile文件的内容。
[root@rhel ~]# more +20 testfile
4、一次两行显示/etc/passwd文件内容。
[root@rhel ~]# more -2 /etc/passwd
less:回卷显示文本文件
回卷显示文本文件的内容。less命令的作用与more十分相似,都可以用来浏览文本 文件的内容,不同的是less命令允许使用 者往回卷动。
命令语法: less [选项] [文件名]
回卷显示/etc/services文件的内容。
[root@rhel ~]# less /etc/services
head:显示指定文件前若干行
显示指定文件的前若干行文件内容。如果 没有给出具体行数值,默认缺省设置为10 行。如果没有指定文件,head就从标准输入读取。
命令语法: head[选项][文件 ]
1、查看/etc/passwd文件的前100个字节数据内容。
[root@rhel ~]# head –c 100 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nol
2、 查看/etc/passwd文件的前3行数据内容。
[root@rhel ~]# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
tail:查看文件末尾数据
查看文件的末尾数据,默认显示指定文件的最后10 行到标准输出。如果指定了多个文件,tail会在每段输出的开始添加相应文件 名作为头。如果不指定文件或文件为“-”, 则从标准输入读取数据。
命令语法: tail [选项] [文件名]
1、查看/etc/passwd文件末尾3行数据内容。
[root@rhel ~]# tail -3 /etc/passwd
news:x:9:13:News server user:/etc/news:/bin/bash
distcache:x:94:94:Distcache:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
2、 查看文件/etc/passwd末尾100字节的数据内容。
[root@rhel ~]# tail -c 100 /etc/passwd
er:/etc/news:/bin/bash
distcache:x:94:94:Distcache:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
文本内容处理
主要讲述Linux系统中文本内容处理的相关命令,这些命令有sort,uniq,cut, comm,diff。
sort:对文件中的数据进行排序
对文件中的数据进行排序,并将结果显示在标准输出上。
命令语法: sort [选项] [文件]
1、将文件textfile1数据排序,并显示在屏幕上。
[root@rhel ~]# sort textfile1
a
b
c
2、 读取textfile1文件内容,以倒序排序该文件并显示在屏幕上。
[root@rhel ~]# sort -r textfile1
c
b
a
uniq:将重复行从输出文件中删除
将文件内的重复行数据从输出文件中删除, 只留下每条记录的惟一样本。
命令语法: uniq [选项] [文件]
1、查看文件file3中重复的数据内容。
[root@rhel ~]# cat file3
aaa
aaa
bbb
[root@rhel ~]# uniq -d file3
aaa //file3文件中重复行数据的内容为aaa
2、 查看文件file3中不重复的数据内容。
[root@rhel ~]# uniq -u file3
bbb //file3文件中不重复行数据的内容为bbb
cut:从文件每行中显示出选定的字节、字符或字段
从文件的每行中输出选定的字节、字符或 字段(域)。只能使用-b、-c或-f选项中的 一个。每一个列表都是专门为一个类别作出的,或者可以用逗号隔开要同时显示的 不同类别。输入顺序将作为读取顺序,每 个仅能输入一次。
命令语法: cut [选项] [ 文件 ]
显示文件/etc/passwd中的用户登录名和用户名全称字段,这是第1个和第5个字段,由冒号隔开。
[root@rhel ~]# cut -f 1,5 -d: /etc/passwd
root:root
bin:bin
daemon:daemon
adm:adm
lp:lp
……
comm:逐行比较两个已排过序的文件
比较两个已排过序的文件,并将其结果显 示出来。
命令语法: comm [选项] [文件1] [文件2]
如果没有指定任何参数,comm命令读取这两个文件,然后输出三列:第 1列输出file1中特有的行;第2列输出file2中特有的行;第3列输出两 个文件中共有的行 。
1、比较文件file1和file2文件内容。
[root@rhel ~]# cat file1
a
aa
[root@rhel ~]# cat file2
a
bb
//查看文件file1和file2的文件内容
[root@rhel ~]# comm file1 file2
a
aa
bb
2、比较文件file1和file2,只显示文件file1和file2中相同行的数据内容。
[root@rhel ~]# comm -12 file1 file2
a
//file1和file2文件中相同行的数据内容是a
diff:逐行比较两个文本文件,列出其不同之处
逐行比较两个文本文件,列出其不同之处。 它比comm命令能完成更复杂的检查,它对 给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文 件进行排序。
命令语法: diff [选项] [文件1] [文件2]
1、比较file1和file2文件,列出其不同之处。
[root@rhel ~]# cat file1
a
aa
[root@rhel ~]# cat file2
a
bb
//查看文件file1和file2的文件内容
[root@rhel ~]# diff file1 file2
2c2
< aa
---
> bb
//可以看到file1和file2文件的不同处是第二行的aa和bb
文件和命令查找
主要讲述Linux系统中文件和命令查找 的相关命令,这些命令有grep、find, locate。
grep:查找文件中符合条件的字符串
查找文件内符合条件的字符串。
命令语法: grep [选项] [查找模式] [文件名]
1、在文件kkk中搜索匹配字符“test file”。
[root@rhel ~]# grep 'test file' kkk
2、显示所有以d开头的文件中包含“test”的行数据内容。
[root@rhel ~]# grep 'test' d*
3、在/root/aa文件中找出以b开头的行内容。
[root@rhel ~]#grep ^b /root/aa
4、在/root/aa文件中找出不是以b开头的行内容。
[root@rhel ~]# grep -v ^b /root/aa
5、在/root/kkk文件中找出以le结尾的行内容。
[root@rhel ~]# grep le$ /root/kkk
6、查找sshd进程信息。
[root@rhel ~]# ps –ef|grep sshd
find:列出文件系统内符合条件的文件
将文件系统内符合条件的文件列出来,可以指定文件的名称、类别、时间、大小以及权限等不同信息的组合,只有完全相符的文件才会被列出来。
命令语法: find [路径] [选项]
1、查找/boot目录下的启动菜单配置文件grub.cfg。
[root@rhel ~]# find /boot -name grub.cfg
2、查找/目录下所有以“.conf”为扩展名的文件。
[root@rhel ~]# find / -name '*.conf‘
3、列出当前目录及其子目录下所有最近20天内更改过的文件。
[root@rhel ~]# find . -ctime -20
locate:在数据库中查找文件
使用locate命令可以通过数据库 (/var/lib/mlocate/mlocate.db文件)来查 找文件,这个数据库每天由cron程序来建 立。当创建好这个数据库后,就可以方便 地搜寻所需文件了,它比find命令的搜索速度还要快。
命令语法: locate 【选项】【范本样式】
/1、查找httpd.conf文件。
[root@rhel ~]# locate httpd.conf
2、显示找到几个httpd.conf文件 。
[root@rhel ~]# locate -c httpd.conf
系统信息显示
主要讲述Linux系统中信息显示的相关 命令,这些命令有uname、hostname、free、 du。
uname:显示计算机及操作系统相关信息
显示计算机以及操作系统的相关信息,比 如计算机硬件架构、内核发行号、操作系 统名称、计算机主机名等。
命令语法: uname [选项]
1、显示操作系统的内核发行号。
[root@rhel ~]# uname -r
3.10.0-327.el7.x86_64
2、显示计算机硬件架构名称。
[root@rhel ~]# uname -m
X86_64
3、显示操作系统的全部信息。
[root@rhel ~]# uname -a
Linux rhel 3.10.0-327.el7.x86_64
#1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64
x86_64 GNU/Linux
hostname:显示或修改计算机主机名
显示或修改计算机的主机名。
命令语法:
hostname [选项] [主机名|-F <文件>] 设置主机名
hostname [选项] 显示格式化主机名
1、显示当前计算机主机名。
[root@rhel ~]# hostname
rhel
//当前计算机主机名为rhel
2、修改计算机主机名为LINUX。
[root@rhel ~]# hostname LINUX
[root@rhel ~]# hostname
LINUX
//当前计算机主机名已经更改为LINUX了
free:查看内存信息
显示系统的物理内存和swap的使用情况。 命令语法: free [选项]
1、查看系统的物理内存和交换分区使用情况。
[root@rhel ~]# free
2、以MB为单位查看系统的物理内存和交换分区使用情况。
[root@rhel ~]# free -m
3、显示系统的物理内存加上交换分区总的容量。
[root@rhel ~]# free -t
du:显示目录或文件的磁盘占用量
显示目录或文件的磁盘占用量。逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况。如果没有给出文件或目录名称,那么就对当前目录进行统计。
命令语法: du [选项] [文件|目录]
1、显示文件/etc/inittab的磁盘占用量。
[root@rhel ~]# du /etc/inittab
2、显示/root目录磁盘占用量。
[root@rhel ~]# du –s /root
3、以MB为单位显示/root目录磁盘占用量。
[root@rhel ~]# du –sh /root
日期和时间
主要讲述Linux系统中查看日期和时间 的相关命令,这些命令有cal、date、 hwclock。
cal:显示日历信息
显示计算机系统的日历。 命令语法: cal [选项] [[[日] 月] 年]
1、显示本月的月历。
[root@rhel ~]# cal
2、显示公元2001年年历。
[root@rhel ~]# cal 2001
3、显示公元2007年9月的月历。
[root@rhel ~]# cal 9 2007
4、以星期一为每周的第一天的方式显示本月的日历。
[root@rhel ~]# cal -m
5、以1月1日起的天数显示今年的年历。
[root@rhel ~]# cal -jy
date:显示和设置系统日期和时间
显示和设置计算机系统的日期和时间。只 有超级用户才有权限使用date命令设置日期和时间,而一般用户只能使用date命令 显示日期和时间。
命令语法: date [选项] [显示时间格式](以+开头,后面 接格式)
1、显示当前计算机上的日期和时间。
[root@rhel ~]# date
2、设置计算机日期和时间为2028年2月2日19点14分。
[root@rhel ~]# date 0202191428
3、按照指定的格式显示计算机日期和时间。
[root@rhel ~]# date +'%r%a%d%h%y'
4、 设置计算机时间为上午9点16分。
[root@rhel ~]# date -s 09:16:00
5、 设置计算机时间为2024年4月14日。
[root@rhel ~]# date -s 240414
hwclock:查看和设置硬件时钟
查看和设置硬件时钟(RTC),可以显示 现在时钟,调整硬件时钟,将系统时间设 置成与硬件时钟一致,或是把系统时间回 存到硬件时钟。
命令语法: hwclock [选项]
1、查看硬件时间。
[root@rhel ~]# hwclock
2、以系统时间更新硬件时间。
[root@rhel ~]# hwclock -w
3、以硬件时间更新系统时间。
[root@rhel ~]# hwclock -s
信息交流
主要讲述Linux系统中信息交流的相关 命令,这些命令有echo、mesg、wall、 write。
echo:在显示器上显示文字
在计算机显示器上显示一段文字,一般起到一个 提示的作用。字符串可以加引号,也可以不加引 号。用echo命令输出加引号的字符串时,将字符 串按原样输出;用echo命令输出不加引号的字符 串时,将字符串中的各个单词作为字符串输出, 各字符串之间用一个空格分隔。
命令语法: echo [选项] [字符串]
1、将一段信息写到标准输出。
[root@rhel ~]# echo Hello Linux
Hello Linux
2、 将文本“Hello Linux”添加到新文件notes中。
[root@rhel ~]# echo Hello Linux > notes
[root@rhel ~]# cat notes
Hello Linux
//查看文件notes,可以看到文件中的内容为hello Linux
3、显示$HOME变量的值。
[root@rhel ~]# echo $HOME
/root
mesg:允许或拒绝写消息
控制系统中的其它用户是否能够用 write 命令或 talk 命令向您发送消息。不带选项的情况下,mesg 命令显示当前主机消息许可设置。
命令语法: mesg [选项]
1、显示当前的消息许可设置。
[root@rhel ~]# mesg
is y //允许本地网络上的所有主机发送消息到自己的主机
2、只允许root用户发送消息到自己的主机。
[root@rhel ~]# mesg n
[root@rhel ~]# mesg
is n
wall:对全部已登录用户发送信息
对全部已登录的用户发送信息。 命令语法: wall [消息]
向所有用户发出“下班以后请关闭计算机。”的信息。
[root@rhel ~]# wall '下班以后请关闭计算机'
[root@rhel ~]#
Broadcast message from root@rhel (pts/1) (Sun Jun 305:38:14 2012):
下班以后请关闭计算机
write:向用户发送消息
向用户发送消息。 命令语法: write [用户] [终端名称]
在tty2终端上向tty3终端上的root用户发送信息。
[root@rhel ~]# write root tty3
hello //在tty2终端上输入要发送的信息,输入完毕,希望退出发送状态时,按组合键[Ctrl+c]即可
[root@rhel ~]#
Message from root@rhel on tty2 at 05:39 ...
hello
EOF //在终端tty3上,用户root会接收到以上信息,要结束时,按[Ctrl+c]组合键即可
其他命令
主要讲述Linux系统中的其他命令,这 些命令有clear、uptime。
clear:清除计算机屏幕信息
清除屏幕上的信息,该命令类似于 Windows系统命令行中的cls命令。
命令语法: clear
清除计算机屏幕上显示的信息。
[root@rhel ~]# clear
uptime:显示系统已经运行的时间
显示系统已经运行了多长时间,它依次显 示下列信息:现在时间、系统已经运行了 多长时间、目前有多少登录用户、系统在 过去的1分钟、5分钟和15分钟内的平均负 载。
命令语法: uptime [选项]
显示系统运行时间。
[root@rhel ~]# uptime
ho $HOME
/root
### mesg:允许或拒绝写消息
控制系统中的其它用户是否能够用 write 命令或 talk 命令向您发送消息。不带选项的情况下,mesg 命令显示当前主机消息许可设置。
命令语法: mesg [选项]
```shell
1、显示当前的消息许可设置。
[root@rhel ~]# mesg
is y //允许本地网络上的所有主机发送消息到自己的主机
2、只允许root用户发送消息到自己的主机。
[root@rhel ~]# mesg n
[root@rhel ~]# mesg
is n
wall:对全部已登录用户发送信息
对全部已登录的用户发送信息。 命令语法: wall [消息]
向所有用户发出“下班以后请关闭计算机。”的信息。
[root@rhel ~]# wall '下班以后请关闭计算机'
[root@rhel ~]#
Broadcast message from root@rhel (pts/1) (Sun Jun 305:38:14 2012):
下班以后请关闭计算机
write:向用户发送消息
向用户发送消息。 命令语法: write [用户] [终端名称]
在tty2终端上向tty3终端上的root用户发送信息。
[root@rhel ~]# write root tty3
hello //在tty2终端上输入要发送的信息,输入完毕,希望退出发送状态时,按组合键[Ctrl+c]即可
[root@rhel ~]#
Message from root@rhel on tty2 at 05:39 ...
hello
EOF //在终端tty3上,用户root会接收到以上信息,要结束时,按[Ctrl+c]组合键即可
其他命令
主要讲述Linux系统中的其他命令,这 些命令有clear、uptime。
clear:清除计算机屏幕信息
清除屏幕上的信息,该命令类似于 Windows系统命令行中的cls命令。
命令语法: clear
清除计算机屏幕上显示的信息。
[root@rhel ~]# clear
uptime:显示系统已经运行的时间
显示系统已经运行了多长时间,它依次显 示下列信息:现在时间、系统已经运行了 多长时间、目前有多少登录用户、系统在 过去的1分钟、5分钟和15分钟内的平均负 载。
命令语法: uptime [选项]
显示系统运行时间。
[root@rhel ~]# uptime