美文网首页我爱编程
02-Linux-初步了解

02-Linux-初步了解

作者: L就问你开不开心 | 来源:发表于2017-08-08 16:21 被阅读0次

    本文只是对一下内容做简单介绍

    • 系统目录介绍
    • 文件基本属性
    • 更改文件属性
    • 常用命令
    • 文本工具
    • 网站日志分析
    • vim编辑器

    常用命令

    # 管理员身份
    $ 普通身份

    • 处理目录的常用命令
      接下来我们就来看几个常见的处理目录的命令吧:
    ls: 列出目录
    cd:切换目录
    pwd:显示目前的目录
    mkdir:创建一个新的目录
    rmdir:删除一个空的目录
    cp: 复制文件或目录
    rm: 移除文件或目录
    

    你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

    • 文件内容查看常用命令
    cat  由第一行开始显示文件内容
    tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
    nl   显示的时候,顺道输出行号!
    more 一页一页的显示文件内容
    less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    head 只看头几行
    tail 只看尾巴几行
    

    网站

    http://man.linuxde.net Linux命令大全
    https://www.w3cschool.cn/linux/ 全面Linux介绍
    https://linux.cn/ 中国开源社区

    Linux 简介

    简介

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

    发行版

    Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。
    目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。

    应用领域

    今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。

    系统目录介绍

    进入根目录 输入命令

    tree -L 1  (只查看当前第一级的目录和文件)
    
    根目录

    以下是对这些目录的解释:

    • /bin:
      bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    • /boot:
      这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    • /dev :
      dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    • /etc:
      这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    • /home:
      用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /lib:
      这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    • /lost+found:
      这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • /mnt:
      系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • /opt:
      这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • /proc:
      这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
      这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
    • /root:
      该目录为系统管理员,也称作超级权限者的用户主目录。
    • /sbin:
      s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /selinux:
      这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
    • /srv:
      该目录存放一些服务启动之后需要提取的数据。
      /sys:
      这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
      sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
      该文件系统是内核设备树的一个直观反映。
      当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。
    • /tmp:
      这个目录是用来存放一些临时文件的。
    • /usr:
      这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
    • /usr/bin:
      系统用户使用的应用程序。
    • /usr/sbin:
      超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src:内核源代码默认的放置目录。
    • /var:
      这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
      在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

    /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
    /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
    值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
    /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

    文件基本属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。


    文件基本属性

    图片中,test文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
    在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

    • 当为[ d ]则是目录
    • 当为[ - ]则是文件;
    • 若是[ l ]则表示为链接文档(link file);
    • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

    接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,

    • [ r ]代表可读(read)
    • [ w ]代表可写(write)
    • [ x ]代表可执行(execute)
      要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。


      文件属性解释

    更改文件属性

    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名
    chown -R ubuntu test/  将test文件夹拥有者改为ubuntu
    chown -R root:root test/  将test文件夹拥有者与群组改成root
    -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
    
    root->ubuntu ubuntu->root
    Linux文件属性有两种设置方法,一种是数字,一种是符号。
    Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
    先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
    r:4
    w:2
    x:1
    

    每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,
    例如当权限为: [-rwxrwx---] 分数则是:

    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0
    
    chmod:更改文件9个属性
    chmod 777   test/ 将test文件属性该为drwxrwxrwx
    xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
    
    修改权限

    文本工具vim

    Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。


    vim键盘图

    基本上 vi/vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。 这三种模式的作用分别是:

    • 一般模式
      以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
    • 编辑模式
      在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
    • 指令列命令模式
      在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!
    打开文件:
    # vim [options] [file ..]
        +#:打开文件后,直接让光标处于第#行的行首;
        +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
    
    模式转换:
    编辑模式:默认模式
        编辑模式 --> 输入模式:
            i:insert, 在光标所在处输入;
            a: append,在光标在处后方输入;
            o:在光标所在处的下方打开一个新行;
            I:在光标所在行的行首输入;
            A:在光标所在行的行尾输入;
            O:在光标所在处的上方打开一个新行;              
        输入模式 --> 编辑模式
            ESC
        编辑模式 --> 末行模式
            :
        末行模式 --> 编辑模式
            ESC
    
    关闭文件:

    vim界面最下方 **--INSERT-- **是输入模式 按ESC 键退出输入模式 在底部命令行模式

        ZZ:保存并退出;
        :q  退出
        :q!  强制退出,不保存此前的编辑操作
        :wq  保存并退出;
            :w, :q
        :x  保存并退出;
        :w /PATH/TO/SOMEFILE
    

    相关文章

      网友评论

        本文标题:02-Linux-初步了解

        本文链接:https://www.haomeiwen.com/subject/cokgcxtx.html