Linux操作系统基础2

《鸟哥的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
            /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 移动、重命名
        $ mv a.txt ~
        将当前目录下的a.txt移动到家目录中
        $ 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 用户名
        $ adduser user1
    addgroup 组名
        新增用户组
        $ addgroup team
    usermod [options] 用户名
        修改用户信息
        $ usermod --gid 1008 user1
        将用户user1切换到组id为1008的组
    userdel 用户名
        -r 删除所有信息 

    groupdel 组名
        删除组
        $ 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

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

    windows 记事本 sublime editplus vscode...


    1) 打开关闭vi
        $ vi
        或
        $ vim
        :q
    2) 三种模式
        命令模式
            1. 删除行
                dd     删除当前行
                3dd 删除连续3行,包含当前行
                x     删除光标所在字符
                3x    删除连续3个字符
                dw     删除当前单词
                3dw 删除联系3个单词
            拷贝行
                yy     复制当前行
                3yy 复制连续3行
                yw    复制当前单词
                3yw    复制连续3个单词
            替换
                r     替换当前字符
                cc     替换当前行
                cw    替换当前单词
                p     粘贴
            u     恢复
            光标移动
                上下左右     在对应位置上移动
                ^     光标移动到当前行行首 
                $     光标移动到当前行行尾
        底行模式
            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
        编辑模式
            1) 命令模式->编辑模式的方式
                i     在当前字符前插入
                I     在当前行前插入
                a     在当前字符后追加
                A     在当前行后插入
                o     在当前行下另起一行
                O     在当前行上另起一行
            2) 编辑模式->命令模式的方式
                ESC

9. 拓展
    1) 将/etc/group中的内容拷贝到c.txt
        $ more /etc/group > c.txt
    2) vim插件管理
        1. 安装vim插件管理器 pathogen.vim
            $ mkdir -p ~/.vim/autoload ~/.vim/bundle
            $ curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
        2. 配置~/.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) 软件安装
        1. 在线安装
            # 更新源(无需每次更新)
            $ apt-get update
            # 安装软件
            apt-get install 软件名称
            $ apt-get install git
            $ git --version

        2. 手动安装
            1) 安装包
            2) 解压安装包
            3) 配置环境变量

    4) 授权
        adduser user1

        user登录系统
            $ apt-get install git
            权限不足
            $ sudo apt-get install git
            当前用户不在sudoer
        root登录系统
            修改/etc/sudoers

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


------------------
框架
    组件

    依赖
        打包
            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_36836332/article/details/82017364