Linux---------安装以及基本语法知识

Linux简介

2.1.1.1 UNIX与Linux发展史

Unix在1969年,美国贝尔实验室的肯汤普森在DEC PDP-7机器上开发出了UNIX系统。

Linux出现于1991年,是由芬兰赫尔辛基大学学生李纳斯·托瓦兹(Linus Torvalds)和后来加入的众多爱好者共同开发完成 。

2.1.1.2 Linux介绍

Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux发行版本,但它们都使用了Linux内核。

Linux内核网站:[www.kernel.org](http://www.kernel.org)

2.1.1.3 Linux应用领域

Linux企业服务器

嵌入式系统:Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、智能家电等嵌入式系统。

电影娱乐行业:电影后期特效处理。

2.1.1.4 Linux特点

开源,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能

2.1.1.5 服务器不使用图形化界面

原因:1) 图形化占用资源

  1. 机房部署方便,无需配置操作界面

2.1.2 常用的Linux版本

2.1.2.1 Linux两大阵营

Redhat系列 redhat,suse,CentOS,Fedora等

Debian系列 debian,ubuntu等

区别: 命令细微的区别; 安装方式

Red Hat:RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server收费版本. 红帽企业级Linux

Fedora Core:由原来的Redhat桌面版本发展而来,免费版本

CentOs:RHEL的社区克隆版本,免费

SuSe:最华丽的Linux发行版, 企业服务器端 X windows和程序应用方面做的确实不错。尤其与Microsoft的合作关系,应该是在所有的Linux发行版本中最亲密的。

Debian运行起来极其稳定,这使得它非常适合用于服务器

Ubuntu:是Debian的一款衍生版,也是当今最受欢迎的免费操作系统, 最流行的linux桌面系

Fedora: 想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。

2.1.2.2 CentOS社区版介绍

主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS

免费:RedHat 和CentOS差别不大,CentOS是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本

更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!

CentOS官网:http://www.centos.org/

CentOS搜狐镜像:http://mirrors.sohu.com/centos/

CentOS网易镜像:http://mirrors.163.com/centos/

基于内核,再增加一些桌面,应用程序,就可以发行,称为开发版。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8XqNHPVp-1582718515454)(linux-01.assets/image-20190428011539236.png)]

2.1.3 Vmvare的安装

安装环境:Windows7/win10 , VMware Workstation11/14/15或者Parallels Desktop(PD), CentOS 6.9

2.1.3.1 VMware介绍

VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC ,以此来实现在一台机器上真正同时运行两个独立的操作系统 。

VMware主要特点:

1.不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统

2.本机系统可以与虚拟机系统网络通信

3.可以设定并且随时修改虚拟机操作系统的硬件环境

2.1.3.2 安装注意事项

1.安装路径下不能有中文,空格,特殊符号(尽量不要安装在C盘)

2.如果想要卸载重新安装,双击其安装文件,选择卸载软件,尽量不要手动去删除其安装目录

3.如果使用手动删除VMware的安装目录进行卸载,要自行删除注册表中VMware的相关信息

2.1.4 Centos的安装

2.1.4.1 准备事项

在bios里面设置虚拟化 将 inter technology vatuializtion设置成 enable

虚拟机:VMware workstation

虚拟机版本:CentOS-6.9-x86_64-bin-DVD1.iso

电脑: 笔记本或者台式机

系统版本: win7 win8.1 win10 mac 等操作系统

2.1.4.2 安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wkiEbDHQ-1582718515456)(linux-01.assets/image1.png)] 选择 新建虚拟机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MGxMxjWS-1582718515457)(linux-01.assets/image2.png)] 选择 自定义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GoCEDAxB-1582718515458)(linux-01.assets/image3.png)] 选择 稍后安装操作系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QC7s88tK-1582718515459)(linux-01.assets/image4.png)] 选择 linux Centos64位
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mKwsjU0K-1582718515460)(linux-01.assets/image5.png)] 选定存储地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rQbFt8yB-1582718515472)(linux-01.assets/image6.png)] Cpu颗数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYx4rxTn-1582718515473)(linux-01.assets/image7.png)] 默认内存1g
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtseiAIa-1582718515474)(linux-01.assets/image8.png)] 选择nat模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lSM5qXR8-1582718515475)(linux-01.assets/image9.png)] 默认
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EP6VQ2Ue-1582718515476)(linux-01.assets/image10.png)] 默认
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nP12Bw0L-1582718515477)(linux-01.assets/image11.png)] 磁盘50G
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xlizvnKL-1582718515482)(linux-01.assets/image12.png)] 默认
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kb6FpOZK-1582718515483)(linux-01.assets/image13.png)] 完成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xn2FEg7Y-1582718515484)(linux-01.assets/image14.png)] 编辑虚拟机设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-viez3WFA-1582718515486)(linux-01.assets/image15.png)] 选择ISO镜像文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WilhLM0r-1582718515492)(linux-01.assets/image16.png)] s开机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GjbjsGZ-1582718515511)(linux-01.assets/image17.png)] 选 第一个
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7xKISZaj-1582718515512)(linux-01.assets/image18.png)] Skip跳过
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjAbKZHR-1582718515513)(linux-01.assets/image19.png)] 下一步
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SRN6rH29-1582718515514)(linux-01.assets/image20.png)] 英语
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IoNxE2u-1582718515516)(linux-01.assets/image21.png)] 英语
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0QXFUg2t-1582718515517)(linux-01.assets/image22.png)] 选择基础存储设备
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-skEFlBZh-1582718515519)(linux-01.assets/image23.png)] 不保存任何数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9bJ2Vqhx-1582718515526)(linux-01.assets/image24.png)] 主机名称 默认
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVIoonWp-1582718515527)(linux-01.assets/image25.png)] 时区 选 亚洲 上海
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fjQwt8a5-1582718515528)(linux-01.assets/image26.png)] Root 管理员密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KsvCHuEx-1582718515529)(linux-01.assets/image27.png)] 选择自定义磁盘
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qvb6DH5l-1582718515530)(linux-01.assets/image28.png)] 创建分区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84IhUt1A-1582718515531)(linux-01.assets/image29.png)] 创建boot分区 一般300Mb
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-00he7qsk-1582718515533)(linux-01.assets/image30.png)] 创建swap分区 一般是内存的2倍
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-61HPrv8u-1582718515534)(linux-01.assets/image31.png)] 创建/ 根分区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xx6QxuLW-1582718515535)(linux-01.assets/image32.png)] 格式化硬盘
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-unxvzIZ5-1582718515536)(linux-01.assets/image33.png)] 下一步
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ePIUKBIN-1582718515537)(linux-01.assets/image34.png)] 桌面即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7kLd2avo-1582718515539)(linux-01.assets/image35.png)] 可以自定义安装包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtLStyu4-1582718515546)(linux-01.assets/image36.png)] 在语言上 选中中文支持
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z2ktdUke-1582718515547)(linux-01.assets/image37.png)] 重启
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9H7rAj8J-1582718515549)(linux-01.assets/image38.png)] 继续
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cKopRUkK-1582718515550)(linux-01.assets/image39.png)] 同意
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZL6zBr1m-1582718515551)(linux-01.assets/image40.png)] 继续
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gBW77eI9-1582718515552)(linux-01.assets/image41.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xvE7PUw0-1582718515553)(linux-01.assets/image42.png)] 日历
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gMML4Q20-1582718515553)(linux-01.assets/image43.png)] 完成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rJAORFGN-1582718515554)(linux-01.assets/image44.png)] 登录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yT7o9FM-1582718515555)(linux-01.assets/image45.png)] 完成
一些学习方法推荐

转变思维习惯
图形化界面/鼠标 ===〉 命令/键盘

Linux 与windows 主要区别:
Linux严格区分大小写
Linux中一切皆文件
Linux 不区分扩展名  扩展名是为了让管理员使用

不惧英文  勇往直前
记住常用英文
command not found   Permission denied

动起来 练习
多练多练多练  
命令要敲的999,虚拟机环境可以随意折腾

2.1.5 Linux目录结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TLcvDrMF-1582718515556)(linux-01.assets/image-20190428011622814.png)]

2.1.6 Linux各目录的作用

/bin: (binaries) 存放系统命令的目录,所有用户都可以执行。

/sbin: (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。

/usr/bin: 存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行

/usr/sbin: 存放根文件系统不必要的系统管理命令,超级用户可执行

/root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户

/cd: 用户缺省宿主目录 eg:/home/spark

/tmp: (temporary)存放临时文件

/etc: (etcetera)系统配置文件

/usr: (unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等

/proc: 虚拟文件系统,数据保存在内存中,存放当前进程信息

/boot: 系统启动目录

/dev: (devices)存放设备文件

/sys: 虚拟文件系统,数据保存在内存中,主要保存于内存相关信息

/lib: 存放系统程序运行所需的共享库

/lost+found: 存放一些系统出错的检查结果。

/var: (variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等

/mnt: (mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录

/media: 挂载目录。 挂载媒体设备,如软盘和光盘

/misc: 挂载目录。 挂载NFS服务

/opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下

/srv: 服务数据目录

2.1.7 VMvare的三种网络连接

2.1.7.1 子网掩码

子网掩码作用:用来指定当前机器属于哪个ip号段的

判断方式:将当前的ip的二进制按位与子网掩码的二进制等于网段地址

如: 192.168.1.2 & 255.255.255.0 = 192.168.1.0

2.1.7.2 互联网DNS服务器的域名访问机制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZvapcHtI-1582718515565)(linux-01.assets/image31-0745661.png)]

2.1.7.3 相关概念
  1. 路由器

路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/ IP网络连接到因特网上。

  1. 交换机

交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。

  1. Modem

调制解调器(英文名Modem),俗称“猫”,是一种计算机硬件.它能把计算机的数字信号翻译成可沿普通电话线传送的脉冲信号,而这些脉冲信号又可被线路另一端的另一个调制解调器接收,并译成计算机可懂的语言。

计算机内的信息是由“0”和“1”组成数字信号,而在电话线上传递的却只能是模拟电信号。于是,当两台计算机要通过电话线进行数据传输时,就需要一个设备负责数模的转换。

  1. 虚拟机

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。

2.1.7.4 虚拟机网络连接方式

安装完虚拟机后,默认安装了如下图的两块虚拟网卡——VMnet1和VMnet8,其中VMnet1是host网卡,用于host方式连接网络;VMnet8是NAT网卡,用于NAT方式连接网络的,并且它们的IP地址是随机生成的。

VMware提供了三种工作模式,分别是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(仅主机模式)。

VMware所在主机的设置,见下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4HvPjDpD-1582718515572)(linux-01.assets/local.png)]

1) bridged(桥接模式)

在这种模式下,使用VMnet0虚拟交换机,虚拟操作系统就像是局域网中的一台独立的主机,与宿主计算机一样,它可以访问网内任何一台机器。在桥接模式下,可以手工配置它的TCP/IP配置信息(IP、子网掩码等,而且还要和宿主机器处于同一网段),以实现通过局域网的网关或路由器访问互联网,还可以将IP地址和DNS设置成“自动获取”。如果你想利用VMWare在局域网内新建一个服务器,为局域网用户提供Web或网络服务,就应该选择桥接模式。

在桥接模式中,使用VMnet0虚拟交换机,此时虚拟机相当于网络上的一台独立计算机与主机一样,拥有一个独立的IP地址。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ysbRJxeq-1582718515574)(linux-01.assets/qiao.png)]

2) NAT(网络地址转换模式)

使用NAT模式,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟机的TCP/IP配置信息是由VMnet8虚拟网络的DHCP服务器提供的,因此IP和DNS一般设置为“自动获取”,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

NAT模式中使用Vmnet8虚拟交换机,此时虚拟机可以通过主机“单向访问”网络上的其他主机,其他主机不能访问虚拟机。

注意:主机处的192.168.62.1指的是网关,与虚拟交换机处的网关必须是同一个地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8FgiGHxr-1582718515575)(linux-01.assets/nat111.png)]

3) host-only(主机模式)

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PmlMigxq-1582718515576)(linux-01.assets/only.png)]

2.1.8 帮助命令

命令格式:命令 [-选项][参数] 参数

eg: ls -la /usr

说明:

大部分命令遵从该格式

多个选项时,可以一起写

eg: ls –l –a  ls –la

简化选项与完整选项(注:并非所有选项都可使用完整选项)

eg: ls –all  ls –a

帮助命令:(相当于命令说明书)

2.1.8.1 man

英文:manual 命令路径:/usr/bin/man 执行权限:所有用户

作用:获取命令或配置文件的帮助信息

语法:man [命令/配置文件]

eg:man ls man services

(查看配置文件时,不需要配置文件的绝对路径,只需要文件名即可)

调用的是more命令来浏览帮助文档,按空格翻下一页,按回车翻下一行,按q退出。

2.1.8.2 help

help 查看shell内置命令的帮助信息

eg: help cd

命令名 --help

命令名 --help 列举该命令的常用选项

eg: cp --help

2.1.9 操作文件目录或文件的命令

2.1.9.1 cd

英文:change directory 命令路径:内部命令 执行权限:所有用户

cd : 切换工作目录

cd -: 回到上一次的操作所在位置

cd ~: 回到用户家目录

cd ./ : 当前目录

cd …/: 回到上一级目录

cd : 回到用户家目录

2.1.9.2 ls

查看目录 ls + 选项 + 目录名

英文:list 命令路径:/bin/ls 执行权限:所有用户

ll 等价于ls -l

-l 列表形式显示

eg: ls -l /bin 查看根目录下的bin目录下的所有文件或目录以列表的形式查看

-a 所有文件或目录包括隐藏文件

eg: ll -a /bin 查看根目录下的bin目录下的所有文件或目录包含隐藏文件

-h 以可读的方式显示文件大小,配合-l使用

eg: ll -h /bin 查看根目录下的bin目录下的所有文件或目录(显示文件大小单位,如KB等)

2.1.9.3 pwd

英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户

作用:显示当前工作目录

linux下的路径

pwd: 打印当前工作目录(全目录

绝对路径: 以根目录为开始的目录

相对路径: 相对当前目录的路径

语法: pwd [-LP]

eg: cd /etc/init.d

pwd [-P]

2.1.9.4 mkdir

英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户

作用:创建新目录

语法:mkdir [-p] 目录名

-p 父目录不存在情况下先生成父目录 (parents)

eg: mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录

2.1.9.5 date
  1. date命令是显示或设置系统时间与日期。

  2. 查看系统时间直接使用 date

  3. 以自定义的方式显示系统时间: date +’%Y-%m-%d %H:%M:%S’

注意:+与字符串之间不能有空格

  1. 设置时间

eg: date -s “2015-5-8 19:48:00”

  1. 同步到bios,重启之后才能继续生效

eg: hwclock -w

2.1.9.6 touch

命令路径:/bin/touch 执行权限:所有用户

作用:创建空文件或更新已存在文件的时间

语法:touch 文件名

eg: touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件,注意:后面{}中,中间不能有空格

eg: touch “program files” 创建带空格的文件

注意:生产环境中,文件名,一定不要加空格

2.1.9.7 echo

命令路径:/bin/echo 执行权限:所有用户

作用:查看某些环境变量/给文件增加内容

语法:echo ‘字符串’ > 文件名

eg: echo $PWD 查看当前的路径

echo ‘haha’ > test1.txt 将字符串haha添加到test1.txt里面,注意;会将文件原来的内容覆盖

echo ‘haha’ >> test1.txt 将字符串haha追加到test1.txt中,不会覆盖原来的内容

2.1.9.8 cp

英文:copy 命令路径:/bin/cp 执行权限:所有用户

作用:复制文件或目录

语法:cp [–rp] 源文件或目录 目的目录

-r -R recursive 递归处理,复制目录

-p 保留文件属性 (原文件的时间不变)

eg:

1.相对路径 cp –R /etc/* .

2.绝对路径 cp –R **/**ect/service /root/test/aa/bb

2.1.9.9 mv

英文:move 命令路径:/bin/mv 执行权限:所有用户

作用:移动文件或目录、文件或目录改名

语法:mv 源文件或目录 目的目录

2.1.9.10 rm

英文:remove 命令路径:/bin/rm 执行权限:所有用户

作用:删除文件

语法: rm [-rf] 文件或目录

-r(recursive)删除目录,同时删除该目录下的所有文件

-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

注意:工作中,谨慎使用rm –rf 命令。

2.1.10 vim编辑器

vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。

只有命令,没有菜单。

VIM工作模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wlybBJFm-1582718515577)(linux-01.assets/image-20190428011701577.png)]

命令模式:又称一般模式

编辑模式:又称底行模式,命令行模式

2.1.10.1 插入命令
命令 作用
a 在光标后附加文本
A(shift + a) 在本行行末附加文本 行尾
i 在光标前插入文本
I(shift+i) 在本行开始插入文本 行首
o 在光标下插入新行
O(shift+o) 在光标上插入新行
2.1.10.2 定位命令
命令 作用
:set nu 设置行号
:set nonu 取消行号
gg G 到第一行 到最后一行
nG 到第n行
:n 到第n行
2.1.10.3 保存和退出命令
命令 作用
:w 保存修改
:w new_filename 另存为指定文件,如果文件不存在,会直接创建一个新的文件
:w >> a.txt 内容追加到a.txt文件中 文件需存在
:wq 保存修改并退出
shift+zz(ZZ) 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可忽略文件的只读属性)

eg:

1.不保存并退出 :q

2.有修改,但是修改后的内容是不保存的 :q!

3.有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件

2.1.10.4 删除命令
命令 作用
x 删除光标所在处字符 nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
:n1,n2d 删除指定范围的行(eg :1,3d 删除了123这三行)
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾
2.1.10.5 复制和剪切命令
命令 作用
yy、Y 复制当前行
nyy、nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p、P 粘贴在当前光标所在行下 或行上
2.1.10.6 替换和取消命令
命令 作用
r 取代光标所在处字符
R(shift + r) 从光标所在处开始替换字符,按Esc结束
u undo,取消上一步操作
ctrl+r redo,返回到undo之前
2.1.10.7 搜索和替换命令
命令 作用
/string 向后搜索指定字符串
?string 向前搜索指定字符串
n 搜索字符串的下一个出现位置,与搜索顺序相同
N(Shift + n) 搜索字符串的上一个出现位置,与搜索顺序相反
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串

注意:当遇到特殊字符时,需要进行转义处理:比如. 写成 \. * 写成 \* ^ 写成 ^

% 指全文,s 指开始,g 指全局替换

起始行,终止行s/要替换的字符串/替换的新的字符串/g c 询问确认

eg: : %s/ftp/yang/g 全局替换,把ftp替换为yang

eg: : 41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换

eg: : 41,44/yang/lee/g 同上,不询问,直接替换

eg: : %s//root//ROOT/g 把/root替换为/ROOT,遇到特殊字符需要进行转义处理

eg: : %s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh

2.1.10.8 使用替换命令添删注释

:% s/^/#/g 来在全部内容的行首添加 # 号注释 ^代表行首

:1,10 s/^/#/g 在1~10 行首添加 # 号注释

vi里面查命令

:!which cp

vi里面导入命令的结果

:r !which cp

I或者O进入插入模式。

2.1.11 查看命令

2.1.11.1 cat

英文:concatenate 命令路径:/bin/cat 执行权限:所有用户

作用:显示文件内容,直接显示全部内容

语法:cat [-n][文件名]

-A 显示所有内容,包括隐藏的字符

-n 显示行号

eg:cat /etc/services

2.1.11.2 more

命令路径:/bin/more 执行权限:所有用户

作用:分页显示文件内容

语法:more [文件名]

空格或f 显示下一页

enter键 显示下一行

q或Q 退出

2.1.11.3 head

命令路径:/usr/bin/head 执行权限:所有用户

作用:查看文件前几行(默认10行)

语法:head [文件名]

-n 指定行数

eg:head -20 /etc/services head –n 3 /etc/services

2.1.11.4 tail

命令路径:/usr/bin/tail 执行权限:所有用户

作用:查看文件的后几行

语法:tail [文件名]

-n 指定行数

获取一个大文件的部分文件,可使用head或tail命令

eg: head -n 100 /etc/services >config.log 会直接用 /etc/service里面前100行的数据导入conflg.log文件中,并覆盖其中的内容

2.1.11.5 ln
  1. 英文: link 命令路径:/bin/ln 执行权限:所有用户

  2. 作用:产生链接文件

  3. 语法:

ln -s [源文件][目标文件] 创建软链接 相当于建立快捷方式 注意:源文件 使用 绝对路径

ln [源文件][目标文件] 创建硬链接 相当于深拷贝

eg: ln -s /etc/service ./service.soft

创建文件/etc/service的软链接service.soft

eg: ln /etc/service /service.hard

创建文件/etc/service的硬链接/service.hard

  1. 软连接类似于windows下的快捷方式

软连接文件格式: lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services

  1. 格式解析(特征):

1.1代表硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。

2.13代表 链接文件的长度

3.软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx

4.-> 箭头指向到源文件

真正的权限取决于对源文件的权限

时间值为创建软连接的时间

软连接可以跨文件系统生成

  1. 硬链接特征

1.相当于 cp -p +同步更新

2.通过i节点识别,与源文件有相同的inode节点

3.硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)

4.不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)

  1. 删除软连接,源文件还在

rm -rf symbolic_name

  1. inode说明

Linux文件系统中的inode主要用于存放档案和目录的基本信息,当系统创建文件系统的同时会创建大量的inode

2.1.12 搜索查找命令

2.1.12.1 find

命令路径:/bin/find 执行权限:所有用户

作用:查找文件或目录

语法:find [搜索路径][匹配条件]

如果没有指定搜索路径,默认从当前目录查找

find命令选项

1) -name按名称查找

说明: 精准查找

eg: find /etc -name “init” 在目录/etc中查找文件init

2) -iname按名称查找

说明: 不区分大小写

find查找字符匹配:

*: 匹配所有

?: 匹配单个字符

eg: find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件

模糊匹配的条件,建议使用单引号或双引号括起来。

如果*被转义,可使用 单双引号括住查询条件,或者使用\*。

eg: find –name “*g”

3) -size按文件大小查找

以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于

eg: find /etc -size -204800 在etc目录下找出小于100MB的文件

100MB=102400KB=204800block

4) -type按文件类型查找

f 二进制文件 l 软连接文件 d 目录 c 字符文件

eg: find /dev -type c

find查找的基本原则:

占用最少的系统资源,即查询范围最小,查询条件最精准

注意: 如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

2.1.12.2 grep

命令路径:/bin/grep 执行权限:所有用户

作用:在文件中搜寻字符串匹配的行并输出

语法:grep [-cinv] ‘搜寻字符串’ filename

选项与参数:

-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)

-i :忽略大小写,所以大小写视为相同

-n :显示匹配行及行号

-v :反向选择,显示不包含匹配文本的所有行。

eg:grep ftp /etc/services

eg: grep -v ^# /etc/inittab 去掉文件行首的#号

eg: grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号

eg: grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次

2.1.12.3 which

命令路径:/usr/bin/which 执行权限:所有用户

作用:显示系统命令所在目录(绝对路径及别名)

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

eg: which ls 出现下面的信息,是ls指令的详情,说明ls指令是存在的

alias ls=‘ls --color=auto’

/bin/ls

eg: which zs 出现下面的信息,说明zs指令是不存在的

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

2.1.12.4 whereis

命令路径:/usr/bin/whereis 执行权限:所有用户

作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径

eg: which passwd 和 whereis passwd

eg: 查看/etc/passwd配置文件的帮助,就用 man 5 passwd

2.1.13 打包压缩命令

2.1.13.1 gzip

英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户

作用:压缩(解压)文件,压缩文件后缀为.gz

gzip只能压缩文件,不能压缩目录;不保留原文件

语法:gzip 文件

-d将压缩文件解压(decompress)

解压使用gzip –d或者 gunzip

2.1.13.2 bzip2

命令路径:/usr/bin/bzip2 执行权限:所有用户

作用:压缩(解压)文件,压缩文件后缀为.bz2

语法:bzip2 [-k][文件]

-k: 产生压缩文件后保留原文件(压缩比高)

-d: 解压缩的参数(decompress)

解压使用bzip2 –d或者 bunzip2

2.1.13.3 zip

命令路径:/usr/bin/zip 执行权限:所有用户

作用: 压缩(解压)文件,压缩文件后缀为.zip,保留源文件

语法: zip 选项[-r][压缩后文件名称][文件或目录]

-r压缩目录

eg:zip services.zip /etc/services 压缩文件

zip -r test.zip /test 压缩目录

如果不加-r选项,压缩后的文件没有数据。

解压使用unzip ,注意如果解压时,已经存在与压缩文件同名的目录名,默认不会进行覆盖,如果选择Y,会进行覆盖

2.1.13.4 tar

命令路径:/bin/tar 执行权限:所有用户

作用:文件、目录打(解)包

语法:tar [-zcf] 压缩后文件名 文件或目录

-c 建立一个压缩文件的参数指令(create),后缀是.tar

-x 解开一个压缩文件的参数指令(extract)

-z 以gzip命令压缩/解压缩

-j 以bzip2命令压缩/解压缩

-v 压缩的过程中显示文件(verbose)

-f file 指定文件名,必选项

2.1.13.5 示例
  1. 简单理解

tar –cf tar –xf 单独的打包 ,解包

gzip bzip2 打包之后,进行压缩

tar –zcvf tar -zxvf 一步到位

tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)

tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2

  1. 示例

eg: tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz

eg: tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录

eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar

eg: tar -xvPf bak.tar 解压到当前目录,默认是相对路径,P意思是支持绝对路径

eg: tar -cvPf bak.tar /a/b 将/a/b路径压缩成bak.tar

eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz

eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2

eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中

eg: tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件

eg: tar -xjf test.tar.bz2 解压

  1. 最常用: tar + gzip

tar –zcvf 压缩

tar –zxvf 解压

补充:源文件是保留的,不会被删除

2.1.14 系统关机命令

2.1.14.1 shutdown [选项] 时间

选项:

-c: 取消前一个关机命令

-h: 关机

-r: 重启

eg:

shutdown -h now 立即关机

shutdown -h 20:30 定时关机

其他关机命令 halt poweroff init 0

2.1.14.2 reboot 重启命令1

eg: reboot 重启系统

reboot -h now 立即重启

2.1.14.3 init 6 重启命令2

注意:生产环境中,关机命令和重启命令谨慎执行。

2.1.14.4 其他命令

uname -r 查看系统版本信息

basename a/b/c/test.txt 显示:test.txt 查看命令中的名字

dirname a/b/c/test.txt 显示: a/b/c/ 查看命令中的路径

切换执行等级:

linux有七种执行等级:

init 0: 关机

init 3: 纯文本模式

init 6: 重新启动

2.1.15 Linux的快捷键命令

善于查看man help等帮助文档

利用好Tab键 自动补全

掌握好一些快捷键

ctrl + c(停止当前进程)

ctrl + z 挂起当前进程,放后台

ctrl + r(查看命令历史) history

ctrl + l(清屏,与clear命令作用相同)

对当前命令行的操作:

方向箭头 上 下 可以查看执行过的命令并再次使用

ctrl + a 行首 ctrl + e 行尾 ctrl+d 清除当前的字符

ctrl + k 清除光标后面的内容 ctrl+ w 清除光标前面的单词

小技巧: linux 不进去系统更改root密码
1.开机时按'e'键进入grub	
2.在grub选项菜单按e进入编辑模式
3.编辑kernel那行  输入” 1”(空格1),然后按enter键。
4.按b重启
5.进入后执行下列命令
passwd root
passwd root (配置root的密码)——>Enter new unix password:输入新的密码——>init 6

2.1.16 sudo权限的配置

2.1.16.1 作用

root把本来只能超级用户执行的命令赋予普通用户执行。

sudo的操作对象是系统命令

2.1.16.2 修改sudoers文件

执行 visudo 这里实际修改的是/etc/sudoers文件

sudoers文件内部的信息解释

root ALL=(ALL) ALL #用户名 被管理主机的地址(不是访问地址)=(可使用的身份) 授权命令(绝对路径)

%wheel ALL=(ALL) ALL #%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

#sudo -l 查看可用的sudo命令

注意:

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。

若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。

用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

2.1.16.3 语法

sudo(选项)(参数)
选项

-b:在后台执行指令;

-h:显示帮助;

-H:将HOME环境变量设为新身份的HOME环境变量;

-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;

-l:列出目前用户可执行与无法执行的指令;

-p:改变询问密码的提示符号;

-s:执行指定的shell;

-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;

-v:延长密码有效期限5分钟;

-V :显示版本信息。

2.1.16.4 实例
1) 说明信息

1 配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。

2 之所以使用visudo有两个原因

一是它能够防止两个用户同时修改它

二是它也能进行有限的语法检查

3 所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。 visudo默认的是在vi里打开配置文件,用vi来修改文件。我们可以在编译时修改这个默认项。

4 visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,错误提示:sudoers file:syntax error,line 22<<

此时我们有三种选择:

键入“e”是重新编辑

键入“x”是不保存退出

键入“Q”是退出并保存。如果真选择Q,那么sudo将不会再运行,直到错误被纠正。

2) 实例1

让用户hd1可以通过sudo执行所有root可执行的命令。以root身份用visudo打开配置文件,可以看到类似下面几行:

Runas alias specification

User privilege specificationroot ALL=(ALL)ALL

这里root有所有权限,只要仿照现有root的例子就行,我们在下面加一行(最好用tab作为空白)

hd1 ALL=(ALL) ALL

第一个ALL是指网络中的主机,它指明hd1可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令,通常我们指定为all即可。
最后一个ALL当然就是指命令名了。 

保存退出后,切换到hd1用户,我们用它的身份执行命令:

sudo ls /root 在ls前面添加sudo可以让hd1拥有root的权限,查看root目录

3) 实例2

我们限制一下hd1的权利。比如我们只想让他像root那样使用ls和ifconfig,继续修改sudoers文件

db1 ALL= /sbin/ifconfig, /bin/ls, /usr/bin/sudo

再次切换到hd1用户,执行命令:

sudo head -5 /etc/shadow 这是提示hd1没有权限执行这个命令.

4) 免密配置

我们这样再添加一行配置文件

hd1 ALL=NOPASSWD: /bin/cat/ls, /usr/bin/sudo

再来sudo一下:不再需要密码

2.1.17 防火墙,网络,服务启停命令

2.1.17.1 修改ip地址

说明: (以网络方式为NAT示例)

1.图形化界面

2.使用命令行修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static static 静态ip dhcp 动态ip none 不设置,默认静态ip

HWADDR=00:0C:29:3D:B0:9B 电脑的mac地址,建议去掉

UUID=6f89eb5e-bff4-4f6b-a045-b7722bd188fc 电脑的UID 建议去掉

ONBOOT=yes 是否开机自动使用

nm_controlled=yes 设置network manager的参数,实时生效,修改后无需要重启网卡立即生效。建议删掉

IPADDR=192.168.2.129

NETMASK=255.255.255.0 或者 PREFIX=24

GATEWAY=192.168.2.2 #网段2任意,IP地址2固定,网段为vmnet8的设置的IP网段

DNS1=114.114.114.114 国内的DNS

DNS2=8.8.8.8 谷歌的DNS

defroute=yes 默认的路由 建议删掉

IPV4_FAILURE_FATAL=yes 如果为yes,则ipv4配置失败禁用设备 建议删掉

3.重启网络生效:service network restart

2.1.17.2 关闭防火墙

1.及时生效,重启后复原

eg: 关闭:service iptables stop

eg: 开启:service iptalbes start

eg: 查看状态:service iptables status(关闭状态的话会提示firewal is not running)

2.非及时性生效,重启后永久性生效

eg: 关闭:chkconfig iptbales off

eg: 开启:chkconfig iptables on

eg: 查看状态:chkconfig iptables --list

2.1.17.3 关闭NetworkManager

注意:如果ifcfg-eth0中的nm_controlled设置成no或者删掉了,NetworkManger就没有了.

eg: 启动:service NetworkManager start

eg: 临时关闭:service NetworkManager stop

eg: 开机启动:chkconfig NetworkManager on

eg: 禁用开机启动:chkconfig NetworkManager off

eg: 检查networkmanager服务是否已经正常开启: chkconfig | grep networkmanager

eg: 删除networkmanager : chkconfig NetworkManager --del

2.1.17.4 网络通信命令
1) ping

命令路径:/bin/ping 执行权限:所有用户

作用:测试网络的连通性

语法:ping 选项 IP地址

-c 指定发送次数

ping 命令使用的是icmp协议,不占用端口

eg: ping -c 3 127.0.0.1

2) ifconfig

英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root

作用:查看和设置网卡网络配置

语法:ifconfig [-a][网卡设备标识]

-a:显示所有网卡信息

ifconfig 网卡名字 查看单个的网卡信息

3) netstat

英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户

作用:主要用于检测主机的网络配置和状况

-a (all)显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 使用数字方式显示地址和端口号

-p 显示socket的PID和进程的名字

-l (listening)显示监控中的服务器的socket

eg: netstat -tlnu 查看本机监听的端口

eg: tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口

netstat –antpl

eg: netstat -ntlp | grep httpd 查看某一个程序的端口信息

eg: netstat -atnp | grep httpd

eg: netstat -atnp | grep 80 查看端口

2.1.17.5 修改主机名

临时生效:

hostname 主机名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oII5mN2i-1582718515579)(linux-01.assets/image-20190428011725205.png)]

注意:通过调用logout先退出,再登录—写入内存

永久生效:修改配置文件

vim /etc/sysconfig/network

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CXJKgQ80-1582718515580)(linux-01.assets/image-20190428011731065.png)]

2.1.17.6 修改映射关系

修改主机名和ip地址之间的映射关系

执行 vim /etc/hosts 进入hosts文件,加入代码

主机ip 主机名

192.168.2.120 master

2.1.18 磁盘的操作命令

2.1.18.1 df命令

作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间

语法:df [-hkam][挂载点]

-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等

-k 以KB 为单位显示各分区的信息,默认

-m 以MB为单位显示信息

-a 显示所有分区包括大小为0 的分区

2.1.18.2 du命令

作用:用于查看文件或目录的大小(磁盘使用空间)

语法:du [-ahs][文件名目录]

-a 显示子文件的大小

-h 以易读的方式显示 KB,MB,GB等

-s summarize 统计总占有量

eg: du -a(all) /home  显示/home 目录下每个子文件的大小,默认单位为kb

eg: du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小

eg: du -sh /home  以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize

df命令和du命令的区别:

df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。

du命令面向文件,只计算文件或目录占用的空间。

eg: 执行下面的命令查看区别

df –h /

du –sh /

2.1.18.3 free

作用:查看内存及交换空间使用状态

语法: free [-kmg]

选项:

-k: 以KB为单位显示,默认就是以KB为单位显示

-m: 以MB为单位显示

-g: 以GB为单位显示

清理缓存命令:

echo 1 > /proc/sys/vm/drop_caches

2.1.19 用户与组的创建和删除

2.1.19.1 su

语法: su 用户名

作用: 切换用户

eg: su root 切换回root用户,注意:如果是root用户,每次都会要求输入密码.普通的用户可以直接切换

2.1.19.2 useradd

添加用户

语法:useradd [选项] 用户名

2.1.19.3 passwd

修改密码命令

语法:passwd [选项][用户名]

用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。

ys^h_L9t

2.1.19.4 userdel

删除用户

-r 删除账号时同时删除宿主目录(remove)

注意:一个用户已经打开,需要删除

做法:先跳到当前用户下面,执行exit 或 exit 用户名。这时会自动跳回root界面。

如果还是无法删除,可以将系统重启

2.1.19.5 groupadd

用于添加组

-g 指定gid

2.1.19.6 groupmod

用于修改组

-n 更改组名(new group)

groupmod -n new_gname old_gname

2.1.19.7 groupdel

用于删除组

如果要删除的组归属于某一个用户的所属组,则不能删除该组

useradd -g hadoop hdfs

groupdel hadoop

2.1.20 进程管理命令

2.1.20.1 进程和程序的区别

1.程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。

2.程序和进程无一一对应关系。一个进程在活动中可有顺序地执行若干个程序。

2.1.20.2 父进程与子进程

1.子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。

2.在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。

3.父进程终止子进程自然终止。

2.1.20.3 进程和线程的区别

进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。

进程管理的作用:判断服务器的健康状态;查看系统所有的进程;杀死进程.

2.1.20.4 前台进程和后台进程

前台进程:

在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行另一个命令。

后台进程:

在Shell提示处打入命令,若后随一个&,Shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对

用户给出提示。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。

2.1.20.5 ps命令

作用:查看系统中的进程信息

语法:ps [-auxle]

常用选项

a:显示所有用户的进程

u:显示用户名和启动时间

x:显示没有控制终端的进程

e:显示所有进程,包括没有控制终端的进程

l:长格式显示

2.1.20.6 查看系统中所有进程

ps aux #查看系统中所有进程,使用BSD操作系统格式,unix

ps -le #查看系统中所有进程,使用Linux标准命令格式

eg: ps -u or ps -l 查看隶属于自己进程详细信息

eg: ps aux | grep sam 查看用户sam执行的进程

eg: ps -ef | grep init 查看指定进程信息

2.1.20.7 pstree

作用:查看当前进程树

语法:pstree [选项]

-p 显示进程PID

-u 显示进程的所属用户

2.1.20.8 top

作用:查看系统健康状态

显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。

语法:top [选项]

-d 秒数,指定几秒刷新一次,默认3秒(动态显示)

2.1.20.9 kill

作用:关闭进程

语法:kill [-选项] pId

eg: kill -9 进程号(强行关闭) 常用

eg: kill -1 进程号(重启进程)

eg: killall -l 关闭所有进程(忽略进程名的大小写)

2.1.20.10 w

作用: 查看用户信息

语法: w 用户名

eg: w root

显示:

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 10.0.158.3 06:02 0.00s 0.13s 0.00s w root

解释:

JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里

PCPU:CPU执行程序耗费的时间

WHAT:用户正在执行的操作

2.1.20.11 nohup

作用: 使进程在用户退出登陆后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中

语法: nohup program & &在后台运行的意思

eg: nohup ping www.baidu.com &

使用 ps -ef | grep ping 查看当前的ping进程

2.1.20.12 uptime

作用: 查看负载

例如: 使用uptime确定是服务器还是网络出了问题。如果网络应用程序运行,运行uptime来了解系统负载是否很高。如果负载不高,这个问题很有可能是由于网络引起的而非服务器。

语法: uptime

eg: 执行: uptime

显示: 06:32:04 up 19:57, 4 users, load average: 0.00, 0.01, 0.00

解释: 系统时间 用户数量 服务器在过去的1分钟、5分钟、15分钟的系统平均负载值

2.1.21 文件权限命令

2.1.21.1 三种基本权限

r 读权限(read)

w 写权限(write)

x 执行权限 (execute)

2.1.21.2 权限说明

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m5RwG8YG-1582718515581)(linux-01.assets/image-20190428011835316.png)]

所有者 所属组 其他人

第1位:文件类型(d 目录,- 普通文件,l 链接文件)

第2-4位:所属用户(所有者)权限,用u(user)表示

第5-7位:所属组权限,用g(group)表示

第8-10位:其他用户(其他人)权限,用o(other)表示

第2-10位:表示所有的权限,用a(all)表示

eg: -rw-r–r--. 1 root root 3664 Nov 30 17:42 CentOS-Vault.repo.bak

第十一位的1代表硬链接数

字符 权限 对文件的含义 对目录的含义
r 读权限 可以查看文件内容 可以列出目录的内容(ls)
w 写权限 可以修改文件内容 可以在目录中创建删除文件( mkdir,rm )
x 执行权限 可以执行文件 可以进入目录(cd)

对于文件,我们有执行权限的命令:

r-cat,more,head,tail,less

w-echo,vi

x-命令,脚本

对于目录,我们有执行权限的命令:

r-ls

w-touch,mkdir,rm,rmdir

x-cd

能删除文件的权限是必须对该文件所在的目录有wx权限。

2.1.21.3 chmod

用于权限更改

英文:change mode (change the permissions mode of a file)

作用:改变文件或目录权限

语法:

chmod [{ugoa}{±=}{rwx}][文件名或目录]

chmod [mode=421][ 文件或目录]

参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)

可以有修改一个文件的权限:

1.root

2.文件所有者

eg: chmod u+x a.txt

eg: chmod u+x,o-x a.txt

用数字来表示权限(r=4,w=2,x=1,-=0)

eg: chmod 750 b.txt

rwx和数字表示方式能随意切换

注意:root用户是超级用户,不管有没有权限,root都能进行更改。用普通用户测试权限。

不能用一个普通用户去修改另一个普通用户的权限。

2.1.21.4 chown

用于更改所有者

英文:change file ownership

作用:更改文件或者目录的所有者

语法 : chown user[:group] file…

-R : 递归修改

参数格式 : user : 新的档案拥有者的使用者 ID

group : 新的档案拥有者的使用者群体(group)

eg:chown lee file1 把file1文件的所有者改为用户lee

eg:chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test

eg:chown –R lee:test dir 修改dir及其子目录的所有者和所属组

2.1.21.5 chgrp

用于改变所属组

英文:change file group ownership

作用:改变文件或目录的所属组

语法 : chgrp [group] file…

eg: chgrp root test.log 把test.log的所属组修改为root

你可能感兴趣的:(linux)