zoukankan      html  css  js  c++  java
  • Linux云自动化运维第二课

    一、Linux系统结构

    1.Linux是一个倒树结构。Linux中所有的东西都是文件。这些文件都在系统的顶级目录中"/","/"是根目录。"/"目录以下为二级目录,这些目录都是系统装机时系统自动建立的。

    2.二级目录的作用:

    /bin ###二进制可执行文件,也就是系统命令。eg:删除/bin中的date文件,命令行输入date,会显示bash:date:command not found...

    /sbin ###系统管理命令存放位置

    /boot ###启动分区,负责系统启动。eg:删除/boot/目录,命令行输入reboot重启,系统将无法重启

    /dev ###设备管理文件。eg:管理U盘

    /etc ###大多数系统管理文件

    /home ###普通用户的家目录

    /lib ###32位系统库文件存放位置

    /lib64 ###64位系统库文件存放位置

    /media ###系统临时设备挂载点

    /mnt ###系统临时设备挂载点

    /run ###系统临时设备挂载点

    /opt ###第三方软件安装位置

    /proc ###系统进程消息

    /root ###超级用户的家目录

    /srv ###系统数据

    /var ###系统数据

    /sys ###系统管理,主要关于内核

    /tmp ###系统临时文件存放位置

    /usr ###系统用户相关信息数据及用户自定义软件存放位置

    二、文件的寻址

    1.绝对路径:文件在系统的真实位置,文件名字以“/”开头。

    eg:[kiosk@foundation2 Desktop]$ ls /home/kiosk/lianxi/ ###/home/kiosk/lianxi/就是一个真实路径

    file1  ml2  Music  test

    2.相对路径:文件相对于当前位置的一个名字的简写,这个名字不会以“/”开头,而且名字会自动添加pwd显示的值。

    eg:[kiosk@foundation2 lianxi]$ pwd ###ml2是一个相对路径(相对当前位置/home/kiosk/lianxi)

    /home/kiosk/lianxi

    [kiosk@foundation2 lianxi]$ ls ml2 ###在这里,ls ml2和ls /home/kiosk/lianxi/ml2/,两条命令的含义是一样的

    lianxi

    [kiosk@foundation2 lianxi]$ ls /home/kiosk/lianxi/ml2/

    lianxi

    三、文件的管理

    1.touch 建立文件或修改文件时间戳

    1)touch file ###创建文件

    2)stat file ###列出文件的详细信息

    3)cat file ###查看文件

    eg:[kiosk@foundation2 lianxi]$ touch file1 ###创建文件file1

    [kiosk@foundation2 lianxi]$ stat file1 ###列出文件file1的详细信息

      文件:"file1"

      大小:0         块:0          IO 块:4096   普通空文件

    设备:803h/2051d Inode:1079315801  硬链接:1

    权限:(0664/-rw-rw-r--)  Uid:( 1000/   kiosk)   Gid:( 1000/   kiosk)

    最近访问:2017-03-17 14:18:02.113591317 +0800

    最近更改:2017-03-17 14:18:02.113591317 +0800

    最近改动:2017-03-17 14:18:02.113591317 +0800

    创建时间:-

    [kiosk@foundation2 lianxi]$ touch file1 ###修改文件file1的时间戳

    [kiosk@foundation2 lianxi]$ stat file1 ###以下时间均发生变动

      文件:"file1"

      大小:0         块:0          IO 块:4096   普通空文件

    设备:803h/2051d Inode:1079315801  硬链接:1

    权限:(0664/-rw-rw-r--)  Uid:( 1000/   kiosk)   Gid:( 1000/   kiosk)

    最近访问:2017-03-17 14:19:32.620878994 +0800

    最近更改:2017-03-17 14:19:32.620878994 +0800

    最近改动:2017-03-17 14:19:32.620878994 +0800

    创建时间:-

    [kiosk@foundation2 lianxi]$ cat file1 ###查看文件file1

    [kiosk@foundation2 lianxi]$ stat file1 ###文件file1的最近访问时间改变。

      文件:"file1"

      大小:0         块:0          IO 块:4096   普通空文件

    设备:803h/2051d Inode:1079315801  硬链接:1

    权限:(0664/-rw-rw-r--)  Uid:( 1000/   kiosk)   Gid:( 1000/   kiosk)

    最近访问:2017-03-17 14:19:52.347942105 +0800

    最近更改:2017-03-17 14:19:32.620878994 +0800

    最近改动:2017-03-17 14:19:32.620878994 +0800

    创建时间:-

    2.mkdir建立目录

    1)mkdir directory ###创建目录

    2)mkdir -p directory ###上级目录不存在时自动建立

    eg:[kiosk@foundation2 lianxi]$ ls -a

    .  ..  file1

    [kiosk@foundation2 lianxi]$ mkdir ml1 ###创建目录ml1

    [kiosk@foundation2 lianxi]$ ls -a

    .  ..  file1  ml1

    [kiosk@foundation2 lianxi]$ mkdir -p ml2/ml3/ ###上级目录ml2不存在,自动建立

    [kiosk@foundation2 lianxi]$ ls -R

    .:

    file1  ml1  ml2

    ./ml1:

    ./ml2:

    ml3

    ./ml2/ml3:

    3.rm删除目录或文件

    1)rm file ###删除文件

    1)rm -f file/dictory ###强行删除不提示

    2)rm -r directory   ###删除目录

    eg:[kiosk@foundation2 lianxi]$ rm file1 ###删除文件file1

    [kiosk@foundation2 lianxi]$ ls -a

    .  ..  ml1  ml2

    [kiosk@foundation2 lianxi]$ rm -r ml1 ###删除目录ml1

    [kiosk@foundation2 lianxi]$ ls -R

    .:

    ml2

    ./ml2:

    ml3

    ./ml2/ml3:

    [kiosk@foundation2 lianxi]$ rm -r ml2/ml3 ###删除目录ml2/ml3

    [kiosk@foundation2 lianxi]$ ls -R

    .:

    ml2

    ./ml2:

    4.cat|head|tail 查看文件内容

    1)cat file ###查看文件内容

    2)head file ###显示文件前几行

    3)tail file ###显示文件后几行

    eg:[kiosk@foundation2 lianxi]$ vim file1

    [kiosk@foundation2 lianxi]$ cat file1 ###查看文件file1

    1

    2

    3

    10

    hello

    你好

    [kiosk@foundation2 lianxi]$ head -n 2 file1 ###显示文件file1前2行

    1

    2

    [kiosk@foundation2 lianxi]$ tail -n 2 file1 ###显示文件file1后2行

    hello

    你好

    5.vim 文本方式编辑文件

    命令行输入vim filename,进入到命令模式。命令模式不能编辑文件,编辑文件需进入插入模式。按“i”进入插入模式。如果完成编辑,按“esc”退出插入模式,输入“:wq”保存退出,输入“:!q”强制退出不保存。vim filename如果文件名称不存在,会自动在当前目录创建。vim没有操作对象,会直接打开,编辑文件后要“:wq filename”保存退出。

    6.cd 切换工作目录

    1)cd directory ###切换到指定工作目录

    2)cd - ###切换到之前所在工作目录

    3)cd ~ ###切换到自己的家目录

    4)cd ~username ###切换到指定用户的家目录

    5)cd .. ###切换到当前目录的上级目录

    eg:[kiosk@foundation2 lianxi]$ cd /home/kiosk ###切换到目录/home/kiosk

    [kiosk@foundation2 ~]$ cd - ###切换到之前目录/home/kiosk/lianxi

    /home/kiosk/lianxi

    [kiosk@foundation2 lianxi]$ cd ~ ###切换到家目录

    [kiosk@foundation2 ~]$ cd ~root ###普通用户无法切换到超级用户家目录,权限不够

    bash: cd: /root: 权限不够

    [kiosk@foundation2 ~]$ su -

    密码:

    上一次登录:五 3月 17 13:35:28 CST 2017从 foundation0.ilt.example.compts/2 上

    [root@foundation2 ~]# cd ~kiosk ###切换到普通用户kiosk的家目录

    [root@foundation2 kiosk]# pwd

    /home/kiosk

    [root@foundation2 kiosk]# cd .. ###切换到当前目录/home/kiosk的上级目录/home

    [root@foundation2 home]#

    7.ls 列出目录或文件信息

    1)ls ###列出当前目录的目录内容

    2)ls directory|filename ###列出指定的文件或目录内容

    3)ls -d directory ###列出目录本身

    4)ls -l directory|filename ###列出文件或目录里面内容的属性

    5)ls -ld directory ###列出目录本身的属性

    6)ls -a ###列出目录中所有内容,包括以“.”开头的隐藏文件

    7)ls -R ###递归显示目录中所以内容

    eg:[kiosk@foundation2 ~]$ ls ###列出当前目录的内容

    Desktop    Downloads  Music     Public     Videos

    Documents  lianxi     Pictures  Templates

    [kiosk@foundation2 ~]$ ls /home/kiosk/lianxi ###列出/home/kiosk/lianxi的内容,这里使用的是绝对路径

    file1  ml2

    [kiosk@foundation2 ~]$ pwd ###查看当前目录

    /home/kiosk

    [kiosk@foundation2 ~]$ ls lianxi/ ###列出/home/kiosk/lianxi的内容,这里使用的是相对路径

    file1  ml2

    [kiosk@foundation2 ~]$ ls -d lianxi/ ###列出目录本身

    lianxi/

    [kiosk@foundation2 ~]$ ls -d

    .

    [kiosk@foundation2 ~]$ ls -d /home/kiosk/lianxi/

    /home/kiosk/lianxi/

    [kiosk@foundation2 ~]$ ls -l lianxi/ ###列出/home/kiosk/lianxi里面内容的属性

    total 4

    -rw-rw-r-- 1 kiosk kiosk 22 Mar 17 14:48 file1

    drwxrwxr-x 2 kiosk kiosk  6 Mar 17 14:42 ml2

    [kiosk@foundation2 ~]$ ls -ld lianxi/ ###列出/home/kiosk/lianxi本身的属性

    drwxrwxr-x 3 kiosk kiosk 28 Mar 17 14:48 lianxi/

    [kiosk@foundation2 lianxi]$ ls -a ###列出/home/kiosk/lianxi中的所有内容,包括“.”“..”

    .  ..  file1  ml2

    [kiosk@foundation2 lianxi]$ ls -R ###递归显示/home/kiosk/lianxi中的所以内容

    .:

    file1  ml2

    ./ml2:

    8.cp 文件复制

    1)cp是新建文件的过程

    2)cp file directory ###把file复制到directory中

    3)cp file test ###建立test文件,以file为模板

    4)cp -r directory directory1 ###复制目录

    eg:[kiosk@foundation2 ~]$ ls

    Desktop    Downloads  Music     Public     Videos

    Documents  lianxi     Pictures  Templates

    [kiosk@foundation2 ~]$ cp lianxi/file1 . ###将当前目录lianxi中文件file1复制到当前目录

    [kiosk@foundation2 ~]$ ls

    Desktop    Downloads  lianxi  Pictures  Templates

    Documents  file1      Music   Public    Videos

    [kiosk@foundation2 ~]$ cp lianxi/file1 test ###建立test文件,以当前目录lianxi中文件file1为模板

    [kiosk@foundation2 ~]$ ls

    Desktop    Downloads  lianxi  Pictures  Templates  Videos

    Documents  file1      Music   Public    test

    [kiosk@foundation2 ~]$ cp lianxi/file1 lianxi/test ###在当前目录lianxi中建立test文件,以当前目录lianxi中文件file1为模板

    [kiosk@foundation2 ~]$ ls lianxi/

    file1  ml2  test

    [kiosk@foundation2 ~]$ cp Music/ lianxi/ -r ###把Music/目录复制的lianxi/目录底下

    [kiosk@foundation2 ~]$ ls lianxi/

    file1  ml2  Music  test

    [kiosk@foundation2 ~]$ cp lianxi/ml2/ Music/ -r ###把lanxi中的ml2目录复制到Music/目录下

    [kiosk@foundation2 ~]$ ls Music/

    ml2

    9.mv 移动或重命名

    1)相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程

    2)mv file file1 directory ###将file,file1移动到directory

    3)mv 存在的文件 不存在的文件 ###重命名文件

    4)mv westos/linux . ###把westos中的linux移动到当前目录

    eg:[kiosk@foundation2 ~]$ mv file1 lianxi/ml2/ ###将文件file1移动到目录/home/kiosk/lianxi/ml2中

    [kiosk@foundation2 ~]$ ls lianxi/ml2/ ###/home/kiosk/lianxi/ml2中已有文件file1

    file1  lianxi

    [kiosk@foundation2 ~]$ ls

    Desktop    Downloads  Music     Public     test

    Documents  lianxi     Pictures  Templates  Videos

    [kiosk@foundation2 ~]$ mv test test1 ###将文件test冲命名为test1

    [kiosk@foundation2 ~]$ ls

    Desktop    Downloads  Music     Public     test1

    Documents  lianxi     Pictures  Templates  Videos

    [kiosk@foundation2 ~]$ mv lianxi/ml2/file1 . ###将/home/kiosk/lianxi/ml2中的文件file1移动到当前目录

    [kiosk@foundation2 ~]$ ls

    Desktop    Downloads  lianxi  Pictures  Templates  Videos

    Documents  file1      Music   Public    test1 

    <<<第二单元练习>>>

    1.用命令和正则表达式按照要求建立文件
    *)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6)
    *)这些文件都包含在root用户桌面的study目录中
    [root@localhost Desktop]#mkdir ./study
    [root@localhost Desktop]#cd ./study/
    [root@localhost study]#touch WESTOS_class{1..2}_linmkdirux{1..6}
    *)用一条命令建立8个文件redhat_versionX(x的范围为1-8)
    *)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中
    [root@localhost study]#mkdir /mnt/VERSION
    [root@localhost study]#cd /mnt/VERSION/
    [root@localhost VERSION]#touch redhat_version{1..8}

    2.管理刚才信建立的文件要求如下
    *)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中
    [root@localhost VERSION]#mkdir /root/Desktop/SINGLE
    [root@localhost VERSION]#cp /mnt/VERSION/redhat_version[:1.3.5.7:] /root/Desktop/SINGLE
    *)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中
    [root@localhost VERSION]#mkdir /DOUBLE
    [root@localhost VERSION]#cp /mnt/VERSION/redhat_version[:2.4.6.8:] /DOUBLE
    *)用一条命令把WESTOS_classX_linuxY中class1的文件移动到当前用户桌面的CLASS1中
    [root@localhost VERSION]#cd /root/Desktop/
    [root@localhost Desktop]#mkdir CLASS1
    [root@localhost Desktop]#mv ./study/WESTOS_class[:1:]* ./CLASS1
    *)用一条命令把WESTOS_classX_linuxY中class2的文件移动到当前用户桌面的CLASS2中
    [root@localhost Desktop]#mkdir CLASS2
    [root@localhost Desktop]#mv ./study/WESTOS_class[:2:]* ./CLASS2

    3.备份/etc目录中所有带有名字带有数字并且以.conf结尾的文件到桌面上的confdir中
    [root@localhost Desktop]#mkdir confdir
    [root@localhost Desktop]#cp /etc/*[:0-9:]*.conf ./confdir

    4.删掉刚才建立或者备份的所有文件
    [root@localhost Desktop]#rm -rf /mnt/VERSION/redhat_version{1..8}
    [root@localhost Desktop]#rm -rf */

  • 相关阅读:
    上传文件
    vue 动态数据请求
    Layui——layerjs 用法汇总(持续更新)
    以插入排序为例子带你彻底理解算法中的时间复杂度和各种渐进符号
    flappy pig小游戏源码分析(4)——核心pig模块(未完待续)
    flappy pig小游戏源码分析(3)——解剖util
    flappy pig小游戏源码分析(2)——解剖option
    flappy pig小游戏源码分析(1)——主程序初探
    Express细节探究(1)——app.use(express.static)
    部分常用Express方法详解
  • 原文地址:https://www.cnblogs.com/Virgo-sept/p/6582928.html
Copyright © 2011-2022 走看看