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

Linux系统使用的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  3. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  4. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  5. Linux 系统中发博客必备的五大图片处理神器

    发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...

  6. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

  7. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  8. 如何重置硬盘遭到“损坏”的Linux系统root用户密码

    传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...

  9. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  10. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

随机推荐

  1. gc笔记2

    空间分配担保:在发生MinorGC之前,虚拟机会检查老年代最大连续可用是否大于新生代所有对象的空间,如果这个条件成立,则minorgc时安全的

  2. 安卓开发笔记(十六):'Request(okhttp3.Request.Builder)' has private access in 'okhttp3.Request

    当出现了'Request(okhttp3.Request.Builder)' has private access in 'okhttp3.Request的错误的时候,实际上是我们在写代码的时候少打了 ...

  3. spring的定时器

    一:基于xml配置的方式 1:编写普通的pojo 类 package com.aflyun.web.task; import org.springframework.stereotype.Compon ...

  4. 【RL-TCPnet网络教程】第34章 RL-TCPnet之SMTP客户端

    第34章      RL-TCPnet之SMTP客户端 本章节为大家讲解RL-TCPnet的SMTP应用,学习本章节前,务必要优先学习第33章的SMTP基础知识.有了这些基础知识之后,再搞本章节会有事 ...

  5. Spring Boot: Yaml配置文件 以及 @ConfigurationProperties属性获取

    Yaml配置文件 概述 Spring Boot在支持application.properties配置文件的同时,也支持application.yaml配置文件. 配置文件中的属性,可以通过: 通过@V ...

  6. java线程阻塞唤醒的四种方式

    java在多线程情况下,经常会使用到线程的阻塞与唤醒,这里就为大家简单介绍一下以下几种阻塞/唤醒方式与区别,不做详细的介绍与代码分析 suspend与resume Java废弃 suspend() 去 ...

  7. Hive篇--相关概念和使用二

    一.基本概念 Hive分桶: 1.概念 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储.对于hive中每一个表.分区都可以进一步进行分桶.(可以对列,也可以对表进行分桶)由列的哈希值除以桶 ...

  8. BBS论坛(二十六)

    26.发布帖子前台代码逻辑完成 (1)front/hooks.py from .views import bp from flask import session,g from .models imp ...

  9. tensorflow 1.0 学习:用别人训练好的模型来进行图像分类

    谷歌在大型图像数据库ImageNet上训练好了一个Inception-v3模型,这个模型我们可以直接用来进来图像分类. 下载地址:https://storage.googleapis.com/down ...

  10. C++11 实现生产者消费者模式

    代码都类似,看懂一个,基本都能理解了. 共有代码: #include <cstdlib>#include <condition_variable>#include <io ...