zoukankan      html  css  js  c++  java
  • Linux 学习总结(一)

       一.Linux系统有7个运行级别(runlevel)

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

    二.系统初始化

     

     

     

    三.一般来说,用户的登录方式有三种

    • (1)命令行登录
    • (2)ssh登录
    • (3)图形界面登录

     

    四.命令学习

    1.shutdown 关机命令
    
      shutdown -h now 立刻关机
    
      shutdown -h 20:45 将在20:45关机
    
      shutdown -h +5 将在5分钟后关机
    
      shutdown -r now 立刻重启
    
      shutdown -r +10 10分钟后重启
    
    2.reboot  重启
    
    3.poweroff 关机
    
    4.halt 关机
    
    5.sync  把系统的数据写到磁盘

     五.目录解说

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

      • /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
        这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

      • /run
        是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

     六.linux 文件属性

    在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

    【d】 目录  、【-】 文件、【l】链接文件、

    接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。

    要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。每个文件的属性由左边第一部分的10个字符来确定(如下图)。

    从左至右用0-9这些数字来表示。

    第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

    第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

    其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;

    第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。

    命令:

    ls -l  查看文件属性及所属组

    chgrp : 更该文件属组

      chgrp [-R] 属组名 文件名
    • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

    chown :更改文件属主,也可以更改文件属组.

    chown [–R] 属主名 文件名
    chown [-R] 属主名:属组名 文件名

    chmod :更改文件9个属性

    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

    所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

     chmod [-R] xyz 文件或目录

    选项与参数:

    • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
    • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

    举例来说,如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:

    [root@www ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@www ~]# chmod 777 .bashrc
    [root@www ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

    那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

    符号类型改变文件权限

    还有一个改变权限的方法呦!从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others三种身份啦! 那么我们就可以藉由u, g, o来代表三种身份的权限!

    此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!也就是可以使用底下的方式来看:

     

    chmod u
    g
    o
    a
    +(加入)
    -(除去)
    =(设定)
    r
    w
    x
    文件或目录

    如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

    #  touch test1    // 创建 test1 文件
    # ls -al test1    // 查看 test1 默认权限
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    # chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
    # ls -al test1
    -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

    而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

    #  chmod  a-x test1
    # ls -al test1
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    七.文件或者目录管理
    1 ls: 列出目录
    • -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
    • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
    • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
    • 将家目录下的所有文件列出来(含属性与隐藏档)ls -al
    2 cd:切换目录
        cd是Change Directory的缩写,这是用来变换工作目录的命令。
        cd .. 返回上一级目录
        cd / 返回根目录
    3 pwd:显示目前的目录
        pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
       
     -P :显示出确实的路径,而非使用连结 (link) 路径。
    4 mkdir:创建一个新的目录
        
    -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
        -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
    5 rmdir:删除一个空的目录
       
     -p :连同上一级『空的』目录也一起删除

    6 cp: 复制文件或目录
            -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
      •   -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

      •   -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

      •   -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

      •    -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

      •   -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

      •   -r:递归持续复制,用於目录的复制行为;(常用)

      •   -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

      •   -u:若 destination 比 source 旧才升级 destination !

      • cp 命令总结: cp -rf  源文件 目标文件  当目标文件不存在时,首先创建目标文件,并不会复制。创建的文件类型与源文件相同
      • 上者为复制目录,当复制文件时

      • 【-】 代表创建的是一个文件

    7 rm: 移除文件或目录
      •   -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
      •   -i :互动模式,在删除前会询问使用者是否动作
      •   -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
      • rm 删除命令总结:rm 不能直接删除文件夹,只有带上-r 递归删除才可以删除文件夹。
    8 mv: 移动文件与目录,或修改文件与目录的名称
      • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
      • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
      • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
      mv 总结:mv  源文件  目标文件  
       当目标文件不存在时,会创建与源文件相同类型的目标文件,并且删除源文件(丢失源文件)
      
    文件目录查看
    
    
    cat ·从第一行开始查  -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
      -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
      -E :将结尾的断行字节 $ 显示出来;
      -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
      -T :将 [tab] 按键以 ^I 显示出来;
      -v :列出一些看不出来的特殊字符
    tac 与cat 相反,从最后一行开始查看
    nl  显示行号
    • -b :指定行号指定的方式,主要有两种:
    • -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
    • -b t :如果有空行,空的那一行不要列出行号(默认值);
    • -n :列出行号表示的方法,主要有三种:
    • -n ln :行号在荧幕的最左方显示;
    • -n rn :行号在自己栏位的最右方显示,且不加 0 ;
    • -n rz :行号在自己栏位的最右方显示,且加 0 ;

        -w :行号栏位的占用的位数。

           

    more  

      more和cat功能相似,但是cat 是从 第一行逐行往下查看,more具有更多的操作

      more +n  文件   从该文件的第n行开始显示

         

         more -n  定义屏幕大小为 n 行 ,按enter 逐行输出,按space 按屏幕大小输出

          

        more -c  从顶部清屏,然后显示

        

           

    less  

      less 比more 具有更多的灵活性,more 只能向前搜索,而less 可以回退

      -e 文件显示结束后自动离开

      -N  显示行号

    head 

      显示文件开头的信息,默认显示前10行

        head -n  m  文件   显示前m行

    tail 

       显示文件结尾信息,默认显示后10行

      tail -n m  文件  显示后m行

    head 与 tail 一块使用,a.txt文件数字1.50,需要显示 11-20 的数字?

    下一篇:   Linux 学习总结(二)

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/baizhuang/p/10067932.html
Copyright © 2011-2022 走看看