首先,这一章的内容,对于新手来说,后半部分的虚拟机的文章,可以查看第12篇文章,那里有下载虚拟机版本和对应的如何安装虚拟机,其次,这里第一章中rht-vmctl 命令是自己设定的命令,除了这个命令可以不需要掌握以外,一直到后面部分的内容都是linux系统自己是设定的,和本人设定的毫无关系,这一章主要重点在于理解虚拟机如何运行,命令的语法大致如何,不需要掌握我自己编写的命令。
一llinux
linux是指linux内核(kernel)
kernel是一种操作系统内核,它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成;通常运行进程并提供进程间的通信。
二 shell
1shell保护系统内核并对外提供操作接口的软件;linux中默认的shell是bash
2shell中各字符含义
[kiosk@foundation17 Desktop]$
[1] [2] [3] [4] [5]
[1]kiosk ##当前用户名称
[2]@ ##分割符
[3]foundation0 ##主机名称
[4]Desktop ##当前所在系统位置
[5]$ ##用户身份提示符$表示普通用户,#表示超级用户 进入root [root@foundation17 ~]#
3在输入命令时必须在身份符之后输入,反之不起作用
三操作虚拟机
[kiosk@foundation17 Desktop]$ rht-vmctl view desktop #显示虚拟机
[kiosk@foundation17 Desktop]$ rht-vmctl start desktop #打开虚拟机
[kiosk@foundation17 Desktop]$ rht-vmctl poweroff desktop #关闭虚拟机
[kiosk@foundation17 Desktop]$ rht-vmctl reset desktop #重置虚拟机
mandb ##更新帮助信息
whatis 命令 ##查看命令用途
命令 --help ##查看命令的帮助
[] 选加
... 加的个数任意
<> 必须加入
一、常用系统工作命令
date
➢date 显示当前时间
➢date +%r 显示格式:小时:分钟:秒 AM|PM
➢date “+%Y-%m-%d %H:%M:%S” 按"年-月-日 小时:分钟:秒"的格式依次显示系统当前时间
➢date -s “20181556 12:56:12” 设置系统当前时间
➢date +%j 用来查看今天是当年中的第几天
➢watch -n 1 date 让date命令每秒执行一次,之后可用ctrl+c退出监控模式
passwd
➢passwd 修改超级用户(root)的密码
➢passwd student 修改普通用户(student)的密码
注意:修改密码和原始密码不能相似
密码必修是无序数字+字母
密码必须大于8位
tab
➢tab 可以自动补齐系统中存在的文件名称或者命令
注意:当按tab补齐不成时,那么是因为以这个字符开头的内容不唯一可以按两次tab用来显示所有以此字符开头的内容如果两次依然没有,那么就是不存在的
历史调用
➢history 显示历史
➢history -c 清空当前环境中的历史
进入history命令之后:
!数字 调用指定行数的历史,执行此行的命令
!字母 执行最近一条以这个字母开头的命令
ctrl+R+关键字 执行最近一条含有这个关键字的命令
关机|重启
关机:
➢poweroff | init0 | shutdown -h now
重启:
➢reboot | init6 | shutdown -r now
锁屏
➢ctrl+alt+l 在rhel7.0
➢ win+l 在rhel7.2
stat
➢stat 用于查看文件的具体存储信息和时间等信息
会显示文件的三种时间状态: Access、 Modify、 Change
diff 用于比较多个文本文件的差异
➢diff --brief file1 file2 判断文件是否相同
➢diff -c file1 file2 比较文件具体的不同之处
grep 用于在文本中执行关键词搜索,并显示匹配的结果 二、修改文件(gedit、vim) :set nonu 不显示行号 :set mouse=a 设置鼠标 :数字 跳转到该行 set nu ##都不需要带: set mouse=a 可视化模式的批量添加 —>按" I "进入插入模式 —>写入字符 —>按ESC>批量添加字符出现 (2) ctrl+v 进入可视化模式,shift+i可再切换会插入模式 : s/原字符/替换后字符/g 替换当前光标所在行的所有关键字 : %s/原字符/替换后字符 每一行出现的第一个关键字 : /lp/,/halt/s/sbin/hello/g 替换lp字符和halt字符之间的所有关键字 ?字符串 在文本中从下至上搜索该字符串 ctrl+w(松开) 上|下|左|右 光标在窗口之间的移动 ctrl+w(松开)+c 关闭光标所在的屏幕 n 向下匹配 (匹配不了时,可能是当前输入法不是英文) ➢find /etc -name passwd 2> file ➢find /etc -name passwd &> file 注意:若file里本身有东西,则会覆盖掉文件本身的内容 ➢命令 2>&1 文件 将编号为2的错误输出转换成编号为1的正确输出 ➢命令 >/dev/null 文件 表示屏蔽正确内容 ➢命令 2>/dev/null文件 表示屏蔽错误输出 四、管道符(|) tee 将输出复制一份到指定位置 ➢find /etc/ -name passwd 2>&1 | tee file | wc -l
➢grep -b 找的关键词 file 将可执行文件(binary)当作文件来搜索
➢grep -c 仅显示找到的行数
➢grep -i 忽略大小写
➢grep -n 显示行号*
➢gerp -v 反向选择—仅列出没有“关键词”的行*
find 用于按照指定条件来查找文件
格式:find [查找路径] 寻找条件 操作
寻找条件(如文件名、大小、修改时间、权限等信息)为不同的文件特性
➢find -name 匹配名称
➢find -perm 匹配权限(mode为完全匹配,-mode为包含即可)
➢find -user 匹配所有者
➢find -group 匹配所有组
➢find -mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
➢find -atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
➢find -ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
➢find -nouser 匹配无所有者的文件
➢find -nogroup 匹配无所有组的文件
➢find -newer f1 !f2 匹配文件f1新但比f2旧的文件
➢find --type b/d/c/p/l/f 匹配文件类型后面的字母参数依次表示:
块设备,目录,字符设备,管道,链接文件,文本文件
➢find -size 匹配文件的大小(+50KB为查找超过50KB的文件
-50KB为查找超过50KB的文件)
➢find -prune 忽略某个目录
<
图形工具
➢gedit file
进入后的快捷键:
ctrl+n 在gedit中打开一个新的tab
ctrl+s 保存文件
ctrl+o 打开文件
ctrl+x 剪切字符
ctrl+v 粘贴字符
ctrl+c 复制字符
➢yelp help : gedit gedit图形手册
Vim
>vim的工作模式
命令模式 在每次运行vim 编辑器时,默认进入命令模式
插入模式 按“ i ”可从命令模式切换至插入模式 按“ESC”可从插入模式切换至命令模式
退出模式 :
命令模式
vim帮助
方法1:➢vim file —> : help
方法2:➢vimtutor (vim手册) —>:q (退出)
vim工作参数设定
临时设定:
➢vim file (进入后)
:set 参数信息
:set nu 显示行号
:set cursorline 设置行线
注意:以上设定方式在vim退出后会还原默认
永久设定:
➢vim /etc/vimrc
set cursorline
注意: 以上操作必须用root用户才能完成
字符管理
y 复制
yl 复制一个字母
y3l 复制三个字母
yw 复制一个单词
y3w 复制三个单词
yy 复制一整行
y3y 复制三行
c 剪切
cl
c3l
cw
c3w
cc
c3c
注意:当用c做剪切动作后,vim会进入插入模式如果需要粘贴那么要按ESC退出插入模式然后按P粘贴
d 删除
dl
d3l
dw
d3w
dd
d3d
p 粘贴
u 撤销
ctrl+r 恢复
vim的可视化模式
ctrl+v 进入可视化模式
(1) ctrl+v 进入可视化模式选中要添加字符所在列
字符的替换
: s/原字符/替换后字符 替换当前光标所在行的第一个关键字
例 :s/root/student
例 :s/root/student/g
: %s/原字符/替换后字符/g 全文替换,s所有行,g表示所有列
: 3,7s/原字符/替换后字符/g 替换第三行到第五行的关键字
例 :3,7s/root/student/g
例 :/lp/,/halt/s/root/student/g
/字符串 在文本中从上至下搜索该字符串
在vim中编写多个文件
➢vim file (进入之后)
:sp file1 同时编辑file和file1
ctrl+w(松开)+s 上下分屏(分屏内容一样)
ctrl+w(松开)+v 左右分屏(分屏内容一样)
注意:不能在insert下做此命令,可按esc之后再做尝试。关不掉时可用:wq等命令
光标移动及字符搜索
(1)光标的移动
:数字 光标移动到指定的行
HOME 光标移动到行首
END 光标移动到行尾
G 光标移动到最后一行
gg 光标移动到第一行
(2)搜索字符
/关键字 则关键字会高亮显示,想要去掉高亮时可以 /不存在的单词、
例 /hello
N 向上匹配
插入模式
i 光标所在位置插入
I 光标所在行的行首插入
A 光标所在行行尾插入
a 光标所在字符的下个字符插入
s 删除光标所在字符插入
S 删除光标所在行插入
o 光标所在行的下一行插入
O 光标所在行的上一行插入
退出模式
:w 保存
:q 退出,在打开文件后没有对文件做任何修改时可使用
:wq 退出保存,在对文件修改后并保存内容时使用
:q! 强制退出,在对文件做修改后要放弃修改时使用
:wq! 强制退出保存,在对属于自己的文件或你时root用户时使用
三、linux中管理输入输出
输入重定向
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇到分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2
输出重定向
命令 > 文件 重定向正确输出
命令 2> 文件 重定向错误输出
命令 &> 文件 重定向所有输出
提示:在Linux系统中,正确输出的编号为1(可省略),错误输出编号为2
例:
注意:要用student用户登陆系统
➢find /etc/ -name passwd 此命令在student用户下执行因为权限问题会报错
➢find /etc -name passwd > file
输出追加
追加会把定向的输出放到原文件最后不会覆盖原文件
命令 >> 文件
命令 2>> 文件
命令 &>> 文件
例:
➢find /etc -name passwd >> file 不会覆盖file的内容
➢find /etc -name passwd 2>> file.err
补充:
➢echo hello world > file 将hello world导入file
注意:若file本身有内容,则会覆盖掉,将>换成>>则不会覆盖掉,会把相应的输出放到文件的最后
➢> file 清空文件内容
| 把第一条命令的正确输出变成第二条命令的输入,系统中错误的输出是无法通过管道的
➢ls /bin | wc -l 统计/bin中有多少文件
例:将date命令的输出复制一份到 hui 并且输出显示行号
例:将passwd文件里错误输出的编号2转换成1(内容不变),并复制一份到指定文件,再统计行数输出