zoukankan      html  css  js  c++  java
  • Linux---Ubuntu基本操作

    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 退出

     

  • 相关阅读:
    Nuget:aliyun-openapi-sdk
    iptables简述
    openOffice安装
    bash:command not found
    linux nc命令
    linux命令帮助
    linux用户管理
    LDAP 后缀操作
    LDAP缓存命令
    LDAP索引及缓存优化
  • 原文地址:https://www.cnblogs.com/Wang-Vei/p/10513000.html
Copyright © 2011-2022 走看看