Linux笔记整理

这是我自己总结的百度脑图链接

http://naotu.baidu.com/file/38aedb0bf416da308ed7d77065f616b5?token=bf05cc446f3e0c9f

 

下面是课堂笔记

阿里云、xshell、putty

1. linux
    (c、Javascript、Java、Python)
    集成环境 dw/ws eclipse myeclipse    
    1. 编程语言的学习最好在linux操作系统下
    2. web开发的部署环境
        静态页面
        动态网站
        接口服务
        linux作为服务器(网页)
    3. 嵌入式操作系统
        linux -> 硬件系统
        linux内核
            android
            ubuntu
            红帽子
            ...
2. unix
    免费开源
    linux(unix)
    linux 开源
        c语言、python库
        github 贡献

3. ubuntu16.04 
    双系统
    虚拟机
    云服务器(操作系统)

4. linux多人协作系统
    计算机组成原理
    计算机网络
    c语言
    操作系统
    ...

    外网ip地址
    管理员用户名     root
    管理员密码        xxx


    1) 登录到linux系统上
        超级管理员账号(一般不使用)
        普通账号

        mac(linux)
            ssh user@ip
        windows
            xshell
            putty

    2) 用户相关功能(超级管理员)
        $ adduser 用户名
            输入密码

            创建了一个与用户名同名的组
            创建一个指定用户名账号的用户
            将用户添加到组中
            创建家目录 /home/用户名
            将用户基本配套复制到用户家目录中

            组长 root
                licy/xxx

            /etc/passwd
                用户信息文件
            /etc/shadow
                用户信息保密文件
            /etc/group
                用户组的信息

            $ sudo more /etc/shadow

            普通用户的在sudoers中配置之后才能够使用sudo完成超级管理员所能做的事情。


        $ userdel -r 删除用户
        $ passwd 用户名        修改指定用户的密码

    3) 切换账号
        $ su - 用户名
            如果当前用户是root,不需要输入密码
            如果当前是普通用户,需要输入密码

            licy@VM-0-9-ubuntu:/etc$ 
            licy                         当前用户
            @                                分割符号
            VM-0-9-ubuntu     计算名
                如果想要修改,直接修改/etc/hostname文件即可
            :                                分割符号
            /etc                         当前所在路径
            $                             分割符号

    4) linux目录结构
        没有盘符概念
        所有目录都位于根目录下     /
            /home         普通用户家目录 
                /home/licy
                /home/charles
                ...
            /root         超级管理员的家目录
            /etc             核心配置目录
            /opt             第三方文件解压安装目录
            /usr             文件安装目录     
                apt-get install

        普通用户只具备家目录中的更新(增加,修改,删除)权限
    5) 路径
        .         当前
        ..         上一级
        /         根
        ~         家
        相对路径
            以 .或者..开头的路径
            $ cd es5
            =>
            $ cd ./es5
        绝对路径
            以为/开头的路径
            cd /home/charles/es5


    6) 文件系统操作
        创建目录
        $ mkdir 目录名称 [目录名称2]

        eg:
            $ mkdir app01 app02
            $ mkdir -p app/a/b/c        

        创建文件
        $ touch 文件名称

        拷贝
            $ cp a.txt dir1
            $ cp -r dir1 dir2

        移动或重命名
            $ mv a.txt dir1
            $ mv dir1 dir2
            当dir2存在,移动到dir2中;否则重命名为dir2

        删除文件或目录
            $ rm a.txt
            $ rm -r dir1
            $ rm -ir dir1

        删除空目录
            $ rmdir dir1
        压缩打包
            $ zip all.zip *.txt
        解压到当前目录下
            $ unzip all.zip
        解压到指定目录下
            $ unzip all.zip -d exdir
        压缩格式:
            gzip         -z
            bzip2     -j
        归档
            $ tar -cvf all.tar *.txt
        归档并且压缩
            $ tar -cvzf all.tar.gz *.txt
            $ tar -cvjf all.tar.bz2 *.txt
        解压
            $ tar -xvf all.tar.gz
    7) 修改权限
        1) 关键字
            u /g /o /a

            r/w/x

            +/-/=
        2) 八进制
            r--     100     4
            -w-        010        2
            --x     001        1
            rw-     110     6
            r-x     101     5
            rwx     111        7
            -wx        011        3

            chomd 651 a.txt
            对于a.txt,拥有者具有读写权限,同组人具有读执行权限,其他人具有执行权限

    8) 管道应用
        $ ls -l /etc | more
            以长格式查看etc下所有文件,使用more的方式来展示
        $ ps -ef | grep java
            找到系统中java相关进程

        $ find ~ -name java | grep java
    9) 文本编辑器的应用
        vi
        1. 打开
                直接打开vim
                通过vim打开一个文件
        2. 模式切换
            命令行模式
                命令行->编辑
                    i I
                    a A
                    o O
                命令行->底行
                    : 
                        w a.txt 
                        q 
                        w! 
                        q!
                        wq
                        其他设置
                        set nu
                    / 
                    ?
            编辑模式【最下有insert】
            底行模式【最下有: / 并且光标闪烁】
        3. 命令行命令
            yy
            p
            dd
        4. vim的配置
            ~/.vimrc

            set nu
            ...

            第三方配置spf13
            安装git
                # apt install git
                # git --version
            安装spf13
                $ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

    10) 基础命令
        $ clear         清理屏幕
        $ cd                 更改目录
        $ ls                 查看当前目录下的文件以及子目录
            -a     所有
            -l     长格式
            -R     递归显示目录树
            drwxr-xr-x 2 licy licy 4096 Aug 12 10:20 .

            d     目录
            -     普通文件

            rwxr-xr-x  
            rwx     当前用户对于该文件的权限     read/write/execute
            r-x     同组人对于该文件的权限
            r-x     其他人对于该文件的权限

        $ pwd             打印当前所在目录
        $ more             预览
            回车     下一行
            空格        下一页
            q         退出
        $ tail             预览后10行
        $ head             预览头10行
        $ man    命令
            打开指定命令的命令手册
            q         退出


    11) sudo
        以超级管理员身份运行 
        root
        boss
        /etc/sudoers
    12) 进程相关
        $ nohup java -jar homework.jar &
            将这个服务在后台运行
        $ ps aux | grep java
            寻找java相关进程
        $ kill -9 30469
            杀死进程号为30469的进程
        $ sudo netstat -ap
            用超级管理员身份列出当前系统占据所有的端口以及相对应的进程编号
            8099 - 31757
        $ ifconfig
            查看当前路由信息(ip)
            处于同一局域网中的多个主机可以通信
            路由器
                如何登陆到路由器的管理系统
                172.16.0.1
                172.16.0.20
                http://172.16.0.1
                    拨号
                    自动ip     猫
        $ sleep 100s &
        $ jobs / $ ps -ef | grep sleep

    13. 安装apache
        $ sudo apt install apache2
        在浏览器中访问
        http://152.136.136.220/
        如果打不开
        $ service apache2 status

        $ service apache2 restart

        apache默认部署目录
             /var/www/html/wangyi/index.html
        http://152.136.136.220/wangyi/

    14. vsftp安装
        vsftpd/subversion/nodejs/jdk/mysql
        1) ftp
            作用:将客户端中的网页上传到云服务器上
            1.1 在客户端安装fillzilla
            1.2 在服务器端安装vsftpd
                $ sudo apt get install vsftpd

                $ vsftpd -version
                vsftpd: version 3.0.3
        2) 配置
            $ sudo vi /etc/vsftpd.conf
            31行的注释放开即可
        3) 重启
            $ sudo service vsftpd restart
        4) 使用fillzilla进行测试

    15. subversion
        版本控制器服务版
        1) 安装
             $ sudo apt install subversion
         2) 测试
             $ svn help
         3) 创建仓库
             $ cd ~
             # 创建仓库目录,使用svnadmin初始化为svn仓库
             $ mkdir repository
             $ svnadmin create repository/
             $ ls repository/
             conf  db  format  hooks  locks  README.txt

         4) 修改配置文件
             1. 核心配置
                 /repository/conf/svnserve.conf
                 $ vi svnserve.conf
                 19 anon-access = read
                20 auth-access = write
                27 password-db = passwd
                36 authz-db = authz
            2. 配置账号信息
                 /repository/conf/passwd

            3. 配置权限信息
                 /repository/conf/authz

         5) 启动仓库
             $ svnserve -d -r /home/ubuntu/repository

             svn://152.136.136.220/wangyi
         6) 使用客户端软件(小乌龟)进行连接
             ip: svn://152.136.136.220/wangyi
             user
             passwd

    16. nodeJs安装【解压安装jdk/mysql (Java/python服务)】
        $ vsftpd -version
        /usr/bin不在PATH     环境变量的路径
        1) 下载安装包
            1. windows 下载,通过ftp上传云服务器上
            2. 在ubuntu16.04使用wget下载
                $ wget https://nodejs.org/dist/v10.16.2/node-v10.16.2-linux-x64.tar.xz
        2) 解压
            /opt
            node的家目录 /opt/node-v10.16.2
            node的可执行文件目录    /opt/node-v10.16.2/bin

        3) 将bin目录配置到环境变量中
            当在终端中运行一个命令的时候,系统会遍历PATH知道找到同名的文件,如果找不到提示无法运行,让我们下载并且安装

            系统变量(对所有用户都生效)
                /etc/profile
            用户变量
                /home/xxx/.bashrc
            $ sudo vi /etc/profile
            在最后一行后追加
            export NODE_HOME=/opt/node-v10.16.2
            export PATH=$PATH:$NODE_HOME/bin

            保存退出
            $ source /etc/profile
        4) 测试
            $ node -v

    17. 服务器能力:
        1) 文件上传 ftp
        2) 部署,静态服务器 apache
        3) 版本控制 subversion
            小乌龟 -> svn://134.175.154.93
        -4)    数据库 mysql (sql)
        -5) jdk/es6n
        6) node     js解析器
        -7) 分布式附件
            fastdfs


        $ vsftpd -version
        usr/sbin不在PATH
        1. vi /etc/profile

        export PATH=$PATH:$NODE_HOME/bin:/etc/profile
        
        2. source /etc/profile

    18. git
        svn     一般用于公司内部版本控制器(Java)
            tortoiseSVN     ->         subversion
            本地仓库                            远程仓库
            代码    --commit/update--> 代码

        git      一般用于开源项目,并且可以把开源项目发布到github中
            git                     ->         github/码云(gitee)
            本地仓库                            远程仓库
            
        1. 安装git
        2. 测试
            > git --version
        3. 使用
            1) 初始化本地仓库
            > git init
            当前目录就成为了git的本地仓库,在当前目录中会产生一个隐藏目录 git
            2) 查看状态
            > git status

            3) 将新建文件、修改添加到git中
            > git add *

            4) 将改变提交为一个版本
            > git commit -m '[licy]初始化版本'

            请你告诉git你是谁
            > git config --global user.name="pluslicy"
            > git config --global user.email="[email protected]"

            5) 查看历史版本
            > git log
            > git reflog

            6) 时光穿梭
            > git reset --hard 74ca8

            7) .gitignore
                让git不去管理指定的文件或目录
                src
                node_modules     第三方依赖,git
                package.json
            8) 本地仓库与远程仓库绑定
                1. 在github/gitee中新建远程仓库
                    public     任何人都可以查看代码,协作者才可以提交
                    private 只有自己和协作者才可以查看,提交代码
                2. 绑定
                > git remote add origin https://github.com/pluslicy/git_web1902.git
                3. 更新,将远程的主分支值更新到本地
                > git pull origin master
                4. 推送,将本地的仓库推送到远程
                > git push origin master
                需要输入用户名和密码

            9) 多人协作
                1. 添加协作者
                2. 协作者同意后协作者就可以进行提交
                    1) 先将远程仓库克隆到本地
                        > git clone https://github.com/pluslicy/git_web1902.git
                    2) 操作
                        先更新,再提交
                        > git pull origin master
                        > git push origin master
            10) 注意:
                提交之前先更新
                尽量不要多人同时操作一个文件
                空目录不会直接提交

      

你可能感兴趣的:(前端)