美文网首页
Day015 - Linux-Git(2018-11-17)

Day015 - Linux-Git(2018-11-17)

作者: 雨雨雨90 | 来源:发表于2018-11-17 16:56 被阅读0次

    网络相关的命令

    ping 目的IP - 检测网络可达性 - ICMP
    tracepath 目的IP - 检查数据路由
    ifconfig - 检查网络接口 可以加接口参数(eth0)
    ip addr
    ip - 查看网络接口相关信息
    netstat - 查看网络状态(端口占用、进程、已建立的链接)
    netstat -nap - 以数值的形式查看网络连接情况(推荐,可以结合管道使用)(n: numeric, a:all, p:process)
    sftp - 安全网络文件传输
    scp - 安全文件拷贝
    scp 文件 root@47.107.173.4:/root/新文件名

    命令 & - 让命令在后台运行
    redis-server & -开启redis服务,并且不占用shell程序 (&将程序放到后台,不占用shell程序交互式环境)
    jobs - 查看后台运行的进程 查看结果:[1]+ Running redis-server &
    fg %编号 - 让命令回到前台运行
    Ctrl + z - 将前台进程暂停放到后台
    bg %编号 - 将命令在后台运行
    redis-server > redis.log & - 将程序放到后台运行,并将结果输出到log日志中

    https需要证书,非对称加密

    万年历

    执行命名时直接输入参数(命令行参数)
    import sys

    sys.argv以列表的方式获取了命令行参数
    ./mycal.py 等于 python3 mycal.py , python3是命令,所以./mycal.py或者mycal.py是第一个参数

    写在.bash_profile中的代码每次链接上了会自动执行

    #!/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 year > 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 - 1]} {year}'.center(20))
       print(f'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=' ')
           if w % 7 == 6:
               print()
           w += 1
       print()
    
    if __name__ == '__main__':
       main()
    

    Git

    版本控制:
    1990s - 锁定模式

    • CVS (Concurrent Version System)/ VSS (Visual Source Safe)

    2000s - 合并模式

    • SVN (Subversion) - 集中控制式

    分布式版本控制系统 - BitKeeper
    2005年 - Git / Mercury

    安装git:
    1.下载git源代码压缩文件
    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的网络依赖库
    yum -y install libcurl-devel
    5.构建和安装
    make && make install
    6.检查安装结果
    git --version

    使用git
    1.创建git仓库
    git init 在当前目录下创建git仓库

    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 HEAD^回到上一个版本
    git reset HEAD^^回到上上个版本
    git reset 版本的哈希码:
    git reset --hard HEAD^
    git reset --hard HEAD^^
    git reset --hard 版本的哈希码

    --hard参数是为了保持工作区和历史版本的一致性

    相关文章

      网友评论

          本文标题:Day015 - Linux-Git(2018-11-17)

          本文链接:https://www.haomeiwen.com/subject/evkifqtx.html