zoukankan      html  css  js  c++  java
  • Linux系统使用

    linux(操作系统的内核)

    浏览器功能:(内核的解释)

    各个浏览器 实现的方式不一样

    1. 呈现内容 //解析内容和样式 用—webkit— (内核)解析

    2. 实现交互逻辑 v8 引擎 (内核) 实现 => 解析 JS 的引擎 //除了IE 都在用

    3. 进行数据传递(上网) 用chrome net 引擎 (内核) 实现

    基于linux内核的一种发行系统 -------ubuntu 乌邦图(天下共享,连接每一个人)

    命令

    bin    重要的二进制应用程序  含有所有  ubuntu 的命令

    cd /         跳转到根目录
    cd ../../       跳转到上上层目录
    cd - 回到最近一次跳转的目录

    ls           查看
    man ls 查看命令能跟的参数及功能 (这个是查看 ls 的)
    ls -a   查看所有文件夹(查看隐藏文件// 比如说被默认的系统文件)
    ls -l     查看所在文件的详细信息

    which ls       找到命令所在位置 ls               找不到的就在超级管理员的sbin中
    pwd   查看当前在哪个目录下

             
    /etc           配置文件(系统的) 安装之后
    /usr 配置文件(用户自己的)
    /boot 系统启动的文件
    /lib           整个系统的核心文件 (函数库,所有命令真正的运行程序)
    /lost+found     系统临时文件夹     不要动
    /proc     process(进程)   不要动     进程运行时候产生的临时文件
    /sys 跟 /proc 相似
    /run 系统运行时产生的临时文件的存放处   不要动
    /media 管理着一些移动设备
    /mnt 挂载(mounted)文件系统
    /opt 应用程序默认安装的文件夹
    /root 超级管理员运行的内容
    /sbin 超级管理员可以运行的命令
    /tmp 临时文件夹 所有用户都能操作

    文件操作


    echo 1 输出 1
    echo hello > "1.txt" 创建文件
    cat 1.txt 打开 1.txt 文件   Tab 键补全
    echo 456 >> 1.txt 追加进1.txt
    gedit 1.txt ubuntu特有的编辑器  
    touch 1.txt 创建 (村在的话就不创建)

    目录操作


    mkdir a 创建目录
    rmdir a 删除目录(只能删除空目录)
    rmdir -p a/b/c 删除目录(删的都是空目录,c是空的 删完c,b是空的, 删完b,a是空的)

    - man ls   查看ls所有参数,f跳转单页,q跳出此页面,回到命令行
    - witch ls   查看命令所在位置
    - pwd   查看当前目录
    - clear 清空屏幕
    - echo 输入
    - echo 123 > 1.txt   保存文件
    - cat 1.txt   查看文件
    - echo 456 >> 1.txt   追加文件
    - gedit 1.txt     gidit 编辑器(ubuntu环境)
    - ifconfig   查看地址
    - vim 编辑器
     - :wq 保存退出
     - i   写
     - dd 删除
    - touch 2.txt (若存在则不创建)

    删除


    - d 文件夹   -文件
    - rm -rf   删除任何目录
    - rm 1.txt 删除文件
    - rm *.txt 所有
    - mkdir   a   创建目录
    - mkdir -p a/b/c       创建带层级的空目录
    - rmdir   a     删除空目录
    - rmdir   a/b/c     只能删除c
    - rmdir -p   a/b/c   删除带层级的空目录

    剪切复制


    - mv   a   aaa   (移动剪切;重命名)
    - mv a documents/
    - move a ../
    - move a ../c/b   把a从当前文件夹移动到c文件夹,并改名为b
    - cp   1.txt   2.txt   (拷贝文件copy)
    - cp   a   -r   b   (拷贝目录)
    - history 查看历史命令c'd

    链接


    ln -s a.txt b.txt     //软链接 有-s 常用 不占磁盘空间 只是做了个镜像
    一变全变
    ln a.txt c.txt       //硬链接 没有-s   相当于拷贝一份,只是内部建立联系 不能做文件夹!

    ln -s /home/wangwei/a/1.txt /home/wangwei/project/2.txt     把1.txt和2.txt链接起来

    查找


    find ngi*     查找文件
     

    sudo find ngi* | grep con     #从ngi* 的文件中 查找 con 内容
    grep a *.txt #从 *.txt 中找包含a的内容


    ps(process) 进程
    ps -aux | grep 14824       #从ps -aux 中找14824内容

    文件的解压缩


    先打包文件夹     打包后为文件
    tar(target)-c(create) v(view) f(file)
    tar -cvf b a    
    解包
    tar -xvf b -C c   把b解压到c中 必须加 -C


    打包文件
    tar -cvf aaa a.txt
    解包
    tar -xvf aaa -C ../b


    压缩
    压缩需先打包
    -z :gzip     -j :bz2
    tar -zcvf/-jcvf b a     把a包压缩成b

    解压
    tar -zxvf b -C c   把b解压到c中


    zip压缩
    zip dest source

    zip解压
    unzip dest

    文件的传输


    用户名 地址   用户文件
    http
    ftp

    ssh     (secure shell ) git基于ssh协议

    (socket =>端口)

    netstat -apt | grep 22 查看端口号

    PSCP.exe , 配置环境变量Path

    scp
    scp -r (文件夹)

    scp -r a wangwei@192.168.217.130:/home/wangwei         完事
    scp -r wangwei@192.168.217.130:/home/wangwei/a -r a

    磁盘管理


    du           看文件夹中的使用信息
    df -h         查看磁盘

    网络通讯


    net
    host (localhost)
    sudo ifconfig eth@ 修改后的ip


    访问视频
    udp协议


    上网浏览  
    tcp协议

    netstat -aup     查看所有(a)使用udp(u)协议的软件使用端口(p)的信息
    netstat -atp     查看所有(a)使用tcp(t)协议的软件使用端口(p)的信息

    软件安装


    sudo apt-get update         先更新软件库   添加完再更新
    sudo apt-get install mysql-server mysql-client           ubuntu安装程序

    sudo add-apt-repository ppa:webupd8team/java     添加包地址,ppa:个人软件包档案
    sudo add-apt repository packagename


    sudo apt-get update   升级软件包
    sudo apt-get upgrade   把命令升级

    ps -aux | grep mysql   查看是否启动

    源码安装


    user/bin/python         用户自己加的应用可以运行的bin

    wget url     下载包↓
    找到configrue
    ./configure --prefix=/opt/python3.7.0     把configure生成配置项 所放到的地方
    [--endable-optimizations]
    make all     编译
    sudo make install   安装    

    多版本优先级切换
    sudo update-alternatives --install /usr/bin/python3 python3 /opt/Python3.7.0/bin/python3.7 500

    update-alternatives --install link name path [--slave link ]

    进程


    ctrl+z 挂起
    fg %1 调回

    删除


    apt-get --purge remove mysql-server 卸载软件,包括配置文件
    apt-get autoremove mysql-server     删除依赖包
    sudo apt-get clean && sudo apt-get autoclean   清理无用的包 &&同时运行两个命令

    mysql使用命令


    sudo apt-get install mysql-server mysql-client           ubuntu安装程序

    1.终端启动MySQL:/etc/init.d/mysql start;

    2.登录MySQL:mysql -uroot -p (用root账户登录),然后输入密码;

    3.查看所有的数据库名字:show databases;

    4.选择一个数据库操作: use database_name;

    5.查看当前数据库下所有的表名:show tables;

    6.创建一个数据库:create database database_name;

    7.删除一个数据库:drop database database_name;

    8.创建一个表: create table mytest( uid bigint(20) not null, uname varchar(20) not null);

    9.删除一个表: drop table mytest;

    10.SQL插入语句:insert into table_name(col1,col2) values(value1,value2);

    11.SQL更新语句:update table_name set col1='value1',col2='value2' where where_definition;

    12.SQL查询语句:select * from table_name where.......(最复杂的语句)

    13.SQL删除语句:delete from table_name where...

    14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...

    15.删除表结构的字段:alert table table_name drop field1;

    16.查看表的结构:show columns from table_name;

    17.limit 的使用:select * from table_name limit 3;//每页只显示3行
    select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。

    18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序

    19.退出MySQL:exit;

    20.删除表中所有数据: truncate table 数据表名称 (不可恢复)

    设备操作

    关机


    halt           立刻关机
    poweroff       立刻关机
    shutdown -h now     立刻关机(root用户使用)
    shutdown -h 10       10分钟后自动关机

    重启


    reboot      
    shutdown -r now
    shutdown -r now 10
    shutdown -r 20:35
    shutdown -c 取消重启

    进程


    ps -aux   显示所有包含使用者的进程 all user x进程
    top         动态显示所有进程
    sudo kill 进程号     杀死进程
    sudo kill -9 进程号     杀死所有进程

    都杀不了 就是守护进程
    守护进程路径:cd /etc/init.d/   到这查找
    sudo /etc/init.d/mysql stop 停止守护进程
    sudo /etc/init.d/mysql start 开始守护进程
    sudo /etc/init.d/mysql restart 重启守护进程

    pycharm


    idea.lanyus.com   获得破解码
    获得破解码后
    在vim /etc/hosts
    加 0.0.0.0 account.jetbrains.com

    用户、组


    whoami       看现在是谁在登录
    who         看有多少人在操作(都有谁)

    su first       切换用户

    创建新用户
    sudo useradd -m first   -m是同时创建目录
    cat /etc/passwd   查看first 是否创建成功
    sudo passwd first         设置密码
    用windows登陆就会显示两个用户登录   first不能用sudo   只有原著民能用sudo

    usermod   修改用户信息
    -d   //sudo usermod first -d /home/first/demo   指定登录目录



    删除前先退出   exit   (从windows中退出)
    sudo userdel -f first   删除用户


    sudo groupadd demo     创建组    

    cat /etc/group         查看组
    cat /etc/passwd         查看用户
    groups first           查看用户是属于哪个组的
    useradd aaa -g abc     创建aaa用户直接指定属于abc组(组要存在)
    useradd aaa -G bbb       -G 追加 创建aaa用户既属于abc组,也属于bbb组(组要存在)
    sudo usermod first -g demo     把first放入demo组
    sudo usermod first -Gdemo     first既属于first组,也属于demo组
      demo 为主组  
    sudo usermod first -G demo   把first和demo交换 first为主组

    sudo gpasswd -d first demo     把first从demo中删除(不能从主组删除)
    sudo gpasswd -a first demo     把first追加到demo

    删除组
    sudo groupdel demo     把demo组删掉
    cat /etc/group       查看删除结果

    sudo groupmod demo -n demo 修改组名

    sudo usermod -a -G sudo first   让first有sudo权限(放到sudo组中)
    sudo usermod -a -G adm first     让first有adm权限(放到adm组中)

    权限

    • -为文件 d为文件夹

      • w 写入 文件/改变删除文件 文件夹/增加删除文件

      • r 读取 文件/读取文件数据 文件夹/查看文件夹内部都有什么

      • x 执行 文件/执行该程序 文件夹/列出该文件中内容的详细信息

    • sudo chown -R first:first aaa 改变文件夹的拥有者 -R 递归,文件夹中的内容的拥有者都改变

    • 更改文件权限

      • sudo chmod u=rwx ,g=rwx ,o=rwx ccc.txt (在原著民的权限下改)

      • chmod -R 666 ccc.txt 1-->x 2-->w 4-->r 3-->xw 5-->rx 6-->wr 7-->wrx

    执行

    • 在vim内部写 #!/user/bin/env pyhton, 自动执行python

    搭建服务器


    from flask import Flask,render_template #渲染html(flask中)
    import pymusql

    app=Flask(__name__)


    @app.route("/")     #访问根目录的话会↓ 返回到“index.html”
    def index():
        db = pymysql.connect(host="localhost",
                            user="root",
                            password="9264",
                            db="wangwei",
                            charset="utf8")
       cur = db.cursor()
       cur.execute("select * from stu")
       result = cur.fetchall()         #把数据库中的数据全部拉取出来
       return render_template("index.html",result=result)    #需要上面的render_template
    #result 只能被{{}}识别 逻辑{%%}

    flask 中规定 静态文件(css,js等)必须要放到static目录中 因为是默认的路径 所以要新建static文件 /static


    <link rel="style" herf="/static/index.css">

    {{data}}
    {% for item in data %}
    <li></li>
    {% endfor %}

    if(result):


    res=make_response(redirect("/"))

    res.set_cookie("login","yes")

    return res

    else:


    return redirect("/login")

    session


    sudo apt-get install mysql-server mysql-client           ubuntu安装程序

    1.终端启动MySQL:/etc/init.d/mysql start;

    2.登录MySQL:mysql -uroot -p (用root账户登录),然后输入密码;

    3.查看所有的数据库名字:show databases;

    4.选择一个数据库操作: use database_name;

    5.查看当前数据库下所有的表名:show tables;

    6.创建一个数据库:create database database_name;

    7.删除一个数据库:drop database database_name;

    8.创建一个表: create table mylist(
    -->id int(10) auto_increment primary key,
                                                  自增           组件
                              -->name varchar(255),
                              -->age varchar(10),
                              -->sex varchar(10))default charset=utf-8;
    9.删除一个表: drop table mytest;

    10.SQL插入语句:insert into table_name(col1,col2) values(value1,value2);

    11.SQL更新语句:update table_name set col1='value1',col2='value2' where where_definition;

    12.SQL查询语句:select * from table_name where.......(最复杂的语句)

    13.SQL删除语句:delete from table_name where...

    14.增加表结构的字段:alert table table_name add column field1 date ,add column field2 time...

    15.删除表结构的字段:alert table table_name drop field1;

    16.查看表的结构:show columns from table_name;

    17.limit 的使用:select * from table_name limit 3;//每页只显示3行
    select * from table_name limit 3,4 //从查询结果的第三个开始,显示四项结果。 此处可很好的用来作分页处理。

    18.对查询结果进行排序: select * from table_name order by field1,orderby field2;多重排序

    19.退出MySQL:exit;

    20.删除表中所有数据: truncate table 数据表名称 (不可恢复)

    python3 -m venv abcd

    cd abcd

    source bin/activate

    which python3

    deactivate 退出

     

  • 相关阅读:
    LeetCode 623. Add One Row to Tree
    LeetCode 894. All Possible Full Binary Trees
    LeetCode 988. Smallest String Starting From Leaf
    LeetCode 979. Distribute Coins in Binary Tree
    LeetCode 814. Binary Tree Pruning
    LeetCode 951. Flip Equivalent Binary Trees
    LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List
    LeetCode 889. Construct Binary Tree from Preorder and Postorder Traversal
    LeetCode 687. Longest Univalue Path
    LeetCode 428. Serialize and Deserialize N-ary Tree
  • 原文地址:https://www.cnblogs.com/weigaojie/p/10491320.html
Copyright © 2011-2022 走看看