zoukankan      html  css  js  c++  java
  • 【linux学习笔记】

    网上看一个两小时突击linux的教程,就想补充一下linux的知识。想着一天抽出俩小时立马就能学完呢,结果乱七八糟的事情拖了四五天,实际完成某项任务的时间超出预期完成任务的两部不止。好了,"牢骚到此为止"。

    1、linux用户

    • 超级用户 root 只有一个,home目录在 /root 下,拥有最高权限。
    • 普通用户 user 可以多个,home目录在 /home/user 下,拥有部分权限。

      添加用户  useradd  user1 

      切换用户  su - user1  (加中间"-"的好处在于切换后就能进入用户home目录,也可以不加) 

      修改密码  passwd [uname] (不加uname,默认是当前用户)

    2、环境变量PATH

      我理解为windows下环境变量path,作用也相同

      执行某命令时,会从PATH包含的目录和当前的目录寻找该命令,如果没找到,则会提示 command not found ;执行命令也可以用相对路径或绝对路径的方式执行,比如执行  ../test 、 /usr/local/mycmd/test  

      临时修改PATH: export PATH=$PATH:/usr/local/mycmd/test ,这种方式只对本次登录有效

      永久修改PATh:/etc/profile 文件的末尾添加  export PATH=$PATH:/usr/local/mycmd/test  系统重启后对所有用户永久生效在  ~/.bashrc 文件的末尾添加 export PATH=$PATH:/usr/local/mycmd/test  ,重新打开一个终端窗口或执行 source ~/.bashrc 命令只对当前用户永久生效

       

    3、linux文件权限

      

      1. -rwxrwxr-x 一共10位,第一位表示文件类型,"-"是文件,"d"是文件夹,其余位表示三种用户权限,前三位owner的权限,中三位属于owner用户组的权限,后三位其他用户的权限。

        修改文件的权限  chmod 777 filepath ,linux文件有三种权限  r 读  、  w 写 、   x 执行 ,每种权限用一位二进制表示,用户权限的表示就用三位二进制,转成八进制就是[7,0]

        文件夹的 r权限表示可以 ls , w权限表示可以touch创建文件, x权限表示可以cd进入

        rwx = 4+2+1=7,故 chmod 777 filepath修改的权限为 rwxrwxrwx。

      2.  liuchw liuchw 前者表示owner,后者表示group(用户组)

    4、文件的操作

        创建一个文件  touch helloworld.c 

      创建目录   mkdir directory 

      查看文本文件内容  cat helloworld.c 

      查看文件类型  file helloworld.c (文件的类型只取决于文件内容,和文件后缀无关)

      删除文件   rm -rf helloworld.c 

      编辑文件   vim  helloworld.c 

      复制文件   mv ./helloworld.c ./cp/helloworld_copy.c 

      复制整个目录  cp -rf /home/1 /home/2 (如果目录 /home/2 不存在,会自动创建)

      重命名文件和复制文件一样,放在同一个目录中即可

    5、 打包压缩命令

      打包(多个文件合并为一个文件,文件总体大小不会改变) 

        tar cf mytar.tar file1 file2 ... fileN 

      压缩 

         tar cjf mytar.tar file1 file2 ... fileN 

      其中 c 表示create创建,f表示file文件,j表示某种压缩算法

      查看打包压缩文件内容  tar tvf mytar.tar 

      解压 tar xf mytar.tar -C dir 将压缩文件解压到目录中,参数-C必须大写

    6、 搜索命令

      我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

    • which 查看可执行文件的位置
    • whereis 查看文件的位置
    • locate 配合数据库查看文件位置
    • find 实际搜寻硬盘查询文件名称

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

       whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 如: whereis ls 

       locate 命令让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。如: locate pwd 、 locate /etc/sh 搜索 /etc目录下以sh开头的文件。

        find 命令在目录结构中搜索文件,并执行指定的操作。命令格式: find pathname -options [-print -exec -ok ...] 

      1. find dir [-type [f|d]] -name "xxx"  -type表示文件类型,文件或是目录;-name表示文件名称,可以使用通配符*

      2. ind dir -name "*.c" -exec wc -l {} ;   -exec表示运行其后面的命令;wc全名word count, wc -l  统计文件行数;{}指一条匹配结果;; 转义分号

      如:查找并删除n天以前的文件,  find . -type f mtime +n -exec rm {} ; 

      3.  find dir -name "*.c" >> count ; wc -l count ; rm count ;  >> 将执行结果导入后面的文件。这句代码是查找出.c文件并将结果写入count文件,然后执行后面的命令。

      4. find dir -name "*.c" | wc -l  | 管道命令,把上一个命令的执行结果作为下一个命令的输入

      

      

  • 相关阅读:
    Benelux Algorithm Programming Contest 2016 Preliminary K. Translators’ Dinner(思路)
    Benelux Algorithm Programming Contest 2016 Preliminary Target Practice
    Benelux Algorithm Programming Contest 2016 Preliminary I. Rock Band
    Benelux Algorithm Programming Contest 2016 Preliminary A. Block Game
    ICPC Northeastern European Regional Contest 2019 Apprentice Learning Trajectory
    ICPC Northeastern European Regional Contest 2019 Key Storage
    2018 ACM ICPC Asia Regional
    2018 ACM ICPC Asia Regional
    Mybatis入库出现异常后,如何捕捉异常
    优雅停止 SpringBoot 服务,拒绝 kill -9 暴力停止
  • 原文地址:https://www.cnblogs.com/lhat/p/6026306.html
Copyright © 2011-2022 走看看