- linux系统结构
linux是一个倒树结构
linux中所有的东西都是文件
这些文件都在系统顶级目录“/” /就是根目录
/目录以下为二级目录这些目录都是系统装机时系统自动建立的
如图
2.二级目录的作用
/bin ##二进制可执行文件也就是系统命令
/sbin ##系统管理命令存放位置
/boot ##启动分区,负责系统启动
/dev ##设备管理文件
/etc ##大多数系统管理文件
/home ##普通用户的家目录
/lib ##32位系统库文件存放位置
/lib64 ##64位系统库文件存放位置
/media ##系统临时设备挂载点
/mnt ##系统临时设备挂载点
/run ##系统临时设备挂载点
/opt ##第三方软件安装位置
/proc ##系统信息
/root ##超级用户家目录
/srv,/var ##系统数据
/sys ##系统管理,主要是关于内核的
/tmp ##系统临时文件存放位置
/usr ##系统用户相关信息数据及用户自定义软件存放位置
3.文件的寻址
(1) 绝对路径
文件在系统的真实位置,文件名字以“/”开头
(2)相对路径
文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值.
4.正则表达式
(1)通配符
* ###匹配0到任意字符
? ###匹配单个字符
[[:alpha:]] ###匹配单个字母
[[:lower:]] ###匹配单个小写字母
[[:upper:]] ###匹配单个大写字母
[[:digit:]] ###匹配单个数字
[[:alnum:]] ###匹配单个数字或字母
[[:punct:]] ###匹配单个符号
[[:space:]] ###匹配单个空格
(2){}表示不存在的或者存在的
{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 ###指定的用户家目录
~+ ###当前目录
~- ###当前目录之前所在目录
. ###当前目录
.. ###当前目录的上一级
- 管理输入输出
在linux系统中,标准输入的编号为0,正确输出的编号为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 denied2.(1)输出重定向
find /etc -name passwd > file ##重定向正确输出 >find /etc -name passwd 2> fi
le ##重定向错误输出 2>
find /etc -name passwd &> file ##重定向所有输出 &> -
注意: >, 2> ,&> 都会覆盖源文件内容
>file ##清空filefind /etc -name passwd >> file ##追加正确输出 >>
find /etc -name passwd 2>> file ##追加错误输出 2>>
find /etc -name passwd &>> file ##追加所有输出 &>>
注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符放到文件的最后(2)输入重定向:格式化输入内容到文件
tr ‘a-z‘ ‘A-Z‘ < westos cat > westos <<EOF
HELLO
WORLD
EOF3.管道 符号:|
管道,将前一条命令的正确输出作为管道符后面命令的标准输入ls /bin | wc -l ##统计ls
/bin 命令输出的行数
系统中错误(stderr)的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1tee 复制输出到指定位置
date |tee file |wc -l ###tee命令复制date命令的输出到file中,并统计输出行4.vim 命令模式####
(1)在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
(7).vim光标移动#####
在命令模式下
:数字 ##移动到指定的行
G ##文件最后一行
gg ##文件第一行在插入模式下
i ##光标所在位置插入
I ##光标所在行行首
a ##光标所在字符的下一个位置
A ##光标所在行行尾
o ##光标所在行下一行
O ##光标所在行上一行
s ##删除光标所在字符插入
S ##删除光标所在行插入(8).vim的退出模式
:q ##当用vim打开文件但没有对字符作任何操作时可直接退出
:q! ##当用vim打开文件并对字符作操作,放弃所有操作退出
:wq ##保存退出
:wq! ##强行保存退出,对超级用户及文件所有人生效(9).vim手册####
vimtutor ##vim的手册
:q ##退出vimtutor5.gedit
ctrl+n ##在gedit中打开一个新的tab
ctrl+s ##保存文件
ctrl+o ##打开文件
ctrl+x ##剪切字符
ctrl+v ##粘贴字符
ctrl+c ##复制字符
yelp help:gedit ##gedit的图形手册