精华内容
下载资源
问答
  • Git撤销&回滚操作

    万次阅读 多人点赞 2017-05-02 19:32:00
    糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作! 场景二: 彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码! 场景三: 刚才我发现之前的某次提交太愚蠢了,现在想要...

    开发过程中,你肯定会遇到这样的场景:

    场景一:

    糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作!

    场景二:

    彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!

    场景三:

    刚才我发现之前的某次提交太愚蠢了,现在想要干掉它!

    撤销

    上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤销”!

    情况一:文件被修改了,但未执行git add操作(working tree内撤销)

    $ git checkout fileName
    $ git checkout .
    

    情况二:同时对多个文件执行了git add操作,但本次只想提交其中一部分文件

    $ git add *
    $ git status
    # 取消暂存
    $ git reset HEAD <filename>
    

    情况三:文件执行了git add操作,但想撤销对其的修改(index内回滚)

    # 取消暂存
    $ git reset HEAD fileName
    # 撤销修改
    $ git checkout fileName
    

    情况四:修改的文件已被git commit,但想再次修改不再产生新的Commit

    # 修改最后一次提交 
    $ git add sample.txt
    $ git commit --amend -m"说明"
    

    情况五:已在本地进行了多次git commit操作,现在想撤销到其中某次Commit

    $ git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
    

    具体参数和使用说明,请查看:Git Pro深入浅出(二)中的重置揭秘部分

    回滚

    上述场景二,已进行git push,即已推送到“远程仓库”中。我们将已被提交到“远程仓库”的代码还原操作叫做“回滚”!注意:对远程仓库做回滚操作是有风险的,需提前做好备份和通知其他团队成员!

    如果你每次更新线上,都会打tag,那恭喜你,你可以很快的处理上述场景二的情况

    $ git checkout <tag>
    

    如果你回到当前HEAD指向

    $ git checkout <branch_name>
    

    情况一:撤销指定文件到指定版本

    # 查看指定文件的历史版本
    $ git log <filename>
    # 回滚到指定commitID
    $ git checkout <commitID> <filename>
    

    情况二:删除最后一次远程提交

    方式一:使用revert

    $ git revert HEAD
    $ git push origin master
    

    方式二:使用reset

    $ git reset --hard HEAD^
    $ git push origin master -f
    

    二者区别:

    • revert 是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
    • reset 是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

    情况三:回滚某次提交

    # 找到要回滚的commitID
    $ git log
    $ git revert commitID
    

    删除某次提交

    $ git log --oneline -n5
    

    Git撤销&回滚操作-log

    $ git rebase -i "commit id"^
    

    注意: 需要注意最后的*^*号,意思是commit id的前一次提交

    $ git rebase -i "5b3ba7a"^
    

    Git撤销&回滚操作-rebase
    在编辑框中删除相关commit,如pick 5b3ba7a test2,然后保存退出(如果遇到冲突需要先解决冲突)!

    $ git push origin master -f
    

    通过上述操作,如果你想对历史多个commit进行处理或者,可以选择git rebase -i,只需删除对应的记录就好。rebase还可对 commit 消息进行编辑,以及合并多个commit。

    展开全文
  • 我看鸿蒙操作系统

    万次阅读 多人点赞 2019-06-18 19:58:00
    华为宣布推出鸿蒙操作系统。其实我觉得能理解,但也蛮无奈的,所谓不得已而为之,google不提供后续版本授权,不提供新的支持,怎么办,硬着头皮也要上。有些自媒体说什么安卓慌...
        

    华为宣布推出鸿蒙操作系统。


    其实我觉得能理解,但也蛮无奈的,所谓不得已而为之,google不提供后续版本授权,不提供新的支持,怎么办,硬着头皮也要上。


    有些自媒体说什么安卓慌了,google吓坏了,我真的想骂人,一群王八蛋为了点击率什么都敢写。


    自建操作系统,对华为来说,或许技术上不是什么多难的事情,但比技术更难的是什么?


    1、知识产权


    从青蒿素说一下专利与知识产权[更新]


    旧文提过,三星每年要给微软一大笔知识产权费用,那为什么呢?因为使用了安卓操作系统,那话说回来,使用了安卓为什么要给微软知识产权费用?因为安卓没有能跨过微软的专利墙。


    自主研发,就算每一行代码都是自己写的,一样有很大可能会触碰到别人的知识产权。专利保护的不是源代码,不是技术能力,而是首创的一些思想和逻辑。操作系统的思想和逻辑,很多都已经被申请专利了,你再怎么重写,也是绕不过去的。以谷歌安卓尚无法翻越微软的专利墙,请问,华为如何翻越安卓+微软的两层专利墙。


    有些人觉得,我不承认你们专利不就完了,我自己写的自己发,你管得着我么?


    国内自娱自乐,或许没问题。


    全球发行,只要人家追究,一告一个准。


    那你说华为是不是没戏了。


    我觉得,其实华为私下应该是很努力的在做工作,Google本身没有与华为作对的动机和意愿,人家也只是“守法”而已。私下是可以达成一些谅解,换皮也好,自主研发也好,推鸿蒙,接安卓生态,兼容Google框架,如果Google不追究,微软不追究,这事勉强可以向前走。


    但海外消费者能不能买帐,认同,依然是难上加难。


    任正非其实看的很清楚,华为手机的海外销量,如果不能快速达成和解的话,今年下半年,以及明年会暴跌。


    2、生态兼容


    中国互联网自成生态,以至于很多移动互联网用户都未必知道自己的手机用的是Google的操作系统。我们习惯了阉割Google框架的手机,习惯了使用厂商的应用市场。


    但是在海外,只有苹果和谷歌两个应用市场,强大如三星,长期销量第一的手机品牌,其自身应用市场一直无法对苹果和谷歌发起挑战。微软曾经试图三分天下,但也未能如愿。


    我就直说一句,如果华为手机操作系统不兼容google的生态,那么在海外没有一丁点的机会。


    那么,自主操作系统如何兼容Google生态,还记得当年阿里云操作系统么?还记得当年谷歌是如何封杀阿里云系统么?


    年轻人会说,你封杀我不用不就完了,还是那句话,海外市场,没有这个选项。要知道华为之所以让人佩服,并不是横扫国内市场,而是具有全球的顶级竞争力。


    有人可能觉得,国内市场牛逼不就得了,说的也对,炒房兴邦么。卖掉一个上海可以买回一个加州,就问川普怕不怕。


    回到自主研发这个话题,我这么解释吧。


    假如说,你有很强的技术团队,可以从头开始自主研发一套操作系统。假设这个难度是100。


    那么,完美绕过所有其他操作系统的专利墙,自主研发的难度,是1000。


    完美绕过所有其他操作系统的专利墙,自主研发,然后又能完美兼容其他操作系统生态的难度,是10000。


    我一丁点都不怀疑华为具有100的能力,但即便是Google,也做不到1000。


    那么,有些人会说了,被人掐脖子就应该束手就擒么,就不能奋起反抗么?


    其实华为能发展到今天特别不容易,在中国信息产业的技术贡献来说,我个人的观点,华为对中国在世界信息产业技术地位的贡献,大约相当于其他所有国内信息产业公司的总和。是的,包括BAT等等互联网公司,也包括中兴大唐等等通讯设备公司,以及联想小米等等消费电子的终端公司,华为在世界信息产业对中国技术地位的贡献,应该是等于甚至超过这些公司的总和。


    但华为能发展到今天,你看任正非的发言,人家自己很清醒,不是人有多大胆,地有多大产。不是三年赶英,五年超美。是一步一个脚印,实打实走过来的,部分自主研发,部分也要依赖于国际合作,这是世界科技发展的必然之路。


    自主研发,是为了更好的合作,毕竟你有底气,别人也很难卡你脖子,高通跟华为撕逼了很多年,据说已经和解了,交叉授权,可能华为还是要支付给高通一笔钱,虽然华为构筑了足够的专利壁垒,有了足够讨价还价的底气,但高通还是优势方,这点要承认。如果没有足够的专利壁垒,那就完全没有讨价还价的资格了。


    华为花了差不多二十年时间,终于翻过了思科这座大山,中间又花了十来年时间,差不多可能快要翻过高通这座大山。这已经是非常非常了不起的成绩了,非常非常值得钦佩,但有一说一,ARM这座大山,Google这座大山,仅凭华为现有的力量,是翻越不过去的。更不用说产业链里还有诸如阿斯麦,赛灵思等等等等不同的山头。


    现在可能很多读者觉得,好像也没看到华为哪里就不行了,其实是因为已有授权暂时不受影响,这点很重要,也就是当前版本的产品没有受到影响,以及华为可以继续使用已经授权的工具和芯片设计专利,但从长远来说,如果不能尽快达成和解,仅凭华为自身,与世界最强大的国家的科技体系对抗, 你说怎么赢?


    任正非说,未来两年,华为收入大约会减少300亿美金左右。很清醒的判断。


    世界科技的发展,一直都是踩在巨人肩头前进,每个新的突破,新的成就,都是基于大量已有的杰出的科研成果的积累,集结全人类的智慧。中国有很多聪明的天才,有不错的科学家,有非常专业的工程师,在世界名列前茅,但我们每前进一步,也都需要借助世界的力量。我们还不是科技的顶尖国家,要知道美国拥有的是全世界最优秀的人才,其中也包括中国最优秀的人才,闭门造车没有出路,我们有过教训。


    那么你说该怎么办,坦白说,我没这个本事,但我知道华为需要什么。


    说出来可能有人不爱听,华为需要的不是爱国者的口号,键盘党的支持,华为需要的是松绑,低调,尽量不要政治化,尽量不要背太多的政治标签和政治包袱。华为正在努力的是与各大技术体系的巨头们保持沟通,谋求彼此谅解,在对方合规的情况下,得以通过某种变通手段兼容已有的体系,尽量减少损失,尽量维持研发和生产。


    那些被迫终止与华为合作的国际巨头,不是华为的敌人,我希望读者能理解这一点,国内那些在海外设立公司并暂停于华为合作的公司,也不是华为的敌人,他们只是”遵从当地政策法规“,我觉得中国人应该更理解这一点才对。能理解这一点,才能有助于达成某种谅解,以及寻求一些”变通“的手段,得以让华为度过难关。


    今天这个话题忌讳太多,想留着这个号吃饭,有些问题也不敢讨论,就这样吧。


    展开全文
  • 如何安装Windows操作系统

    万次阅读 多人点赞 2018-03-23 10:58:42
    博主喜欢以最原始最直接的方式安装系统,并且不喜欢安装Ghost、精简、修改等等各种操作系统,在这里分享一个一直在用,看起来麻烦博主却觉得最适合个人安装操作系统的方式,请往下看,欢迎指正交流分享 一、关于...

    博主喜欢以最原始最直接的方式安装系统,并且不喜欢安装Ghost、精简、修改等等各种操作系统,在这里分享一个一直在用,看起来麻烦博主却觉得最适合个人安装操作系统的方式,请往下看,欢迎指正交流分享

    一、关于如何选择操作系统

        这里只说Windows 7、Windows 8、Windows8.1以及Windows 10,博主倾向于在Windows 7和Windows 10中二选一,有很多同学习惯了Windows 7操作系统,比如是因为兼容性,一些旧游戏的支持,一些特定软件对操作系统的要求,对全新Windows 10操作系统的不习惯等等因素,博主个人建议,如果你的电脑装有固态硬盘,如果你对系统没有特殊的要求,那么建议直接选择最新版本的Windows 10操作系统,博主认为,不管是易用性,操作性,还是整体体验,Windows 10都优于其他版本

        系统镜像,推荐一个一直在用,纯净到不能再纯净的下载网站,MSDN,选择下载符合自己要求的镜像即可

        本文使用镜像为:cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_47161f17.iso  ,复制以下下载链接到迅雷等下载工具即可开始下载

    ed2k://|file|cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_47161f17.iso|5417457664|274FEBA5BF0C874C291674182FA9C851|/

    或者使用最新版20h2,安装方法大同小异

    ed2k://|file|cn_windows_10_consumer_editions_version_20h2_updated_feb_2021_x64_dvd_8ddab99d.iso|6223781888|954B729026D6E420EE46FB2DC912F256|/

    二、安装操作系统   

        1、制作系统盘

        制作系统盘一般来说两种方式,光盘刻录跟优盘制作,光盘刻录需要有支持刻录的光驱,需要光盘。优盘制作只需要一个容量8G的优盘(因现在大多数的系统镜像均大于4G),优缺点显而易见,找一个光驱显然比找一个优盘要麻烦得多

        关于如何制作系统盘请看这篇文章

        2、安装

    我们以安装Windows 10为例,其他的都大同小异,根据提示来选择操作即可

    (1)、将制作好的优盘系统盘插到电脑上,开机,然后按F12选择启动项,如果不是F12请自行百度自己的电脑品牌或是主板品牌设置开机启动项的快捷键,选择我们制作好的系统盘,在列表里一般会以优盘品牌的名字来显示,建议选择UEFI开头的启动方式,不做过多解释,自行百度理解

    (2)、电脑会自动的去加载我们做好的系统盘

    (3)、来到系统的安装界面,这里需要选择安装语言,时间和货币格式,键盘和输入方法等,因为我们是直接下载的简体中文的镜像,所以默认,点击下一步

    (4)、没什么可选的,选择现在安装,安装程序就会启动

    (5)、然后需要选择我们想安装的版本,教育版、企业版、专业版等等,这里建议直接选择专业版即可

     

    (6)、阅读并同意许可条款,继续进行

    (7)、选择安装类型,这里可以看到有升级和自定义两种方式,我们来选择自定义进行全新安装,两者的区别不做过多的解释,以免跑题,请自行百度

    (8)、这里需要选择我们操作系统的安装位置,也就是指定我们的C盘,如果原先存在C盘或者你十分明确哪个盘是C盘,直接点击,然后选择下面的格式化,格掉原有的操作系统,然后在这个盘上进行安装。如果是新的硬盘,我们可以通过新建来方便的进行分盘,建议C盘设置大小50GB以上,然后选中我们刚才设置的这个C盘,点击下一步,即可开始安装

    (9)、安装时间由硬盘性能来决定,一般是十分钟左右,安装完毕之后会自动重启系统,这时候我们就可以拔掉我们的系统盘了

    (10)、重启之后,会自动的进行一些系统的启动及服务准备工作,可能中间会重启很多次,不理会,等待即可

    (11)、待系统进行完自动设置及准备工作后,就开始需要我们来做一些个性化的设置,首先选择区域,我们选择中国

    (12)、选择键盘布局,我们默认选择微软拼音,然后下一步

    (13)、是否添加第二键盘布局,不做选择,直接跳过

    (14)、如果我们选择了连接网络或者电脑插有网线,系统会进行一些更新,稍等片刻

    (15)、选择以何种方式进行设置,这里我们选择针对个人使用进行设置

    (16)、然后我们可以登录我们的微软账户,同步我们以前在系统中的一些设置过来,如果没有微软账户或者不想现在登录,我们可以直接选择脱机账户

    (17)、确认是否不登录微软账户,选择否,跳过登陆,创建脱机账户

    (18)、给电脑设置一个脱机账户的名字

    (19)、设置脱机账户的密码,如不想设置电脑密码,可直接空白不填写,点击下一步

    (20)、选择是否启用Cortana(微软小娜语音助手),建议启用

    (21)、选择相关的隐私策略,建议默认就可以

    (22)、Windows会根据你之前做的所有操作来设置操作系统

    (23)、到此就安装完毕了,因为是纯净版官方的操作系统,所以需要激活系统,有条件的话还请大家支持正版,然后就是安装自己需要的软件,进行一些设置等等,电脑硬件需要的各种驱动在Windows 10里会自动通过更新来安装好,非常方便,不需要自己去下载安装

    展开全文
  • Linux文件操作高频使用命令

    万次阅读 多人点赞 2019-08-28 16:47:38
    新建操作:1.查看操作2.删除操作3.复制操作4.移动操作:5.重命名操作:6.解压压缩操作 0.新建操作: mkdir abc #新建一个文件夹 touch abc.sh #新建一个文件 1.查看操作 查看目录: ll #显示目录文件...

    0.新建操作:

    mkdir abc #新建一个文件夹
    touch abc.sh #新建一个文件
    echo "abc" > test.txt #新建一个文件,并将abc写入。这里用到了重定向符
    

    1.查看操作

    • 查看目录:
    ll #显示目录文件详细信息
    du -h 文件/目录  #查看大小
    pwd #显示路径
    
    • 查看文件内容:

      cat|head|tail命令

    cat abc.txt #查看abc的内容
    head -5 abc.txt #查看abc前5行内容。默认是10行
    
    tail [选项] 文件名
    各选项的含义如下:
    +num:从第num行以后开始显示
    -num:从距文件尾num行处开始显示。如果省略num参数,系统默认值为10.
    -f: 循环读取,例如查看服务器日志时,可以实时观察
    #filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新。
    tail -f filename 
    #查看最后20行
    tail -f filename
    
    
    
    

    ​ more命令:

    more命令一次显示一屏信息,若信息未显示完屏幕底部将出现“-More-(xx%)”。
    
    此时按Space键,可显示下一屏内容;
    
    按“回车”键,显示下一行内容;
    
    按B键,显示上一屏;
    
    按Q键,可退出more命令。
    

    ​ less命令:和more命令类似,但是比more命令更强大。在很多时候,必须使用less,比如管道。例如:

    ll /etc | less
    
    • 查看状态或文件类型:
      stat 命令:
      查看文件的详细信息,比如创建修改时间,大小等
    [root@localhost zx]# stat index.html 
      文件:"index.html"
      大小:29006     	块:64         IO 块:4096   普通文件
    设备:fd00h/64768d	Inode:17589607    硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:home_root_t:s0
    最近访问:2019-09-02 21:47:41.824053666 +0800
    最近更改:2019-09-02 21:44:33.588587500 +0800
    最近改动:2019-09-02 21:44:33.588587500 +0800
    创建时间:-
    
    

    file命令: Linux中后缀并没有实际约束意义。

    file test.txt #查看test.txt的文件类型
    

    du 命令:
    选项:-h 以合适的单位显示(会根据文件的大小自动选择kb或M等单位)

    [root@localhost zx]# du -h index.html 
    32K	index.html
    

    2.删除操作

    rm -f  aa.txt #强制删除aa.txt
    rm -rf fileDir #强制删除fileDir文件夹和里边的所有文件
    

    3.复制操作

    • 同一机器的复制:
    cp:复制文件或目录
    语法:
    cp [options] source dest
    
    -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
    -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
    -f:覆盖已经存在的目标文件而不给出提示。
    -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
    -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
    -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
    -l:不复制文件,只是生成链接文件。
    
    举例:
    #将../html/index.html 复制到当前目录
    cp ../html/index.html .    
    #将../html/ 目录下的文件及子目录复制到当前的tt目录下,如果tt不存在,会自动创建
    cp -r ../html/  tt/       
    #将文件file复制到目录/usr/men/tmp下,并改名为file1
    cp file /usr/men/tmp/file1  
        
    #如果dir2目录已存在,则需要使用
    cp -r dir1/. dir2
    #如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
    ps:dir1、dir2改成对应的目录路径即可。
    
    • 远程复制
    #将当前目录下的test.txt复制到远程111.12机器的/zx目录下
    scp test.txt root@192.168.111.12:/zx
    
    #将test.txt复制到远程用户的根目录,并命名为textA.txt
    scp test.txt root@192.168.111.12:testA.txt
    
    #也可以不指定用户,在后续提示中再输入,如下:
    scp test.txt 192.168.111.12:/zx
    
    #从远程复制到本地: -r用于递归整个目录
    scp -r remote_user@remote_ip:remote_folder local_path
    

    4.移动操作:

    移动操作可以理解成复制文件后,删除原文件。

    eg1:

    mv /zx/soft/* . #复制/zx/soft目录中的所有文件到当前目录
    mv a.txt ./test/a.txt  #复制当前目录a.txt到当前的test目录下。
    mv a.txt ./test/ -f  #移动到test目录,如果存在就覆盖
    mv /zx/soft/  /tmp/soft  #复制文件夹到/tmp/下,必须保证tmp是存在的文件夹
    

    5.重命名操作:

    重命名还是用的移动操作命令,比如:

    #将目录(文件)A重命名为B
    mv A B
    #将/a目录(文件)移动到/b下,并重命名为c。要保证b目录存在。
    mv /a /b/c
    #将当前test1目录移动到当前的test目录并命名为b
    mv ./test1 ./test/b 
    

    6.解压压缩操作

    tar
    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件
    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
    
    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出
    
    下面的参数-f是必须的
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
    
    三、举例说明:
    tar -cf all.tar *.jpg
    这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
    tar -tf all.tar
    这条命令是列出all.tar包中所有文件,-t是列出文件的意思
    tar -xf all.tar
    这条命令是解出all.tar包中所有文件,-x是解开的意思
    压缩
    tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar
    eg2:
        tar -xzf nginx-1.14.0.tar.gz //解压到当前目录
        tar -zxf nginx-1.14.0.tar.gz -C /usr/local/nginx  #解压到对应目录
     eg3:
     	tar -zxvf nginx...tar.gz #解压并显示过程
     	
    注意:有些压缩程序提示命令找不到,需要进行安装,例如:
    yum install unzip
    或在ubuntu上:
    apt-get install unzip
    
    四、总结
    1、*.tar 用 tar –xvf 解压
    2、*.gz 用 gzip -d或者gunzip 解压
    3、*.tar.gz和*.tgz 用 tar –xzf 解压
    4、*.bz2 用 bzip2 -d或者用bunzip2 解压
    5、*.tar.bz2用tar –xjf 解压
    6、*.Z 用 uncompress 解压
    7、*.tar.Z 用tar –xZf 解压
    8、*.rar 用 unrar e解压
    9、*.zip 用 unzip 解压  
    
    解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数
    unzip -n test.zip
    unzip -n -d /temp test.zip
    只看一下zip压缩包中包含哪些文件,不进行解压缩
    unzip -l test.zip
    查看显示的文件列表还包含压缩比率
    unzip -v test.zip
    检查zip文件是否损坏
    unzip -t test.zip
    如果已有相同的文件存在,要求unzip命令覆盖原先的文件
    unzip -o test.zip -d /tmp/
    示例:
     eg1:  unzip mydata.zip -d mydatabak #解压到mydatabak目录
     eg2 :zip -r xxx.zip ./*  #压缩当前目录下的内容为一个xxx.zip
    10. xz
    	这是两层压缩,外面是xz压缩方式,里层是tar压缩,所以可以分两步实现解压
    	$ xz -d node-v6.10.1-linux-x64.tar.xz
        $ tar -xvf node-v6.10.1-linux-x64.tar
    

    7.上传文件工具

    从本地windows上传一些文件到远程Linux服务器可以通过xshell的xftp也可以通过下面这个小工具lrzsz,使用更加方便。

    yum install lrzsz #安装工具
    
    常用命令:
    sz dist.zip #下载文件dist.zip到本地
    rz #会打开窗口,上传文件到远程服务器
    

    8.ln、file和touch命令

    • ln命令:名用于创建链接文件,包括硬链接(Hard Link)和符号链接(Symbolic Link) 。我们常用的是符号链接,也称软连接。软连接就类似windows里的快捷方式。

      示例:

      #在当前目录创建一个软连接,指向/etc/fastab,名称也是fastab
      ln -s /etc/fastab
      
      #在当前目录创建一个指向/boot/grub的软连接,命名为gb
      ln -s /boot/grub gb
      

      注意:删除软连接 正确方式是:

      rm -rf ./gb
      

      错误方式:

      rm -rf ./gb/
      

      这样会删除了原有grub下的内容。特别是针对系统文件的软连接,删除一定要慎重。

    • file命令 用于识别文件的类型

    Linux中文件后缀只是方便使用者识别,没有实质的约束作用。file命令可以查看文件的实质类型:

    file [-bcLz] 文件|目录
    

    选项说明:

    • 文件|目录:需要识别的文件或目录
    • -b: 显示识别结果时,不显示文件名
    • -c: 显示执行过程
    • -L: 直接显示符号链接文件指向的文件类型
    • -z: 尝试去解读压缩文件的内容

    示例: 可以看出,index.mp4本质是一个HTML而非一个mp4文件

    [root@VM_0_13_centos soft]# file index.mp4 
    index.mp4: HTML document, UTF-8 Unicode text, with very long lines
    
    • touch命令: 用于改变文件或目录的访问时间和修改时间。

      touch [-am] [-t<日期时间>] [目录|文件]
      

      如果指定目录文件不存在,则会直接创建一个空文件,所以touch也常用来创建一个空白文件

      #创建一个新文件aa.txt
      touch aa.txt
      

      选项说明:

      • -a: 只修改访问时间
      • -m : 只修改 修改时间
      • -t : 使用指定日期时间,而非系统时间 。例如要修改为2019年10月20日16:38分13秒。参数就是:‘20191020163813’

      示例:

      修改之前可以先查看文件的时间戳: 用stat 命令查看

      [root@VM_0_13_centos soft]# stat index.html 
        File: ‘index.html’
        Size: 17215     	Blocks: 40         IO Block: 4096   regular file
      Device: fd01h/64769d	Inode: 529352      Links: 1
      Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
      Access: 2019-10-23 15:15:37.280616254 +0800
      Modify: 2019-10-23 15:15:37.280616254 +0800
      Change: 2019-10-23 15:15:37.290616257 +0800
       Birth: -
      
      

      开始修改:将index.html文件的访问和修改时间修改成当前系统的时间。

      touch index.html
      

    9.查找操作命令:

    对于要用到的文件,目录等,经常有忘记的时候,所以查找命令就显得极为必要:

    • find: 查找文件或目录 (常用)

      语法如下:

      find [目录…] [-amin <分钟>] [-atime <24小时数>] [-cmin <分钟>] [-ctime<24小时数>][-empty][-exec<执行命令>][-fls<列表文件>][-follow]
          [-fstype <系统文件类型>] [-gid <组编号>] [-group <组名称>] [-nogroup] [-mmin <分钟>]  [-mtime
          <24小时数>] [-name <查找内容>] [-nogroup] [-nouser] [-perm <权限数值>] [-size <文件大小>] [-uid
          <用户编号>] [-user <用户名称>] [-nouser]
      
      
      

      几个常用选项说明:

      • -size <文件大小>:查找符合指定大小的文件。文件大小单位可以是“c”表示Byte;“k”表示KB。如配置为“100k”,find命令会查找文件大小正好100KB的文件;配置为“+100k”,find命令会查找文件大小大于100KB的文件;配置为“-100k”,find命令会查找文件大小小于100KB的文件。
      • -user<用户名称>:查找所有者是指定用户的文件或目录,也能以用户编号指定
      • -name <查找内容>:查找指定的内容,在查找内容中使用“*” 表示任意个字符;使用“?”表示任何一个字符
      • -mtime <24小时数>:查找在指定时间曾更改过内容的文件或目录,单位以24小时计算。如配置为2,find命令会查找刚好在48小时之前更改过内容的文件;配置为+2,find命令会查找超过在48小时之前更改过内容的文件;配置为-2,find命令会查找在48小时之内更改过内容的文件。
      • -mmin <分钟>:查找在指定时间曾被更改过内容的文件或目录,单位以分钟计算。
      • cmin <分钟>:查找在指定时间曾被更改过权限属性的文件或目录,单位以分钟计算。-ctime对应小时。
      • -amin <分钟>:查找的是指定时间访问过的文件或目录。-atim对应小时。
      • -perm <权限数值>:查找符合指定权限数值(有关权限数值见第6章)的文件或目录。如配置为“0700”,find命令会查找权限数值正好是“0700”的文件或目录;配置为“+0700”,find命令会查找权限数值大于 “0700”的文件或目录;配置为“-0700”,find

      选项大概有以下几类:

      1.按时间范围查找

      2.按文件大小查找

      3.按文件名称查找

      4.按其他:比如权限、用户组、类型等

      示例:

      #从根目开始,查找名称以nginx开头的目录和文件
      find / -name nginx*  
      
      #查找文件大小超过100M的文件
      find / -size +100M
      
      #查找/home/zx目录下,10分钟内被修改过的文件和目录
      find /home/zx/  -mmin -10
      
    • locate: 查找文件或目录(不常用)

      locate 查找内容
      

      例如:locate nginx 会将所有包含nginx的目录和文件都列出来。可以用* 或?等匹配符。

      locate的查找速度非常快,因为该命令查找的是数据库,所以有些刚修改的文件和目录,可能无法找到。可以采用:updatedb 命令更新数据库。

    • which: 查找文件(不常用)

      which [文件]
      

      which命令只会在PATH环境变量定义的路径及命令别名中查找,所以范围有限。

    • whereis : 查找文件(不常用)

      whichis [-bu] [-B<目录>] [-M<目录>] [-S<目录>] [文件]
      

      常用选项:

      文件:要查找的命令

      -b: 只查找二进制文件

      -u: 查找不包含指定类型的文件

      -B<目录>: 只在指定目录下查找二进制文件

      -M<目录>:只在指定目录查找帮助文件

      -S<目录>:只在指定目录查找源码目录

      例如: 默认只会在指定目录查找(/bin ,/etc ,/usr)

      [root@VM_0_13_centos soft]# whereis nginx
      nginx: /usr/local/nginx /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
      
      
    展开全文
  • 原子操作类AtomicInteger详解

    万次阅读 多人点赞 2018-06-08 15:33:17
    为什么需要AtomicInteger原子操作类? 对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的。num++解析为num=num+1,明显,这个操作不具备原子性,多线程并发共享这...
  • 对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的min,max,findFirst,findAny操作,我们先看下函数的定义 Optional<T> min(Comparator<? super...
  • pv操作指的是两个:p操作和v操作。 有时候我们的进程在工作的时候,需要同时配合来干多件事情。比如,我们规定一个进程用来写入数据,另一个进程用来读取数据。 很显然,这连个进程是不能互相干扰的 ...
  • 对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的count,anyMatch,allMatch,noneMatch操作,我们先看下函数的定义 long count(); boolean anyMatch...
  • JAVA8 Stream接口,map操作,filter操作,flatMap操作

    万次阅读 多人点赞 2018-06-10 17:22:18
    这篇,我们来看Stream的一些中间操作,关于中间操作的一些介绍,可以看《JAVA8 stream接口 中间操作和终端操作》 1,filter操作,我们先看方法的定义 Stream<T> filter(Predicate<? super T> ...
  • 程序员必知的 89 个操作系统核心概念

    万次阅读 多人点赞 2020-03-31 19:13:39
    操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理...
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...
  • idea配置连接数据库的操作方法

    万次阅读 多人点赞 2020-05-08 14:47:21
    学习时,使用IDEA的时候,需要连接Database,连接时遇到了一些小问题,下面记录一下操作流程以及遇到的问题的解决方法。 idea连接数据库教程目录一、 连接操作1.1 创建连接1.2 连接数据库1.3 查看检验1.3.1 在终端上...
  • 码云gitee使用操作之快速入门

    万次阅读 多人点赞 2020-05-28 14:00:03
    以下介绍一下gitee的使用操作。 码云Gitee快速入门教程目录一、 码云Gitee的特性1.1 Gitee的功能1.1.1 gitee的部分特性二、 码云Gitee使用过程2.1 相关分支名介绍2.2 使用操作演示2.2.1 创建仓库前的准备2.2.2 创建...
  • 银河麒麟操作系统

    万次阅读 多人点赞 2018-06-16 22:18:56
    银河麒麟操作系统与优麒麟操作系统一样,是由麒麟软件有限公司开发和维护的两款操作系统,二者均可从优麒麟网站免费下载安装。银河麒麟操作系统支持以x86、PowerPC、SPARC等为代表的国际主流CPU和以飞腾、龙芯、兆芯...
  • 操作基础篇之位操作全面总结

    万次阅读 多人点赞 2012-03-19 09:34:08
    Title: 位操作基础篇之位操作全面总结Author: MoreWindowsE-mail: morewindows@126.comKeyWord: C/C++ 位操作操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作...
  • python 移动文件或文件夹操作

    万次阅读 多人点赞 2017-07-10 17:02:09
    目录:1、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法2、文件操作方法大全3、目录操作方法大全————————————————————————————–1、python中对文件、文件夹操作时...
  • 计算机操作系统是计算机专业必修的专业基础课程,是考研的必考科目。它的特点是概念多、较抽象和涉及面广,所以无论是大学学习还是考研,很多同学都把它当做一块硬骨头,其实只要我们掌握正确的学习方法,操作系统...
  • Linux操作系统之操作命令大全

    万次阅读 多人点赞 2019-02-01 12:09:02
    文件操作命令 1.df 显示磁盘使用情况 2.du 显示文件系统使用情况 3.ls 显示目录 普通使用:ls ls -l ll 查看多个目录:ls / /ect 查看/ 和/etc下的文件 查看隐藏文件:ls -a  4.cd ...
  • 计算机操作系统核心知识点总结&面试笔试要点

    万次阅读 多人点赞 2019-08-14 22:00:41
    操作系统之基础篇 一、 操作系统概述  1. 操作系统的演进   无操作系统:人工操作,用户独占,CPU等待人工操作,资源利用率很低。   批处理系统:批量输入任务,无需等待人工操作,资源利用率提升,提出多道...
  • 二叉树的基本操作

    万次阅读 多人点赞 2019-04-21 01:43:02
    2、掌握二叉树的基本操作,如二叉树的建立、遍历、结点个数统计、树的深度计算等。 二、实验内容 (一)用递归的方法实现以下算法: 1、以二叉链表表示二叉树,建立一棵二叉树(算法5.3); 2、输出二叉树的中序...
  • IntelliJ IDEA重启操作选择

    万次阅读 多人点赞 2020-04-22 12:16:28
    我们在学习Java使用IDEA的时候,修改配置后经常需要进行重启这个操作操作流程如下 首先 File –> Invalidate Caches / Restart… 选择自己需要的方式 选项说明: Invalidate and Restart : 清空缓存,并...
  • C语言操作EXCEL文件(读写)

    万次阅读 多人点赞 2017-02-26 18:18:37
    C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作: C语言读操作 C语言写操作 在之前需要使用C语言读取Excel文件内容的功能,查阅了很多资料,大部分是通过ODBC或者过OLE/...
  • 操作系统基础知识复习总结

    万次阅读 多人点赞 2018-06-11 13:55:23
    操作系统 操作系统概述 操作系统作用 存储管理 处理机管理 设备管理 文件管理 用户接口 操作系统的定义 是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的...
  • 在单用户多任务的操作系统中,或者多用户多任务的操作系统中,系统同时运行多个程序,这些程序的并行运行势必形成对系统资源的竞争使用。因此,操作系统必须能够处理和管理这种并行运行的程序,使之对资源的使用按照...
  • 二值图像腐蚀与膨胀操作样例

    万次阅读 多人点赞 2017-06-26 23:59:26
    目录 操作方法简要说明 腐蚀操作 结构元素原点在结构元素内部 原点在结构元素外部 二值图像的膨胀操作 点在结构元素内部 原点在结构元素外部
  • 【系统架构设计师】第一章:操作系统(1.2.3)死锁问题 这一节其实想水一章来着。。。 因为书上的东西实在是太少,管程就提到了一点,我也不好写太多。 不过细想一下,还是决定写点吧。 1.2.3 管程 书上给的东西太...
  • Git回滚merge操作

    万次阅读 2018-07-22 16:15:46
    执行完merge操作后,没有修改代码 1、命令 ⑴ git reflog 查看merge操作的上一个提交记录的版本号 ⑵ git reset –hard 版本号 这样可以回滚到merge之前的状态 2、示例 误将dev合并到了master分支,现要...
  • 2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。在这种背景下,国家出于计算机安全考虑,加大了针对操作系统开发力度,各软件企业...
  • Spark RDD常见的转化操作和行动操作

    万次阅读 2018-12-01 11:13:39
    Spark RDD常见的转化操作和行动操作 IDEA 创建scala spark的Mvn项目:https://blog.csdn.net/u014646662/article/details/84618032 spark快速大数据分析.pdf下载:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,104,723
精华内容 1,641,889
关键字:

操作