500 likes | 712 Views
Hello, world!. 课前预习. 1. 安装 Xshell 和 Xftp 2. 注册 GoDaddy 并购买域名 3. 注册 DNSPod 账号 4. Linux 入门 5. Vim 入门. 指尖上的服务器. V irtual P rivate S erver 个人虚拟主机. VPS. Linux. 开源操作系统内核. 应用程序. 内核. CPU. 内存. 设备. 吉祥物. Linux 发行版. Unix 哲学. KISS = K eep I t S imple and S tupid
E N D
课前预习 • 1. 安装 Xshell 和 Xftp • 2. 注册 GoDaddy 并购买域名 • 3. 注册 DNSPod 账号 • 4. Linux 入门 • 5. Vim 入门
指尖上的服务器 • Virtual Private Server 个人虚拟主机 VPS
Linux • 开源操作系统内核 应用程序 内核 CPU 内存 设备
Unix哲学 • KISS = Keep It Simple and Stupid • 每个工具只做一件事情,但是要做到极致
Xshell • 终端模拟器
SSH 用 户 远 程 主 机 随机字符串 私钥加密过的字符串
用户 • useradd -m work 新建用户和 home 目录 • passwd work 设置用户密码 • vim /etc/sudoers 为 work 用户添加 sudo 权限
Vim • 移动 ↑ k ← h l → J ↓
Vim • 模式 「命令」模式 「插入」模式 「可视」模式 「末行」模式 i v :或/
Vim • 高级移动 • W 以单词为单位右移,以空白字符分界 • w 同上,但以任何标点符号分界 • B 以单词为单位左移,以空白字符分界 • b 同上,但以任何标点符号分界 • Ctrl + f 向下滚一屏 • Ctrl + b 向上滚一屏
Vim • 跳转 • 0 跳转到行首 • ^ 跳转到行首第一个非空白字符 • $ 跳转到行尾 • g_ 跳转到行尾最后一个非空白字符 • gg 跳转到首行 • G 跳转到尾行
Vim • 高级编辑(均在「命令」模式下) • x 删除光标处字符 • r 替换光标处字符 • dd 删除光标所在行 • yy 复制光标所在行 • p 在光标所在行下方粘贴 • P 在光标所在行上方粘贴
Vim • 高级编辑(均在「命令」模式下) • diw 删除光标所在处单词 • diW 同上,以空白字符分界 • yiw 复制光标所在处单词 • yiW 同上,以空白字符分界 • ciw 删除单词并进入「插入」模式 • ciW 同上,以空白字符分界
Vim • 查找 • /dog 向下查找 dog • ?dog 向上查找dog • n 下一个 • N 上一个 • * 向下查找光标所在处单词 • # 向上查找光标所在处单词
Vim • 替换 • :s/dog/cat 将当前行的第一个 dog 替换为 cat • :s/dog/cat/g 将当前行的所有dog 替换为 cat • :%s/dog/cat/ 将所有行的第一个 dog 替换为 cat • :0,78s/dog/cat/g 将开头到第78行行的所有dog 替换为 cat • :.,$s/dog/cat/gc 将当前行到最后一行的所有dog 替换为 cat,替换前提示用户选择是否替换
Vim • :w 保存 • :wq 保存退出 = :x • :wq! 强制保存退出 • :q! 不保存退出
Vim • a 在当前光标后进入「插入」模式 • o 在当前行下一行插入空行并进入「插入」模式 • O 在当前行上一行插入空行并进入「插入」模式 • I(大写 i ) 进入插入模式并将光标移动到行首第一个非空白字符 • A 进入插入模式并将光标移动到行尾最后一个非空白字符之后 • Ctrl + v 矩形选中
Vim • 插件 • :mru 文件列表 • zc 代码折叠 • zo 代码展开 • zn 全部展开 • zN 全部折叠 • Tab 自动补全
ls(list) • 列出当前目录下所有文件 • ls -a 列出所有文件(包括隐藏的) • ls -l 以列表形式显示更多信息 • ls -R 递归显示所有子目录下的文件 • 以上选项可以任意组合
tree • sudo emerge tree
mkdir(make directory) • 创建目录 • mkdir -p dog/cat/pig • 如果父目录 dog cat 不存在则新建
cd(change directory) • 切换到指定目录 • cd 切换到家目录 • cd ~ 切换到家目录 • cd .. 切换到父目录 • cd . 切换到当前目录
pwd(print working directory) • 输出当前目录的完整路径
cp(copy) • 拷贝文件或目录 • cp dog.txt ../cat.txt • cp dog.txt .. • cp dog/ .. -R
mv(move) • 移动文件或目录 • mv dog.txt ../cat.txt • mv dog.txt .. • mv dog/ .. • mv dog/ cat/
rm, rmdir(remove, remove dirctory) • 删除文件或目录 • rm dog.txt • rm -f dog/ 强制删除空目录,等于 rmdir • rm -r dog/ 递归删除 dog下所有目录和文件
clear • 清屏 • 快捷键 Ctrl + L
cat (concatenate) • 查看文件内容,拼接多个文件 • cat dog.txt 输出 dog.txt 内容 • cat dog.txt cat.txt 拼接俩文件一起输出
less • 分屏输出文件 • less dog.txt • 上下移动方式与 vi 相同
head,tail • 输出文件的头/尾 十行 • head –n 20 dog.txt • tail –n 20 cat.txt • 指定输出 20 行
grep( global regular expression print ) • grep “blabla” dog.txt • grep “blabla” . –rn • 递归搜索当前目录下的所有文件(包括子目录中的),输出含 blabla 的行并显示行号
ack( acknowledgement character ) • sudo emerge ack • ack “blabla” 与前一页的 grep 命令功能相同,但是不搜索不认识的文件类型
find • 查找文件 • find . –name dog.txt • 递归查找当前目录下名为 dog.txt 的文件
重定向和管道 • > cat dog.txt >cat.txt • >> cat dog.txt >>cat.txt • < less < dog.txt • | cat dog.txt | grep “blabla”
man(manual) • man less • less -h • less --help
bash快捷键 • Ctrl + a 切换到命令行开始 • Ctrl + e 切换到命令行末尾 • Ctrl + xx 在当前光标和命令行开始两者间切换 • Ctrl + u 清除剪切光标之前的内容 • Ctrl + k 剪切清除光标之后的内容 • Ctrl + w 删除光标前最后输入的单词 • Ctrl + l 清屏,效果等同于clear • Ctrl + r 在历史命令中查找 • Ctrl + R 搜索多次出现的命令 • Esc + T - 交换光标前面的两个单词
bash快捷键 • Ctrl + c 终止命令 • Ctrl + z - Suspend/ Stop the command • ↑(Ctrl+p) 显示上一条命令 • ↓(Ctrl+n) 显示下一条命令 • !! 重复执行最后一条命令 • !$ 系统最近的一条参数 • Ctrl + b = ← • Ctrl + f = → • Ctrl + d = delete • Ctrl + h = Backspace
PS(prompt statement) • PS1 命令行提示符 • \u – 用户名 • \h – 主机名 • \w – 当前目录的完整路径 • \W - 当前目录名 export PS1=“\u@\h \w> ” PS2 断行提示符 • >
域名解析过程 ycflame.info GoDaddy VPS DNSPod
Web服务器 HTTP请求 80端口 index.html Nginx
UTF-8 • Unicode 全球通用的跨语言编码格式 • 保证任意一种语言的文字具有唯一编码
Web编程概述 Server Client Web Server Content retrieval Application Presentation Datastore Interaction
遇到问题怎么办? • man help info • Google • Wikipedia • Stackoverflow.com • Quora.com • Zhihu.com • HowStuffWorks
提问的智慧 • http://www.beiww.com/doc/oss/smart-questions.html#translations
双休预习任务 • 1. HTML • 2. CSS • 3. Python • 4. 复习本课内容,进一步熟悉Linux和Vim
谢 谢 yangchao.cs@gmail.com