• Linux--慕课学习


    刚开始接触Linux,很有幸的在慕课网上看到了Peter老师的Linux入门课程,老师讲课真的式行云流水,深入浅出,循循善诱,层层递进。

    老师分享的都是自己多年来总结的经验。看完之后也学到了很多东西。

    课程链接:Linux Guide for Developers

    下面记录一下,整个学习过程中记录的笔记:

    1、在Linux终端下直接输入【wget 网址】就可以直接把网页的HTML内容下载下来。这么强大的吗?
    Linux对文件后缀不敏感,一个文件是否能够执行不取决于其扩展名,而是看其是否设定了可执行的权限。前提是文件本身是可执行的,普通文本即使设置了可执行的权限也无法执行。

    2、命令还是经常使用,这样才能熟悉。记录只是一个学习的过程。


    3、man命令查看命令的文档说明【man sudo】

    4、关于通配符,最常用的就是【*】,搭配一些其他的命令可以快速定位一些符合通配表达式的文件名。

    5、对于.zip 后缀的文件解压缩就是【unzip】
    文件打包成zip就是【zip -r  打包后的文件名  要打包文件的路径】

    6、对于 tar.gz 后缀的文件,解压缩命令是【tar zxvf 文件】压缩就是【tar zcvf】

    6、对于 tar.bz2 文件,解压缩是【tar jxvf】

    7、重定向:把程序的输出保存到指定文件中。
    Linux下传统:everything is a file

    三个重要的文件:
    stdin :键盘输入的输出会被保存到硬盘中,如果程序有输出会输出到 stdout或者stderr。
    stdout :文件中的内容不会被保存到硬盘上,而是直接输出到屏幕。
    stderr : 也是直接输出到屏幕。

    输出重定向符:【>】
    特点:每次重定向之前,都会把内容清空。
    要想不清空,直接在后面追加就是【>>】
    但是重定向输出到文件的时候不用这么麻烦,我们用【cat】命令把两个文件放在一起,然后在一次性重定向到需要的文件即可。

    报错信息一般不能重定向。如果非要重定向可以使用【2>】

    管道线:把前一个命令的输出直接作为下一个命令的输入。
    就像是把数据流用管道接起来一样。用管道符【|】来链接。
    这样可以保证每个命令都只完成自己的一点点小任务就可以了。

    8、Linux下有趣的命令:
    首先可以安装奶牛说【sudo apt-get install cowsay】
    然后就可以在终端运行这个命令【cowsay
    然后可以输入想说的话,回车, Ctrl+d 结束输入,有惊喜。

    9、权限(permission)
    三个用户:owner   group  world
    三个权限:r(read读) w(write写) e(executing执行)
    Linux默认用户所在的主目录有写的权限,其他则没有,但是可以通过【chmod】修改权限,(change file mode)
    也可以通过【chown】修改用户和小组的方式来获取权限。
    通过【ls -l filename】查看文件的权限内容,也就是【ll】
    通过【ls -ld path】查看目录的权限内容


    【Ctrl+a】 到行首。
    【chmod】修改权限的时候,需要把三个权限化成八进制数据,如666,555.然后写入。

    10、进程(process)
    当我们每执行一个程序,就相当于在系统下面开始了一个进程。
    获取进程号PID (process ID )
    【ps】 报告当前进程状况
    【ps aux|less】查看所有进程,并分页显示
    【ps aux|grep 进程名】可以在所有的进程中查到需要知道的进程的PID
    【Ctrl shift c】复制
    【kill PID】结束进程号PID的进程
    【Ctrl teb】切换应用
    【Ctrl z】暂停
    【Ctrl c】结束终端中运行的程序

    当我们在终端中开启了一个进程的时候,进程就占据了终端的输入状态,导致我们不能进行其他的操作。也就是我们需要把进程切换到后台运行:【程序名 &】这样当返回后台的时候,终端还是可以使用的。或者【Ctrl shift T】打开终端。

    Linux是同时在运行着7个工作台,如果当前桌面被一个程序卡死,动不了的话,我们可以切换到第一个工作【Ctrl alt F1】,在这个工作台中杀死那个程序的进程。然后按【Ctrl alt F7】返回Ubuntu界面。

    11、搜索(search)

    【locate】--regexp 后面可以跟正则表达式。
    通过一个文件名在全系统范围内定位一个文件。

    【locate】这个比较简单,没有可选参数,直接加上要查询的文件名即可。他是从资料库中查找,所以速度也是比较快,但是因为资料库的信息更新由crond进程控制更新,所以有时候会发生刚刚安装好的软件查询不到的现象。
    【updatedb】可以把系统中的信息更新进数据库,但是这个命令式每天执行一次。 可以手动运行一下这个命令【sudo updatedb】

    【find】-在目录层结构中搜索文件。
    给他一个目录,他就能给你翻个底朝天。如查找所有在最近三天内内容发生变化的文件:【find / -mtime -3】



    12、Linux的网络工具

    【ssh】远程操作工具,客户端和服务器段都要有软件。

    【rsync】数据传输工具,本地和服务器传递数据。

    13、Linux安装软件

    1、手动安装:
    (1)下载压缩包安装解压缩->echo $PATH添加软件到命令行。

    (2)自己下载源码,编译然后生成可执行程序。
             ./configure 、 make 、 sudo make install

    缺点:需要手动安装依赖包,而且容易忘记安装都在哪。

    2、deb包
    程序本身、配置文件、安装位置、依赖关系

    安装:sudo dpkg -i 软件名.deb
    查询软件
    sudo dpkg -l|grep chrome

    3、最常apt-get仓库,它的底层就已经包含了dpke

    apt-get install 软件,(可以TAB补齐)
    sudo apt-get remove 软件
    apt-get purge 软件(删除配置文件)
    源码包:github、自由软件基金会、git
    缺点:软件更新比较慢,

    (1)、在终端里 apt-get安装的软件:
      apt-cache search package 搜索包
      apt-cache show package 获取包的相关信息,如说明、大小、版本等
      sudo apt-get install package 安装包
      sudo apt-get install package - - reinstall 重新安装包
      sudo apt-get -f install 修复安装"-f = ——fix-missing"
      sudo apt-get remove package 删除包
      sudo apt-get remove package - - purge 删除包,包括删除配置文件等
      sudo apt-get update 更新源
      sudo apt-get upgrade 更新已安装的包
      sudo apt-get dist-upgrade 升级系统
      sudo apt-get dselect-upgrade 使用 dselect 升级
      apt-cache depends package 了解使用依赖
      apt-cache rdepends package 是查看该包被哪些包依赖
      sudo apt-get build-dep package 安装相关的编译环境
      apt-get source package 下载该包的源代码
      sudo apt-get clean && sudo apt-get autoclean 清理无用的包
      sudo apt-get check 检查是否有损坏的依赖

    (2)、安装的deb包要用此方法:
    安装deb软件包 dpkg -i xxx.deb
    删除软件包 dpkg -r xxx.deb
    连同配置文件一起删除 dpkg -r --purge xxx.deb
    查看软件包信息 dpkg -info xxx.deb
    查看文件拷贝详情 dpkg -L xxx.deb
    查看系统中已安装软件包信息 dpkg -l
    重新配置软件包 dpkg-reconfigure xxx

    (3)、升级软件:以升级火狐浏览器为例:
    sudo apt-get update
    sudo apt-get install Firefox
    升级完成后可以检查一下软件的版本:
    apt-cache show Firefox

    ---------------------------------------------------------------------

    简单命令的补充

    1、【touch 文件名和后缀】新建一个文件
    2、【mkdir 文件名】新建一个文件夹
    3、【rm 文件名】删除一个文件,注意参数和通配符的使用可以一次性删除。【rm   -r   filename 】

    3、复制命令:【cp】


    4、移动文件:【mv】
    给目录或者给文件改名,原文件消失。


    5、显示文件内容【cat】【more】【less】
    一般大文件使用less,可以分屏显示。

  • 相关阅读:
    098实战 Job的调度
    maven在windows下的安装
    Map的知识点梳理(不包含collections工具类)
    001 LRU-缓存淘汰算法
    Android渲染机制和丢帧分析
    Android性能优化典范
    正确使用Android性能分析工具——TraceView
    android View 绘制完成监听
    那些年我们用过的显示性能指标
    view, surfaceView, invalidate, postInvalidate, 刷新屏幕
  • 原文地址:https://www.cnblogs.com/qsyll0916/p/8777083.html
Copyright © 2020-2023  润新知