一. 对 Linux 的认识
1. 什么是 Linux?
Linux 整个基于 Linux 内核, 是 Linux 的内核 + GNU 组织的软件 GNU/Linux 的操作系统
2. 什么是 shell?
shell 是一个解释器, 是保护系统内核不被篡改的软件, 我们所使用的系统中默认启动的 shell 是 bash 注: bash 是一个为 GNU 计划编写的 Unix shell, 它是 Bourne-Again SHell 的缩写.
3. 怎样在 shell 中执行命令? 命令必须在行提示符之后输入, 如果行提示符被占用, 那么, ctrl+c 可以结束占用当前行提示符的程序从而释放行提示符.
4. 在 shell 中输入命令的格式: 命令 + 空格 + 参数 + 空格 + 对象 命令就是程序, 参数就是程序指定的某种功能 -a -b -c =-abc = -bac, 对象是操作的目标 举例: rm -f -r /*==rm -fr /*
二. 虚拟机的基本操作
1. 虚拟机的控制
- [kiosk@foundation0 Desktop]$ rht-vmctl view desktop #显示虚拟机
- [kiosk@foundation0 Desktop]$ rht-vmctl start desktop #打开虚拟机
- [kiosk@foundation0 Desktop]$ rht-vmctl poweroff desktop #关闭虚拟机
- [kiosk@foundation0 Desktop]$ rht-vmctl reset desktop #重置虚拟机
注:
- kiosk // 表示 shell 的运行人是谁
- @foundation0 //shell 开启主机的主机名称
- Desktop // 你当前所在文件夹的名字
2. 虚拟机的报错情况以及改正
- [kiosk@foundation0 Desktop]$ rht-vmctl start desktop
- Error: desktop not started (is already running) // 虚拟机正在运行
Correction: 停止'rht-vmctl start desktop'操作, 直接执行当前准备执行的命令
- [kiosk@foundation0 Desktop]$ rht-vmctl view desktop
- Error: unable to view desktop - not currently running. // 虚拟机没有运行
Correction: 先执行命令'rht-vmctl start desktop', 再执行下一步操作
- [kiosk@foundation0 Desktop]$ rht-vmct1 start desktop
- bash: rht-vmct1: command not found... // 命令输入错误
Correction: 检查输入的命令'rht-vmctl'是否正确, 注意区分'数字 1'和'字母 l'
- [kiosk@foundation0 Desktop]$ rht-vmctl stat desktop
- Error: bad option, stat // 参数写入错误
Correction: 检查输入的参数
'start/view/poweroff/reset'是否正确, 注意区分大小写
[kiosk@foundation0 Desktop]$ rht-vmctl start deskop
Error: unrecognized VMNAME specified, deskop.# 虚拟机名称错误
Correction: 检查输入的名称'desktop'是否正确, 注意区分大小写
3. 系统用户登陆
- $ // 普通用户, 这个用户只能使用系统, 但是权力比较低, 比如不能删除 home---->computer ----> boot
- student ----> student
- # // 超级用户, 系统管理员, 权力绝对大, 可以破坏系统, 比如删除 home---->computer ----> boot
- not list ---->root ----->RedHat
注意: 删除 boot 以后, 在系统中选择 reset 那么系统启动成功 系统启动不了可以直接重置虚拟机
4. 在系统内添加中文输入法
application ------> setting ---> 蓝旗 (region&language)---->china pinyin
5. 文本编辑
gedit 文件名称 +& //"&" 的作用是让 gedit 命令在后台运行而不占用当前接口
6. 文件管理命令
- <1>
- 新建文件 touch '文件名' 注: 建立多个文件时, touch '文件名' '文件名' ... // 多少个文件, 就用引号引多少个
- <2>
- 新建目录 mkdir '目录名'
- <3>
- 删除文件 rm -f '文件名' //-f 是 force 的缩写, 表示强制删除不提示 区分 rm/rm -f
- <4>
- 删除目录 rm -f -r/rm -fr '文件名' //-r 表示递归, 包括目录本身和里面的所有内容
7. 查看
- <1>
- cat '文件名' // 查看文件或者目录里的具体内容
- <2>
- ls '文件名' // 显示当前文件下的目录名称 注: ls -a // 显示所有文件包括以点开头的隐藏文件 ls -R // 递归显示目录中的所有内容
- <3>
- file // 查看文件类型 操作步骤 (可以清楚的体现 file 的作用以及文件的作用) touch westos file westos
- VIM westos hello file westos VIM westos #!/bin/bash hello file westos VIM
- westos #include hello file westos
- <4>
- wc // 统计文件的字数, 字符数, 字节数 wc -l // 行数 wc -m // 字符数 wc -c // 字节数 wc -w //
- 字数
注: 区分 wc -m 与 wc -c 在输入中文时, 会有不同; 输入英文时, 两个差不多
8. 复制 cp file 新文件名称 | 目录
cp -r dir 新名称 | 目录
注: 复制根目录下文件里的全部内容时, 需要在文件最后加一个'.'
举例: cp /etc/passwd .
9. 移动
mv file 目录
mv dir 目录
mv 目录 /* , 把目录中的所有内容移动到当前所在系统位置 "." 代表当前所在系统目录
10. 系统结构
- /bin // 常用系统命令
- /sbin // 系统管理命令
- /boot // 启动分区
- /sys // 内核参数调整
- /dev // 设备文件
- /lib //32 位库文件
- /lib64 //64 文库文件
- /media /run /mnt // 临时设备的挂载点
- /opt // 第三方软件安装位置
- /proc // 系统信息
- /etc // 系统配置目录
- /home // 普通用户家目录
- /root // 超级用户家目录
- /var,/srv // 系统数据
11. 关于路径的命令
<1 > 路径的分类 绝对路径: 文件所在系统的真实位置, 在系统的任何位置都可以使用通常以 "/" 开头
相对路径: 相对当前所在系统位置的一个文件名称的简写, 它通常会自动添加 "pwd" 的值在名称前
举例: pwd //print work directory 显示当前所在系统位置的路径
- touch /mnt/file // 用绝对路径的方式在 / mnt / 中建立 file 文件
- rm -fr /mnt/file // 用绝对路径的方式删除 / mnt / 中的 file 文件
- mv hello /mnt // 把当前的 hello 文件移动到 / mnt 目录中
- mv /mnt/hello . // 用绝对路径的表示方式把 / mnt 中的 hello 文件移动到当前位置
12. 切换工作目录
cd 目录名称
- cd .. // 进入当前目录的上层目录
- cd . // 进入当前目录
13. 如何在系统中获得帮助
1.whatis 命令: 得到一个命令但不知道这个命令的作用时使用
举例: whatis cal 显示 cal 命令的用途
- cal (1) - display a calendar
- cal (1p) - print a calendar
2.--help 命令: 当知道命令的用途, 但是不知道命令的运行格式或者方法时使用
注:--help 只适用与命令
举例: cal --help
- useage:
- cal [options] [ [ [day] month] year]
注: 如果只写'年'的话, 就不需要加 [], 想要显示哪一月或者哪一天, 必须给'月'和'天'加 [].
[] // 选加, 可以加也可以不加
... // 加的个数可以时任意多个
<> // 必须加不可缺少的信息
3.man == manual: 当查看文件的帮助时,--help 是不能使用的, 必须用 man 命令来查看帮助了
man 的级别
1 命令, 2 内核调用的接口, 3 函数库; 4 特殊文件比如设备文件; 5 系统文件, 6 游戏; 7 包信息; 8 系统密令; 9 内核规则
举例: man date // 查看 date 命令的帮助手册
man 5 passwd // 查看 / etc/passwd 文件的帮助手册
<2>man 使用时的快捷键
进入 man 页面后
- pageup // 向上翻页
- pagedown // 向下翻页
- q // 退出
注: 当 man 或者 whatis 命令无法查询帮助是, 是因为系统没有加载帮助数据库
解决办法: 执行 mandb
三.*******VIM*********
1. 编辑文件
VIM '文件名' 进入浏览模式, 按 "i" 键 进入插入模式开始编写字符, 编写结束后按 "ESC" 键 退出插入模式, 按 ":wq" 保存退出, 文件编写完成.
VIM 同时编辑多个文件 : 先打开一个文件, 再进行操作':sp'+'filename'
ctrl + w 上 // 光标进入上边文件窗口
ctrl + w 下 // 光标进入下边文件窗口
注: <1 > 当文件名称存在, 那么进入文件直接编辑, 当文件名称不存在, VIM 会在退出保存时自动建立文件, 当 VIM 命令后没有跟任何文件名称时, 时无法实现':wq'退出保存的那么可以用 ":wq filename"
- <2>
- 当 VIM 异常退出时, 系统会建立. file.swp 这个缓存文件, 这个文件中保存着在':wq'动作之前保存的信息, 当用 VIM 对文件做编辑的时候会提示
- O // 只读打开 E // 直接忽略. file.swap 信息编辑文件 R // 利用. file.swap 进行为保存数据恢复 D //
- 删除. file.swap Q // 退出 A// 终止 // 图片, 出现以上几个提示的图片
2.VIM 的三种模式
<1 > 命令模式
A:VIM 工作方式设定 (命令模式是 VIM 打开文件后默认进入的模式, 这个模式中不能插入字符, 但是可以设定 VIM 的工作方式)
:set 指定信息
- :set nu
- :set nonu
- :set cursorline
- :set mouse=a
注: 在 VIM 中直接设定 VIM 的工作方式是临时设定, 也就是说当 VIM 关闭, 设定失效 如果要永久设定需要编写 VIM 的配置文件 '/etc/vimrc'
B: 在命令模式下如何管理字符
"x" : 删除光标所在字符
"u" : undo 恢复
"ctrl+r" : redo 撤销恢复
"y" : 复制
"yw" : 复制一个单词
"yl": 复制一个字母
"yy" : 复制一整行
"y5y" : 复制 5 行
"c": 剪切
"cw" : 剪掉一个单词
"cl" : 剪掉一个字母
"cc" : 剪掉一整行
"c5c": 剪掉 5 行
注:"用 C 做剪切时, 会进入插入模式, 如果要粘贴需要退出插入模式按'ESC'键再按'P'"d" : 删除
"dw" 删除一个单词
"dl" 删除一个字母
"dd" 删除一整行
"d5d" 删除 5 行
"p": 粘贴
C:VIM 的可视化操作
a: 可视化模式的基本操作
在 VIM 中是不能用鼠标选择区域操作的, 如果要操作某个区域, 需要进入到可视化模式, 在命令模式下 "ctrl + v" 就可以进入到可视模式了
按 "上 | 下 | 左 | 右" 移动光标选择区域, 按相应操作键就可以对选择区域进行操作
b. 可视化模式下批量添加字符 .
把光标停留在想要加入字符所在的列的第一行 .
移动光标选择添加字符所在列 .
"I" 进入插入模式 .
写入要插入的字符 .
按 "ESC" 退出插入模式, 字符批量添加成功
D:VIM 的字符替换
%s / 原有字符 / 新字符 / g // 全文替换
1,5s / 原有字符 / 新字符 / g // 替换 1 到 5 行的字符
g // 替换出现的所有关键字, 如果不加 "g" 只替换没行出现的第一个
E: 总字符的查找及光标的移动
<1 > 字符的查找
/ 关键字 // 搜索关键字
- n // 向下匹配关键字
- N // 向上匹配关键子
注: 按'v' 由浏览模式进入 VIM 模式, 按'i'进入编辑模式, 按'ECS'后按':wq'退出编辑模式进入浏览模式
- <2>
- 光标的移动 :'数字' // 光标快速移动到指定行 gg // 光标移动到文件的第一行 G // 光标移动到文件的最后以行
- <2>
- 插入模式 "i" // 在光标所在位置插入字符 "I" // 光标所在行的行首插入字符 "o" // 光标所在行的下一行新行插入字符 "O"
- // 光标所在行的上以行新行插入 "s" // 删除光标所在字符并插入字符 "S" // 删除光标所在行并插入字符 "a" // 光标所在字符的下一个字符插入
"A" // 光标所在行的行尾插入字符
- <3>
- 退出模式 :q // 当 VIM 进入文件没有对文件内容做任何操作可以按 "q" 退出 :q! // 当 VIM 进入文件对文件内容有操作但不想保存退出
- :wq // 正常保存退出 :wq! / 行保存退出, 只针对与 root 用户或文件所有人生效
四. 通配符
1. 字符匹配
- *// 匹配 0 到任意字符
- ? // 匹配单个字符
- [[:alpha:]] // 匹配单个字母
- [[:lower:]] // 匹配单个小写字母
- [[:upper:]] // 匹配单个大写字母
- [[:digit:]] // 匹配单个数字
- [[:alnum:]] // 匹配单个数字或字母
- [[:punct:]] // 匹配单个符号
- [[:space:]] // 匹配单个空格
- // 图片, 删除带数字或者带字母的文件
- {
- } // 精确指定目标, 前提是指定的所有目标都必须存在
- {
- }{
- } // 两个括号里的目标分别进行有顺序的组合组合
举例: {1..3} 指定 1,2,3, 而且 1,2,3 都存在
- {
- 1..3
- }{
- a..c
- } 1a 2a 3a 2a 2b 2c 3a 3b 3c
- [] // 模糊指定目标
举例: [1-3] //1 或者 2 或者 3 [^abc]|[!abc] // 除了 a 并且除了 b 并且除了 c
2. 常用文本处理工具 // 在命令输入窗口直接输入
- <1>
- head // 显示指定文件的前多少行 head -n 1 passwd // 显示文件的第一行 head -n 3 passwd // 显示文件的前
- 3 行
head passwd // 默认显示文件的前 10 行
- <2>
- tail // 显示文件的后多少行, 在阅读文件时, 直接按此字符 tail -n 1 passwd // 显示文件的最后 1 行 tail
- -n 5 passwd // 显示文件的最后 5 行
tail passwd // 显示文件的最后 10 行
- <3>
- Less // 分页浏览 Less passwd
- <4>
- '!'or'^' // 表示非, 相反的
3. 鼠标点不动时, ctrl alt f2 , init 3,ctrl f1 init5.
来源: http://www.bubuko.com/infodetail-2860616.html