学习Linux的课堂笔记

《鸟哥的linux私房菜》
1. arm
嵌入式
存储卡
操作系统
linux 内核
智能制造 ,机器人,物联网
2. 树莓派(微型计算机)
3. pc


  1. 购买阿里云 ubuntu16.04 server
  2. putty 远程登录
    mac 类linux ssh
    $ ssh [email protected]

  3. 登录过程
    root

  4. 系统介绍

    只有c盘的windows
    c:/
    windows
    program files
    users 用户家目录
    licy
    zhangsan

    linux
    /
    bin 部分系统可执行文件目录
    usr unix system resource
    类似 c:/windows
    usr/local 第三方软件安装目录
    类似 c:/program files
    var
    可变文件目录
    用户信息
    apache www
    etc 配置文件目录
    /etc/passwd 账号的信息文件
    /etc/shadow 密码信息文件
    /etc/group 设定用户的组名与相关信息
    /etc/gshadow 组密码信息文件
    /etc/sudoers 可以执行使用sudo命令的配置文件(权限提升)
    /etc/skel
    用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。这个目录下的所有文件都是隐藏文件(以.点开头的文件)。通过修改、添加、删除/etc/skel目录下的文件,我们可为新创建的用户提供统一的、标准的、初始化用户环境。
    /etc/profile 核心配置(系统全局变量永久生效的配置文件)
    opt 用来安装附加软件包,是用户级的程序目录
    解压即安装的软件目录 d:/soft
    eclipse
    home 普通用户家目录
    licy zhangtt …
    root 超级用户家目录

  5. 命令
    cd [路径]
    无 回家
    相对路径
    不以 / 开始的路径
    绝对路径
    以 / 开始的路径

    ls [路径]
    无 查看当前路径下所有文件以及子目录
    路径 查看指定路径下所有文件以及子目录
    -a
    列出所有文件包含隐藏文件
    -A
    列出所有文件包含隐藏文件,但是不包含“.”和“..”
    -l
    以长格式列出所有文件以及目录
    drw-r–r– 2 root root

    clear
    清理屏幕
    mkdir 目录名称
    在当前目录下新建目录
    rmdir 目录名称
    删除空目录
    rm 删除文件
    rm -r 文件/目录
    删除文件,或者非空目录
    mv 移动、重命名
    m v a . t x t   a . t x t mv a.txt b.txt
    将a.txt重命名为b.txt
    cp 拷贝
    $ cp a.txt ~
    将当前目录下的a.txt拷贝到家目录中
    pwd
    显示当前所在路径
    more
    预览
    less
    预览
    head
    预览头10行
    tail
    预览末尾10行

    cat 文件1 文件2
    将文件1与文件2内容合并后显示
    tac 文件1 文件2
    将文件1的反向和文件2的反向合并后显示
    nl 文件1 文件2
    添加行号显示

    history
    调出所有历史命令
    !命令编号
    执行命令编号指定的命令
    例:

    29 ls -l
    30 clear

    $ !29
        执行29行命令
    $ !!
        执行上一条命令
    
  6. 用户
    adduser 用户名
    a d d u s e r u s e r 1 a d d g r o u p addgroup team
    usermod [options] 用户名
    修改用户信息
    u s e r m o d g i d 1008 u s e r 1 u s e r 1 i d 1008 u s e r d e l r g r o u p d e l groupdel user1
    su [-] [用户名]
    切换用户身份
    如果具有参数 - ,表示彻底切换
    1) 切换家目录,用户身份切换成功后直接进入到当前用户的家目录
    2) shell切换,当前的$PATH(环境变量)使用当前用户的

        /opt/node-v8.11.3
        /root
        /home
            user1
                用户变量
                .bashrc .profile
                PATH=$PATH:/opt/node-v8.11.3/bin
                $ node
    
            user2
                用户变量
                .bashrc .profile
                $ node
    $ su 
        切换到超级管理员身份进行登录
    $ su user1
        切换到user1用户上
        从root切换到其他用户不需要输入密码,从其他用户切换到第三方用户需要输入第三方用户的密码
    root    超级用户
    licy    普通用户
    
  7. 权限

    用户角色
    user 拥有者 u
    group 同组人 g
    other 其他人 o

    文件权限
    read 读 r
    write 写 w
    execute 执行 x
    - 无权限 -

    修改文件权限
    1) chmod g+w index.html
    为index.html添加同组人写权限
    2) chomd 766 index.html
    user 7 rwx
    group 6 rw-
    other 6 rw-
    rwxrw-rw-
    — 000 0
    –x 001 1
    -w- 010 2
    -wx 011 3
    r– 100 4
    r-x 101 5
    rw- 110 6
    rwx 111 7
    速记?x1 w2 r4

  8. vim
    vi升级版,linux主要文本编辑,类似于window记事本,功能异常强大!

    windows 记事本 sublime editplus vscode…

    1) 打开关闭vi
    v i vim
    :q 退出
    2) 三种模式
    A、命令模式
    1. 删除行
    dd 删除当前行
    3dd 删除连续3行,包含当前行
    x 删除光标所在字符
    3x 删除连续3个字符
    dw 删除当前单词
    3dw 删除联系3个单词
    拷贝行
    yy 复制当前行
    3yy 复制连续3行
    yw 复制当前单词
    3yw 复制连续3个单词
    替换
    r 替换当前字符
    cc 替换当前行
    cw 替换当前单词
    p 粘贴
    u 恢复
    光标移动
    上下左右 在对应位置上移动
    ^ 光标移动到当前行行首
    $ 光标移动到当前行行尾

    B、底行模式
        1) 定位光标位置
            :n  光标进入到n行,n 表示具体数字
            :$     光标进入最后一行
        2) 存档
            :q  退出
            :q! 强制退出,不保存改动信息
            :w  保存
            :w! 强制保存
            :wq 保存并退出
                :w 文件名
                另存为... ,默认该文件保存在当前目录下
        3) :set 参数
            临时设置vim参数
            :set nu
            :set tabstop=2
            :set autoindent
        4) 查找
            /目标字符串  查找目标字符串
                n   查询下一个
                N   查询上一个
        5) 替换
            :n,ms/old/new/g
            n   开始
            m   结束
            old 被替换字符
            new 用来替换的字符
            g   全局
        6) 移动
            :9,14co6
            将第9行到14行代码拷贝到第6行后
            :6,14m2
            将第6行到14行代码移动到第2行后
        7) 分屏
            :split
            :vsplit
            ctrl + ww 在不同屏幕中移动光标位置
            :open   在分屏打开一个文件
            :close  关闭分屏
    
    配置,默认配置文件~/.vimrc
        $ cd 
        $ vim .vimrc   新建.vimrc
    
    C、编辑模式
        1) 命令模式->编辑模式的方式
            i   在当前字符前插入
            I   在当前行前插入
            a   在当前字符后追加
            A   在当前行后插入
            o   在当前行下另起一行
            O   在当前行上另起一行
        2) 编辑模式->命令模式的方式
            ESC
    
  9. 拓展
    1) 将/etc/group中的内容拷贝到c.txt
    m o r e / e t c / g r o u p > c . t x t 2 ) v i m 1. v i m p a t h o g e n . v i m mkdir -p ~/.vim/autoload ~/.vim/bundle
    $ curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
    2. 配置~/.vimrc
    插入一行(放在.vimrc文本的第一行)
    execute pathogen#infect()
    3.安装emmet-vim(用于html代码提示)
    $ git clone https://github.com/mattn/emmet-vim.git
    4.spf13 (.vimrc)【建议】
    $ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
    3) 软件安装
    软件
    git
    node

    服务 (一般要占据端口号)
        apache2
        1. 安装服务
        2. 启动服务
    
    客户机(自己电脑)           服务器(阿里云)
    浏览器                             apache2
    putty                               ssh服务器
        (ssh协议)                 
    teamview                        teamview    
    ftp客户端                      ftp服务器(名称是:vsftpd)
    
    
    apt-get install apache2 
        80
    apt-get install mysql
        3306
    apt-get install tomcat
        8080
    //启动服务: 
    service 服务名 start/restart/stop/status(重启之后查看状态)
    
    
    1. 在线安装
        # 更新源(无需每次更新)
        $ apt-get update
        # 安装软件
        apt-get install 软件名称
          $ apt-get install git //在线安装git
          $ git --version  //查看git版本
        git
        apache2
        mysql
    
    
        1. 安装vsftpd
            $ apt-get install vsftpd
        2. 核心配置文件 /etc/vsftpd.conf
            $ cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 
            $ vim /etc/vsftpd.conf
            将31行注释或删除
    
            $ service vsftpd restart
            $ service vsftpd status
                runing...
        3. 打开windows  dos
            ftp ip(47.106.202.9)
            用户名/密码
            ftp > put 1.js
            3ftp客户端
                filezilla
                //xshell 
    
    2. 手动安装 
        node安装
        1) 上传安装包
        2) 解压安装包
            解压到/opt目录下
        3) 配置环境变量
            为了可以在任意目录下使用该命令,所以需要配置环境变量
    
            全局系统变量
                /etc/profile
            (局部)用户系统变量
            ~/.bashrc
            ~/.profile
    
                $ cd ~
                $ vim .bashrc
                在.bashrc最后一行追加
                export NODE_HOME=/opt/node-v8.11.4-linux-x64
                export PATH=$PATH:$NODE_HOME/bin
                $ source .bashrc
                $ node -v 
    

    4) 授权
    adduser user1
    user登录系统
    a p t g e t i n s t a l l g i t sudo apt-get install git
    当前用户不在sudoer
    root登录系统
    // vi /etc/sudoers 然后修改
    修改/etc/sudoers
    //test1 ALL=(ALL:ALL) ALL

  10. 压缩
    zip
    语法: zip 归档名称 带压缩的文件
    案例: $ zip all.zip *.html
    后缀: .zip
    解压: unzip

    bzip2
    语法:bzip2 归档文档
    案例:$ bzip2 *.html
    分别将每个文件压缩
    后缀: .bz2
    解压:bunzip2

    gzip
    语法:gzip 归档文档
    案例:$ gzip *.html
    分别将每个文件压缩
    后缀: .gz
    解压:gunzip

  11. 归档
    tar
    -x 解压归档
    -v 打印过程
    -f 归档、拆档对象
    -c 新建归档
    -z gzip gunzip
    -j bzip2 bunzip2

    tar -czvf all.tar.gz *.o
    tar -xzvf all.tar.gz
    
  12. vim总结
    1) vim的应用
    打开文件
    保存文件
    编辑文件
    2) vim插件功能
    spf13
    $ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
    1. 插件管理器
    1) pathogen.vim
    2) vundle

    2. 插件
        emmet-vim   代码速成
        NERDTree        文件导航
        ctrlp               文件快速搜索
        EasyMotion  光标快速移动
        ....
    
  13. js
    1.~/ 家目录下
    mkdir corejs
    cd corejs
    mkdir day01 day02 day03
    cd day01
    touch 1-hello.js //新建文件
    vim 1-hello.js //编辑文件
    然后退出vim、在node中执行js文件

    下载node
    node上传到阿里云
    解压
        tar
    配置
        vim 
    
    node 1-hello.js 浏览器内核js解析器
    

框架
组件

依赖
    打包
        jquery.js
        lodash.js
        a.js
        b.js
        c.js

webpack 运行在node.js

  1. 进程
  2. 服务
    apache
    vsftpd
  3. 软件安装
    git
    apache2
    vsftpd
    node

猜你喜欢

转载自blog.csdn.net/qq_37957971/article/details/82012247