导图社区 Linux
Linux思维导图:包含命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容。等等
编辑于2022-05-10 16:13:48Linux
第一章:认识Linux
常见的操作系统
Windows
Mac (Unix内核的桌面版)
Linux
Linux的由来
Multics计划
上个世纪六十年代,那个计算机还没有很普及,只有少数人才能使用,而且 当时的计算机系统都是批处理的,就是把一批任务一次性提交给计算机,然后就 等待结果。并且中途不能和计算机交互。往往准备工作都需要花费很长时间,并 且这个时候别人也不能用,导致了计算机资源的浪费。 1965年,贝尔实验室(Bell)、麻省理工学院(MIT)以及通用电气(GE)联合起来 准备研发一个分时多任务处理系统简单来说就是实现多人同时使用计算机的梦想, 并把计算机取名为Multics(多路信息计算系统),但是由于项目太复杂,加上其 他原因导致了项目进展缓慢,1969年贝尔实验室觉得这个项目可能不会成功,于 是就退出不玩了。
Unix的诞生
Bell退出Multics计划之后,其中一个叫做Ken Thompson的人在研发Multics的时 候写了一个叫做太空大战(Space Travel)的游戏,大概就是一个很简单的打飞机的游 戏,但是这个游戏运行在Multics上。 因为MULTICS是“Multiplexed informtion and Computing Service”的缩写(多路 信息计算系统),于是他们命名这个系统为:“UNiplexed Information and Computing Service”,缩写为“UNICS”(没路信息计算系统,与Multics相反)。后来 大家取其谐音,就称其为“UNIX”了。
Minix及Linux的诞生
在Unix昂贵的授权费用下,很多大学不得不停止对其研究,老师导致上课也 不知道讲什么了。在1987年荷兰有个大学教授安德鲁写了一个Minix,类似于 Unix,专用于教学。当Minix流传开来之后,世界各地的黑客们纷纷开始使用并 改进,希望把改进的东西合并到Minix中,但是安德鲁觉得他的系统是用于教学 的,不能破坏纯净性,于是拒绝了。 在1991年9月17日,Linus Torvalds(林纳斯.托瓦兹)在互联网上公布了自己写的 Linux,帖子发出后引起了强烈的反响。在大家的努力下,于1994年Linux的1.0版 本正式发布。
Linux的主要特点
1、成本低廉(Linux并非完全免费,服务是收费的) • 2、协议标准统一(技术标准层面、法律层面) • 3、高稳定和安全性(内核小,设计理念先进) • 4、网络应用丰富(诞生于因特网,支持所有标准因特网 协议)
Linux应用领域
• 1、因特网应用架构与网络服务 • LAMP、J2EE、.NET • WWW、DNS、FTP、MAIL、防火墙 • 2、数据库服务器 • Mysql、Oracle、DB2 • 3、软件开发 • C、C++、PHP、JAVA+JSP
Linux系统结构
Linux系统启动过程
过程可以分为5个阶段: •内核的引导 •运行init •系统初始化 •建立终端 •用户登录系统
init程序的类型: SysV: init, CentOS5之前, 配置文件:/etc/inittab。 Upstart: init,CentOS6, 配置文件:/etc/inittab, /etc/init/*.co nf。Systemd: systemd, CentOS7,配置文件:/usr/lib/systemd/ system、 /etc/systemd/system。
操作系统→/boot
当计算机打开电源后,首先 是BIOS开机自检,按照BIO S中设置的启动设备(通常 是硬盘)来启动。 操作系统接管硬件以后,首 先读入 /boot 目录下的内核 文件
操作系统→/boot→init进程
init 进程是系统所有进程的起点,你可以把它比拟成系 统所有进程的老祖宗,没有这个进程,系统中任何进 程都不会启动。 init 程序首先是需要读取配置文件 /etc/inittab。
操作系统→/boot→init进程→运行级别
许多程序需要开机启动。它们在Windows叫做"服务"(service ),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。 但是,不同的场合需要启动不同的程序,比如用作服务器时, 需要启动Apache,用作桌面就不需要。 Linux允许为不同的场合,分配不同的开机启动程序,这就叫 做"运行级别"(runlevel)。也就是说,启动时根据"运行级别" ,确定要运行哪些程序。
Linux系统有7个运行级别(runlevel):
运行级别0:系统停机状态,系统默认运行级别不能设为0, 否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁 止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台 命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6 ,否则不能正常启动
操作系统→/boot→init进程→运行级别→/etc/init.d
init.d 目录中存放的是一系列系统服务的管理脚本,确定运行级 别以后就开始执行 它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块 以及其它一些需要优先执行任务。
脚本执行完毕后,返回init。这时基本系统环境已经设置好了,各 种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。在inittab中的以 下6行就是定义了6个终端: 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
操作系统→/boot→init进程→运行级别→/etc/init.d→用户登录
完成以后会显示一个文本登录界面,这个界面就是我们经常看到 的登录界面,在这个登录界面中会提示用户输入用户名,而用户 输入的用户将作为参数传给login程序来验证用户的身份。
一般来说,用户的登录方式有三种:
命令行登录
ssh登录
图形界面登录
Linux预设提供了六个命令窗口终端机让我们来登录: • 如果你安装了图形界面,默认情况下是进入图形界面。 • 按Ctrl + Alt + F1 ~ F6来进入其中一个命令窗口界面
操作系统→/boot→init进程→运行级别→/etc/init.d→用户登录→Login shell→Non_login shell
Linux登录方式
login shell
:取得 bash 时需要完整的登陆流程的,就称为 logi n shell。举例来说,我们登陆 tty1 ~ tty6 时,需要输入用户的 账号与密码,此时取得的 bash 就称为“ login shell ”
non-login shell
:取得 bash 接口的方法不需要重复登陆的举 动,比如我们登陆 Linux 后, 启动终端Terminal,此时那个终 端接口并没有需要再次的输入账号与密码,那个 bash 的环境 就称为“ non-login shell ”
Linux系统结构
Linux系统一般有4个主要部分:内核、shell、文件系统以及应 用程序一起形成了基本的操作系 统结构,它们使得用户可以运行 程序、管理文件并使用系统。
内核
1、内核是操作系统的核心,具有很多最基本功能, 它决定着系统的性能和稳定性。
负责管理系统的进程
内存
设备驱动程序
文件
网络系统
Linux 内核由如下几部分组成
内存管理
对任何一台计算机而言,其内存以及其它资源都是有限的。内核不仅管理服务 器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存)。
内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中 的内容。这使得系统以为它拥有比物理内存更多的可用内存。
内存存储单元按组划分成很多块,这些块称作页面(page)。内核将每个内存 页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些 页面位于物理内存内,哪些页面被换到了磁盘上。
进程管理(软件程序管理)
Linux操作系统将运行中的程序称为进程。进程可以在前台运行,将输出显示在 屏幕上,也可以在后台运行,隐藏到幕后。
内核控制着Linux系统如何管理运行在系统上的所有进程。
设备驱动程序(硬件设备管理)
内核的另一职责是管理硬件设备。任何Linux系统需要与之通信的设备,都需要 在内核代码中加入其驱动程序代码。
设备驱动程序实际控制操作系统和硬件设备之间的交互
文件系统和网络管理等
Linux内核支持通过不同类型 的文件系统从硬盘中读写数 据。
除了自有的诸多文件系统外 , Linux还支持从其他操作 系统(比如Microsoft Windows)的文件系统中读 写数据。
Shell层
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它 接收用户输入的命令并把它送入内核去执行,是一个命令解释器。
文件系统
文件系统 • 文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件 和目录的组织上。 目录提供了管理文件的一个方便而有效的途径。
应用程序
Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、 编程语言、办公套件、Internet工具和数据库等。
系统调用接口
SCI 层提供了某些机制执行从用户空间到内核的函数调用。
Shell
文件系统 应用层
应用程序 用户
Linux系统结构
“/”根目录部分有以下子目录:
/bin 系统启动时需要的执行文件(二进制),这些文件可以被普 通用户使用。
/boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启 动时(如果有多个操作系统,有可能允许你选择启动哪一个操作 系统),这些文件首先被装载。这个目录也会包含LINUX核(压 缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO 并且LILO知道LINUX核在哪儿。
/dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被 抽象化,便于读写、网络共享以及需要临时装载到文件系统中。 正常情况下,设备会有一个独立的子目录。这些设备的内容会出 现在独立的子目录下。LINUX没有所谓的驱动符。
/etc 操作系统的配置文件目录。
/home目录包含用户的文件:参数设置文件、个性化文件、文档、 数据、EMAIL、缓存数据等。这个目录在系统升级时应该保留。
/lib 根文件系统目录下程序和核心模块的共享库。
/mnt:光盘、U盘等外设的预设挂载点。
• /proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上, 也不占用任何空间。(用ls -l 可以显示它们的大小)当查看这些 文件时,实际上是在访问存在内存中的信息,这些信息用于访问 系统(正在运行的进程信息)
/sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通 用户仍然可以使用它们,但要指定目录。)
/tmp 临时文件。该目录会被自动清理干净。
/usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作 中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序, 譬如,Netscape。
/var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文 件、临时文件、页格式化文件、日志文件等。
/root 系统管理员(也叫超级用户或根用户)的Home目录。
/opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下, KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)
/lost+found 在文件系统修复时恢复的文件
第二节Xshell的安装
第三节
ls
命令是Linux下最常用的指令之一。ls命令为英文单词 list 的缩写,正如 英文单词 list 的意思,其功能是列出指定目录下的内容。
-l
以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名, 文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改 时间等;
-h
显示文件大小的单位; (需与-l 、–s 合并使用)
-a
显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏, 不会列出)
-A
显示除隐藏文件“.”和“..”以外的所有文件列表;
-i
显示文件索引节点号(inode)。一个索引节点代表一个文件;
-s
显示文件和目录的大小,以区块为单位
-t:
按文件和目录的更改时间排序(默认按正序排序)
-tr
按文件或目录修改时间倒序排序
cd
命令功能:目录路径的切换
pwd
查看当前目录路径
mkdir
创建一个目录
-p
参数,一次创建多级目录
-v
参数,显示目录的创建过程
rmdir
删除一个空目录
mv
• 1:重命名目录 • 用法:mv [原文件名] [新文件名]
2:移动文件 • 用法:mv [文件名] [目标路径]
cp
功能说明:将源文件拷贝至某处
cp [-参数] [来源文件] [目的文件]
-r
可以进行目录的copy
-i:
当拷贝的目标目录下有相同文件时,会提示是否覆盖
-p
拷贝文件保留文件属性
注意:用户使用该指令复制目录时,必须使用参数"-r"
第四节
touch
使用指令touch时,如果指定的文件不存在,则将创建一个新的 空白文件
使用指令touch时,如果指定的文件存在,则变更文件的日期属 性
vi
vi filename
打开或新建文件,并将光标置于第一行首
vi +n filename
打开文件,并将光标置于第n行首
vi + filename
打开文件,并将光标置于最后一行首
vi -r filename
在上次正用vi编辑时发生系统崩溃,恢复 filename
vi filename1 filename2…..
打开多个文件,依次编辑,:n 向后 切换文件,:N向前切换文件。
三种模式
命令行模式 ( command mode/一般模式)
vi移动光标类命令 (命令行模式)
h:
光标左移一个字符
l:
光标右移一个字符
Space:
光标右移一个字符
Backspace:
光标左移一个字符
k或Ctrl+p:
光标上移一行
j或Ctrl+n
光标下移一行
Enter
光标下移一行
w或W
光标右移一个字至字首
b或B:
光标左移一个字至字首
e或E:
光标右移一个字至字尾
nG:
光标移至第n行首, 文件首行(1G)
H:
光标移至屏幕顶行
M:
光标移至屏幕中间行
L
光标移至屏幕最后行
0
(注意是数字零)光标移至当前行首
$
光标移至当前行尾
G
光标移至文件的最后一行行首
0
光标移至文件首行
复制粘贴 (命令模式下)
yy复制一行 • p 粘贴 • [n] yy复制光标后n行 • p 粘贴
剪切与删除(命令模式下)
dd删除一行 • [n] dd删除光标行的后n行 • p粘贴上面的内容
快捷操作(命令模式下)
u撤销操作 • .重复上次操作
搜索
命令模式下,键入 / 后面按搜索的内容 • 按 n 向后搜索 • 按 N 向前搜索
撤销
• 命令模式下,u 撤销至上一步 • crtl + r恢复至上一步撤销
其它命令
显示行号 • 末行模式:set nu! • 显示当前文件名 • 末行模式:file
文本输入模式 ( input mode/编辑模式)
vi插入文本类命令(文本编辑模式下可以输入任意内容)
a
光标向后移动一位
i
当前位置
o
另起新行
s
删除光标所在字符
r
替换光标所在字符
末行模式 ( last line mode/指令列命令模式)
vi保存退出命令(末行模式用于保存内容、查找替换、设置行号等 功能性操作)
q
退出
wq
保存并退出
w
保存编辑内容
q!
强制退出
wq!
强制保存并退出
set number或:set nu
显示行号
set nonumber或:set nonu
取消显示行号
替换
末行模式下 • :%s/源/目标替换/g %指代整个文件内容 g代表全局替換 • :1,10s/源/目标替换/ 替换从第1行到10行中每行第一个目标内容 • :1,5s/源/目标替换/g 替换从第1行到5行中所有的目标内容
cp
复制test目录下的file.txt文件到test1目录下
mv
移动test目录下的file.txt文件到test1目录下
rm
rm删除文件或目录
rm -rf
强制删除目录或文件,同时略过不存在的文件,不显示任何 信息
rm 文件名是直接删除掉文件,如果想删除目录,你就加参数-r
ln
• ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一 个同步的链接
ln –s [原文件名称] [链接文件名称]
软连接
ln [原文件名称] [链接文件名称]
硬连接
-b
删除,覆盖以前建立的链接
-d
允许超级用户制作目录的硬链接
-f
强制执行
-i
交互模式,文件存在则提示用户是否覆盖
-n
把符号链接视为一般目录
-s
软链接(符号链接)
-v
显示详细的处理过程
wc
打印出文件中字符行数、单词个数、字节数等
-c, --bytes
统计字节数
-m, --chars
统计字符数
-l, --lines
统计行数
-L
打印最长行的长度
-w, --words
统计字数(由空白、等分隔)
cat
cat [参数] [文件]
-n
对所有例:输出行进行编号
-b
与-n相似,但空白行不编号
head
输出文件最前面的几行数据
more
分页显示文件内容 (一页一页地显示,仅只能向前)
-num
每页显示多少行内容
命令内部操作
Space键
显示文本的下一屏内容
Enter键
向下n行,需要定义,默认为1行
B键
显示上一屏内容
Q键
退出more命令
less
分页浏览 (可以向前向后浏览文件)
下翻页 d , 上翻页u,退出是q
tail
命令从指定点开始将文件写到标准输出。使用tail命令的-f选项可以 方便的查阅正在改变的日志文件,tail -f filename名会把文件里最尾 部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.
tail [必要参数] [选择参数] [文件]
-f
循环读取
-q
不显示文件名信息
-v
显示文件名信息
-c<数目>
显示的字节数
-n<行数>
指定显示最新的多少行
find
find命令在目录结构中搜索文件,并执行指定的操作
语法:find [文件路径][参数][文件名](注意输入格式)
-name
按名称查找
-size
按大小查找
-user
按属性查找
-type
按类型查找(f,文件 d,目录)
-iname
忽略大小写
多条件组合
• find /usr/ -size +10M -a -name file.txt(-a 指与的意思,两 个条件同时满足,-a 可以省略)
-o 指或
-not非
sort
功能说明:将文本文件内容加以排序显示,不改变原文件中内容
grep
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符 合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若 不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输 入设备读取数据,grep还有强大的正则表达式处理方式
-c
只输出匹配行的计数。
-i
不区分大小写
-h
查询多文件时不显示文件名
-l
查询多文件时只输出包含匹配字符的文件名。
-n
显示匹配行及行号。
-s
不显示错误信息
-v
显示不包含匹配文本的所有行。
第五节
useradd
-c<备注>
加上备注文字。备注文字会保存在/etc/passwd的备注栏位 中
-d<登入目录>
指定用户登入时的启始目录。(/home/目录名称)
-e<有效期限>
指定帐号的有效期限。时间格式:mm-dd-yy
-g<群组>
指定用户所属的群组。
-G<群组>
指定用户所属的附加群组。
-m
自动建立用户的登入目录,可以结合 –d 使用。
-M
不要自动建立用户的登入目录。
-n
取消建立以用户名称为名的群组.
-r
建立系统帐号。
-s<shell>
指定用户登入后所使用的shell。
-u<uid>
指定用户ID
chage -l user2
查看新建的用户信息
id user2
查看新建的用户信息
passwd
该命令用于修改用户的密码
1: 登录名 • 2: 口令 (密码) • 3: 用户标识号(UID) • 4: 组织标识 • 5: 用户名 用-c创建内容(备注信息) • 6: 用户主目录 • 7: 命令解释程序 如/bin/bash 用户登录系统时运行的程序
usermod
功能说明:修改用户帐号。
-c<备注>
修改用户帐号的备注文字。
-e<有效期限>
修改帐号的有效期限,格式:mm-dd-yy
-l<帐号名称>
修改用户帐号名称。
-f<缓冲天数>
修改在密码过期后多少天即关闭该帐号。
-g<群组>
修改用户所属的群组。
-G<群组>
修改用户所属的附加群组。
-L
锁定用户密码,使密码无效。
-s<shell>
修改用户登入后所使用的shell
-u<uid>
修改用户ID。
-U
解除密码锁定。
userdel
功能说明:删除用户帐号。
-r
删除用户及其home目录。
groupadd
功能说明:建立用户组。
-g gid
指定组ID号
-o
允许创建ID重复的用户组
-r
创建系统用户组,低于499系统账号
-f
结合-g一起使用,当-g指定的uid已存在,系统自动重新选择一个可用 的uid来建立新的组
groupmod
功能说明:更改群组识别码或名称。
-g <群组识别码>
设置欲使用的群组识别码。
-o
重复使用群组识别码。
-n <新群组名称>
设置欲使用的新的群组名称。
groupdel
功能说明:删除群组。
第六节
权限介绍
Linux中将文件的权限分为只读、可写、执行三种
r(read)
w(write)
x(execute)
ls -l
1、表示文件的类型,“d”表示该文件为目录,也就是通常意义的文件夹,“-”表示该文件是一般文件,“l”表示该文件为一个软链接,也就是通常意义的快捷方式。
2、表示文件所有者u的权限,其中r为读权限,w为写权限,x为执行权限,
3、表示文件所属组g的权限,r,w,x含义同上。
4、表示其他人o对该文件拥有的权限,r,w,x含义同上。
5、表示(硬)连接数;
6、表示文件拥有者
7、表示文件所属组
8、表示文件的大小
9、表示文件创建日期&最后修改日期
10、文件名称
chmod
修改文件的权限
chmod [-R] 权限 文件名
第一种方法
+:添加权限(w、r、x)
-:删除权限(w、r、x)
u:文件拥有者 g:文件所属组 o:其他人 a:所有人
第二种方法
还可以用数字的方法增加权限
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限
[r=4、w=2、x=1] 比如:chmod 467 file.txt 若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5
chown [-R] 权限 文件名
修改文件所有者和所属组
-R
递归修改目录以及其子目录下的所有文件
chgrp [-R] 组名 文件名
修改文件所属用户组
-R
递归修改
diff
比较两个文件之间的不同
cmp
功能说明:比较两个文件是否有差异,byte to byte
cmp [第一个文件][第二个文件]
-c或-print-chars
除了标明差异处的十进制字码之外,一并显示该字符所对应字符。
-i<字符数目>或-ignore-initial=<字符数目>
指定一个数目
-l或-verbose
标示出所有不一样的地方。
-s或-quiet或-silent
不显示错误信息。
file
检测文件类型
which
功能说明:查找文件。
第七节
alias
alias命令用来设置指令的别名,直接输入alias显示当前 的所有别名
用法:alias[别名]=[指令名称]
echo
echo命令用于在终端设备上输出字符串或变量提取后的值
export
• 设置环境变量命令 • 列出当前所有的环境变量:
第八节
ifconfig
配置和显示系统的网络信息
修改静态IP地址
/etc/sysconfig/network-scripts/ifcfg-eth0 [root@localhosthome]# vi ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.113 NETMASK=255.255.255.0 GATEWAY=192.168.0.1
修改网关
/etc/sysconfig/network • [root@localhosthome]# vi network NETWORKING=yes HOSTNAME=Aaron GATEWAY=192.168.0.1
hostname
查看主机名称
hostname
临时修改主机名(重启后失效)
hostname mytest
永久性修改主机名
配置文件路径/etc/sysconfig/network • [root@localhosthome]# vi network
netstat
在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和 UDP监听,进程内存管理的相关报告
-a
显示所有socket,包括正在监听的
-c
每隔 1 秒就重新显示一遍,直到用户中断它
-i
显示所有网络接口的信息
-t
显示 TCP 协议的连接情况
-u
显示 UDP 协议的连接情况
-n 或 --numeric :x
显示 UDP 协议的连接情况
-p 或 --programs :
显示正在使用 Socket 的程序识别码和程序名称;
Proto :网络传输协议,主要为 tcp 和 udp
Local Address :本地的 ip:port
Foreign Address :远程主机的 ip:port
State :连线状态,主要有监听()和建立( ESTABLISED
PID :服务的进程编号 process id
Program name :服务名称
ping
ping命令一般用于检测网络通与不通或者网络连接速度的命令,也叫时延,其 值越大,速度越慢
• Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows 下运行ping命令一般会发出4个请求就结束运行该命令。 • 而Linux下不会自动终止,此时需要我们按CTR+C终止
第九节
df
用来检查Linux服务器的文件系统的磁盘空间占用情况
du
对指定文件和目录磁盘使用的空间的查看,也就是文件 大小
top
实时显示系统中各个进程的资源占用状况
第一行: • 当前系统时间• 系统已经运行了1小时37分钟(在这期间没有重启 过)• 用户数-当前有2个用户登录系统• load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第二行:• Tasks-任务(进程),系统现在共有150个进程,其中处于运行中的有1个 ,149个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态• Us-用户空间占用CPU的百分比。• Sy-内核空间占用CPU的百分比。• ni-改变过优先级的进程占用CPU的百分比• Id-空闲CPU百分比wa-IO等待占用CPU的百分比• hi-硬中断(Hardware IRQ)占用CPU 的百分比• si-软中断(Software Interrupts)占用CPU的百分比 st-任务时间分配给运行在其它虚拟机上的任务的实际CPU时间
第四行:内存状态• total-物理内存总量• used-使用中的内存总量• free-空闲内存总量 buffers-缓存的内存量
• 第五行:swap交换分区 total-交换区总量• used-使用的交换区总量• free-空闲交换区总量 cached-缓冲的交换区总量
第六行以下:各进程(任务)的状态监控• PID-进程id• USER-进程所有者• PR-进程优先级• NI-nice值。负值表示高优先级,正值表示低优先级• VIRT-进程使用的虚拟内存总量,单位kb• RES-进程使用的、未被换出的物理内存大小,单位kb• SHR-共享内存大小,单位kb• S-进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠T=跟踪/停止 Z=僵尸进程• %CPU — 上次更新到现在的CPU时间占用百分比• %MEM — 进程使用的物理内存百分比• TIME+ — 进程使用的CPU时间总计,单位1/100秒 • COMMAND — 进程名称(命令名/命令行)
ps
显示系统中各个进程的资源占用状况
–u
显示指定用户信息
ps -ef 或者ps aux
查看所有进程状态的命令
kill -9 PID
杀掉进程
vmstat
• 显示虚拟内存状态(“Virtual Memory Statistics”), 但是它可以报告关于进程、内存、I/O等系统整体运行状 态。 • 默认显示全部[root@localhosthome]# vmstat
procs :
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
cpu:
us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗 的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
memory :
swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者 比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free当前的空闲页面列表中内存数量(k表示)
buff作为buffer cache的内存数量,一般对块设备的读写才需要缓冲
cache作为page cache的内存数量,一般作为文件系统的cache,如果 cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文 件系统效率比较好
swap :
• si 由内存进入内存交换区数量。 • so由内存交换区进入内存数量。
io :
• bi 从块设备读入数据的总量(读磁盘)(每秒kb)。 • bo 块设备写入数据的总量(写磁盘)(每秒kb)这里我们设置的bi+bo参考值为1000,如果超过1000, 而且wa值较大应该考虑均衡磁盘负载
system:
in 列表示在某一时间间隔中观测到的每秒设备中断数 cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进 一步调查。
第十节
gzip/gunzip
表示解压缩并不保留源文件
-d
将压缩文件解压。
-l
对每个压缩后的文件,查看显示下列字段
(即:显示文件压缩前后的大小,以及原文件名字和压缩比例) 压缩文件的大小 文件压缩前的大小 压缩比 文件压缩前的名字
-r
递归式地查找指定目录并压缩其中的所有文件或者是解压缩
(即压缩/解压目录及所有子目录下所有文件)
-v
对每一个压缩和解压的文件,显示文件名和压缩比。
-num
(1-9压缩比例越来越高)
-1或--fas指定的数字num调整压缩的速度t表示最快压缩方法(低压缩比), -9或--best表示最慢压缩方法(高压缩比)。
tar
文件打包
tar -cvf 目标文件名.tar 源文件
只对文件进行打包,没压缩
文件解包
tar -xvf 目标文件名.tar
对.tar 文件进行解包
文件压缩
tar -zcvf 目标文件名.tar.gz 源文件
打包同时实现压缩,生成.tar.gz
文件解压
tar -zxvf 目标文件名.tar.gz
对压缩后的打包文件进行解压
zip/unzip
文件打包
zip 目标文件名.zip 原文件名称
文件解包
unzip 目标文件名. zip
clear
clear命令用于清除屏幕
这个命令将会刷新屏幕,本质上只是让终端显示页向后 翻了一页,如果向上滚动屏幕还可以看到之前的操作信 息
date
命令可以用来显示或设定系统的日期与时间
date -s #设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 #设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 #设置具体时间,不会对日期做更改
date -s "01:01:01 2012-05-23" #这样可以设置全部时间
date -s "01:01:01 20120523" #这样可以设置全部时间
date -s "2012-05-23 01:01:01" #这样可以设置全部时间
date -s "20120523 01:01:01" #这样可以设置全部时间
shutdown
命令用来系统关机命令
指令可以关闭所有程序,并依用户的需要,进 行重新开机或关机的动作。
立即关闭
[root@localhost]# shutdown -h now
立即重启-r
• [root@localhost]# shutdown -r now
-h
关机后停机
-r
关机后重新开机
shutdown -h 10 过10分钟自动关闭 shutdown -r 20:35 在时间为20:35时候重启
poweroff/halt/reboot
poweroff
命令用来关闭计算机操作系统并且切断系统电源。如果 确认系统中已经没有用户存在且所有数据都已保存,需要立即关 闭系统,可以使用poweroff命令。
Linux reboot
命令用于用来重新启动计算机,和Windows系统 中的restart一样。但是机器重启必须要root用户才有权限。
halt
关机