Linux系统使用
程序员文章站
2022-07-01 14:59:20
linux(操作系统的内核) 浏览器功能:(内核的解释) 各个浏览器 实现的方式不一样 呈现内容 //解析内容和样式 用—webkit— (内核)解析 实现交互逻辑 v8 引擎 (内核) 实现 => 解析 JS 的引擎 //除了IE 都在用 进行数据传递(上网) 用chrome net 引擎 (内核 ......
浏览器功能:(内核的解释)
各个浏览器 实现的方式不一样
-
呈现内容 //解析内容和样式 用—webkit— (内核)解析
-
实现交互逻辑 v8 引擎 (内核) 实现 => 解析 js 的引擎 //除了ie 都在用
-
进行数据传递(上网) 用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 退出