Linux

头像
T
    阅读 5 分钟

    linux

    符号:

      >   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下进入命令行

          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内容展示到终端中

    T
    1 声望0 粉丝