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. 【RL-TCPnet网络教程】第19章 RL-TCPnet之BSD Socket服务器

    第19章      RL-TCPnet之BSD Socket服务器 本章节为大家讲解RL-TCPnet的BSD Socket,学习本章节前,务必要优先学习第18章的Socket基础知识.有了这些基础知 ...

  2. RabbitMQ进程结构分析与性能调优

    RabbitMQ是一个流行的开源消息队列系统,是AMQP(高级消息队列协议)标准的实现,由以高性能.健壮.可伸缩性出名的Erlang语言开发,并继承了这些优点.业界有较多项目使用RabbitMQ,包括 ...

  3. [Swift]LeetCode541. 反转字符串 II | Reverse String II

    Given a string and an integer k, you need to reverse the first k characters for every 2k characters ...

  4. Identity Server 4 中文文档(v1.0.0) 目录

    欢迎来到IdentityServer4 第一部分 简介 第1章 背景 第2章 术语 第3章 支持和规范 第4章 打包和构建 第5章 支持和咨询选项 第6章 演示服务器和测试 第7章 贡献 第二部分 快 ...

  5. 发布core到linux

    1.安装虚拟机之后,发现可以ping通但是telnet提示失败 CentOS 7.0默认使用的是firewall作为防火墙(我们需要把防火墙关掉) 查看防火墙状态 firewall-cmd --sta ...

  6. 上下div高度动态自适应--另类处理方案

    这段时间在工作中遇到一个看似较为棘手的问题.问题描述:查询报表页面分为上下两部分,上部分为条件输入区域,下部分为报表展示区域.客户要求做到默认满屏(但要动态适应不同的窗体大小,也就是浏览器窗体用户会手 ...

  7. Ocelot + Consul实践

    关于Consul(https://www.consul.io)是一个分布式,高可用,支持多数据中心的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla ...

  8. 看懂Azure ML、Windows ML和ML.NET

    最新2018微软中国人工智能大会刚刚落下帷幕,对于.NET开发者,可能早已被眼花缭乱的微软家AI体系弄晕了.我特意整理了几张图,以示区别. Azure ML提供了大量认知API服务,外加一个机器学习的 ...

  9. redis 系列20 服务器下

    二. serverCron函数 2.3 更新服务器每秒执行命令次数 serverCron函数中的trackOperationsPerSecond函数会以每100毫秒一次的频率执行,这个函数以抽样计算的 ...

  10. 如何在SpringBoot中集成JWT(JSON Web Token)鉴权

    这篇博客主要是简单介绍了一下什么是JWT,以及如何在Spring Boot项目中使用JWT(JSON Web Token). 1.关于JWT 1.1 什么是JWT 老生常谈的开头,我们要用这样一种工具 ...