linux基础知识大全

 1. 准备工作
    阿里云(ubuntu16.04)
    ip
    root
    root密码
  2. linux
    windows pc操作系统(使用便捷)
    unix    收费
    linux   命令行 【 图形化界面(ubuntu desktop)】,用于服务器
      稳定,不需要关机
      内核非常小 - 安装在板子上(嵌入式开发)
      飞行器、android操作系统、macos(类linux)
      开源(源码是开放的)- 思想、文化
  3. 要求
    阿里云 ip
      121.199.29.84
      root
      root密码
    符号
      >   windows/macos   (客户机)
      $   linux (服务器-普通用户)
      #   linux(服务器-超级管理员)
    1) 远程登录、远程文件传输
      1. 图形化界面方式(简单直观、安装图像化界面软件、配置)
        xshell
        filezilla
      2. 命令行模式
        > ssh root@121.199.29.84
          使用root账号,登录ip为121.199.29.84的主机
        通常情况下,我们不直接使用root进行登录,务必将root的密码设置的较为复杂(但是不要忘记)
        # exit
          退出登录
        > scp ./app.zip root@121.199.29.84:/var/www/html
          将当前目录下的app.zip上传到ip为121.199.29.84 /var/www/html(使用root账号登录,如果使用普通账号登录,只能将文件传输到家目录中)
        > scp ./app.zip charles@121.199.29.84:/var/www/html
          报错!没有权限!
        > scp ./app.zip charles@121.199.29.84:~

        window(DOS命令)
          c:/users/王五
                  桌面
                  下载
                  影音
                  收藏
                  ...
          win+R   打开了dos, dos默认所在目录为 c:/users/王五
          > dir   
            类似于linux中的ls, 打印出当前目录下的文件及子目录
          > cd 桌面
    2) 文件系统(路径、文件、目录)
      /
        /root           超级管理员的家目录
        /home/charles   charles用户的家目录
        /home/jacky     jacky用户的家目录
        /etc            配置文件目录
          group         组信息
          passwd        账号信息
          shadow        账号敏感信息(普通账号无法查看)
        /var            可变目录
        /opt            第三方软件安装目录 jdk,nodejs
        /usr/local      默认软件安装目录 apt install
        ...

      命令模板
      命令 [options] [arguments] 
      options
        -la
      $ pwd
        打印当前所在目录
      $ ls
        列出当前目录下的子目录或文件
        $ ls -a
        $ ls -l
        $ ls -R
      $ more
      $ more /etc/group
        预览/etc/group这个文件
        回车:换行
        空格:换页
        q: 退出
      $ tail -10 /etc/group
        查看/etc/group这个文件的后10行
      $ man groupadd
        manual 手册,查看groupadd这个命令的使用手册
      # reboot
        重启
        当修改了/etc/hostname的时候,需要重新启动电脑才能生效
      # vi /etc/hostname
      $ history
        查看历史命令 
        !命令序号
        执行命令序号对应的命令
        !!
        执行上一条命令     
      
      目录相关
        普通账号默认只能对自己家目录进行目录操作
      $ cd [目录]
        切换目录, 如果没有指定目录,默认进入自己家目录下
        目录:
          /   根目录(操作系统的根)
          ~   家目录(相对目录)
          .   当前目录
          ..  上一级目录
      $ mkdir a
        创建目录
      $ rmdir a
        删除空目录
      $ touch f
        新建文件(f不存在的时候)或者修改文件最近访问时间(f存在的时候)
      $ rm f
        删除文件(由于目录也是文件,所以rm也可以删除目录)
        rm -r a
        删除a及a目录下的所有子目录及文件
        (删库跑了 sudo rm -r /)
      $ date > a
        将date函数的输出重定向到a文件中,a如果不存在,创建。会覆盖
      $ date > a
        将date函数的输出重定向到a文件中,a如果不存在,创建。不会覆盖
      $ cp a b
        如果a是文件,b不存在或者b也是一个文件:将a的内容复制到b中
        如果a是文件,b是目录:将a复制到b中
      $ cp -r a b
        如果a为目录,必须使用-r,表示级联操作
      $ mv 
        $ mv a b  
        如果a是文件/目录,b不存在,表示重命名
        如果a是文件,b是目录,表示将a移动到b中
    3) 用户、权限
      普通用户只能在自己的家目录中创建文件、删除文件、修改文件
      用户组
      # groupadd web-ui
      # more /etc/group
        ...
        webui:x:1019:
      用户
      # adduser vicky
        创建用户 vicky
        创建组  vicky
        将vicky添加到 vicky组中
        创建一个加目录 /home/vicky
        将家目录的默认文件/etc/skel进行拷贝->/home/vicky
      # adduser --gid 1019 vicky
        创建用户 vicky
        将vicky添加到 1019组中
        创建一个加目录 /home/vicky
        将家目录的默认文件/etc/skel进行拷贝->/home/vicky
      # userdel -r zhangnn
        将zhangnn彻底删除
      # id [用户名]
        查看账号信息
      # usermod --gid=1009 larry
      $ su - 账号
        切换到指定账号下,账号如果缺省,表示切换到超级管理员下
      root    超级管理员
      sudoer  可以执行超级权限的用户(管理员)
      # vi /etc/sudoers
      $ sudo more /etc/shadow
    
    4) 文件权限
      普通用户拥有自己家目录中所有的权限。
      $ ls -l
      -rw-r--r-- 1 vicky webui 44 Aug 24 07:36 hello.js
      drwxr-xr-x 2 root  root  4096 Aug 24 09:29 bin
      -rwxr-xr-x 1 root  root  8600 Aug 24 09:34 hello.o

      -   文件
      d   目录
      rw-r--r--   
      角色:
        拥有者u、同组人g、其他人o
      权限
        读r、写w、执行x
      修改权限
        一个文件的权限拥有者可以修改、超级管理员、普通管理员也可以修改
        chmod
        $ chomd g+w hello.js 
        为hello.js添加同组人编写的权限

        rw-rw-r--
        110 110 100
        6 6 4
        $ chmod 664 world.js

    5) vim 编辑器(命令行、插入模式、底行模式)
      vi 、vim(linux)、sublime 、vscode(轻量级的编辑器)、webstom(集成开发工具)

      三种模式:命令行模式、插入模式、底行模式

      1. 命令行模式
        打开vim编辑器,默认进入的模式,字符表示特殊的命令
        
        x   删除一个字符
        u   回退
        cc  替换当前行:删除当前行;进入到插入模式
        cw  替换单词
        r   替换一个单词
        ...
      2. 插入模式
        命令行模式 -> 插入模式
          i   insert 插入
          o   other  在下一行插入
          a   append 追加
          I   从行首插入
          O   在上一行插入
          A   在行尾追加
      3. 底行模式
        命令行-> 底行模式
        保存    :w
        另存为  :w 文件名
        退出    :q
        保存退出 :wq
        强制退出 :q!
        搜索    /words  回车表示查询(高亮)n/N查询下一个
        替换    :1,$s/旧串/新串/g 
        ...
    6) vim配置
      用户配置
        ~/.vimrc
      全局配置
        /etc/vim/vimrc
      ----------------------
      set nu
      set autoindent
      set tabstop=2
      syntax on   
      ----------------------------

      懒人配置
      spf13
      $ curl http://j.mp/spf13-vim3 -L -o - | sh
  
    7) 软件安装(mysql、apache2、jdk、nginx...)
      1. 后台相关软件
        jdk1.8
        mysql
        jar
      2. 前端相关软件
        apache2 (httpd)
          npm run build:prod -> dist -> /var/www/html
        nginx (nuxt.js)
          门户系统 -> vue-admin-template (nuxt.js 适于seo检索)
        node.js
          nodeJS(io模块,网络模块,数据库模块,任务[线程]...)
      3. 工具类型软件
        gitlab(内存不低于2G);gitee、github(开源)
        svn-server
    8) 软件安装方式
      1. 命令行安装
        mysql、apache2
        # apt update  (更新源)
        1) 安装
          # apt install xxx
        2) 配置
          /etc/xxx
      2. 解压安装
        jdk、nodejs
        1) 下载 wget ; 本地下载,上传阿里云 (.tar.gz , .tar.xz , ...)
        2) 解压
          /opt # tar -xvf xxx.tar.gz
          xxx 该软件的家目录
          例:
          /opt $ sudo tar -xvf node-v14.17.5-linux-x64.tar.xz
          /opt/node-v14.17.5      nodejs的家目录
        3) 环境变量配置
          1. 全局
            /etc/profile
          2. 本地
            ~/.bashrc
          shell编程
            export NODE_HOME=/opt/node-v14.17.5
            export PATH=$NODE_HOME/bin:$PATH
        4) 生效
          $ source .bashrc
      3. 编译安装
        nginx、fastdfs
        c开发 -> 编译 -> 运行
        1) 编译
        2) 执行

      4) 实例安装nodejs
        1) 下载压缩包
          /opt $ sudo wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
        2) 解压
          /opt $ sudo tar -xvf node-v14.17.5-linux-x64.tar.xz
        3) 环境变量配置
          用户环境变量配置
            ~/.bashrc
            ~/.profile
          系统环境变量配置
            /etc/profile
          export NODE_HOME=/opt/node-v14.17.5-linux-x64
          export PATH=$NODE_HOME/bin:$PATH
        4) 使生效
          $ source .bashrc
          $ node --version
    9) 进程监控、端口号查询、磁盘查询...
      $ ps -aux | grep java
      $ kill -9 进程编号
      $ service 服务名 status/restart/start/stop
      $ java -jar xxx.jar
      ctrl + z
      将当前正在运行的进程停止下来
      $ bg %1
      将1号任务在后台运行
      $ fg
      $ wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz
      $ curl 解析url,将url内容展示到终端中
    -----后台接口------
      Hello.java
      World.java
      ->
      Hello.class
      World.class
      ->
      app.jar(接口服务,一直运行, 按下ctrl+c键后,停止运行)

  4. docker
    101.132.69.89 【csj】

    1) 作用
    2) 安装
      # docker version
      1. 更新源
      # apt update
      2. 安装必备软件
      # apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
      3. 安装 GPG key
      # curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
      4. 安装 
      # echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      5. 更新源
      # apt-get update
      # apt-get install docker-ce docker-ce-cli containerd.io

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值