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. Redis API的原子性分析

    在学习Redis的常用操作时,经常看到介绍说,Redis的set.get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? 原子性 原子性是数据库的事务中的 ...

  2. IDEA使用Maven搭建SSM框架

    搭建环境:Intellij IDEA 2017 JDK 1.8 Tomcat 8.5 MySQL 5.7 Spring 4.x Mybatis 3.x 这个过程确实太麻烦了,我用了两个小时 所以建议用 ...

  3. [Swift]LeetCode393. UTF-8 编码验证 | UTF-8 Validation

    A character in UTF8 can be from 1 to 4 bytes long, subjected to the following rules: For 1-byte char ...

  4. [Swift]LeetCode819. 最常见的单词 | Most Common Word

    Given a paragraph and a list of banned words, return the most frequent word that is not in the list ...

  5. [Swift]LeetCode879. 盈利计划 | Profitable Schemes

    There are G people in a gang, and a list of various crimes they could commit. The i-th crime generat ...

  6. [Swift]LeetCode930. 和相同的二元子数组 | Binary Subarrays With Sum

    In an array A of 0s and 1s, how many non-empty subarrays have sum S? Example 1: Input: A = [1,0,1,0, ...

  7. [Swift]LeetCode955. 删列造序 II | Delete Columns to Make Sorted II

    We are given an array A of N lowercase letter strings, all of the same length. Now, we may choose an ...

  8. Python档案袋( Socket 与 ScoketServer 通信 )

    Socket有一个缓冲区,缓冲区是一个流,先进先出,发送和取出的可自定义大小的,如果取出的数据未取完缓冲区,则可能存在数据怠慢.其中[recv(1024)]表示从缓冲区里取最大为1024个字节,但实际 ...

  9. mysql tablespace(独立表空间)超速备份大数据

    前序 对于用户自主创建的表,会采用此种模式,每个表由一个独立的表空间进行管理备份(速度相当的猛) 首先介绍一下文件 .ibd就被称之为独立表空间的数据文件 .frm就是元数据文件 就是创建表后生成的 ...

  10. 8.Django缓存和信号

    缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将某个views的返回值保存至内存或者memcache中, ...