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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM