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 [email protected]:/home/wangwei 完事
scp -r [email protected]:/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__)
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 退出