Linux介绍和基本命令
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.Unix/Linux操作系统介绍
1>.操作系统的作用
方便:
使用计算机系统易于使用。
有效:
以更有效的方式使用计算机系统资源。
扩展:
方便用户有效开发,测试和引进新功能。
操作系统在计算机系统中承上启下的地位:向下封装硬件,向上提供操作接口。
2>.Unix/Linux操作系统介绍
(1)Unix家族
(1)1965 贝尔实验室(Bell Labs)加入一项由电器和麻省理工学院合作的计划,该计划要建立一套多使用者,多任务,多层次的MULTICS操作系统。后来因为项目太为复杂失败。 (2)1969 其主要开发者Thompson(后被称为UNIX之父)和Ritchie领导一组开发者,开发了一个新的多任务操作系统-UNICS,后来被改名为Unix,最初的Unix是用B语言和汇编语言会很编写而成。 (3)1971 两人在贝尔实验室共同发明了C语言,并于1973用c语言重写了Unix。 (4)1974 UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。 (5)1980 有两个最主要的Unix的版本线,一个是Berkeley的BSD UNIX,另一个是AT&T的Unix,两者的竞争最终引发了Unix的战争,最终导致Unix出现出现各种各样的变种。 (6)1982 AT&T基于版本7开发了Unix System III的第一个商业版本,并不在开源。 (7)1992~2001 由于版权问题,AT&T公司与BSD开发组开始一场将近10年的版权官司。Unix由于其昂贵的费用,仅局限于大型机的应用;BSD因为版权问题,时区了宝贵的发展时期。
(2)Linux家族
(1)Minix(mini-UNIX) 最初是由Andrew Tanenbaum教授,仿照4.3BSD的源代码,白手起家完成了12000行C语言的编写工作这个系统知识一个教学工具,没有什么实际应用价值。 (2)1990 Linuxs Torvalds决定编写一个自己的Minix内核,初名为Linus\' Minix。意味Linus的Minix内核,后来改名为Linux,此内核与1991年正式发布,并逐渐引入人们的注意。 (3)Linux操作系统的诞生,发展和成长过程依赖于五个重要支柱 Unix操作系统,minix操作系统,GNU计划,POSIX标准和互联网。 (4)GNU计划 GNU是“GNu is Not Unix”的递归缩写,由Richard M.Stallman与1984年创办,旨在开发一个免费,类Unix的操作系统-GNU系统及其开发工具;Emacs编辑系统,BASH shell程序,GCC,GDB等开发工具都是GNU组织的产品。 (5)1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生 该操作系统往往被称为“GNU/Linux”或简称Linux。 (6)POSIX标准 POSIX标准定义了操作系统应该为应用程序提供的接口标准,POSIX标准用来统一UNix,Linux各个分支编程接口,以提高其通用性和可移植性。
(3)Linux的两类用户
(4)Linux和远亲
(5)Linux和Unix的联系
(1)Unix系统是工作站上最常用的操作系统,它是一个多用户,多任务的实时操作系统,允许多人同时访问计算机,并同时运行多个任务。UNIX系统具有稳定性,高效,安全,方便,功能强大等诸多优点,自20世纪70年代开始变运行在许多大型和小型计算机上。 (2)Unix虽然是一个安全,稳定且功能强大的操作系统,但它也一直是一种大型的而且对运行平台要求很高的操作系统,只能在工作站或小型机上才能发挥全部功能,并且价格昂贵,对普通用户来说是可望而不可及的,这位后来Linux的崛起提供了机会,Linux是一个类UNIX操作系统。 (3)Linux是免费的,不受版权制约,与UNIX兼容的操作系统。 (4)Linux在x86架构上实现了UNIX系统的全部特性,具有多用户多任务的能力,同时保持了高效性和稳定性,Linux具有如下优秀的特点: 1)开放性;
2)完全免费;
3)多用户;
4)多任务;
5)良好的用户界面;
6)设备独立性;
7)提供了丰富的网络功能;
8)可靠的系统安全性;
9)良好的可移植性;
(6)Linux内核及发行版介绍
(1)Linux内核版本 内核(kernel)是系统的心脏,是运行程序和管理想磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。 Linux内核版本又分为稳定版和开发版,两种版本是互相关联,互相循环:
稳定版:
具有工业级强度,可以广泛的应用和部署。新的稳定版本相对于较旧的只是版本一些bug或者加入一些新的驱动程序。
开发版: 由于要试验各种解决方案,所以变化很快。 内核源码网址:http://www.kernel.org,所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开元社区对其进行甄别和修改最决定是否进入到Linux主线内核源码中。 (2)Linux发行版本
Linux发行版(也被叫做GNU/Linux发型版)通常包含了包括桌面环境,办公套件,媒体播放器,数据库等应用软件。
这些操作系统通常由Linux内核,以及来自GNU计划的大量函数库,和基于X Window的图形界面,在X Window中用户同样可以通过使用鼠标对窗口,菜单进等进行操作来完成相应的工作。
X Window系统是一个非常出色的图形窗口系统,是类Unix系统的图形界面的工业标准,X Window系统最重要的特征之一就是它的结构与设备无关。
X Window系统的主要特点如下节点:
1)X Window系统是客户机/服务器结构的。X Window实现是与操作系统内核分开的,其主要由X Server和X Client两部分组成。
2)X Window系统不是Unix/Linux操作系统必须的构成部分,而只是一个可选的用用程序组件。
(7)Unix/Linux开发应用领域介绍
(1)Unix/Linux服务器 是目前Unix/Linux应用最多的一个领域,可以提供Web,FTP,Copher,SMTP/POP3,Proxy/Cache,DNS等服务器,支持服务器集群,支持虚拟主机,虚拟服务,VPN等。 (2)嵌入式Linux系统 嵌入式Linux是将流行的Linux操作系统进行剪裁修改,能够在嵌入式计算机系统上运行的一种操作系统。Linux嵌入式系统能够支持多种CPU和硬件平台,性能稳定,剪裁性好,开发和使用容易。其中包括Embedix,uCLinux,muLinux等。 (3)桌面应用 近年来,Linux系统特别强调在桌面应用方面的改进,并且已达到相当的水平,完全可以作为一种几种办公应用,多媒体应用,网络应用等多方面功能与一体的图形界面操作系统,在办公应用方面,Unix/Linux继承了openOffice,SUN公司的StarOffice以及KOffice等工具。 (4)电子政务
随着Linux的快速发展,Linux以及逐渐成为Windows系统重要的竞争力量。尤其是Linux在安全性方案的独特优势,又使得Linux在政府应用领域得到很大的发展。目前一些国家正将其电子商务系统想Linux平台迁移。中国政府也对Linux给予极大的支持。
二.文件系统
1>.目录和路径
一.目录
目录是一组相关文件的集合。 一个目录下面除了可以存放文件之外还可以存放其他目录,即可包含子目录。 在确定文件,目录位置时,DOS和Unix/Linux都采用“路径名 + 文件名”的方式。路径反应的是目录和目录之间的关系。
二.路径
Unix/Linux路径由达到定位文件的目录组成。在Unix/Linux系统中组成路径的目录分隔符为斜杠“/”,而DOS利用反斜杠“\”来分割各个目录。
路径分为绝对路径和相对路径:
绝对路径:
1)绝对路径是从目录树的树根“/”目录开始往下直至到达文件所经过的所有节点目录。
2)下级目录接在上级目录后面用“/”隔开。
3)注意:绝对路径都是从“/”开始的,所以定义字符一定是“/”。
相对路径:
1)相对路径就是指目标相对于当前目录的位置。
2)如果不在当前目录下,则需要使用两个特殊目录“.”和“”了。目录“.”指向当前目录,而“..”指向上级目录。
2>.文件系统
(1)Window和Linux文件系统区别 在Window平台下,打开“计算机”我们看到的是一个个的驱动器盘符。每个驱动器都有自己的根目录结构,这与形成了多个术并行的情形。 在linux下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录)。
无论何种版本的Linux发行版,桌面,应用是Linux的外衣,文件组织,目录结构才是Linux的内心。 (2)Linux目录结构
1)“/”
根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端输入“/home”,你其实是在高速电脑,先从(根目录)开始,再进入到home目录。
2)“/bin”
“/usr/bin”,存放可执行二进制文件的目录,如常用的命令ls,tar,mv,cat等。
3)“/boot”
放置Linux系统启动时用到的一些文件,如Linux的内核文件:“/boot/vmlinuz”,系统引导器:“/boot/grub”。
4)“/dev”
存放Linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱:“mount /dec/cdrom /mnt”。
5)“/etc”
系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有"/etc/inittab","/etc/fstab","/etc/init.d","/etc/X11","/etc/sysconfig","/etc/xinetd.d"。
6)“/home”
系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,“~”表示当前用户的家目录。
7)“/lib”
"/usr/lib","/usr/local/lib":系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数是需要函数库的协助。
8)“lost+fount”
系统异常产生错误时,会将一些遗失的片段放置于此目录下。
9)“/mnt”
“/media”光盘默认挂载点,通常光盘挂载到"/mnt/cdrom"下,也不一定,用户可以选择任意位置进行挂载。
10)“/opt”
给主机额外安装软件所摆放的目录。
11)“/proc”
此目录的数据都在内存中,如系统核心,外部设备,网络状态,由“/proc/cpuinfo”,"/proc/interrupts","/proc/dma","/proc/ioports","/proc/net/*"等。
12)“/root”
系统管理员root的家目录。
13)“/sbin”
“/usr/sbin”,"/usr/local/sbin":放置系统管理员使用的可执行命令,如fdisk,shutdown,mount等。与“/bin”不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能“查看”而不能设置和使用。
14)“/tmp”
一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
15)“/srv”
服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在“/srv/www”内。
16)“/usr”
用用程序存放目录,“/usr/bin”存放应用程序,“/usr/share”存放共享数据,“/usr/lib”存放不能直接运行的,却是许多程序锁必须的一些函数库文件。“/usr/local”存放软件升级包。“/usr/share/doc”系统说明文件存放目录。“/usr/share/man”程序说明文件存放处。
17)“/var”
放置系统执行过程中经常变化的文件,如随时更改的日志文件“/var/log”,“/var/log/message”所有的登录文件存放目录。“/var/spool/mail”邮件存放的目录。“/var/run”程序或服务启动后,其PID存放在该目录下。
3>.一切皆文件
(1)一切皆文件 Unix/Linux对数据文件(*.mp3,*.bmp),程序文件(*.c,*.h,*.o),设备文件(LCD,触摸屏,鼠标),网络文件(socket)等的管理都抽象为文件,使用统一的方式方法管理。 在Unix/Linux操作系统中也必须区分文件类型,通过文件类型可以判断文件属于可执行文件,文本文件还是数据文件。在Unix/Linux系统中文件可以没有扩展名。 (2)文件分类
通常,Unix/Linux系统中常用的文件类型有5种,普通文件,目录文件,设备文件,管道文件和链接文件。
普通文件(用“-”代表):
普通文件是计算机操作系统中用于存放数据,程序等信息的文件,一般都长期存放在外存储器(磁盘,磁带等)中。普通文件一般包括文本文件,数据文件,可执行的二进制程序文件等。
在Unix/Linux中可以通过file命令来查看文件的类型。如果file文件后面携带文件名,则查看指定文件的类型,如果携带通配符“*”,则可以查看当前目录下的所有文件的类型。
目录文件(用“d”代表):
Unix/Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树形结构。
目录文件只允许系统管理员对其进行修改,用户进程可以读取目录文件,但不能对它们进行修改。
每个目录文件至少包括两个条目,“..”表示上一级目录,“.”表示该目录本身(即当前目录)。
设备文件(“c”代表零件字符设备,“b”代表硬件块设备):
Unix/Linux系统把每个设备都映射成一个文件,这就是设备文件。它是用于向I/O设备提供链接的一种文件,分为字符设备和块设备文件。
I/O设备对应一个设备文件,存放在"/dev"目录中,如行式打印机对应“/dev/lp”,第一个软盘驱动器对应“/dev/fd0”
管道文件(用“s”代表):
管道文件也是Unix/Linux中比较特殊的文件类型,这类文件多用于进车间的通信。
链接文件(用“l”代表):
似于Windows下的快捷方式,链接又可以分为软连接(符号链接)和硬链接。
4>.文件权限
文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。 Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件或目录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对用户权限做了严格的界定外,还在用户身份认证,访问控制,传输安全,文件读写权限等方面做了周密的控制。 在Unix/Linux中每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 (1)访问用户 通过设定权限可以从以下三种方式限制访问权限: 1)只允许用户自己访问(所有者) 所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能够访问用户的文件。 2)允许系统中某个组访问(所属组) 所属组就是该文件属于哪个组,改组的每个成员都对该文件都有访问权限。 3)允许系统中的任务用户访问(其他用户) 用户也将自己的文件想系统内的所有用户开放,在这种情况下,系统内所有的用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户都是other用户类。 这有点类似于QQ空间的访问权限: 这个QQ空间是属于我们,我相当于管理者(也就是“所有者”),我想访问就怎么访问。 同时,我们可以设置允许QQ好友访问,而这些QQ好友则类似于“用户组”。 当然,我可以允许所有人访问,这里的所有人则属于类似的“其他用户”。 (2)访问权限 用户能够控制一个给定的文件或目录的访问成都,一个文件或目录可能有读,写及执行权限: 1)读权限(r) 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 2)写权限(w) 对于文件而言,具有新增,修改文件内容的权限;对目录来说,具有删除,移动目录内文件的权限。 3)可执行权限(x) 对文件而言,具体执行文件的权限;对目录来说该用户具有进入目录的权限。 注意:通常,Unix/Linux系统只允许文件的属主(所有者)或者超级用户改变文件的读写权限。 (3)案例说明 [root@node101.yinzhengjie.org.cn ~]# ll total 187344 -rw-r--r-- 1 root root 8409 Mar 24 07:46 jce_policy-8.zip -rw-r--r-- 1 root root 191817140 Mar 24 07:27 jdk-8u201-linux-x64.tar.gz -rw-r--r-- 1 root root 6140 Nov 11 2015 mysql-community-release-el7-5.noarch.rpm [root@node101.yinzhengjie.org.cn ~]# 1)第一个字母代表文件类型:“d”代表文件夹,“-”代表普通文件,“c”代表硬件字符设备,“b”代表硬件块设备,“s”代表管道文件,“l”代表软连接文件。
2)后9个字母分别代表三组权限:文件所有者,用户组,其他用户拥有的权限。
每一个用户都有他们自身的文件权限,即所有者权限。
第一组权限控制访问自己的文件权限,即所有者权限。
第二组权限控制用户组访问其中一个用户的文件的权限。
第三组权限控制其他所有用户访问一个用户的文件的权限。
这三组权限赋予用户不同类型(即所有者,用户组和其他用户)的读,写及执行权限就构成了一个有9种类型的权限组。
三.常用命令
1>.概述
很多时候可能在电视或电影中看到类似的场景,黑客面对一个黑色屏幕,上面飘着密密麻麻的字符,啪啪啪一顿桥,就完成了窃取资料的任务。
Linux刚出世没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客哪有,充满了神秘与晦涩。
近几年来,尽管Linux发展得非常迅速,图形界面越来越友好,但是在真正开发过程中,Linux命令行的应用还是占有非常重要的席位,而且许多Linux功能在命令行界面要比图形化界面下运行的快。可以说不会命令行,就不算会Linux。
Linux提供了大量的命令,利用它可以有效完成大量的工作,如磁盘操作,文件存取,目录操作,进程管理,文件权限设定等。Linux发行版本最少的命令也有200多个。这里只介绍比较重要和使用较多的命令。
2>.命令的使用方法
(1)Linux命令格式 command [-option] [parameter1] ... 说明: command:命令名,相应功能的英文单词或单词的缩写。 [-options]:选型,可用来对命令进行控制,也可以省略,[]代表可选 [parameter1] ...:传给命令的参数,可以是零个一个或多个 (2)查看帮助文档 1)--help(可用于查看Linux内置命令) 一般是Linux命令自带的帮助信息,并不是所有命令都自带这个选项。如:"[root@node101.yinzhengjie.org.cn ~]# ls --help"
2)man
man是Linux提供的一个手册,包含了绝大部分的命令,函数使用说明。
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览不同的内容。
man中各个section意义如下:
1.Standard commands(标准命令)
2.System calls(系统调用,如open,write)
3.Library functions(库函数,如printf,fopen)
4.Special devices(设备文件的说明,/dev下各种设备)
5.File formats(文件格式,如passwd)
6.Games and toys(游戏和娱乐)
7.Miscellaneous(杂项,管理与协定等,例如Linux档案系统,网络协定,ASCII码;environ全局变量)
8.Administrative Command(管理员命令,如ifconfig)
man使用格式:man [选项] 命令名称,如:“[root@node101.yinzhengjie.org.cn ~]# man ifconfig”
man设置了如下的功能键:
1.空格键:显示首页的下一屏
2.Enter键:一次滚动手册页的一行
3.b:回滚一屏
4.f:前滚一屏
5.q:退出man命令
7.h:列出所有功能键
8./word:搜索word字符串
(3)使用技巧
1)自动补全
在敲击命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令。换句话说,tab键能够只能补全,如果没有重复的选项就会自动补全,如果有重复项,按两下tab显示列表。
2)历史命令
当系统执行一些命令后,可按上下键翻看以前的命令,history将执行过的命令例举出来。
3>.文件管理
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于Window的DOS窗口里输入的“dir”命令。 Linux文件或者目录名称最长可以有256个字符,“.”代表当前目录,“..”代表上一级目录,以"."开头的文件为隐藏文件,需要用“-a”参数才能显示。 ls常用参数: -a:显示指定目录所有子目录与文件,包含隐藏文件。 -l:以列表方式显示文件的详细信息。 -h:配合-h以人性化的方式显示文件大小。 更多参数可参考帮助信息“ls --help”或者“man ls”
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存在指定文件中。 ">"输出重定向会会覆盖原来的内容。 ">>"输出重定向会追加到文件的尾部。
查看内容时,在信息过长无法再一屏上显示是,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次值显示一页,该命令有些使用小技巧,如:
按下空格键可以显示下一页;
按下q键退出显示;
按下h键可以获取帮助信息。
管道:一个命令的输出可以通过管道作为另一个命令的输入。
管道我们可以理解为显示生活中的管子,管子的一头塞东西进去,另一头取出来,这里“|”的左右分为两端,左端塞东西(写),右端取东西(读)
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可以使用快捷键:Ctrl +l(注意“l”是字母哟!别达成数字1啦!)
在Unix/Linux的时候,进程需要切换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感。
cd后面可以跟绝对路径,也可以跟相对路径。如果省略目录,默认切换到当前用户的家目录。
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可。
使用man帮助查看该命令会发现它有两个选项,-l和-p,其中-l表示显示当前工作目录的连接路径,-p表示显示当前工作目录的物理路径,即尽管在连接的目录,但使用-p参数就会显示当前物理路径
通过mkdir命令可以创建一个新的目录,参数-p可以递归创建目录,-v可以查看创建过程的详细信息。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件通名,并且目录创建者必须对当前目录具有写权限。
可使用rmdir命令删除一个目录,必须离开目录,并且目录必须为空目录,不然会提示删除失效。
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后很难恢复,为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。 常用的参数即含义如下表所示: -i:以进行交互式方式执行 -f:强制删除,忽略不存在的文件,无需提示 -r:递归地删除目录下的内容,删除文件夹时必须加此参数
Linux链接文件类似于Windows下的快捷方式。 连接文件分为软连接和硬链接。 软连接:软连接不占用磁盘空间,源文件删除则软连接失效。 硬链接:硬链接只能连接不同文件,不能链接目录。注意,硬链接不能跨分区进行! 使用格式: ln 源文件 连接文件 ln -s 源文件 连接文件 如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。 注意:如果软连接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
[root@node101.yinzhengjie.org.cn ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@node101.yinzhengjie.org.cn ~]#
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本进行行模式查找。如果找到匹配模式,grep打印包含模式的所有行。 grep一般格式为: grep [-选项] ‘搜索字符’ 文件名称 常用的选项说明: -v : 显示不包含匹配文本的所有行(相当于求反) -n : 显示匹配行及行号 -i : 忽略大小写
常用选项说明: -l : 统计行数。 -w : 统计字数。一个被定义为由空白,空格或换行符分隔的字符串。 -c : 统计字节数。 -m : 统计字符数。这个标志不能与-c标志一起使用。
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
cp命令的功能是将给出的文件或者目录复制到另一该文件或者目录中,相当于Window下的dos窗口的copy命令。
用户可以使用mv命令拉来移动文件或目录,也可以给文件或目录重命名。 常用选项说明: -f : 禁止交互式操作,如有覆盖也不会给出提示。 -i : 确认交互式操作,如有mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件。 -v : 显示移动进度。
Linux系统文件不是根据文件扩展名分类的,是通过file命令可以确认文件具体类型。
计算机中的数据经常需要备份,tar是unix/Linux中常用的备份工具,此命令把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。 tar使用格式: tar [参数] 打包文件名称 文件 常用参数: -c : 生成档案文件,创建打包文件。 -v : 列出归档解档的详细过程,显示进度 -f : 指定档案文件中包含,f后面一定是.tar文件,所以必须放在选项最后 -t : 列出档案包含的文件 -x :解开档案文件。
tar与gzip命令结合使用实现文件打包,压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用 xxx.tar.gz gzip使用格式如下: gzip [选项] 被压缩文件 常用选项: -d : 解压 -r : 压缩所有子目录
tar与bzip2命令结合使用实现文件打包,压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用 xxx.tar.bz2。
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。 压缩文件:zip [-r] 目标文件(没有扩展名)源文科 加压文件:unzip -d 解压后目录文件,压缩文件。
[root@node101.yinzhengjie.org.cn ~]# which pwd /usr/bin/pwd [root@node101.yinzhengjie.org.cn ~]#
4>.用户,权限管理
(1)用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组 账号的管理。
(2)在Unix/Linux系统中,不论是由本地或者是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
(3)Unix/Liunx系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
(4)在Unix/Linux安装的过程中,系统会自动创建很逗用户账户,而这些默认的用户就称为“标准用户”。
(5)在多数版本的Unix/Linux中,都不推荐主机使用root账户登录系统。
whoami该命令用户查看当前系统账号的用户名。可通过“cat /etc/passwd”查看用户信息。 由于系统管理员通常需要使用多种用户登录系统,例如通常使用普通用户登录系统,然后以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。 [root@node101.yinzhengjie.org.cn ~]# whoami root [root@node101.yinzhengjie.org.cn ~]#
who命令用于查看当前所有登录系统的用户信息。 常用选项: -m或者 am : 只显示运行who命令的用户名,登录终端和登录时间。 -q或者--count: 只显示用户的登录账号和登录用户的数量。 -u : 在登录时间后显示该用户最后一次操作到当前的时间间隔 -u或者 --heading :显示列标题 [root@node101.yinzhengjie.org.cn ~]# who root pts/0 2019-05-21 06:47 (172.30.1.1) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# who -q root # users=1 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# who -u root pts/0 2019-05-21 06:47 . 10168 (172.30.1.1) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# who --heading NAME LINE TIME COMMENT root pts/0 2019-05-21 06:47 (172.30.1.1) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
w命令也可以查看登录当前系统的用户信息。与who命令相比,w命令功更强大,它不但可以显示当前有哪些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细的科学的统计数据。 w命令的格式如下: w [选项] [用户名] 如果w命令携带用户名,则只显示指定用户的信息,否则显示当前所有登录用户的信息。 常用选项: -h : 只显示运行who命令的用户名,登录终端和登录时间。 -l : 显示详细信息列表,此为预设值。 -s : 使用短列表,不显示用户登录时间,JCPU和PCPU时间。 -u : 忽略执行程序的名称,以及改程序的PCPU时间。 [root@node101.yinzhengjie.org.cn ~]# w -h root pts/0 172.30.1.1 06:47 2.00s 0.04s 0.00s w -h [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# w -s 07:04:36 up 1:02, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM IDLE WHAT root pts/0 172.30.1.1 4.00s w -s [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# w -u 07:04:37 up 1:02, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 172.30.1.1 06:47 5.00s 0.04s 0.00s w -u [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
(1)如果是图形界面,退出当前终端; (2)如果是使用ssh远程登录,退出登录账号; (3)如果是切换后的登录用户,退出则返回上一个登录账号。
可以通过su命令切换用户,su后面可以加“-”。su和su -命令的不同之处在于,su -切换到对应的用户时会将当前的工作目录自动切换到切换后的家目录。 [root@node101.yinzhengjie.org.cn ~]# su - yinzhengjie Last login: Tue May 21 07:08:30 PDT 2019 on pts/0 [yinzhengjie@node101.yinzhengjie.org.cn ~]$ [yinzhengjie@node101.yinzhengjie.org.cn ~]$ logout [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# su yinzhengjie [yinzhengjie@node101.yinzhengjie.org.cn /root]$ [yinzhengjie@node101.yinzhengjie.org.cn /root]$ exit [root@node101.yinzhengjie.org.cn ~]#
(1)groupadd:新建组账号 (2)groupdel:组账号 (3)cat /etc/group:查看用户组 [root@node101.yinzhengjie.org.cn ~]# tail -2 /etc/group mysql:x:27: python:x:1001: [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# tail -2 /etc/group mysql:x:27: python:x:1001: [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# groupadd jason [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# tail -2 /etc/group python:x:1001: jason:x:1002: [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# groupdel jason [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# tail -2 /etc/group mysql:x:27: python:x:1001: [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
使用方法:usermod -g 用户组 用户名 [root@node101.yinzhengjie.org.cn ~]# groupadd jason [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# id yinzhengjie uid=1000(yinzhengjie) gid=1000(yinzhengjie) groups=1000(yinzhengjie) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# usermod -g jason yinzhengjie [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# id yinzhengjie uid=1000(yinzhengjie) gid=1002(jason) groups=1002(jason) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
在Unix/Linux中添加用户账号可以使用adduser或者useradd命令,因为adduser命令是指向useradd命令的一个连接,因此,这两个命令的使用格式完全一样。 useradd命令的使用格式如下: useradd [参数] 新建用户账号 参数如下: -d<DIRNAME> : 指定用户登录系统时的主目录,如果不适用该参数,系统自动在"/home"目录下建立与用户名同名目录为主目录。 -m : 自动建立目录 -g : 指定组名称 相关说明: (1)Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户); (2)每一个用户必须有一个主(家)目录,所以用useradd创建用户的时候,一定给用户指定一个主目录; (3)用户的主目录一般要放到根目录home目录下,用户的主目录和用户名默认是相同的; (4)如果创建用户的时候,不指定组名,那么系统会自动创建一个用户名一样的组名。 [root@node101.yinzhengjie.org.cn ~]# useradd -d /home/yzj yzj -g jason -m [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# id yzj uid=1002(yzj) gid=1002(jason) groups=1002(jason) [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# ll /home/yzj/ total 0 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
为某个用户设置密码。 [root@node101.yinzhengjie.org.cn ~]# passwd yzj Changing password for user yzj. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# echo "yinzhengjie" |passwd --stdin yzj Changing password for user yzj. passwd: all authentication tokens updated successfully. [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# useradd jason-yin [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# userdel -r jason-yin #删除用户,同时删除用户的家(主)目录 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# userdel yzj #删除yzj用户,但不会自动删除用户的家目录 [root@node101.yinzhengjie.org.cn ~]#
不管是哪位用户从哪里登录,管理员都可以通过last命令查出,以及是有非法登录。 [root@node101.yinzhengjie.org.cn ~]# last root pts/0 172.30.1.1 Tue May 21 07:05 still logged in root pts/0 172.30.1.1 Tue May 21 06:47 - 07:05 (00:17) reboot system boot 3.10.0-957.el7.x Tue May 21 06:01 - 07:29 (01:27) root pts/0 172.30.1.1 Wed May 15 15:47 - down (01:20) reboot system boot 3.10.0-957.el7.x Wed May 15 15:46 - 17:07 (01:20) root pts/1 172.30.1.1 Sat May 11 05:03 - crash (4+10:43) python pts/0 172.30.1.1 Fri May 10 23:17 - 05:03 (05:45) python pts/3 172.30.1.1 Fri May 10 22:15 - 05:03 (06:47) root pts/2 172.30.1.1 Fri May 10 20:56 - 22:15 (01:18) root pts/1 172.30.1.1 Fri May 10 19:45 - 22:15 (02:30) root pts/1 172.30.1.1 Fri May 10 19:44 - 19:45 (00:00) root pts/0 172.30.1.1 Fri May 10 19:17 - 22:15 (02:58) reboot system boot 3.10.0-957.el7.x Fri May 10 19:14 - 17:07 (4+21:53) root tty1 Thu May 9 07:56 - 07:56 (00:00) reboot system boot 3.10.0-957.el7.x Thu May 9 06:51 - 17:07 (6+10:15) root pts/0 172.30.1.1 Tue May 7 07:39 - down (01:58) reboot system boot 3.10.0-957.el7.x Tue May 7 07:26 - 09:38 (02:11) root pts/0 172.30.1.1 Tue Apr 30 08:33 - down (19:49) reboot system boot 3.10.0-957.el7.x Tue Apr 30 08:32 - 04:22 (19:49) root pts/0 172.30.1.1 Tue Apr 30 08:31 - crash (00:00) reboot system boot 3.10.0-957.el7.x Tue Apr 30 08:31 - 04:22 (19:51) root tty1 Tue Apr 30 08:11 - 08:11 (00:00) root pts/0 172.30.1.1 Tue Apr 30 06:09 - 08:10 (02:01) reboot system boot 3.10.0-957.el7.x Tue Apr 30 06:05 - 04:22 (22:16) root pts/0 172.30.1.1 Mon Apr 29 08:31 - down (01:24) reboot system boot 3.10.0-957.el7.x Mon Apr 29 07:32 - 09:55 (02:23) root pts/1 172.30.1.1 Sun Apr 28 06:52 - down (02:24) root pts/0 172.30.1.1 Sun Apr 28 06:23 - down (02:54) root tty1 Sun Apr 28 06:21 - 09:17 (02:55) reboot system boot 3.10.0-957.el7.x Sun Apr 28 06:20 - 09:17 (02:56) root pts/0 172.30.1.1 Sat Apr 27 06:39 - down (00:00) reboot system boot 3.10.0-957.el7.x Sat Apr 27 06:38 - 06:39 (00:00) root pts/1 172.30.1.1 Sat Apr 27 06:37 - down (00:00) root pts/0 172.30.1.1 Sat Apr 27 06:37 - down (00:00) reboot system boot 3.10.0-957.el7.x Sat Apr 27 06:36 - 06:38 (00:01) root tty1 Sat Apr 27 06:35 - 06:36 (00:00) reboot system boot 3.10.0-957.el7.x Sat Apr 27 06:34 - 06:36 (00:01) root tty1 Sun Mar 24 07:56 - 07:56 (00:00) root pts/0 172.30.1.1 Sun Mar 24 07:35 - 07:56 (00:20) reboot system boot 3.10.0-957.el7.x Sun Mar 24 07:25 - 07:56 (00:31) root pts/0 172.30.1.1 Sun Mar 24 07:19 - crash (00:05) reboot system boot 3.10.0-957.el7.x Sun Mar 24 07:17 - 07:56 (00:38) root pts/0 172.30.1.1 Sun Mar 24 06:10 - crash (01:07) root pts/0 172.30.1.1 Sun Mar 24 06:09 - 06:10 (00:00) reboot system boot 3.10.0-957.el7.x Sun Mar 24 06:08 - 07:56 (01:47) root pts/0 172.30.1.1 Sat Mar 23 22:24 - crash (07:44) root tty1 Sat Mar 23 18:32 - 06:08 (11:36) reboot system boot 3.10.0-957.el7.x Sat Mar 23 18:28 - 07:56 (13:27) root tty1 Sat Mar 23 09:24 - 09:24 (00:00) reboot system boot 3.10.0-957.el7.x Sat Mar 23 09:18 - 07:56 (22:38) wtmp begins Sat Mar 23 09:18:17 2019 [root@node101.yinzhengjie.org.cn ~]#
chmod修改文件权限有两种使用格式:字母法与数字法。
u : user表示该文件的所有者
g : group表示该文件的所有者属于同一组(group)者,即用户组
o : other表示其他以为的人
a : all表示这三者皆是。
使用方法:chown 用户名 文件或目录名 [root@node101.yinzhengjie.org.cn ~]# ll total 187344 -rw-r--r-- 1 root root 8409 Mar 24 07:46 jce_policy-8.zip -rw-r--r-- 1 root root 191817140 Mar 24 07:27 jdk-8u201-linux-x64.tar.gz -rw-r--r-- 1 root root 6140 Nov 11 2015 mysql-community-release-el7-5.noarch.rpm [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# chown yinzhengjie:yinzhengjie jce_policy-8.zip [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# ll total 187344 -rw-r--r-- 1 yinzhengjie yinzhengjie 8409 Mar 24 07:46 jce_policy-8.zip -rw-r--r-- 1 root root 191817140 Mar 24 07:27 jdk-8u201-linux-x64.tar.gz -rw-r--r-- 1 root root 6140 Nov 11 2015 mysql-community-release-el7-5.noarch.rpm [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
使用方法:chgrp 用户组名 文件或者目录名称 [root@node101.yinzhengjie.org.cn ~]# ll total 187344 -rw-r--r-- 1 yinzhengjie yinzhengjie 8409 Mar 24 07:46 jce_policy-8.zip -rw-r--r-- 1 root root 191817140 Mar 24 07:27 jdk-8u201-linux-x64.tar.gz -rw-r--r-- 1 root root 6140 Nov 11 2015 mysql-community-release-el7-5.noarch.rpm [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# chgrp root jce_policy-8.zip [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# ll total 187344 -rw-r--r-- 1 yinzhengjie root 8409 Mar 24 07:46 jce_policy-8.zip -rw-r--r-- 1 root root 191817140 Mar 24 07:27 jdk-8u201-linux-x64.tar.gz -rw-r--r-- 1 root root 6140 Nov 11 2015 mysql-community-release-el7-5.noarch.rpm [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
5>.系统管理
cal命令用于查看当前日历,-y显示整年日历: [root@node101.yinzhengjie.org.cn ~]# cal May 2019 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# cal -y 2019 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 6 7 8 9 10 11 12 3 4 5 6 7 8 9 3 4 5 6 7 8 9 13 14 15 16 17 18 19 10 11 12 13 14 15 16 10 11 12 13 14 15 16 20 21 22 23 24 25 26 17 18 19 20 21 22 23 17 18 19 20 21 22 23 27 28 29 30 31 24 25 26 27 28 24 25 26 27 28 29 30 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 1 7 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8 14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15 21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22 28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 7 7 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14 14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21 21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28 28 29 30 31 25 26 27 28 29 30 31 29 30 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 1 2 1 2 3 4 5 6 7 6 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14 13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21 20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28 27 28 29 30 31 24 25 26 27 28 29 30 29 30 31 [root@node101.yinzhengjie.org.cn ~]#
设置时间格式(需要管理员权限): data [MMDDhhmm [[CC]YY][.ss]] + format CC为年前两位 yy为年的后两位 前两位的mm为月 后两位的mm为分钟 dd为天 hh为小时 ss微妙 如:data 010203042016.55 [root@node101.yinzhengjie.org.cn ~]# date Tue May 21 07:42:33 PDT 2019 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# date \'+%F\' 2019-05-21 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# date \'+%y,%m,%d,%H,%M,%S\' 19,05,21,07,43,04 [root@node101.yinzhengjie.org.cn ~]#
进程是一个具有独立功能的程序,它是操作系统动态执行的基本单元。 ps命令可以查看进程的详细状况,常用选项(选项不可用加“-”)如下: -a : 显示终端上的所有进程,包括其他用户的进程。 -u : 显示进程的详细状态 -x : 显示没有控制终端的进程 -w : 显示加宽,以便显示更多的信息 -r : 只显示正在运行的进程 [root@node101.yinzhengjie.org.cn ~]# ps -a PID TTY TIME CMD 11044 pts/0 00:00:00 ps [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 125284 3724 ? Ss 06:01 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 06:01 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 06:01 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 06:01 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 06:01 0:00 [kworker/u256:0] root 7 0.0 0.0 0 0 ? S 06:01 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 06:01 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? S 06:01 0:01 [rcu_sched] root 10 0.0 0.0 0 0 ? S< 06:01 0:00 [lru-add-drain] root 11 0.0 0.0 0 0 ? S 06:01 0:00 [watchdog/0] root 12 0.0 0.0 0 0 ? S 06:01 0:00 [watchdog/1] root 13 0.0 0.0 0 0 ? S 06:01 0:00 [migration/1] root 14 0.0 0.0 0 0 ? S 06:01 0:00 [ksoftirqd/1] root 16 0.0 0.0 0 0 ? S< 06:01 0:00 [kworker/1:0H] root 18 0.0 0.0 0 0 ? S 06:01 0:00 [kdevtmpfs] root 19 0.0 0.0 0 0 ? S< 06:01 0:00 [netns] root 20 0.0 0.0 0 0 ? S 06:01 0:00 [khungtaskd] root 21 0.0 0.0 0 0 ? S< 06:01 0:00 [writeback] root 22 0.0 0.0 0 0 ? S< 06:01 0:00 [kintegrityd] root 23 0.0 0.0 0 0 ? S< 06:01 0:00 [bioset] root 24 0.0 0.0 0 0 ? S< 06:01 0:00 [bioset] root 25 0.0 0.0 0 0 ? S< 06:01 0:00 [bioset] root 26 0.0 0.0 0 0 ? S< 06:01 0:00 [kblockd] root 27 0.0 0.0 0 0 ? S< 06:01 0:00 [md] root 28 0.0 0.0 0 0 ? S< 06:01 0:00 [edac-poller] root 29 0.0 0.0 0 0 ? S< 06:01 0:00 [watchdogd] root 35 0.0 0.0 0 0 ? S 06:01 0:00 [kswapd0] root 36 0.0 0.0 0 0 ? SN 06:01 0:00 [ksmd] root 38 0.0 0.0 0 0 ? S< 06:01 0:00 [crypto] root 46 0.0 0.0 0 0 ? S< 06:01 0:00 [kthrotld] root 48 0.0 0.0 0 0 ? S< 06:01 0:00 [kmpath_rdacd] root 49 0.0 0.0 0 0 ? S< 06:01 0:00 [kaluad] root 50 0.0 0.0 0 0 ? S< 06:01 0:00 [kpsmoused] root 51 0.0 0.0 0 0 ? S 06:01 0:00 [kworker/0:2] root 52 0.0 0.0 0 0 ? S< 06:01 0:00 [ipv6_addrconf] root 66 0.0 0.0 0 0 ? S< 06:01 0:00 [deferwq] root 97 0.0 0.0 0 0 ? S 06:01 0:00 [kauditd] root 384 0.0 0.0 0 0 ? S 06:01 0:02 [kworker/1:2] root 2598 0.0 0.0 0 0 ? S< 06:01 0:00 [nfit] root 2864 0.0 0.0 0 0 ? S< 06:01 0:00 [ata_sff] root 2875 0.0 0.0 0 0 ? S< 06:01 0:00 [mpt_poll_0] root 2882 0.0 0.0 0 0 ? S< 06:01 0:00 [mpt/0] root 2980 0.0 0.0 0 0 ? S 06:01 0:00 [scsi_eh_0] root 2991 0.0 0.0 0 0 ? S< 06:01 0:00 [scsi_tmf_0] root 3047 0.0 0.0 0 0 ? S 06:01 0:00 [kworker/u256:2] root 3048 0.0 0.0 0 0 ? S 06:01 0:00 [scsi_eh_1] root 3052 0.0 0.0 0 0 ? S< 06:01 0:00 [scsi_tmf_1] root 3054 0.0 0.0 0 0 ? S 06:01 0:00 [scsi_eh_2] root 3055 0.0 0.0 0 0 ? S< 06:01 0:00 [scsi_tmf_2] root 3080 0.0 0.0 0 0 ? S< 06:01 0:00 [ttm_swap] root 3091 0.0 0.0 0 0 ? S 06:01 0:00 [irq/16-vmwgfx] root 4153 0.0 0.0 0 0 ? S< 06:01 0:00 [kworker/0:1H] root 4171 0.0 0.0 0 0 ? S< 06:01 0:00 [bioset] root 4173 0.0 0.0 0 0 ? S< 06:01 0:00 [xfsalloc] root 4179 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs_mru_cache] root 4188 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-buf/sda3] root 4189 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-data/sda3] root 4191 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-conv/sda3] root 4192 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-cil/sda3] root 4193 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-reclaim/sda] root 4194 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-log/sda3] root 4195 0.0 0.0 0 0 ? S< 06:01 0:00 [xfs-eofblocks/s] root 4197 0.0 0.0 0 0 ? S 06:01 0:00 [xfsaild/sda3] root 4265 0.0 0.0 0 0 ? S< 06:01 0:00 [kworker/1:1H] root 4266 0.0 0.0 39076 3048 ? Ss 06:01 0:00 /usr/lib/systemd/systemd-journald root 4298 0.0 0.0 45104 2512 ? Ss 06:01 0:01 /usr/lib/systemd/systemd-udevd root 7786 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-buf/sda1] root 7789 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-data/sda1] root 7797 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-conv/sda1] root 7801 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-cil/sda1] root 7803 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-reclaim/sda] root 7805 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-log/sda1] root 7810 0.0 0.0 0 0 ? S< 06:02 0:00 [xfs-eofblocks/s] root 7835 0.0 0.0 0 0 ? S 06:02 0:00 [xfsaild/sda1] root 8544 0.0 0.0 0 0 ? S< 06:02 0:00 [kvm-irqfd-clean] root 8615 0.0 0.0 55520 900 ? S<sl 06:02 0:00 /sbin/auditd polkitd 8639 0.0 0.3 612228 12116 ? Ssl 06:02 0:00 /usr/lib/polkit-1/polkitd --no-debug root 8646 0.0 0.0 21676 1304 ? Ss 06:02 0:00 /usr/sbin/irqbalance --foreground dbus 8647 0.0 0.0 58228 2480 ? Ss 06:02 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation chrony 8649 0.0 0.0 117784 1816 ? S 06:02 0:00 /usr/sbin/chronyd root 8655 0.0 0.2 475864 10520 ? Ssl 06:02 0:00 /usr/sbin/NetworkManager --no-daemon root 8656 0.0 0.0 26376 1752 ? Ss 06:02 0:00 /usr/lib/systemd/systemd-logind root 8660 0.0 0.0 126288 1596 ? Ss 06:02 0:00 /usr/sbin/crond -n root 8917 0.0 0.1 112860 4300 ? Ss 06:02 0:00 /usr/sbin/sshd -D root 8919 0.0 0.4 573928 17076 ? Ssl 06:02 0:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P root 8923 0.0 0.4 387212 15504 ? Ss 06:02 0:00 /usr/sbin/httpd -DFOREGROUND root 8932 0.0 0.3 216408 14024 ? Ssl 06:02 0:00 /usr/sbin/rsyslogd -n root 8936 0.0 0.0 110092 864 tty1 Ss+ 06:02 0:00 /sbin/agetty --noclear tty1 linux zabbix 9041 0.0 0.0 80896 1244 ? S 06:02 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf mysql 9043 0.0 0.0 113312 1624 ? Ss 06:02 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr zabbix 9063 0.0 0.0 80896 1456 ? S 06:02 0:02 /usr/sbin/zabbix_agentd: collector [idle 1 sec] zabbix 9064 0.0 0.0 81020 2504 ? S 06:02 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] zabbix 9065 0.0 0.0 81020 2512 ? S 06:02 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] zabbix 9066 0.0 0.0 81020 2504 ? S 06:02 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] zabbix 9067 0.0 0.0 81028 2224 ? S 06:02 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec] mysql 9252 0.3 3.4 1426124 133540 ? Sl 06:02 0:21 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld. zabbix 9303 0.0 0.1 184964 4312 ? S 06:02 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf apache 9418 0.0 0.1 387344 7720 ? S 06:02 0:00 /usr/sbin/httpd -DFOREGROUND apache 9419 0.0 0.1 387344 7720 ? S 06:02 0:00 /usr/sbin/httpd -DFOREGROUND apache 9420 0.0 0.1 387344 7720 ? S 06:02 0:00 /usr/sbin/httpd -DFOREGROUND apache 9421 0.0 0.1 387344 7720 ? S 06:02 0:00 /usr/sbin/httpd -DFOREGROUND apache 9422 0.0 0.1 387344 7720 ? S 06:02 0:00 /usr/sbin/httpd -DFOREGROUND zabbix 9603 0.0 0.0 184964 3460 ? S 06:02 0:00 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.009398 sec, idle 60 sec] zabbix 9604 0.0 0.0 185212 3340 ? S 06:02 0:00 /usr/sbin/zabbix_server: housekeeper [deleted 0 hist/trends, 0 items/triggers, 0 events, 0 sessions, 0 alarms, 0 audit items in 0.011049 sec, idle for 1 hour(s) zabbix 9605 0.0 0.0 184964 3048 ? S 06:02 0:00 /usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.000585 sec, idle 59 sec] zabbix 9606 0.0 0.0 184964 3048 ? S 06:02 0:00 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.000539 sec, idle 5 sec] zabbix 9607 0.0 0.1 289436 5440 ? S 06:02 0:00 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000471 sec, idle 60 sec] zabbix 9608 0.0 0.1 185184 3876 ? S 06:02 0:01 /usr/sbin/zabbix_server: history syncer #1 [processed 1 values, 1 triggers in 0.002308 sec, idle 1 sec] zabbix 9609 0.0 0.0 185052 3844 ? S 06:02 0:01 /usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0 triggers in 0.000010 sec, idle 1 sec] zabbix 9611 0.0 0.1 185160 3864 ? S 06:02 0:01 /usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000012 sec, idle 1 sec] zabbix 9613 0.0 0.1 185200 3900 ? S 06:02 0:01 /usr/sbin/zabbix_server: history syncer #4 [processed 0 values, 0 triggers in 0.000009 sec, idle 1 sec] zabbix 9614 0.0 0.1 184964 3976 ? S 06:02 0:01 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.002564 sec, idle 3 sec] zabbix 9616 0.0 0.1 184964 3976 ? S 06:02 0:00 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000029 sec, idle 5 sec] zabbix 9617 0.0 0.0 184964 2776 ? S 06:02 0:00 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000015 sec, idle 1 sec] zabbix 9618 0.0 0.0 184964 3072 ? S 06:02 0:00 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.000317 sec, idle 5 sec] zabbix 9619 0.0 0.1 292644 5660 ? S 06:02 0:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000009 sec, idle 1 sec] zabbix 9621 0.0 0.1 292644 5656 ? S 06:02 0:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000015 sec, idle 1 sec] zabbix 9622 0.0 0.1 292644 5660 ? S 06:02 0:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000008 sec, idle 1 sec] zabbix 9623 0.0 0.1 292780 6164 ? S 06:02 0:00 /usr/sbin/zabbix_server: poller #4 [got 1 values in 0.000076 sec, idle 1 sec] zabbix 9624 0.0 0.1 292780 6184 ? S 06:02 0:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000025 sec, idle 1 sec] zabbix 9625 0.0 0.1 292628 5660 ? S 06:02 0:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000122 sec, idle 1 sec] zabbix 9626 0.0 0.0 184964 3764 ? S 06:02 0:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection] zabbix 9627 0.0 0.1 185064 4244 ? S 06:02 0:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.005613 sec, waiting for connection] zabbix 9628 0.0 0.1 185064 4244 ? S 06:02 0:00 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.001459 sec, waiting for connection] zabbix 9629 0.0 0.1 185064 4228 ? S 06:02 0:00 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.020969 sec, waiting for connection] zabbix 9630 0.0 0.1 185064 4248 ? S 06:02 0:00 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.001729 sec, waiting for connection] zabbix 9632 0.0 0.0 188272 2788 ? S 06:02 0:00 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000041 sec, idle 5 sec] zabbix 9633 0.0 0.0 184964 3480 ? S 06:02 0:01 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.005270 sec during 5.005341 sec] zabbix 9634 0.0 0.0 184964 2668 ? S 06:02 0:00 /usr/sbin/zabbix_server: alerter #1 started zabbix 9635 0.0 0.0 184964 2668 ? S 06:02 0:00 /usr/sbin/zabbix_server: alerter #2 started zabbix 9636 0.0 0.0 184964 2668 ? S 06:02 0:00 /usr/sbin/zabbix_server: alerter #3 started zabbix 9637 0.0 0.0 184964 3452 ? S 06:02 0:00 /usr/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 4 values, idle 5.005124 sec during 5.005194 sec] zabbix 9638 0.0 0.0 184964 2864 ? S 06:02 0:00 /usr/sbin/zabbix_server: preprocessing worker #1 started zabbix 9641 0.0 0.0 184964 2864 ? S 06:02 0:00 /usr/sbin/zabbix_server: preprocessing worker #2 started zabbix 9642 0.0 0.0 184964 2740 ? S 06:02 0:00 /usr/sbin/zabbix_server: preprocessing worker #3 started root 9716 0.0 0.0 0 0 ? S 06:07 0:01 [kworker/0:0] root 9885 0.0 0.0 0 0 ? S 06:22 0:00 [kworker/0:1] root 10411 0.0 0.1 154656 5392 ? Ds 07:05 0:00 sshd: root@pts/0 root 10413 0.0 0.0 115440 2124 pts/0 Ss 07:05 0:00 -bash root 10513 0.0 0.0 0 0 ? S 07:08 0:00 [kworker/1:1] root 11045 0.0 0.0 155360 1892 pts/0 R+ 07:46 0:00 ps -aux [root@node101.yinzhengjie.org.cn ~]#
top米糠了用来动态显示运行中的进程。top明看来能够在运行后,在指定的时间间隔更新显示信息。可以在使用top命令是加上-d<INTERVAL>来指定显示信息更新的间隔。 在top命令执行后,可以按以下键得到对显示的结果进行排序: M : 根据内存使用量来排序; P : 根据CPU占有率来排序; T : 根据进程运行时间的长短来排序; U : 可以根据后面输入的用户名来筛选进程; K : 可以根据后面输入的PID来杀死进程。 q : 退出top命令 h : 获得帮助 [root@node101.yinzhengjie.org.cn ~]# top top - 07:50:28 up 1:48, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 141 total, 1 running, 140 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 3.1 sy, 0.0 ni, 96.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 3861508 total, 3336792 free, 294324 used, 230392 buff/cache KiB Swap: 2098172 total, 2098172 free, 0 used. 3308200 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 125284 3724 2564 S 0.0 0.1 0:01.45 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 6 root 20 0 0 0 0 S 0.0 0.0 0:00.06 kworker/u256:0 7 root rt 0 0 0 0 S 0.0 0.0 0:00.06 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:01.03 rcu_sched 10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain 11 root rt 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0 12 root rt 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/1 13 root rt 0 0 0 0 S 0.0 0.0 0:00.05 migration/1 14 root 20 0 0 0 0 S 0.0 0.0 0:00.06 ksoftirqd/1 16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd 21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback 22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd 23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset 24 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset 25 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset 26 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd 27 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md 28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 edac-poller 29 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 watchdogd 35 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0 36 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd 38 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto 46 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kthrotld 48 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kmpath_rdacd 49 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kaluad 50 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kpsmoused 51 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kworker/0:2 [root@node101.yinzhengjie.org.cn ~]# q
kill命令指定进程号的进程,需要配合ps使用。 使用格式: kill [-signal] pid 信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。
(1)用户可以将一个前台执行的成调入后台执行,方法为:命令 & (2)如果程序已经在执行,ctrl+z 可以将程序调入后台 (3)jobs查看后台运行程序 (4)fg编号(编号为通过jobs查看的编号),将后台运行程序调出到前台 [root@node101.yinzhengjie.org.cn ~]# sleep 100 & [1] 11180 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# jobs [1]+ Running sleep 100 & [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# fg sleep 100
reboot : 重新启动操作系统 shutdown -r now : 重新启动操作系统,shutdown会给出用户提示。 shutdonw -h now : 立刻关机,其中now相当于时间为0的状态。 shutdown -h 20:35 : 操作系统在今天的20:35会关机 shutdown -h +10 : 系统在过十分钟后会自动关机 init 0 : 关机 init 6 : 重启
在redhat品天天下,可通过命令进行切换 init 3 : 切换到字符界面 init 5 : 切换到图形界面 通过快捷键切换(适用大部分平台): ctrl + Alt + F2 : 切换到字符界面 ctrl + Alt + F7 : 切换到图形界面
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘的使用情况。 -a : 显示所有文件系统磁盘使用情况 -m : 以1024字节为单位显示 -t<FS> : 显示指定文件系统的磁盘空间使用情况 -T :显示文件系统 [root@node101.yinzhengjie.org.cn ~]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda3 xfs 49997976 3591144 46406832 8% / devtmpfs devtmpfs 1919896 0 1919896 0% /dev tmpfs tmpfs 1930752 0 1930752 0% /dev/shm tmpfs tmpfs 1930752 11920 1918832 1% /run tmpfs tmpfs 1930752 0 1930752 0% /sys/fs/cgroup /dev/sda1 xfs 303780 122816 180964 41% /boot tmpfs tmpfs 386152 0 386152 0% /run/user/0 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# df -a Filesystem 1K-blocks Used Available Use% Mounted on rootfs - - - - / sysfs 0 0 0 - /sys proc 0 0 0 - /proc devtmpfs 1919896 0 1919896 0% /dev securityfs 0 0 0 - /sys/kernel/security tmpfs 1930752 0 1930752 0% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 1930752 11920 1918832 1% /run tmpfs 1930752 0 1930752 0% /sys/fs/cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd pstore 0 0 0 - /sys/fs/pstore cgroup 0 0 0 - /sys/fs/cgroup/memory cgroup 0 0 0 - /sys/fs/cgroup/pids cgroup 0 0 0 - /sys/fs/cgroup/freezer cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio cgroup 0 0 0 - /sys/fs/cgroup/devices cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct cgroup 0 0 0 - /sys/fs/cgroup/hugetlb cgroup 0 0 0 - /sys/fs/cgroup/perf_event cgroup 0 0 0 - /sys/fs/cgroup/cpuset cgroup 0 0 0 - /sys/fs/cgroup/blkio configfs 0 0 0 - /sys/kernel/config /dev/sda3 49997976 3591144 46406832 8% / systemd-1 - - - - /proc/sys/fs/binfmt_misc debugfs 0 0 0 - /sys/kernel/debug hugetlbfs 0 0 0 - /dev/hugepages mqueue 0 0 0 - /dev/mqueue /dev/sda1 303780 122816 180964 41% /boot tmpfs 386152 0 386152 0% /run/user/0 binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/sda3 48827 3507 45320 8% / devtmpfs 1875 0 1875 0% /dev tmpfs 1886 0 1886 0% /dev/shm tmpfs 1886 12 1874 1% /run tmpfs 1886 0 1886 0% /sys/fs/cgroup /dev/sda1 297 120 177 41% /boot tmpfs 378 0 378 0% /run/user/0 [root@node101.yinzhengjie.org.cn ~]#
du名利用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用情况。 du命令的使用格式如下: du [选项] 目录或者文件名称 -a : 递归显示指定目录中各个文件和子目录中占用的数据块。 -s : 显示指定或目录占用的数据块。 -b : 以字节为单位显示磁盘占用情况。 -l : 计算所有文件大小,对硬链接文件计算多次 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# du -s /home/ 683048 /home/ [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# du 0 ./.pki/nssdb 0 ./.pki 4 ./.ssh 187384 . [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# du -a 4 ./.bash_logout 4 ./.bash_profile 4 ./.bashrc 4 ./.cshrc 4 ./.tcshrc 8 ./.bash_history 187324 ./jdk-8u201-linux-x64.tar.gz 12 ./jce_policy-8.zip 0 ./.pki/nssdb 0 ./.pki 8 ./mysql-community-release-el7-5.noarch.rpm 4 ./.mysql_history 4 ./.ssh/known_hosts 4 ./.ssh 4 ./.lesshst 187384 . [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# du -b 6 ./.pki/nssdb 25 ./.pki 226 ./.ssh 191840543 . [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# du -l 0 ./.pki/nssdb 0 ./.pki 4 ./.ssh 187384 . [root@node101.yinzhengjie.org.cn ~]#
mkfs命令相当于DOS/Windows系统中的格式化命令,用于创建指定的文件系统。 使用格式如下: mkfs [选项] 设备文件名 [blocks] -V : 详细显示模式。 -t<.fs> : 指定文件系统类型,默认值为ext2 -c : 在创建文件系统的同时,进行磁盘损坏块检查 blocks : 文件系统块大小。
在Linux操作系统下,几乎所有的软件均通过RPM进行安装,卸载及管理等操作。RPM的全称为Redhat Package manager,是犹Redhat公司提出的,用于管理Linux下软件包的软件。它是一款软件打包发现并且实现自动安装的进程序,需要用rpm成包安装的软件包,其后缀是rpm,并通过这种陈旭包进行安装,卸载和维护 rpm命令的使用格式如下: rpm [选项] [软件包名] -i : 指定安装的软件包 -h : 使用“#”显示详细的安装过程及进度 -v : 显示安装的详细信息 -q : 查询系统是否已安装指定的软件包 -a : 查看系统已安装的所有软件包 -e : 卸载软件包 --nodeps : 配合-e参数使用,轻质卸载不检查依赖项 --norce : 轻质操作,如轻质安装删除等。 [root@node101.yinzhengjie.org.cn ~]# rpm -qa | grep gcc gcc-4.8.5-36.el7_6.2.x86_64 libgcc-4.8.5-36.el7_6.2.x86_64 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# rpm -e gcc-4.8.5-36.el7_6.2.x86_64 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# rpm -qa | grep gcc libgcc-4.8.5-36.el7_6.2.x86_64 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
我们可以通过ifconfig配置问了参数: (1)只有root才能用ifconfig配置参数,其他用户只能查看网络配置; (2)ifconfig 网络接口名称 [地址协议类型] [ADDRESS] [参数]; (3)地址协议类型如:inet(IPV4),inet6(IPv6)等 (4)如:ifconfig eth0 inet 192.168.10.254 netmask 255.255.255.0 up 常用参数: -a : 显示所有网络接口状态 inet [ip地址] : 设置IP地址 netmask [子网掩码] : 设置子网掩码 up : 启用网络接口 down : 关闭网络接口 [root@node101.yinzhengjie.org.cn ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.30.1.101 netmask 255.255.255.0 broadcast 172.30.1.255 ether 00:0c:29:fe:9b:ef txqueuelen 1000 (Ethernet) RX packets 2672 bytes 242861 (237.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3692 bytes 402780 (393.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 50956 bytes 3037128 (2.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 50956 bytes 3037128 (2.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@node101.yinzhengjie.org.cn ~]# 字段说明: eth0 : 网络接口名称 Link encap : 链路封装协议 Hwaddr : 网络接口的MAC地址 Inet addr : IP地址 Bcast : 广播地址 Mask : 子网掩码 UP : 网络接口状态标识,UP已经启用,DOWN已经停用 BROADCAST : 广播标识,标识网络接口是否支持广播 RUNNIG : 传输标识,标识网络接口是否已经开始传输分组数据 MULICAST : 多播标识,标识完了接口是否支持多播。 MUT,Metric : MTU:最大传输单位,单位:字节。Metric:度量值,用于RIP简历网络路由用。 RX bytes : 接收数据字节统计。 TX bytes : 发送数据字节统计。 注意: ifconfig配置的网络参数在内存中,计算机重新启动之后就失效了,如果需要持久有效就需要修改网络接口的配置文件: 比如,redhat修改“/etc/sysconfig/network-scripts/ifcfg-eth0”文件对应的“IPADDR”和“GATEWAY”相关参数。 而ubantu修改"/etc/NetworkManager/system-connections/Wired connection1"文件对应的“method=manual”和“addresses1=IP地址;24;默认网关”
(1)ping通过ICMP协议向远程主机发送ECHO_REQUEST请求,期望主机恢复ECHO_REPLY消息 (2)通过ping命令可以坚持是否与远程主机上建立TCP/IP连接 使用方法,ping [参数] 远程主机 IP地址 -a : 每次响应是都发出警示声音 -A : 表示以实际往返响应时间为间隔,连续发送消息 -f : 连续不断发送消息,不管是否收到消息 -n : 只显示主机IP,不需要把IP解释成主机名 -c : 发送指定次数数据报文信息后停止 -i : 每次发送消息时间间隔,默认是一秒,ping -i 2 -s : 分组数据大小,默认56字节 -w : 以秒为单位的超时值,一旦超时,就立即停止 [root@node101.yinzhengjie.org.cn ~]# ping -c 5 172.30.1.254 PING 172.30.1.254 (172.30.1.254) 56(84) bytes of data. bytes from 172.30.1.254: icmp_seq=1 ttl=128 time=0.094 ms bytes from 172.30.1.254: icmp_seq=2 ttl=128 time=0.138 ms bytes from 172.30.1.254: icmp_seq=3 ttl=128 time=0.140 ms bytes from 172.30.1.254: icmp_seq=4 ttl=128 time=0.187 ms bytes from 172.30.1.254: icmp_seq=5 ttl=128 time=0.163 ms --- 172.30.1.254 ping statistics --- packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 0.094/0.144/0.187/0.032 ms [root@node101.yinzhengjie.org.cn ~]#
route可以增加,修改,显示路由信息,使用格式如下: route [-V] [-A family] add default [gw 默认网关地址] [[dev interface]] add : 增加路由信息 del : 删除路由信息 -v : 显示理由信息 -A : 指定网络协议inet(IPV4),int6(IPV6) gw : 指定默认网关地址 dev : 指定网络接口 [root@node101.yinzhengjie.org.cn ~]# route add default gw 172.30.1.254 dev eth0 [root@node101.yinzhengjie.org.cn ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.30.1.254 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 172.30.1.254 0.0.0.0 UG 100 0 0 eth0 172.30.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]#
netstat命令监控网络状态,包括接口设置,IP路由,各种网络协议的统计netstat输出信息说明如下: Proto : 协议,如:TCP/UDP Recv-Q : 尚未读取的数据字节数 Send-Q : 尚未发送的数据字节数 [root@node101.yinzhengjie.org.cn ~]# netstat -untalp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8923/httpd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8917/sshd tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9041/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 9303/zabbix_server tcp 0 0 127.0.0.1:10050 127.0.0.1:43048 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43042 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43072 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43064 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43046 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43078 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43014 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43044 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43028 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43036 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43058 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43070 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43080 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43020 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43008 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43034 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43060 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43010 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43040 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43026 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43016 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43012 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43074 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43022 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43038 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43056 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43030 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43052 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43032 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43068 TIME_WAIT - tcp 0 52 172.30.1.101:22 172.30.1.1:51250 ESTABLISHED 10411/sshd: root@pt tcp 0 0 127.0.0.1:10050 127.0.0.1:43018 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43076 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43066 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43050 TIME_WAIT - tcp 0 0 127.0.0.1:10050 127.0.0.1:43024 TIME_WAIT - tcp6 0 0 :::3306 :::* LISTEN 9252/mysqld tcp6 0 0 :::22 :::* LISTEN 8917/sshd tcp6 0 0 :::10050 :::* LISTEN 9041/zabbix_agentd tcp6 0 0 :::10051 :::* LISTEN 9303/zabbix_server udp 0 0 127.0.0.1:323 0.0.0.0:* 8649/chronyd udp6 0 0 ::1:323 :::* 8649/chronyd [root@node101.yinzhengjie.org.cn ~]#
四.编辑器