目录

一、Linux入门概述

1.1概述

1.2 下载地址

1.3 Linux特点

1.4 Linux和Windows区别

二、Linux目录结构

2.1 概览

2.2 树状目录结构

三、VI/VIM编辑器

3.1 概述

3.2 测试数据准备

3.3 一般模式

3.4 编辑模式

3.5 指令模式

四、系统管理操作

4.1 查看网络IP和网关

4.2 使ip生效

4.3 配置主机名

4.4 防火墙

4.5 关机重启

七、常用基本命令

7.1 帮助命令

7.1.1 man 获得帮助信息

7.1.2 help 获得shell内置命令的帮助信息

7.1.3 常用快捷键

7.2 文件目录类

7.2.1 pwd 显示当前工作目录的绝对路径

7.2.2 ls 列出目录的内容

7.2.3 mkdir 创建一个新的目录

7.2.4 rmdir 删除一个空的目录

7.2.5 touch 创建空文件

7.2.6 cd 切换目录

7.2.7 cp 复制文件或目录

7.2.8 rm 移除文件或目录

7.2.9 mv 移动文件与目录或重命名

7.2.10 cat 查看文件内容

7.2.11 tac查看文件内容

7.2.12 more 查看文件内容

7.2.13 less 查看文件内容

7.2.14 head查看文件内容

7.2.15 tail 查看文件内容

7.2.16 重定向命令

7.2.17 echo

7.2.18 ln软链接

7.2.19 history查看所敲命令历史     ​编辑

7.3 时间日期类

7.3.1 date显示当前时间

7.3.2 date显示非当前时间

7.3.3 date设置系统时间

7.3.4 cal查看日历

7.4 用户管理命令

7.4.1 useradd 添加新用户

7.4.2 passwd 设置用户密码

7.4.3 id 判断用户是否存在

7.4.4 su 切换用户

7.4.5 userdel 删除用户

7.4.6 who 查看登录用户信息

7.4.7 设置bjyx普通用户具有root权限

7.4.8 cat  /etc/passwd 查看创建了哪些用户

7.4.9 usermod修改用户

7.5 用户组管理命令

7.5.1 groupadd 新增组

7.5.2 groupdel删除组

7.5.3 groupmod修改组

7.5.4 cat  /etc/group 查看创建了哪些组

7.5.5 综合案例

7.6 文件权限类

7.6.1 文件属性

7.6.2 chmod改变权限

7.6.3 chown改变所有者

7.6.4 chgrp改变所属组

7.7 磁盘分区类

7.7.1 fdisk查看分区

7.7.2 df查看硬盘

7.7.3 mount/umount挂载/卸载

7.8 搜索查找类

7.8.1 find 查找文件或者目录

7.8.2 grep 过滤查找及“|”管道符

7.8.3 which 文件搜索命令

7.9 进程线程类

7.9.1 ps查看系统中所有进程

7.9.2 top查看系统健康状态

7.9.3 pstree查看进程树

7.9.4 kill终止进程

7.9.5 netstat显示网络统计信息

7.10 压缩和解压类

7.10.1 gzip/gunzip压缩

7.10.2 zip/unzip压缩

7.10.3 tar打包

八、 YUM仓库配置

8.1 概述

8.2 为什么要制作本地YUM源

8.3 yum的常用命令

1)基本语法

2)案例实操

8.4 关联网络yum源


一、Linux入门概述

1.1概述

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基PU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE

1.2 下载地址

centos下载地址:
网易镜像:http://mirrors.163.com/centos/7/isos/x86_64/
搜狐镜像:http://mirrors.sohu.com/centos/7/isos/x86_64/

1.3 Linux特点

Linux里面一切皆是文件
    Linux里面没有后缀名这一说

1.4 Linux和Windows区别

目前国内Linux更多的是应用在服务器上,而桌面操作系统更多使用的是window。主要区别如下。

比较

Window

Linux

界面

界面统一,外壳程序固定所有Windows程序菜单几乎一致,快捷键也几乎相同

圆形界面风格依发布版本不同而不同,可能互不兼容。GNU/Linux的终端机是从UNIX传承下来,基本命令和操作方法也几乎一致。

驱动程序

驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时候很难支持。另外,有时硬件厂商未提供所需版本的Windows下的驱动,也会比较头痛。

由志愿者开发,由Linux核心开发小组发布,很多硬件厂商基于版本考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD等硬件厂商逐步不同程序支持开源驱动,问题正在得到缓解。

使用

使用比较简单,容易入门。圆形化界面对没有计算机背景知识的用户使用十分有利。

圆形界面使用简单,容易入门。文字界面,需要学习才能掌握。

学习

系统构造复杂、变化频繁、且知识、技能淘汰快,深入学习困难

系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易

软件

每一种特定功能可能都需要商业软件的支持,需要购买相应的授权

大部分软件都可以自由获取,同样功能的软件选择较少。

二、Linux目录结构

2.1 概览

2.2 树状目录结构

  1. /bin:是Binary的缩写,这个目录存放着系统必备执行命令
  2. /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
  3. /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  4. /etc:所有的系统管理所需要的配置文件和子目录。
  5. /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  6. /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  7. /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  8. /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  9. /misc: 该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。
  10. /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  11. /net  存放着和网络相关的一些文件.
  12. /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  13. /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  14. /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  15. /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  16. /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙
  17. /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
  18. /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  19. /tmp:这个目录是用来存放一些临时文件的。
  20. /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  21. /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

三、VI/VIM编辑器

3.1 概述

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。
Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim 则可以说是程序开发者的一项很好用的工具。连vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

3.2 测试数据准备

3.3 一般模式

以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

        vi 编辑器设置行号:
        vi  /etc/virc   是系统范围的初始化配置 
        或者
        vi ~/.vimrc     个人的vim初始化配置

输入i字母 进入到编辑模式
        输入 set number
        按Esc按钮 进入密令模式  
        输入 wq   保存数据
)
常用语法
        1)yy                (功能描述:复制光标当前一行)
           数字y y           (功能描述:复制一段(复制光标所在的向下n行,n就是数字))
        2)p                  (功能描述:箭头移动到目的行粘贴)
        3)u                  (功能描述:撤销上一步)
        4)dd                (功能描述:删除光标当前行)
             数字d d        (功能描述:删除光标(含)后n行,n就是数字)
        5)x                  (功能描述:删除一个字母,相当于del)
              X                 (功能描述:删除一个字母,相当于Backspace)

6)yw               (功能描述:复制一个词)
        7)dw               (功能描述:删除一个词)
        8)shift+^         (功能描述:移动到行头)
        9)shift+$         (功能描述:移动到行尾)
        10)gg              (功能描述:移动到页头)
        11)shift+g              (功能描述:移动到页尾)
        12)数字+shift+g    (功能描述:移动到目标行)

3.4 编辑模式

在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
常用语法
1)进入编辑模式
        (1)i    当前光标前
        (2)a    当前光标后
        (3)o    当前光标行的下一行
2)退出编辑模式
        按『Esc』键

3.5 指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!
常用语法
1)基本语法
     (1): 选项
                w    保存
                q    退出
                !  感叹号强制执行
     (2)/  查找,/被查找词,n是查找下一个,shift+n是往上查找
     (3)?  查找,?被查找词,n是查找上一个,shift+n是往下查找
2)案例
        :wq!    强制保存退出

四、系统管理操作

4.1 查看网络IP和网关

1)查看虚拟网卡
  


2)修改ip地址

4.2 使ip生效

    1.卸载networkManage
        Systemctl  stop   NetworkManage
        Systemctl  disable NetworkManage
    2.重启网络
       Systemctl  restart  network

4.3 配置主机名

Hostnamectl  set-hostname  java.master

4.4 防火墙

1)基本语法
Systemctl status firewalld    (功能描述:查看防火墙状态)
Systemctl stop firewalld    (功能描述:临时关闭防火墙)
Systemctl disable firewalld(功能描述:关闭防火墙开机启动)
Systemctl enable firewalld    (功能描述:开启防火墙开机启动)


2)扩展
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

案例:
    查看运行级别:runlevel

4.5 关机重启

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机 。
正确的关机流程为:sync > shutdown > reboot > halt
1)基本语法:
    (1)sync       (功能描述:将数据由内存同步到硬盘中)
    (2)shutdown [选项] 时间    
              选项:
              -h:关机
              -r:重启
(3)halt             (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(4)reboot         (功能描述:就是重启,等同于 shutdown -r now)
2)案例
(1)将数据由内存同步到硬盘中
         [root@master101 /]#sync  
(2)计算机将在10分钟后关机,并且会显示在登录用户的当前屏幕中
         [root@master101 /]#shutdown -h 10 ‘This server will shutdown after 10 mins’
(3)立马关机
         [root@master101 /]# shutdown -h now 
(4)系统立马重启
         [root@master101 /]# shutdown -r now
(5)重启(等同于 shutdown -r now)
         [root@master101 /]# reboot 
(6)关机(等同于shutdown -h now 和 poweroff)
         [root@master101 /]#halt 
         注意:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。

七、常用基本命令

7.1 帮助命令

7.1.1 man 获得帮助信息

1)基本语法
     man [命令或配置文件]        (功能描述:获得帮助信息)

NAME  命令的名称和单行描述
                SYNOPSIS 怎样使用命令
                DESCRIPTION 命令功能的深入讨论
                EXAMPLES  怎样使用命令的例子
                SEE ALSO  相关主题(通常是手册页)
 2)案例
      

7.1.2 help 获得shell内置命令的帮助信息

1)基本语法
    help 命令    (功能描述:获得shell内置命令的帮助信息)
2)案例
    

7.1.3 常用快捷键

1)ctrl + c:停止进程
        2)ctrl+l:清屏
        3)ctrl + q:退出
        4)善于用tab键
        5)上下键:查找执行过的命令
        6)ctrl +alt:linux和Windows之间切换

7.2 文件目录类

7.2.1 pwd 显示当前工作目录的绝对路径

1)基本语法:
      pwd        (功能描述:显示当前工作目录的绝对路径)
2)案例        

7.2.2 ls 列出目录的内容

1)基本语法:
        ls [选项] [目录或是文件]
        选项:
                -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
                -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
       每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间名字 
2)案例

7.2.3 mkdir 创建一个新的目录

1)基本语法
      mkdir [-p] 要创建的目录
      选项:
             -p:创建多层目录
2)案例
    

7.2.4 rmdir 删除一个空的目录

1)基本语法
      rmdir 要删除的空目录
2)案例
       

7.2.5 touch 创建空文件

1)基本语法
      touch 文件名称
2)案例
       

7.2.6 cd 切换目录

1)基本语法

(1)cd 绝对路径
    (2)cd 相对路径
    (3)cd ~或者cd        (功能描述:回到自己的家目录)
    (4)cd -                    (功能描述:回到上一次所在目录)
    (5)cd ..                   (功能描述:回到当前目录的上一级目录)
    (6)cd -P                  (功能描述:跳转到实际物理路径,而非快捷方式路径)
2)案例
   (1)使用 mkdir 命令创建chinasofti目录
            [root@master101 ~]# mkdir chinasofti
   (2)使用绝对路径切换到chinasofti目录
            [root@master101 ~]# cd /root/chinasofti/
   (3)使用相对路径切换到chinasofti目录
            [root@master101 ~]# cd ./chinasofti/
   (4)表示回到自己的家目录,亦即是 /root 这个目录
            [root@master101 chinasofti]# cd ~
   (5)cd- 回到上一次所在目录
            [root@master101 chinasofti]# cd -
   (6)表示回到当前目录的上一级目录,亦即是 /root 的上一级目录的意思;
            [root@master101 ~]# cd ..

7.2.7 cp 复制文件或目录

1)基本语法
   (1)cp source dest                 (功能描述:复制source文件到dest)
   (2)cp -r sourceFolder targetFolder    (功能描述:递归复制整个文件夹)
2)案例
   (1)复制文件
             [root@master101 opt]# cp test.java test
   (2)递归复制整个文件夹
             [root@master101 opt]# cp -r test test1

7.2.8 rm 移除文件或目录

1)基本语法
    (1)rmdir deleteEmptyFolder    (功能描述:删除空目录)
    (2)rm -rf deleteFile                   (功能描述:递归删除目录中所有内容)
2)案例
     1)删除空目录


    2)递归删除目录中所有内容

7.2.9 mv 移动文件与目录或重命名

1)基本语法
    (1)mv oldNameFile newNameFile    (功能描述:重命名)
    (2)mv /temp/movefile /targetFolder    (功能描述:递归移动文件)
2)案例
       1)重命名
            [root@master101 opt]# mv test.java  test1.java


      2)移动文件
             [root@master101 opt]# mv test1.java  test1

7.2.10 cat 查看文件内容

查看文件内容,从第一行开始显示。
1)基本语法
      cat  [选项] 要查看的文件
      选项:
                -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
                -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
                -E :将结尾的断行字节 $ 显示出来;
                -n :列出行号,连同空白行也会有行号,与 -b 的选项不同;
                -T :将 [tab] 按键以 ^I 显示出来;
                -v :列出一些看不出来的特殊字符
2)案例
      


3)面试题:查看CentOS版本命令

7.2.11 tac查看文件内容

查看文件内容,从最后一行开始显示,可以看出 tac 是 cat 的倒著写。
1)基本语法
      tac  [选项参数] 要查看的文件
2)案例
      

7.2.12 more 查看文件内容

查看文件内容,一页一页的显示文件内容。
1)基本语法
    more 要查看的文件
2)功能使用说明
        空白键 (space):代表向下翻一页;
        Enter:代表向下翻『一行』;
        q:代表立刻离开 more ,不再显示该文件内容。
        Ctrl+F 向下滚动一屏
        Ctrl+B 返回上一屏
        = 输出当前行的行号
3)案例

7.2.13 less 查看文件内容

less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用[pageup] [pagedown]往回滚动。
1)基本语法
      less 要查看的文件
2)功能使用说明
        空白键:向下翻动一页;
        [pagedown]:向下翻动一页;
        [pageup] :向上翻动一页;
        /字串:向下搜寻『字串』的功能;n:向下查找;N:向上查找;
        ?字串:向上搜寻『字串』的功能;n:向上查找;N:向下查找;
        q:离开 less 这个程序;
3)案例

7.2.14 head查看文件内容

查看文件内容,只看头几行。

1)基本语法

head -n 10 文件      (功能描述:查看文件头10行内容,10可以是任意行数)

2)案例

7.2.15 tail 查看文件内容

查看文件内容,只看尾巴几行。
1)基本语法
    (1)tail  -n 10 文件   (功能描述:查看文件头10行内容,10可以是任意行数)
    (2)tail  -f  文件        (功能描述:实时追踪该文档的所有更新)
2)案例
    (1)查看文件头1行内容
             
   (2)实时追踪该档的所有更新(起两个终端,一个追加数据,一个追踪更新)

7.2.16 重定向命令

1)基本语法
    (1)ls -l >文件        (功能描述:列表的内容写入文件a.txt中(覆盖写))
    (2)ls -al >>文件    (功能描述:列表的内容追加到文件aa.txt的末尾)
2)案例
     

7.2.17 echo

1)基本语法
   (1)echo 要显示的内容 >> 存储内容的的文件(功能描述:将要显示的内容,存储到文件中)
   (2)echo 变量 (功能描述:显示变量的值)
2)案例
     

7.2.18 ln软链接

1)基本语法
ln -s [原文件] [目标文件] (功能描述:给原文件创建一个软链接,软链接存放在目标文件目录)
删除软链接: rm -rf chinasofti,而不是rm -rf chinasofti/ 这个最后带有斜杠会把真正的数据删除(文件夹下的文件删除)
2)案例
      

创建一个软链接
cd不加参数进入是软链接的地址,cd加参数进入是实际的物理地址

       

7.2.19 history查看所敲命令历史
     

7.3 时间日期类

7.3.1 date显示当前时间

1)基本语法
     (1)date                                (功能描述:显示当前时间)
     (2)date  +%Y                      (功能描述:显示当前年份)
     (3)date  +%m                      (功能描述:显示当前月份)
     (4)date  +%d                       (功能描述:显示当前是哪一天)
     (5)date  +%Y%m%d   date +%Y/%m/%d …    (功能描述:显示当前年月日各种格式 )
     (6)date  "+%Y-%m-%d %H:%M:%S"                (功能描述:显示年月日时分秒)
2)案例
        

7.3.2 date显示非当前时间

(1)date -d '1 days ago'            (功能描述:显示前一天日期)

(2)date -d yesterday +%Y%m%d    (同上)

(3)date -d next-day +%Y%m%d    (功能描述:显示明天日期)

(4)date -d 'next monday'            (功能描述:显示下周一时间)

7.3.3 date设置系统时间

1)基本语法
      date -s 字符串时间
2)案例
      

7.3.4 cal查看日历

1)基本语法
     cal [选项](功能描述:不加选项,显示本月日历)
     选项:
            -3 ,显示系统前一个月,当前月,下一个月的日历
            具体某一年,显示这一年的日历。
2)案例

7.4 用户管理命令

7.4.1 useradd 添加新用户

1)基本语法
     useradd 用户名        (功能描述:添加新用户)
2)案例
     

7.4.2 passwd 设置用户密码

1)基本语法
     passwd 用户名    (功能描述:设置用户密码)
2)案例
     

7.4.3 id 判断用户是否存在

1)基本语法
     id 用户名
2)案例
     

7.4.4 su 切换用户

1)基本语法
      su 用户名称       (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
      su - 用户名称     (功能描述:切换到用户并获得该用户的环境变量及执行权限)
2)案例
      

7.4.5 userdel 删除用户

1)基本语法
    (1)userdel  用户名        (功能描述:删除用户但保存用户主目录)
    (2)userdel -r 用户名      (功能描述:用户和用户主目录,都删除)
2)案例
   (1)删除用户但保存用户主目录
            [root@master101 opt]#userdel chinasofti
            如果出现如下消息说明chinasofti被进程占用者,可以exit 登出用户 再执行删除命令,删除              进程      userdel: user chinasofti is currently used by process 2555
   (2)删除用户和用户主目录,都删除
            [root@master101 opt]#userdel -r chinasofti

7.4.6 who 查看登录用户信息

1)基本语法
    (1)whoami            (功能描述:显示自身用户名称)
    (2)who am i        (功能描述:显示登录用户的用户名)
    (3)who            (功能描述:看当前有哪些用户登录到了本台机器上)
2)案例
      

7.4.7 设置bjyx普通用户具有root权限

1)修改配置文件

Root添加 /etc/sudoers写权限 chmod u+w /etc/sudoers
        修改vi  /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:        
        
        或者配置成采用sudo命令时,不需要输入密码 
        ## Allow root to run any commands anywhere
        root      ALL=(ALL)     ALL
        bjyx      ALL=(ALL)     NOPASSWD:ALL
        修改完毕,现在可以用bjyx帐号登录,然后用命令 sudo vi /etc/sudoers可以提升到root权限进行操作。

2)案例
        [chinasofti@master101 opt]$ sudo mkdir module
        [root@master101 opt]# chown chinasofti:chinasofti module/

7.4.8 cat  /etc/passwd 查看创建了哪些用户

7.4.9 usermod修改用户

1)基本语法
      usermod -g 用户组 用户名
2)案例
      将用户bjyx加入device用户组
     

7.5 用户组管理命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

7.5.1 groupadd 新增组

1)基本语法
        groupadd 组名
2)案例
    添加一个dev组
     

7.5.2 groupdel删除组

1)基本语法
        groupdel 组名
2)案例
       

7.5.3 groupmod修改组

1)基本语法
      groupmod -n 新组名 老组名
2)案例
     修改dev组名称为root
      

7.5.4 cat  /etc/group 查看创建了哪些组

cat  /etc/group

7.5.5 综合案例

7.6 文件权限类

7.6.1 文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。
1)从左到右的10个字符表示
      如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
    (1)0首位表示类型
              在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
              - 代表文件
              d 代表目录
              c 字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
              s socket
              p 管道
              l 链接文档(link file)
              b 设备文件,装置文件里面的可供储存的接口设备(可随机存取装置)
   (2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
   (3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
   (4)第7-9位确定其他用户拥有该文件的权限 ---Other

文件类型

属主权限

属组权限

其他用户权限

0

1    2   3

4   5   6

7   8   9

d

R   w   x

R   -   x

R   -   x

目录文件

读写执行

读写执行

读写执行

2)rxw作用文件和目录的不同解释
    (1)作用到文件:
             [ r ]代表可读(read): 可以读取,查看
             [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
             [ x ]代表可执行(execute):可以被系统执行
  (2)作用到目录:
            [ r ]代表可读(read): 可以读取,ls查看目录内容
            [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
            [ x ]代表可执行(execute):可以进入该目录
3)案例

(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法
        ln [原文件] [目标文件]     
        [root@master101 xiyou]# ln sunhouzi/shz.txt ./shz.txt
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
        [root@master101 xiyou]# ls -al chinasofti/
        总用量 8
        drwxr-xr-x. 2 root root 4096 9月   3 19:02 .
        drwxr-xr-x. 5 root root 4096 9月   3 21:21 ..
        案例
        [oracle@Linux]$ touch f1          #创建一个测试文件f1
        [oracle@Linux]$ ln f1 f2          #创建f1的一个硬连接文件f2
        [oracle@Linux]$ ln -s f1 f3       #创建f1的一个符号连接文件f3(软连接)
        [oracle@Linux]$ ls -li            # -i参数显示文件的inode节点信息

7.6.2 chmod改变权限

1)基本语法
     chmod  [{ugoa}{+-=}{rwx}] [文件或目录] [mode=421 ]  [文件或目录] 
2)功能描述
      改变文件或者目录权限
      文件: r-查看;w-修改;x-执行文件
      目录: r-列出目录内容;w-在目录中创建和删除;x-进入目录
      删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。
3)案例

7.6.3 chown改变所有者

1)基本语法
        chown [最终用户] [文件或目录]        (功能描述:改变文件或者目录的所有者)
2)案例
        

7.6.4 chgrp改变所属组

1)基本语法
    chgrp [最终用户组] [文件或目录]    (功能描述:改变文件或者目录的所属组)
2)案例
        

7.7 磁盘分区类

7.7.1 fdisk查看分区

1)基本语法
    fdisk -l        (功能描述:查看磁盘分区详情)
    注意:在root用户下才能使用
2)功能说明
    (1)Linux分区
这个硬盘是20G的,有255个磁面;63个扇区;2610个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);

Device

Boot

Start

End

Blocks

Id

System

分区序列

引导

从X磁柱开始

到Y磁柱结束

容量

分区类型ID

分区类型

(2)Win7分区

3)案例
     

7.7.2 df查看硬盘

1)基本语法
     df  参数    (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
     参数:
        -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
        -k :以 KBytes 的容量显示各文件系统;
        -m :以 MBytes 的容量显示各文件系统;
        -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
        -H :以 M=1000K 取代 M=1024K 的进位方式;
        -T :显示文件系统类型,连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
        -i :不用硬盘容量,而以 inode 的数量来显示
2)案例

7.7.3 mount/umount挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构
Linux中每个分区都是用来组成整个文件系统的一部分,她在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
0)挂载前准备(必须要有光盘或者已经连接镜像文件)


1)挂载光盘语法
mount [-t vfstype] [-o options] device dir
(1)-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
        常用类型有:
                光盘或光盘镜像:iso9660
                DOS fat16文件系统:msdos
                Windows 9x fat32文件系统:vfat
                Windows NT ntfs文件系统:ntfs
                Mount Windows文件网络共享:smbfs
                UNIX(LINUX) 文件网络共享:nfs
(2)-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
        loop:用来把一个文件当成硬盘分区挂接上系统
   ro:采用只读方式挂接设备
   rw:采用读写方式挂接设备
   iocharset:指定访问文件系统所用字符集
(3)device 要挂接(mount)的设备
(4)dir设备在系统上的挂接点(mount point)
2)案例
(1)光盘镜像文件的挂载

[root@master101 ~]# mkdir /mnt/cdrom/                        建立挂载点
[root@master101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/    设备/dev/cdrom挂载到 挂载点 :  /mnt/cdrom中
[root@master101 ~]# ll /mnt/cdrom/

3)卸载光盘语法
        [root@master101 ~]# umount 设备文件名或挂载点
4)案例
        [root@master101 ~]# umount /mnt/cdrom
5)开机自动挂载语法
         [root@master101 ~]# vi /etc/fstab
        添加红框中内容,保存退出。

7.8 搜索查找类

7.8.1 find 查找文件或者目录

1)基本语法
    find [搜索范围] [匹配条件]
2)案例
(1)按文件名:根据名称查找/目录下的filename.txt文件。
         


(2)按拥有者:查找/opt目录下,用户名称为-user的文件
        [root@master101 ~]# find /opt/ -user chinasofti
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)
        

7.8.2 grep 过滤查找及“|”管道符

0)管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
1)基本语法
        grep+参数+查找内容+源文件
        参数:
                -c:只输出匹配行的计数。
                -I:不区分大小写(只适用于单字符)。
                -h:查询多文件时不显示文件名。
                -l:查询多文件时只输出包含匹配字符的文件名。
                -n:显示匹配行及行号。
                -s:不显示不存在或无匹配文本的错误信息。
                -v:显示不包含匹配文本的所有行。
2)案例
     

7.8.3 which 文件搜索命令

1)基本语法
     which 命令        (功能描述:搜索命令所在目录及别名信息)
2)案例
    

7.9 进程线程类

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

7.9.1 ps查看系统中所有进程

1)基本语法
      ps -aux        (功能描述:查看系统中所有进程)
2)功能说明
        USER:该进程是由哪个用户产生的
        PID:进程的ID号
        %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
        %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
        VSZ:该进程占用虚拟内存的大小,单位KB;
        RSS:该进程占用实际物理内存的大小,单位KB;
        TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
        STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
        START:该进程的启动时间
        TIME:该进程占用CPU的运算时间,注意不是系统时间
        COMMAND:产生此进程的命令名
3)案例
       

7.9.2 top查看系统健康状态

1)基本命令
    top [选项]

 (1)选项

-d 秒数:指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
        -i:使top不显示任何闲置或者僵死进程。
        -p:通过指定监控进程ID来仅仅监控某个进程的状态。

    (2)操作选项

P:以CPU使用率排序,默认就是此项 
        M:以内存的使用率排序 
        N:以PID排序 
        q:退出top

    (3)查询结果字段解释

第一行信息为任务队列信息

内容

说明

12:26:46

系统当前时间

up 1 day, 13:32

系统的运行时间,本机已经运行1天

13小时32分钟

2 users

当前登录了两个用户

load  average:  0.00, 0.00, 0.00

系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息

Tasks:  95 total

系统中的进程总数

1 running

正在运行的进程数

94 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是0,需要手工检

查僵尸进程

第三行为CPU信息

Cpu(s):  0.1%us

用户模式占用的CPU百分比

0.1%sy

系统模式占用的CPU百分比

0.0%ni

改变过优先级的用户进程占用的CPU百分比

99.7%id

空闲CPU的CPU百分比

0.1%wa

等待输入/输出的进程的占用CPU百分比

0.0%hi

硬中断请求服务占用的CPU百分比

0.1%si

软中断请求服务占用的CPU百分比

0.0%st

st(Steal  time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

Mem:    625344k total

物理内存的总量,单位KB

571504k used

已经使用的物理内存数量

53840k free

空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了

65800k buffers

作为缓冲的内存数量

第五行为交换分区(swap)信息

Swap:   524280k total

交换分区(虚拟内存)的总大小

0k used

已经使用的交互分区的大小

524280k free

空闲交换分区的大小

409280k cached

作为缓存的交互分区的大小

2)案例

7.9.3 pstree查看进程树

1)基本语法
    pstree [选项]
    选项
  -p:  显示进程的PID 
  -u:  显示进程的所属用户
2)案例:pstree命令未找到

安装yum install psmisc

7.9.4 kill终止进程

1)基本语法

kill -9 pid进程号
    选项: -9 表示强迫进程立即停止

2)案例

启动另一个终端
    切换到root用户执行 杀死进程
    查看启动终端进程
   

7.9.5 netstat显示网络统计信息

1)基本语法
    netstat -anp        (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
    选项:
            -an 按一定顺序排列输出
            -p  表示显示哪个进程在调用
            -nltp 查看tcp协议进程端口号

2)案例

        安装 yum -y install net-tools

7.10 压缩和解压类

7.10.1 gzip/gunzip压缩

1)基本语法

gzip+文件             (功能描述:压缩文件,只能将文件压缩为*.gz文件)
        gunzip+文件.gz    (功能描述:解压缩文件命令)

2)特点

(1)只能压缩文件不能压缩目录
        (2)不保留原来的文件

3)案例

7.10.2 zip/unzip压缩

安装

  • yum -y install zip
  • yum -y install unzip

1)基本语法

zip + 参数 + XXX.zip + 将要压缩的内容 (功能描述:压缩文件和目录的命令,window/linux通用且可以压缩目录且保留源文件)
        参数:-r 压缩目录
2)案例

(1)压缩 a.txt 和b.txt,压缩后的名称为ab.zip

​​​​​

(2)解压ab.zip到指定目录-d
        

7.10.3 tar打包

1)基本语法
tar + 参数 + XXX.tar.gz + 将要打包进去的内容        (功能描述:打包目录,压缩后的文件格式.tar.gz)
        参数:
                -c 产生.tar打包文件
                -v 显示详细信息
                -f 指定压缩后的文件名
                -z 打包同时压缩
                -x 解包.tar文件

2)案例

        压缩

        解压到当前目录 

    解压到指定目录 

八、 YUM仓库配置

8.1 概述

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

8.2 为什么要制作本地YUM源

YUM源虽然可以简化我们在Linux上安装软件的过程,但是生产环境通常无法上网,不能连接外网的YUM源,说以就无法使用yum命令安装软件了。为了在内网中也可以使用yum安装相关的软件,就要配置yum源。
YUM源其实就是一个保存了多个RPM包的服务器,可以通过http的方式来检索、下载并安装相关的RPM包。

8.3 yum的常用命令

1)基本语法

yum install -y rpm软件包        (功能描述:安装软件并确认安装)
        yum list                                   (功能描述:列出所有可用的package和package组)
        yum clean all                          (功能描述:清除所有缓冲数据)
        yum deplist rpm软件包           (功能描述:列出一个包所有依赖的包)
        yum remove rpm软件包         (功能描述:删除软件)

2)案例实操

yum install -y vim*
    

8.4 关联网络yum源

1)前期文件准备

(1)前提条件linux系统必须可以联网
(2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS7->再点击保存

(3)查看文件保存的位置
 在打开的终端中输入如下命令,就可以找到文件的保存位置。

2)替换本地yum文件

将文件拖进home下

(1)备份
              
    (2)移动文件并重命名
            

3)安装命令

(1)[root@master101 yum.repos.d]#yum clean all
    (2)[root@master101 yum.repos.d]#yum makecache
    (3)[root@master101 yum.repos.d]# yum install -y vim*

Linux-centos相关推荐

  1. mysql linux centos 安装_Linux centos 下在线安装mysql

    1,查看是否有安装过mysql: #rpm -qa | grep mysql 如果无结果返回,说明没有安装Mysql,可以全新安装. 2,查看在线服务器提供的Mysql相关的安装包有哪些: #yum ...

  2. Linux / CentOs 7搭建DHCP服务

    在前面介绍了怎么在Windows server 2016中搭建DHCP服务, 我们今天介绍如何在Linux / CentOS 7操作系统中搭建DHCP服务? 跟在Windows server 2016 ...

  3. Linux/CentOS优化配置 汇总

    [强烈要求做的]CentOS启用sudo,禁用root远程登录 修改Linux的 SSH 远程连接 端口 技巧 Linux命令行修改IP.网关.DNS.主机名 的方法 Linux/CentOS服务器 ...

  4. Linux(CentOS)安装分区方案

    为什么80%的码农都做不了架构师?>>>    Linux(CentOS)安装分区方案 /boot(不是必须的):/boot分区用于引导系统,它包含了操作系统的内核和在启动系统过程中 ...

  5. linux/centos 解决Tomcat内存溢出,centostomcat

    2019独角兽企业重金招聘Python工程师标准>>> linux/centos 解决Tomcat内存溢出,centostomcat Tomcat本身不能直接在计算机上运行,需要依赖 ...

  6. Linux CentOS 7上安装极点五笔

    2019独角兽企业重金招聘Python工程师标准>>> 话说几天前在新买的惠普笔记本上成功地安装了Linux CentOS 7操作系统.Nvidia Quandro P600驱动程序 ...

  7. Linux centos下项目环境搭建及版本部署

    1.JDK环境的安装 安装之前确认Linux centos操作系统是32位还是64位(uname -a) 然后windows中去官网下载对应的JDK源码包,通过xftp或者winscp连接linux, ...

  8. Linux(Centos)之安装Redis及注意事项

    Linux(Centos)之安装Redis及注意事项 转:http://www.cnblogs.com/hanyinglong/p/5036558.html  阅读目录 1.redis简单说明 2.准 ...

  9. linux centos 7 安装中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...

  10. linux centos yum 报错 获取GPG密钥失败 Errno 14

    安装命令 sudo yum install docker-ce-18.03.0.ce 错误信息 安装 1 软件包 (+10 依赖软件包) 升级 ( 10 依赖软件包)总计:46 M Is this o ...

最新文章

  1. Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java
  2. WinForm禁用窗体自带的关闭功能
  3. mac 推荐一款本机截屏找latex公式软件Mathpix 亲测有效
  4. UVA 11178 Morley’s Theorem(莫雷定理 计算几何)
  5. 【蓝桥杯Java_C组·从零开始卷】第二节(附)、if与switch效率比较(千万次/一亿次)
  6. linux mint 18.3浏览器,在Ubuntu 18.04/Linux Mint 19中安装Chromium浏览器的方法
  7. 查linux服务器CPU多少C,在linux 下怎么查看服务器的cpu和内存的硬件信息
  8. Zynq7000硬件开发之硬件开发流程简介(一)
  9. 乐优商城项目视频及源码
  10. C++ DOM读写xml(msxml6)
  11. 软件开发工程师证书有用吗_软件设计师证书重要吗?
  12. of引导的后置定语的总结
  13. asus华硕 开启安全启动
  14. 【图解数据结构】排序全面总结(一)
  15. java 集合 集合概念
  16. zk 有一个节点报 It is probably not running且日志无明显报错
  17. C++14学习记录:新语言功能特性
  18. 安装smartPPT,电脑显示系统桌面就卡住……
  19. Unity面试题(最新实用)
  20. 虚幻4快速上手实战系列 之 三维弹球

热门文章

  1. 省、市、区、街道行政区数据以及行政区数据合并问题
  2. 从奥本海默的浮沉谈科学与政治的关系
  3. Explorer注册表键值归纳
  4. 我的世界服务器反反作弊最新版,【服务器插件】【完全的反作弊】
  5. 【数据结构】迷宫问题实现(包含界面)
  6. 关于“顾问之路”的探讨与总结
  7. pdf怎么转换成cad?简易步骤解决
  8. 易语言学习笔记——命令篇
  9. python在软件测试中的应用_Python在软件测试中的应用
  10. 用Java写有关早上的语录,有关于早上太阳的优美精辟句子