欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux系统使用

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

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