最常用的Linux命令简表

最常用的Linux命令简表

文件操作

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

  • 绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
  • 相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man

处理目录

  • ls (列出目录)
  • cd (切换目录)
  • pwd (显示目前所在的目录)
  • mkdir (创建新目录)
  • rmdir (删除空的目录)
  • cp (复制文件或目录)
  • rm (移除文件或目录)
  • mv (移动文件与目录,或修改名称)

文件内容查看

  • cat 由第一行开始显示文件内容
  • tac 与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示行号
  • more 一页一页翻动
  • less 一页一页翻动
  • head 取出文件前面几行
  • tail 取出文件后面几行

用户管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

启用Win10内置的SSH命令

打开应用和功能,点击管理可选功能

Win10 SSH 1

点击添加功能

Win10 SSH 2

找到openssh client(beta),现在还是测试版,如果要远程连接win10就安装服务端,这里只介绍客户端

使用SSH命令传输文件

上传本地文件到服务器

scp /path/filename username@servername:/path/

例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

SSH原理与运用

什么是SSH?

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

Linux安装和开启ssh服务

查看ssh服务的状态

输入以下命令:

sudo service sshd status

如下提示的话,说明没有安装ssh服务,需要安装ssh服务:

Loaded: error (Reason: No such file or directory)

如下提示的话,说明已经安装了ssh服务,但是没有开启,需要开启ssh服务:

解决win2008中IE安全级别默认为高不能改

前几天在阿里云一次买了三年的云服务器,选择了win2008R2操作系统。

结果发现,IE不管开什么网站都显示不信任网站,并且IE的安全级别一直为最高,不能调下来。不断地弹出对话框:

解决阿里云服务器无法访问

早上的时候,发现阿里爸爸大发慈悲,给了我等穷人一次福利。

阿里云 1核 2G 1M 新用户拼团仅需99元一年,三年279元。

于是赶紧买了三年……

C++ SKIA学习DrawLooper

本次学习drawLooper.cpp中有关SkDrawLooper类的用法,并且分析了canvas draw api中的二层循环的作用。

分析

SkDrawLooper有两个子类:SkLayerDrawLooper和SkBlurDrawLooper。

C++ SKIA文字绘制

文字绘制主要包括编码转换(主要是中文)、字形解析(点线或image)和实际渲染三个步骤。在这个过程中,字形解析和实际渲染均是耗时步骤。Skia对文字解析的结果做了一套缓存机制。在中文字较多,使用多种字体,绘制的样式(粗/斜体)有变化时,这个缓存会变得很大,因此Skia文字缓存做了内存上的限制。

C++ SKIA路径绘制

SkPath类

SkPath结构

去除成员函数之后,我们看到SkPath包括这几个成员,注释中补充了说明

class SK_API SkPath {  
    //SkPath中的主要内容,SkAutoTUnref是自解引用,之所以这么设计,是为了复制SkPath时,省去份量较多的点复制(只复制引用)。  
    //由一系列线段组成  
    SkAutoTUnref<SkPathRef> fPathRef;  
  
  
    int                 fLastMoveToIndex;  
    uint8_t             fFillType;//如下四种类型之一  
    /*enum FillType { 
        kWinding_FillType,//绘制所有线段包围成的区域 
        kEvenOdd_FillType,//绘制被所有线段包围奇数次的区域) 
        kInverseWinding_FillType,//kWinding_FillType取反,即绘制不在该区域的点 
        kInverseEvenOdd_FillType//第二种type取反 
        }*/  
    mutable uint8_t     fConvexity;//凹凸性,临时计算  
    mutable uint8_t     fDirection;//方向,顺时针/逆时针,临时计算  
#ifdef SK_BUILD_FOR_ANDROID  
    const SkPath*       fSourcePath;//Hwui中使用,暂不关注  
#endif  
};  

关于 fFillType中 kWinding_FillType和 kEvenOdd_FillType的区别,可看SkPath::contains。这是判断点是否在不规则几何体内的经典代码(),很有参考意义。