Day36 – Linux命令與Git安裝

Batle發表於2018-11-16

網路相關命令:
ping – 檢測網路可達性 – ICMP
tracepath – 檢查資料路由
ifconfig – 檢查網路介面(網路介面卡)
ip – 檢視配置網路介面相關資訊
netstat – 檢視網路狀態(埠占用、程式、已建立的連線)
netstat -nap
sftp – 安全網路檔案傳輸
scp – 安全檔案拷貝

scp 檔名 使用者名稱@地址(1.2.3.4):/目的目錄/檔名

命令 & :命令後面加上&,將程式放到後臺執行
jobs:檢視後臺執行的程式
fg %程式編號 : 將後臺程式放到前臺執行
bg %程式編號 : 將程式在後臺啟動,將後臺停止執行程式啟動
Ctrl + z : 將前臺程式暫停放到後臺

Linux下安裝最新版本Git:

1.下載原始碼

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.1.tar.xz

2.解壓縮,解歸檔

xz -d git-2.19.1.tar.xz
tar -xvf git-2.19.1.tar

3.進入目錄,配置安裝路徑

cd git-2.19.1
./configure --prefix=/usr/local/

4.安裝Git的網路依賴庫 – libcurl-devel

yum -y install libcurl-devel

5.構建和安裝

make && make install

6.檢查安裝結果

git --version

Git的使用

1. 建立git倉庫

git init

2. 將程式碼納入暫存區

git add 檔名
git add .

3. 檢視暫存區狀態

git status
git rm –cached 檔名(從暫存區移除)
git checkout — 檔名(將暫存區檔案恢復到工作區)

4. 配置身份標識

git config –global user.name “…”
git config –global user.email “…”

5. 提交到本地倉庫

git commit -m `…`

6. 檢視提交日誌

git log
git reflog – 看到未來的版本(曾經提交過又被撤回的版本)

7. 回到歷史版本

git reset –hard HEAD^
git reset –hard HEAD^^
git reset –hard 版本的雜湊摘要

–hard引數是為了保持工作區和歷史版本的一致性

#!/usr/bin/python3
"""
萬年曆
"""
from datetime import datetime
import sys


def is_leap(year):
    """判斷指定年份是否是閏年"""
    return year % 4 == 0 and year % 100 != 0 or year % 400 == 0


def get_month_days(year, month):
    """獲取指定月份的天數"""
    days = [0,31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if month == 2 and is_leap(year):
        days[2] = 29
    return days[month]


def main():
    # 通過sys模組的argv可以獲取命令列引數
    # 命令列引數:在執行命令時和命令輸入在同一行的引數
    if len(sys.argv) == 3:
        year = int(sys.argv[2])
        month = int(sys.argv[1])
    else:
        now = datetime.now()    
        year = now.year
        month = now.month
    y = year if month > 2 else year - 1
    m = month if month > 2 else month + 12 
    c = y // 100 
    y = y % 100
    w = y + y // 4 + c // 4 - 2 * c + 26 * (m + 1) // 10 
    w %= 7
    months = [
        ``,  `January`, ` February`, `March`, ` April`, `May`, ` June`,
        ` July`, ` August`, `September`, `October`, ` November`, ` December`
    ] 
    print(f`{months[month]} {year}`.center(20))
    print(`Su Mo Tu We Th Fr Sa`)
    print(` ` * 3 * w, end=``)
    days = get_month_days(year, month)
    for day in range(1, days + 1):
        print(f`{day}`.rjust(2), end=` `)
        w += 1
        if w % 7 == 0:
            print()    
    print()


if __name__ == `__main__`:
    main()

相關文章