########################linux系统结构#######################
1.
linux系统结构是倒树型
2.
/bin ##二进制可执行文件也就是系统命令
/sbin ##系统管理命令存放位置
/boot ##启动分区,负责系统启动
/dev ##设备管理文件
/etc ##大多数系统管理文件
/home ##普通用户的家目录
/lib ##32位系统库文件存放位置
/lib64 ##64位系统库文件存放位置
/media ##系统临时设备挂载点
/mnt ##系统临时设备挂载点
/run ##系统临时设备挂载点
/opt ##第三方软件安装位置
/proc ##系统信息
/root ##超级用户家目录
/srv,/var ##系统数据
/sys #系统管理,主要是关于内核的
/tmp ##系统临时文件存放位置
/usr ##系统用户相关信息数据及用户自定义软件存放位置
#################################系统文件路径#################################
绝对路径
文件在系统的真实位置,文件名字以“/”开头
相对路径
文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值
pwd ##显示但前在系统的位置
####################################################
ls filename ##列出目标文件,或者列出目录中的内容
ls -a ##列出所有
-l ##列出文件属性
-s ##列出文件大小
-S ##按照文件大小排序
-R ##第归列出
-d ##指定目录本身
##################################
cd directory ##进入目标目录中
~ ##回到当前用户家目录
~username ##进入到指定用户家目录
.. ##进入当前目录的上一级
- ##进入之前所在系统目录
#####################################################
touch filename ##新建文件
########################################
mkdir
mkdir directory ##建立目录
-p directory ##第归建立目录
##########################################
cp 被复制文件 目的地
cp -r ##第归复制,用与复制目录
##########################################
mv 被移动文件目的地
mv 老名字新名字
mv test/file . ##把test/file移动到当前
##########################################
rm -f #强制删除文件
rm -fr #强制删除目录
############################################
vim filename
按 i 键进入插入模式
文件编写完毕按 esc 推出到浏览模式
:wq 保存推出
######################通配符(正则表达式)########################
* #匹配0-任意字符
? #匹配任意单个字符
~ #匹配当前用户家目录
~user #匹配到user的家目录
~+ #当前目录
~- #当前目录之前所在的
[abc] #有a或者有b或者有c
[!abc] #除了含有a或者b或者c
[^abc] #除了含有a或者b或者c
[[:alpha:]] #单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:alnum:]] ##单个字母或数字
[[:punct:]] ##单个符号,不包含数字,字母以及空格
[[:digit:]] ##数字
[[:space:]] ##单个空格
########################man命令###########################
man 级别 目标
man 1 文件名 ####查找命令的帮助
man 5 文件名 ####查找配置文件的帮助
man 退出 ###按q
man的快捷用法
/关键字 ###搜索关键字并且高亮显示结果
n ###向下匹配高亮结果
N ###向上匹配高亮结果
pagup ###向上滚动一个屏幕
pagdown ###向下滚动一个屏幕
上键 ###向上滚动一行
下键 ###向下滚动一行
d ###向下滚动半个屏幕
u ###向上滚动半个屏幕
g ###回到man的最前面
G ###回到man的最后面
q ###退出man页面
########################find命令#########################
在普通用户下执行
find /etc -name passwd
输出
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 passwd2> file ####重定向错误输出
find /etc -name passwd&> file ####重定向所有输出
find /etc -name passwd>> file ###追加正确输出
find /etc -name passwd2>> file ####追加错误输出
find /etc -name passwd&>> file ####追加输出
find /etc -name passwd> file2>&1 ####重新定义错误输出为正确
如何应用管道
|
管道之允许正确输出通过
|tee
复制一份输出
2>&1 |
转换错误输出为正确再通过管道
#######练习#######
1.用命令和正则表达式按照要求建立文件
*)用一条命令建立12个文件WESTOS_classX_linuxY(X的数值范围为1-2,Y的数值范围为1-6)
*)这些文件都包含在root用户桌面的study目录中
*)用一条命令建立8个文件redhat_versionX(x的范围为1-8)
*)redhat_virsionX这些文件都包含在/mnt目录中的VERSION中
2.管理刚才信建立的文件要求如下
*)用一条命令把redhat_versionX中的带有奇数的文件复制到桌面的SINGLE中
*)用一条命令把redhat_versionX中的带偶数数的文件复制到/DOUBLE中
*)用一条命令把WESTOS_classX_linuxY中class1的文件一动到当前用户桌面的CLASS1中
*)用一条命令把WESTOS_classX_linuxY中class2的文件一动到当前用户桌面的CLASS2中
3.备份/etc目录中所有带有名字带有数字并且以.conf结尾的文件到桌面上的confdir中
4.删掉刚才建立或者备份的所有文件
1.在student用户下执行find /etc -name passwd 命令,并管理其输出要求如下:
* 显示所有正确输出,屏蔽错误输出
* 保存正确数出到/mnt/find.out,错误数出到/mnt/find.err中
* 建立/mnt/find.all文件,并且保存所有输出到此文件中
* 再次保存所有输出到/mnt/find.all中,并且保持源文件内容
* 屏蔽此命令的所有输出
* 显示此命令的所有输出并保存输出到桌面上的任意文件中
* 保存正确输出到/mnt/find.out.1中,屏蔽错误输
* 显示所有正确输出,屏蔽错误输出
* 保存正确数出到/mnt/find.out,错误数出到/mnt/find.err中
由于一般用户在/mnt/没有写入的权限,所以需要先用超级用户开通权限。
* 建立/mnt/find.all文件,并且保存所有输出到此文件中
* 再次保存所有输出到/mnt/find.all中,并且保持源文件内容
* 屏蔽此命令的所有输出
* 显示此命令的所有输出并保存输出到桌面上的任意文件中
* 保存正确输出到/mnt/find.out.1中,屏蔽错误输出