Linux---Ubuntu基本操作

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

 

原文地址:https://www.cnblogs.com/Wang-Vei/p/10513000.html