zoukankan      html  css  js  c++  java
  • Linux

    一 Linux常用命令:

    # 查看文件位置
    whereis
    # 查看文件类型
    file
    # 查看当前用户
    whoami
    # 我在那
    pwd
    # 查看内核信息
    uname -a
    # 输出打印语句
    echo 
    # 清屏
    clear
    # 历史
    history
    

    特殊字符:

    1.点号 .

    1.1 如果文件的开始说明是一个隐藏文件

    1.2 . 表示指向当前目录

    1.3 ..指向当前目录的上一级目录

    2 $ 变量

    说明一个变量

    name = seafwg
    echo $name // print seafwg
    

    3 * 通配符

    相当于sql中查询的%号

    4 ~波浪线

    1.当前用户的家目录

    2.每个用户的家目录是不一样的

    3.root家用户目录在系统跟目录下

    4.其他用户的家目录在/home/用户名称为家目录

    二 Linux文件系统

    一切皆为文件

    Linux维护着一个属性结构的文件模型

    2.1 查找文件的方式:

    1.相对路径:是以当前路径开头的

    cd ../usr/xxx

    2.绝对路径:是以跟路径开头的

    cd /usr/xxx

    2.2 Linux二级文件目录

    /-:Linux根目录
    	|-- /bin:binary缩写,二进制文件目录,存放常用命令
    	|-- /boot:启动Linux时常用的一些核心文件,一些链接文件和一些镜像文件爱你
    	|-- /dev:device,该设备存放Linux的外部设备
    	|-- /etc:存放所有系统管理所需要的配置文件和自目录
    	|-- /home:用户的主目录,在Linux中每个用户都有一个自己的目录,一般目录名是用户的账号命名
    	|-- /lib:系统最基本的动态链接共享库,类似Windows中的DLL文件
    	|-- /lost+found:一般情况下是空的,当系统非法关机等就存放了一些文件
    	|-- /media:自动设别一些设备,U盘,光驱等,会自动挂在到此文件目录下
    	|-- /mnt:让用户临时挂在别的文件系统,我们可以将光驱挂载到/mnt/上,然后进入该目录就可以查看光驱里的内容了
    	|-- /opt:主机额外安装所摆放的目录,eg:安装一个Oracla数据库则就可以放到这个目录下,默认是空的
    	|-- /proc:虚拟目录,系统内存的映射,可以通过直接访问这个目录获取系统信息,这个目录的内容不在硬盘上而是在内存里,
    	|-- /sbin:Super User,系统管理员使用的系统管理程序
      |-- /selinux:Redhat/Centos所特有的目录,Selinux是一个安全机制,相当于Windows的防火墙,存放的是Selinux相关文件
      |-- /srv:该目录存放一些服务器启动后要提取的数据
      |-- /sys:系统文件
      |-- /temp:存放临时缓存文件
      |-- /usr:用户的很多应用程序和文件,类似Windows的program files目录
      |-- /usr
          |-- /bin:系统用户使用的应用程序
          |-- /sbin:超级用户使用比较高的管理程序和系统守护程序
          |-- /src:内核源代码目录
      |-- /var:存放不断扩充的东西,习惯经常修改的文件存放在此目录下,包含各种日志等
      |-- /run:临时文件,存储系统启动以来的信息,系统重启时,该目录会删除
    

    2.3 文件操作

    • cd 改变当前目录

      cd /usr/xxx

    • **ls ll **

      • 显示指定目录下的所有文件

      • 文件类型:

        - 普通文件
        d 文件夹
        l 软连接
        
    • mkdir 创建文件目录

      mkdir -p a/b/c/d   #自动创建文件父目录
      mkdir -p seafwg/{1234}|s #一次可以创建多个自文件目录
      
      ## 删除空文件夹
      rmdir a
      
    • cp 拷贝文件

    ## cp 源文件 目标文件
    ## -r递归父目录下所有的目录
    cp a /usr/local/
    cp -r a /usr/local/
    
    • mv 移动文件,以及修改文件名
    mv a /usr/local # 移动文件
    mv a aa # 修改文件名
    
    • rm 删除文件

      # 删除
      rm a
      rm -f a #强制删除 -f=force
      rm -rf a #强制删除a文件下所有的文件
      
    • touch 创建文件

    • stat 查看文件状态

      • Inode 当前文件在文件系统中的唯一标识
      • 时间:
        • access 访问时间
        • Modify 修改文件内容时间
        • Change 修改文件元数据时间
    • ln 创建文件链接

      • 软链接/硬链接

        #创建一个软连接
        ln -s seafwg sl
        #创建一个赢链接
        ln seafwg hl
        
      • 软链接和硬链接的区别:

        • 软链接和原始文件不是同一个文件,给一个文件创建软链接后会产生一个链接源文件【每一个文件都有一个原始文件】,这个链接源文件关联原始文件的文件名,如果删除这个文件,则会出现软链接找不到该文件。
        • 硬链接和原始文件使用文件系统中的同一个文件,可以使用硬链接备份重要的文件

    2.4 读取文件信息

    • cat 将文件加载到内存中 默认顺序

    • tac将文件加载到内存中 以逆序加载

    • more less 分页加载内容

      • 回车: 下一行
      • 空格:下一页
      • b:回退
      • q:退出
    • head 从文章开头加载

      # 从文章开头读取N行
      head -5 a
      
    • tail 从文章的末尾加载

    # 从文章的末尾读取N行
    tail -5 a
    # 精确加载某一行,第三行
    head -3 a | tial -1
    
    • find 查找指定文件

      # find 要查找的范围 -name 名字
      find /etc -name profile
      

    2.5 VI和VIM编辑器

    2.5.1 打开文件

    #正常打开
    vi profile
    #打开文件并且移动光标,移动到第八行
    vi +8 profile
    #打开最后一行
    vi + profile
    #查找 if n下一个
    vi +/if profile
    

    2.5.2 三种模式

    1.视图模式

    2.输入模式

    3.命令模式

    2.5.3 三种模式之间的转换

    							     vi seafwg.js
    										    |
    							    vi/vim 的视图模式
    a/A追加,i/I插入,o/O下/上一行				  :进入命令模式
    				  Esc	                            Esc
    	       编辑模式                         命令模式
    
    • 编辑模式 -> 输入模式
      • i在当前位置插入数据
      • I在行首插入数据
      • a在当前位置后面追假数据
      • A行尾追加
      • o在当前行的下一行开启输入
      • O在当前行的上一行开启输入

    2.5.4 常用快捷键

    • 跳转

      G:最后一行
      gg:跳转到行首
      z-enter: 跳转一屏幕,光标到最底部
      z-+:跳转一屏幕,光标到最顶部
      z-.:跳转一屏幕,光标到中间
      w/{num}w:跳转单词
      e/{num}e:向上跳转单词
      {num}j/k:跳转几行
      
      dw:删除一个单词
      {num}dw:删除num个单词
      {num}dd:删除num行
      
      u:撤销
      
      {num}yw:复制num个单词
      {num}yy:复制num行
      {num}p:粘贴num次
      
      {num}x:剪切num个字符
      
      {num}r:替换num个字符
      
      ZZ:保存并退出
      ctr+s:锁屏
      ctr+q:解锁
      
    • 命令模式

    set nu:设置行号
    set nonu:取消行号
    
    w:保存
    q:退出
    q!:强制退出,不保存
    wq:保存并退出
    
    /pattern:查找pattern单词
    s/p1/p2/g:当前行中p2替换p1
    {num1,num2}s/p1/p2/g:指定行中p2替换p1
    g/p1/s//p2/g:全文替换
    

    2.4.6 数据传输

    • lrzsz 与服务器之间的文件上传

      • rz 文件上传
      • sz 文件下载
    • 服务器与服务器之间的传输

      • scp源数据地址(source) 目标数据地址(target)

        scp root@192.168.xx.xx:/usr/local/xxx ./
        

    2.4.7 文件压缩

    • tar 解压.tar.gz文件

      tar -zxvf xxx.tar.gz
      -- x:解压,v:过程,f:文件
      tar -zcf xxx yyy: 压缩修改名称
      tar -zxf xxx -C /usr/local/:-C指定压缩文件目录
      
    • zip和unzip解压和压缩zip文件

      # 安装zip unzip
      yum install zip unzip -y
      # 压缩
      zip -r xxx yyy
      # 解压
      unzip xxx
      
  • 相关阅读:
    Android开源框架——Volley
    Android中的事件传递机制
    @ViewDebug.ExportedProperty的使用
    字符间距——扩展
    读取assets文件夹下图片(ods_interview)
    Android消息推送——JPush极光推送
    深入模块
    正则表达式和re模块
    初识模块
    迭代器和生成器
  • 原文地址:https://www.cnblogs.com/intelwisd/p/15667650.html
Copyright © 2011-2022 走看看