命令行基础


command-line

查看当前位置:pwd

使用 pwd (Print Working Directory)命令 查看自己当前所在的位置路径。

Ryans-MacBook-Pro:~ ryan$ pwd
/Users/ryan

显示当前目录下的东西:ls

想要查看某个目录下面都有什么东西,使用 ls 命令,在命令的后面可以指定一个路径,这样会显示这个指定路径里东西,直接使用 ls 会显示当前所在位置里的内容。

mac-terminal-ls

Mac 终端上使用 ls 只能简单的显示文件目录与名称,想要得到更详细的信息可以在命令后面加上 -l 参数,如果需要把隐藏文件也显示出来,则需要添加 -a 参数。

mac-terminal-ls-la

显示具体路径下的内容,可以 ls 命令后面加上具体的路径,可以是相对路径,也可以是绝对路径。

// 这是一个相对路径
ls desktop

// 这是一个绝对路径
ls /Users/ryan/desktop

清空命令行上面的显示:clear

使用 clear 命令来清空命令行。Windows 也可以使用 cls 命令,Mac 上可以使用快捷键 command+K

路径中的符号

  • ~:用户主目录
  • /:系统根目录
  • ./:当前目录
  • ../:上一级目录

进入到某个目录下面:cd

想要进入到某个目录下面,需要使用 cd(Change Directory)这个命令,后面加上想要进入的路径。

cd 目标路径

// 可以使用相对路径
cd desktop

// 也可以绝对路径
cd ~/desktop

创建目录:mkdir

在指定的地方创建一个新的目录,可以使用 mkdir(Make Directory),后面加上要创建目录的名字。

// 在当前位置创建一个目录
mkdir 目录名

如果需要创建一个目录结构,即在某个目录下面,再创建一个子目录,需要在 mkdir 命令后添加一个 -p 参数。

// 创建一个目录结构
mkdir -p 目录名/子目录名/子目录名

创建空白文件:touch

创建一个空白的文件可以使用 touch 命令:

touch 文件名

查看文件内容:cat/tail

输出某个文件里的内容,可以使用 cat 命令:

cat 文件名

如果只是查看文件中的一小部分内容,可以使用 tail 命令:

tail 文件名

移动目录与文件:mv

把目录或文件移动到一个新的位置,使用 mv(Move)命令,这个命令也可以用来重命名目录或者文件。命令的后面先是目标目录或文件,再是新的位置路径。

mv 源目录/文件 目标路径

注意

  • 如果目标路径不存在,就会把源目录重命名成目标路径。
  • 在移动文件夹的时候,文件移动到的位置结尾一定要加上 /,不然 mv 命令会把想要移动的文件重命名成想移动到的那个位置。

复制目录与文件:cp

cp (Copy)命令可以复制指定的文件或者目录。

// 复件文件到指定路径
cp 源文件 目标路径

要复制目录,需要加一个 -R 参数。

// 复制目录
cp -R 目录名 目录重命名

删除目录与文件:rm

删除指定的目录或者文件,使用 rm(Remove)命令,如果要删除目录,需要添加一个 -r 参数,另外,可以添加一个 -f 参数,这样删除目录里的文件时不会出现提示。

// 删除文件
rm 文件名

// 删除目录
rm -r 目录名
rm -rf 目录名

Swift 笔记:数据类型


常用数据类型

  • Int: 整数型
  • Float: 32 位浮点数
  • Double: 64 位浮点数
  • Boolean: 布尔值
  • String: 字符串
  • Tuples: 元组

Int

一般来说,不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型 Int,长度与当前平台的原生字长相同:

  • 在32位平台上,IntInt32 长度相同。
  • 在64位平台上,IntInt64 长度相同。

除非需要特定长度的整数,一般来说使用 Int 就够了,这可以提高代码一致性和可复用性。

对于比较大的数值,Swift 可以使用下划线 _ 来分隔位数:

let a = 1_000_000
let b = 1_000_000

UInt

Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同。

注意:
尽量不要使用UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int,即使你要存储的值已知是非负的。统一使用Int可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断。

浮点数

Double 表示 64 位浮点数,Float 表示 32 位浮点数。Double 精确度很高,至少有 15 位数字,而 Float 只有 6 位数字,在两种类型都匹配的情况下,优先选择 Double

类型转换

值不能被隐式转换,如果需要转换为其他类型,必须进行显式转换:

let label = "The width is "
let width = 90
let widthLabel = label + String(width)

也可把值写到括号中,同时在括号之前写一个反斜杠来进行类型转换:

let widthLabel = label + "\(width)"

布尔值

Swift 有两个布尔常量,truefalse

元组

元组(tuples)把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型。

let http404Error = ( 404 , "Not Found!" )

元组可以在常量或变量名后使用冒号加括号的形式标注数据类型:

let http200Status: ( Int , String ) = ( 200 , "OK!" )

可以将一个元组的内容分解(decompose)成单独的常量和变量:

let ( errorCode , errorMessage ) = http404Error

也可以通过下标来访问元组中的单个元素,下标从零开始:

let point = ( 5 , 2 )
point.0
point.1

可以在定义元组的时候给单个元素命名。给元组中的元素命名后,就可以通过名字来获取这些元素的值:

let point = ( x: 5 , y: 2)
point.x
point.y

也可以在标注数据类型时给单个元素命名:

let point: ( x:Int , y:Int ) = ( 6 , 2 )
point.x
point.y

元组分解时需要忽略的元素使用下划线 _ 来标记:

let loginResult = ( true , "Ryan" )
let ( isLoginSuccess , _ ) = loginResult
if isLoginSuccess {
    print("Login Success!")
    }
else{
    print("Login Failed!")
    }

输出函数:print

使用函数 print(_:separator:terminator:) 来输出当前常量或者变量的值。

var x = 1 , y = 2 , z = 3

print ( x , y , z , separator:"---")
// 输出结果为 1---2---3

print ( x , terminator:":)")
// 输出结果为 1:)

separatorterminator 参数具有默认值,调用时可以忽略。默认情况下,separator 使用空格作为间隔符,terminator 使用换行符来结束当前行。如果不想换行,可以传递一个空字符串给 terminator 函数:

print ( someValue , terminator:"" )

Swift 笔记:常量与变量


使用 let 声明常量,使用 var 声明变量。常量的值一旦设定就不能改变,而变量的值可以随意更改。

命名

可以使用任意字符作为常量或变量名称,包括 Unicode 字符。为保证代码的可读性,通常情况下常量或变量名称使用除首单词外其余单词首字母大写的方式命名:

let 😀 = "smile"
let myWebsite = "https://iiiryan.com"

常量与变量名不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。

一旦你将常量或者变量声明为确定的类型,你就不能使用相同的名字再次进行声明,或者改变其存储的值的类型。同时,你也不能将常量与变量进行互转。

分号

单行语句末尾可以不添加分号 ;,但有一种情况下必须要用分号,即你打算在同一行内写多条独立的语句:

let a = 5 ; print(a)
// 输出 a

单行语句可以同时声明多个变量或常量,使用 , 分隔。

var myVariable = 10
let myConstant = 8

var a = 1 , b = 2 , c = 3

类型标注

Swift 是一种强类型语言,编译器会根据声明赋值自动推断数据类型。如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。

var str = "Hello, Swift!"
var myWebsite: String = "https://iiiryan.com"

注释代码

单行注释以双正斜杠 // 作为起始标记,多行注释以 /* 开始,以 */ 结束。
多行注释可以嵌套在其它的多行注释之中

Mac 技巧:禁止生成 .DS_Store 文件


.DS_Store 是 macOS 保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。

禁止 .DS_store 生成,执行以下命令:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE2

恢复 .DS_store 生成,执行:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

Mac 技巧:不带阴影效果的窗口截图


mac-tips-take-a-screenshot-without-the-shadow-effect

默认情况下,macOS 系统自带的窗口截图(Command(⌘) + Shift(⇧) + 数字键4)会自带一个阴影效果,有的时候这个阴影效果插入到文档中会影响整个排版效果。

当然,你可以直接使用命令行禁用这个效果(How to remove the shadow from screenshots you take on your Mac),但如果只对当前截图取消阴影效果该怎么做呢?

  • 在 Mac 键盘上同时按下 Command(⌘) + Shift(⇧) + 数字键4,进入截图模式,鼠标指针变为十字准线图标。
  • 按一下空格键,使光标更改为相机符号,表示将捕获特定窗口的屏幕截图。
  • 然后按住 Option(⌥),将光标放在要截图的窗口上,然后按鼠标左键获取所选窗口的图像,这样就不会出现烦人的阴影效果了。:)

提示:

如果要将截图保存在系统剪贴板中,以便在其他应用程序(以及设备,通过通用剪贴板)中快速粘贴,可以使用 Control(^)Command(⌘)Shift(⇧)数字键4,而不是 Command(⌘)Shift(⇧)数字键4

要取消屏幕截图,只需点击 esc 键即可。

TypeNow: Just Type Now…


TypeNow-ScreenShot

主题说明

TypeNow 根据 WordPress 官方主题 TwentySeventeen 框架结构修改。

主题安装

Clone 或者 下载 Zip 文件 ,上传到 wp-content/themes 文件夹。

仅在以下环境测试可行,其他环境下请自行测试:

  • WordPress 4.7 及以上版本
  • PHP 7.1
  • Chrome 62.0 or Safari 11.0

主题预览

iiiryan.com

主题亮点

  • 更丰富的主题自定义设置选项
  • HighlightJS代码高亮
  • 文章目录
  • 相关文章
  • 评论验证码
  • 自定义文章样式:aside、status、quotes
  • 自定义页面模板:archive、search
  • 更多精彩期待着你的发现……

第三方资源

HTML5 Shiv, Copyright 2014 Alexander Farkas
Licenses: MIT/GPL2
Source: https://github.com/aFarkas/html5shiv

jQuery scrollTo, Copyright 2007-2015 Ariel Flesler
License: MIT
Source: https://github.com/flesler/jquery.scrollTo

normalize.css, Copyright 2012-2016 Nicolas Gallagher and Jonathan Neal
License: MIT
Source: https://necolas.github.io/normalize.css/

Site title font: Aaargh
License: Creative Commons attribution license
Source: https://www.fontsquirrel.com/fonts/aaargh

Font Awesome icons, Copyright Dave Gandy
License: SIL Open Font License, version 1.1
Source: http://fontawesome.io/

Bundled header image:
Header Image 1: Photo by Mathieu Barrette on Unsplash
Header Image 3: Photo by Simon Matzinger on Unsplash
Header Image 2: Photo by dan carlson on Unsplash
Archive Page Header Image: Photo by Rob Bates on Unsplash
About Page Header Image: Photo by Max Langelott on Unsplash
Search Page Header Image: Photo by Hedi Alija on Unsplash
Aside Post Featured Image: Photo by Anete Lūsiņa on Unsplash
Related Post Default Image: Photo by Breather on Unsplash

部分 CSS 样式参考:Pinghsu, A Typecho Theme
License: MIT
Source: https://github.com/chakhsu/pinghsu

WordPress breadcrumbs function
License: MIT
Source: http://dimox.net/wordpress-breadcrumbs-without-a-plugin/

Get copyright time
Source: https://www.gznotes.com/wp-copyrighttime/

Display Metaboxes According to the Current Post Format
Source: https://code.tutsplus.com/tutorials/how-to-display-metaboxes-according-to-the-current-post-format–wp-27970

就这样吧….