1 linux
?
1.1解壓縮
1.1.1 zip
zip xxx.zip file? ?把名為fle的文件壓縮成xxx.zip
-r 遞歸壓縮:加上該選項才能壓縮文件夾
zip -r example_new.zip 示例集 ?# 新建壓縮包并命名為 example_new.zip
zip -r xxx.zip file1 file2 dir1 將多個文件+目錄壓成zip包
unzip file.zip -d target_dir #把file.zip解壓到目標文件夾磁盤路徑target_dir下
1.1.2 tar
tar -cvf xxx.tar file 創建非壓縮tar包
tar -cvf xxx.tar file1 file2 dir1 將多個文件+目錄打tar包
tar -tf xxx.tar ? ?查看tar包的內容
tar -xvf xxx.tar ? 解壓tar包
tar -xvf xxx.tar -C /dir 將tar包解壓至指定目錄
tar -cvfj xxx.tar.bz2 dir 創建bz2壓縮包
tar -jxvf xxx.tar.bz2 解壓bz2壓縮包
tar -cvfz xxx.tar.gz dir 創建gzip壓縮包
tar -zxvf xxx.tar.gz 解壓gzip壓縮包
~bz2
bunzip2 xxx.bz2 ? ?解壓bz2壓縮包
bzip2 filename ? ? 壓縮文件
~gzip
gunzip xxx.gz ? ? ?解壓gzip壓縮包
gzip filename ? ? ?壓縮文件
gzip -9 filename ? 最大程度壓縮
?
1.2 文件操作命令
1.2.1 基礎命令
1 查看當前的系統路徑:pwd
2 改變當前目錄:cd
1.2.2 文件夾的操作命令
1 創建文件夾
mkdir 文件夾名稱
mkdir -p a/b/c:一次創建多個文件
2 復制文件夾
cp只能用來復制文件,需要復制文件夾要加上-r
cp- r [選項] 源文件或目錄? 目標文件或目錄
常用選項:
-f 或 --force : 強行復制文件或目錄, 不論目的文件或目錄是否已經存在。
-r :遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態,不屬于目錄或符號鏈接,則一律視為普通文件處理。
3 查看文件夾大小
- du -sh .:查看當前目錄下所有的文件夾的大小
選項:-s:忽略子目錄詳情
示例
(base) marui@amax:~/elevator/data$ du -sh .
3.3M
- du -h --max-depth=2:查看當前文件夾以及下面的一、二級文件夾的大小
4 重命名文件夾
mv?file_name new_file_name
5 查看文件
ls
選項:
-a:查看隱藏目錄(.git)
6 刪除文件夾
rm -r 文件名或文件夾名
1.2.3 文件的操作命令
1 新建文件
touch 文件名
2 刪除文件以及文件夾
rm [選項] 文件名或文件夾名
選項
- -f:文件屬性為只讀也直接刪除?
- -i:刪除前逐一確認
- -r:加上該選項,可以刪除文件夾
3 查看文件
cat 文件名
4 搜索內容
grep [?選項?]?搜尋字符串 文件
選項
-i?:忽略大小寫的不同,所以大小寫視為相同
- -n?:順便輸出行號
- -v?:反向選擇,亦即顯示出沒有?'?搜尋字符串?'?內容的那一行
5 查找文件
find pathname [選項]
功能:?用于在文件樹中查找文件,并作出相應的處理(可能訪問磁盤)
常用選項:
-name:?按照文件名查找文件
6 重命名文件
mv file_name new_file_name
7 復制文件
cp example.txt?/usr/men/tmp/example1.txt
把文件example.txt復制到/usr/men/tmp/下并改名為example1.txt
/usr/men/tmp/必須是存在的
?
2 docker
2.1 基礎命令
systemctl start docker:啟動docker服務
systemctl stop docker:停止docker服務
2.2?鏡像命令
2.2.1 拉取鏡像
docker pull+鏡像源地址+/+要拉取的鏡像名
docker pull docker.m.daocloud.io/hello-world
注:鏡像名必須全是小寫
2.2.2查看所有的鏡像
docker images
2.2.3 刪除鏡像
docker rmi 鏡像名
2.3.4 給鏡像重命名或者說復制鏡像
不能說重命名
首先該命令只有在該鏡像未創建容器的時候才生效
其次,該命令只是額外創建了一個鏡像,名稱為新名字
docker tag 原鏡像名稱:原標簽?新鏡像名稱:新標簽
2.3.5?將鏡像導出為一個鏡像img文件
docker? save? 鏡像名? -o? 鏡像文件名(也可以自己定義).img
2.3.6?將img鏡像文件導入,復制出一個完全一樣鏡像
docker load? --input? 鏡像文件名.img
2.3?容器命令
幾乎所有的docker命令里容器名可以替換成容器ID
2.3.1 通過鏡像創建容器并啟動
指定鏡像創建容器(鏡像名docker.m.daocloud.io/hello-world)
docker run --name b a
該命令是用名字為a鏡像創建名為b的容器并啟動
常用選項
-p:指定端口映射,指定容器的某端口映射到服務器的某端口上,這樣可以通過服務器的端口訪問容器的端口。-p 宿主機端口:容器端口
例:-p 9506:3306
--name:指定創建的容器名
對了容器名可以有大寫的字母,數字,下劃線,中劃線,甚至有漢字,但是不能有空格
?
2.3.2 創建但不運行容器
docker create --name my-hello-world-container docker.m.daocloud.io/hello-world
2.3.3 運行已經創建好了的容器
docker start 容器名/ID
2.3.4 給創建好了的容器改名
docker rename old-container-name new-container-name
2.3.5 查看容器
docker ps(只查看運行中的容器)
docker ps -a(查看所有的容器)
2.3.6 查看某容器的日志
docker logs 某容器
2.3.7 進入容器內部
docker exec -it my-container /bin/bash
docker exec :在運行的容器里執行命令
-i:交互模式,保持 STDIN 打開
-t:分配一個偽終端
/bin/bash:在容器中啟動一個 Bash shell。如果你的容器使用的是其他 shell(如 /bin/sh),可以相應地替換。
查看容器默認的shell
docker inspect <容器名或容器ID> --format '{{.Config.Env}}'
在輸出的環境變量中,查找類似SHELL=/bin/bash 的條目。?
2.3.8 刪除容器
#刪除一個容器
docker rm -f 容器名/容器ID
#刪除多個容器 空格隔開要刪除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#刪除全部容器
docker rm -f $(docker ps -aq)
選項
-f:指強制刪除,加上該選項可以刪除正在運行的容器。docker是不允許直接刪除正在運行的容器的。
?
2.3.9 查看容器的端口與服務器端
口的映射情況
docker port 容器名或者容器ID
示例:docker port mysql
22/tcp -> 0.0.0.0:10102
22/tcp -> [::]:10102
3306/tcp -> 0.0.0.0:10104
3306/tcp -> [::]:10104
容器內部的 22 端口(通常用于 SSH 服務)被映射到宿主機的 10102 端口
容器內部的 3306 端口(MySQL 默認端口)被映射到宿主機的 10104 端口
[::]:10102 和 [::]:10104
注意:1 這是 IPv6 格式的地址,表示同樣的端口映射也適用于 IPv6 網絡。2 你看到的 TCP 是端口映射使用的傳輸協議,表明容器通過 可靠的 TCP 連接 暴露服務(如 SSH 和 MySQL)。如果后續遇到 UDP 協議的端口映射,原理類似。
2.3.10 修改容器的端口
方法之一是將現有的容器打包成鏡像,然后在使用新的鏡像運行容器時重新指定要映射的端口
第一步 將現有的容器打包成鏡像
(base) marui@amax:~$ docker export myMysql > myMysql.tar
myMysql.tar會在~目錄下出現
第二步 把鏡像tar文件導入,生成一個新鏡像
(base) marui@amax:~$ docker import - mymysql1 < myMysql.tar
sha256:d44cf9b50c3817b8993a5fa97358fe43b0fe90564fa6d5129f2682f9bdabc269
注意:鏡像的名稱必須全是小寫
2.3.11 將現有的容器打包成鏡像
(base) marui@amax:~$ docker export myMysql > myMysql.tar
2.3.12 把文件復制到容器里/復制到容器外
把文件復制到容器里
ocker cp 【在xftp中的路徑】【容器ID】:【要復制到容器的路徑】
例
(base) marui@amax:~$ docker cp /data1/marui/docker的基本命令.txt fb1420165160:/
Successfully copied 5.63kB to fb1420165160:/
把文件復制到容器外
docker cp [容器ID或容器名稱]:[容器內的文件路徑] [宿主機上的目標路徑]
例:
(base) marui@amax:~$ docker cp 8f78a2e49b87:/docker1.txt /data1/marui
Successfully copied 4.61kB to /data1/marui
3 git
3.1 git倉庫的創建與拉取
3.1.1 創建
git init:在當前目錄下創建一個.git文件夾作為倉庫
3.1.2?拉取
git clone url :拉取gitee上的倉庫
git clone url 文件夾路徑:把從gitee上拉取的項目放到指定的文件夾下
3.2 把更新提交到倉庫
3.2.1?三種文件的狀態
- 已提交(committed):數據已經安全的保存在本地數據庫中。
- 已修改(modified):已修改表示修改了文件,但還沒保存到暫存區中。執行git? status文件名是紅的
- 已暫存(staged):表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。執行git? status文件名是綠的
3.2.2?文件提交的過程
1 檢測當前文件狀態:git status
2 把文件添加到暫存區:git add filename
?(針對特定文件)、git add *
(所有文件)、git add *.txt
(支持通配符,所有 .txt 文件)
3?提交更新:?git commit -m "代碼提交信息"
?(每次準備提交前,先用?git status
?看下,是不是都已提交到暫存區了(有修改的文件名都是紅的,變綠了就是都提交到暫存區了), 然后再運行提交命令?git commit。git commit
?加上?-a
?選項,跳過使用暫存區域更新)
?注:
1.gitignore
?文件表示忽略需要提交的文件
2?移除文件:git rm filename
?(從暫存區域移除,然后提交。)
例子
只是在該項目下創建了兩個c語言文件,還沒添加到暫存區
試圖提交所有未更新的文件,git不允許提交沒提交到緩存區的文件
git add *把所有文件更新到緩存區,下一步就是提交了
git commit *:提交到本地倉庫
nothing to commit, working tree clean
暫存區沒什么需要提交的,工作樹干凈
?
?
?
?
?