linux 清空文件_Git/Linux常用CLI

15d7e9e2eba6c2cad3b41bf21852cf5b.png

本篇内容主要是根据实际项目中的经验积累与总结,归纳在当前的前端工作场景中高频使用的git cli及linux cli,便于加深记忆与熟练使用。

一、Git

梳理git操作中容易混淆和被忽视的几个概念:

  1. untracked flies

git系统中的文件具有生命周期,新添加到git仓库中的本地文件会被系统默认为未被追踪的文件。

9d3051c0da56ee08b15840c203d1937b.png
图 1

删除无用的untracked files文件:

    • git clean [-xndf]

2. git stash

  • git stash list
  • git stash pop [stash@{idx}]
  • git stash drop [stash@{idx}]
  • git stash clear

3. git reset

  • 工作区、暂存区、版本库的关联性

1725e7a9638dcead4cc621e4ce79800a.png
图 2
    • reset [--soft|--hard|--mixed]

43562a9d6dbe8a0991a84c68953d021e.png
图 3
      1. git reset --soft HEAD^
        回滚到上一个提交,同时保留暂存区和工作目录的内容。
      2. git reset [--mixed] HEAD^
        回滚到上一个提交,同时清空暂存区并保留工作目录的内容。
      3. git reset --hard HEAD^
        回滚到上一个提交,同时清空暂存区和工作目录的所有改动。

例:

当前working directory区状态(状态1):

367a750da34f5f86fe5294936277b4af.png
图 4

当前stage区状态(状态2):

a9d1ef8a3c23c964a1568e647859bed0.png
图 5

commit后,head区状态(状态3):

6f3a7baeeb14c3fb8e71cb2a9bb5b730.png
图 6

此时 HEAD^ 为当前commit:

bdad7a2353252e01a71f21d8f52aad2c.png
图 7

那么,--soft 模式将由状态3回到状态2:

67fd69d8f53ef443c617881c5f30f170.png
图 8

--mixed 模式将由状态3回到状态1,对应的HEAD也将由HEAD^变为HEAD^^。

6c71632b519c7efe9fb6baea56b608ef.png
图 9

如果在执行一次 git reset --soft HEAD^ 之后在执行一次 git reset --soft HEAD^,则将回滚到 HEAD^^的提交状态,此时工作目录中的代码改动可能已经不是你自己所做的改动了。

这种情况下通过 git reset --hard HEAD^ 可以撤销当前工作目录和暂存区的改动,恢复异常状态,重新pull。

二、Linux

以linux系统作为前端开发环境也是可选的工具技术栈。在linux开发环境下项目代码将部署在远程服务器上,开发人员可以直接读写远程服务器上的项目代码,执行同步、修改、部署(打包)等系列操作。面向前端的linux常用cli并不多,根据开发过程中遇到的实际场景,整理归纳了部分命令行的使用注意点。

  1. 远程登录
  • ssh
    linux系统下通过ssh服务实现对远程服务器的连接。ssh服务会把系统访问过的每一台计算机的公钥(public_key)记录下来(~/.ssh/known_hosts),以便再次访问该主机时进行核验,如publick_key不同,ssh服务会发出警告(出于安全性考虑)。

28830c9e0b12e9372b7e5de4e362c733.png
图 10

2. 文件/磁盘管理

    1. 基本操作
  • mkdir
  • touch
  • rm -rf /*
    2. 压缩备份
  • tar [-cxzvf]
  1. -c # 建立压缩文件
  2. -x # 还原文件
  3. -z # 通过gzip指令处理压缩文件
  4. -v # 显示解压缩执行过程
  5. -f # 指定备份文件

常用于对打包文件进行解压还原,或将日志文件进行打包输出。

1bae14d3639501ce4977306cb0e4db8f.png
图 11

71bc8d762713f7923c392cec7fdd8530.png
图 12

3. 文件查找

  • find
    1. 服务器端经常遇到磁盘被占满的情况,通常情况下由大的日志文件造成。
    查找大文件并删除:

f123267853d00068ff6e736bc3f58010.png

2. 模糊查询:

de6d2c380bf0e951cff056b2ff986d6c.png
      • grep [-r]
        查找文件中符合条件的字符串。
        如查找打包文件源代码中是否包含关键字(以排查代码提交是否正常):
      • whereis [-bm]
        查找二进制文件(应用程序)。
        如查找yum指令安装位置(及软连接、man帮助手册):

0af1e77719622b046e55234115e2748c.png
      • locate # 查找文档(在/lib数据库中查找)

4. 文件权限

  • chmod [options] mode files
    文件的9种属性:
    [ d | r w x | r - x | r - x ]
    [ 文件类型 | 读 写 执行 | 读 写 执行 | 读 写 执行 ]
    [ | 4 2 1 | 4 2 1 | 4 2 1 ]
    [ | u(用户) | g(组) | o(其他) ]

eac9f1fe4266c84d3cd870003f05d750.png

参数:mode: [ugoa][=+-][rwxX],其中r/w/x权限分别通过数值4/2/1表示,因此权限又可以通过数值运算的值来表示。
所以,可使用参数操作符修改文件权限。
1. chmod 777 filename # => [drwxrwxrwx]
2. chmod 445 filename # => [dr--r--r-x]
3. chmod u=rw,g-w,o+wx # => [drw-r--rwx]
4. chmod a-x filename # => [drw-rw-rw-]

5. 文件拷贝

  • scp [-r]
    linux系统下跨服务器文件拷贝,参数-r可递归遍历文件夹里面的内容。
    1. 从远程服务器拷贝文件夹(文件)到本地主机

434a55e707b730abb6e05219507451f6.png

2. 将本地主机文件夹(文件)拷贝到远程服务器

07002af632140eee1b75e40674f7aee2.png
      • rcp [-r]

6. 组合指令

  • ls -a;pwd
  • mkdir tempfile && cd tempfile

7. 定向输出

  • find . -name *xplo*.js > mylog

3. 网络系统

    1. ping [-c] <address> # 测试本机与目标主机的连通性、稳定性

aae709d65955ed2bc4b0dfb3b5c75217.png

其中:
1: ping目标主机域名(IP)
2: 包文件大小
3: ping序列(参数-c指定)
4: 包文件收发数、丢包率
5: 最小/平均/最大响应时间
丢包率偏高连接不稳定的情况:

    • ifconfig # 网络配置
      可通过参数配置,或编辑网络配置文件 /etc/sysconfig/network-script/ifcfg-ens0 修改。

db80958a808b855827f478ccdfb99963.png

网络配置修改后,需要执行 service network restart 重启生效。

    • systemctl status <servicename> # 查看服务运行状态
      以192.168.80.233节点danastudio服务为例:

d6c9ba89037824fb204761417dfd7eb4.png
    • systemctl restart network # 重启服务

4. 创建别名

  • alias
    使用 alias <shortname>=<command name> 定义一次性别名,仅供当前会话窗口使用。
    linux下编辑 ~/.bashrc (macOS下 ~/.bash_profile)保存别名设置,永久生效。

7eddd3501180643a5732afb8e31800fa.png

参考文章

  1. 让你牛B加身的前端必会Linux命令 - 奇舞周刊
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值