Unit 2

1.linux系统结构

linux是一个倒树结构

linux中所有的东西都是文件

这些文件都在系统顶级目录“/” /就是根目录

/目录以下为二级目录这些目录都是系统装机时系统自动建立的

二级目录的作用

/bin    ##二进制可执行文件也就是系统命令

/sbin   ##系统管理命令存放位置

/boot   ##启动分区,负责系统启动

/dev    ##设备管理文件

/etc    ##大多数系统管理文件

/home   ##普通用户的家目录

/lib    ##32位系统库文件存放位置

/lib64  ##64位系统库文件存放位置

/media  ##系统临时设备挂载点                                                                                 

/mnt    ##系统临时设备挂载点

/run    ##系统临时设备挂载点

/opt    ##第三方软件安装位置

/proc   ##系统信息

/root   ##超级用户家目录

/srv,/var      ##系统数据

/sys    ##系统管理,主要是关于内核的

/tmp    ##系统临时文件存放位置

/usr    ##系统用户相关信息数据及用户自定义软件存放位置

二.文件的寻址

绝对路径

文件在系统的真实位置,文件名字以“/”开头

相对路径

文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值

三.文件的管理 

1.touch 建立文件或修改文件时间

touch file##创建文件

unit2--unit4单元文档_passwd

2.mkdir 建立目录 

mkdir directory ##创建目录

-p##上级目录不存在自动建立

3.rm 删除目录或文件 

rm-f##强行删除不提示

-r##删除目录

unit2--unit4单元文档_passwd_02

4.cat|head|tail 查看文件内容 

cat|head|tail##文件内容查看命令

5.vim 文本方式编辑文件 

vim filename 进入到命令模式

命令模式不能编辑文件,如果要编辑文件要进入插入模式

按"i"进入插入模式

如果完成编辑,按”esc“推出插入模式,输入”:wq“ 保存退出

vim filename 如果文件名字不存在,会自动创建

vim 没有操作对象直接打开,编辑文件后要 :wq filename

6.cd 切换工作目录 

cd directory##切换工作目录到指定目录

cd -##切换工作目录到之前所在目录

cd ~##切换到自己的家目录

cd ~usernmae##切换到指定用户家目录

cd ..##进入到当前目录的上级目录

unit2--unit4单元文档_虚拟机_03

7.ls 列出目录或文件信息

ls##如果后面没有目标那么默认目标为当前目录

ls direcory|filename##列出文件或目录内容

ls -d direcotry##列出目录本身

ls -l filename|dorectory##列出文件或目录里面内容的属性

ls -ld directory##列出目录本身属性

ls -a##显示目录中的所有内容,包括以"."开头的隐藏文件

ls -R##第归显示目录中的内容

8.cp 文件复制

cp是新建文件的过程

cp file file1 file2 ...directory###把file  file1 file2 复制到 directory中

cp file test###建立test文件模板为file

cp -r directorydirecotry1###复制目录

9.mv 移动或重命名 

相同磁盘的mv是重命名,不同磁盘的mv是复制删除过程

mv file file1direcotry##移动file file1到directory中

mv 存在文件不存在文件##重命名文件

mv westos/linux .##把westos中的linux移动到当前目录 .代表当前目录

四.正则表达式 

*###匹配0到任意字符

###匹配单个字符

[[:alpha:]]###匹配单个字母

[[:lower:]]###匹配单个小写字母

[[:upper:]]###匹配单个大写字母

[[:digit:]]###匹配单个数字

[[:alnum:]]###匹配单个数字或字母

[[:punct:]]###匹配单个符号

[[:space:]]###匹配单个空格

{}表示不存在的或者存在的

{1..9}###1-9

{a..f}###a-f

{1,3,5}###135

{a,c,e}###a c e

{1..3}{a..c}###1a 2a 3a 2a 2b 2c 3a 3b 3c

[]表示存在的

[a-C]###aA bB cC

[a-c]###aA或者bB或者c

[1-3]###1或者2或者3

[145]###1或者4或者5

[^abc]|[!abc]###除了a并且除了b并且除了c

###当前用户家目录

~username###指定的用户家目录

~+###当前目录

~-###当前目录之前所在目录

.###当前目录

..###当前目录的上一级

Unit 4

1.管理输入输出 

在linux系统中,正确输出的编号为1,错误输出编号为2

在系统中用普通用户执行 "student"

find /etc -name passwd 

因为student用户权限问题会有以下输出

find: ‘/etc/pki/CA/private’: Permission denied##没有进入权力,报错

find: ‘/etc/pki/rsyslog’: Permission denied

find: ‘/etc/audit’: Permission denied

/etc/passwd##正确输出

find: ‘/etc/polkit-1/rules.d’: Permission denied

find: ‘/etc/polkit-1/localauthority’: Permission denied

find: ‘/etc/dhcp’: Permission denied

find: ‘/etc/selinux/targeted/modules/active’: Permission denied

find: ‘/etc/lvm/archive’: Permission denied

find: ‘/etc/lvm/backup’: Permission denied

find: ‘/etc/lvm/cache’: Permission denied

find: ‘/etc/grub.d’: Permission denied

/etc/pam.d/passwd##正确输出

find: ‘/etc/audisp’: Permission denied

find: ‘/etc/firewalld’: Permission denied

find: ‘/etc/cups/ssl’: Permission denied

find: ‘/etc/ipsec.d’: Permission denied

find: ‘/etc/libvirt’: Permission denied

find: ‘/etc/sudoers.d’: Permission denied

find: ‘/etc/named’: Permission denied

find /etc -name passwd > file##重定向正确输出

find /etc -name passwd 2> file##重定向错误输出

find /etc -name passwd &> file##重定向所有输出

注意: >, 2> ,&>  都会覆盖源文件内容

>file##清空file

find /etc -name passwd >> file##追加正确输出

find /etc -name passwd 2>> file##追加错误输出

find /etc -name passwd &>> file##追加所有输出

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后

| 管道,管道的作用是将前一条命令的输出变成管道后命令的输入

ls /bin | wc -l##统计ls /bin 命令输出的行数

系统中错误的输出是无法通过管道的。

用 2>&1 可以把错误的输出编号由2变成1

tee复制输出到指定位置

date |tee file |wc -l###tee命令复制date命令的输出到file中,并统计输出行数

2.vim 

1.vim 命令模式

在vim的命令模式下可以配置vim的工作方式

:set nu##行号添加

:set nonu##取消行号

:set mouse=a##添加鼠标选择

:set cursorline##行线显示

以上设定都是临时的,

永久设定方式

vim /etc/vimrc###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:

2.vim命令模式下关键字搜索

/关键字

n向下匹配

N向上匹配

3.vim命令模式下字符的管理

1.字符的复制

yl##复制一个字母

y3l##复制3个字母

yw##复制一个单词

y3w##复制3个单词

yy##复制一行

y3y##复制3行

p##复制完成后按“P”粘贴

2.字符的删除

dl##删除一个字母

d3l##删除3个字母

dw##删除一个单词

d3w##删除3个单词

dd##删除一行

d3d##删除3行

3.字符的剪切

cl##剪切一个字母

c3l##剪切3个字母

cw##剪切一个单词

c3w##剪切3个单词

cc##剪切一行

c3c##剪切3行

esc ---> p##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式

4.vim的可视化模式

在命令模式下按“ctrl+v”进入到可视模式

在可视模式下可以区域选择字符

可视模式下批量添加字符

*>> ctrl+v 选中要加入字符所在列

*>> 按“I”进入插入模式,写入要加入的字符

*>> 按esc

5.批量修改字符

:%s/原有字符/替换后字符##只替换每一行中出现的第一个原有字符

:%s/原有字符/替换后字符/g ##替换所有

:%s/^\ *//g##把全文行首的空格去掉,"^\ *"表示行首的空格

6.vim的分屏功能

ctrl+w s ###上下分屏

ctrl+w v###左右分屏

ctrl+w c###关闭光标所在屏幕

ctrl+w 上下左右 ###光标移动到指定屏幕

:sp file2##同时编辑当前文件和file2

在命令模式下

:数字##移动到指定的行

G##文件最后一行

gg##文件第一行

在插入模式下

i##光标所在位置插入

I##光标所在行行首

a##光标所在字符的下一个位置

A##光标所在行行尾

o##光标所在行下一行

O##光标所在行上一行

s##删除光标所在字符插入

S##删除光标所在行插入

unit2--unit4单元文档_虚拟机_04

vim的退出模式

:q##当用vim打开文件但没有对字符作任何操作时可直接退出

:q!##当用vim打开文件并对字符作操作,放弃所有操作退出

:wq##保存退出

:wq!##强行保存退出,对超级用户及文件所有人生效

9.vim手册

vimtutor##vim的手册

:q##退出vimtutor

3.gedit

ctrl+n##在gedit中打开一个新的tab

ctrl+s##保存文件

ctrl+o##打开文件

ctrl+x##剪切字符

ctrl+v##粘贴字符

ctrl+c##复制字符

yelp help:gedit##gedit的图形手册