一、上周回顾
1.1.Linux介绍\GNU\GLP\历史\发行版
1.2.VmWare安装Centos7系统
1.3.Vmware快照
2.Bash
2.1.Bash能做什么
2.2.Bash怎么使用
单条命令 效率低 适合简单,或者少量的任务
Shell脚本 效率高 适合复杂,重复性的工作
2.3.Bash提示符
[root@caoweiqiang ~]#
当前登录系统的用户----->root
当前系统的主机名称----->caoweiiqnag
当前用户所在的家目录-----> ~
通常情况下是超级管理员 # 普通用户是 $
2.4.Bash基础语法
命令 【选项】 【参数】
命令(打针)
选项(轻重)
参数(往哪打)
ls -la /home/ #以长格式显示 /home/所有内容,包括隐藏文件
2.5.Bash 常用特性
1.tab补全(必须会)
2.快捷键 Ctrl+a,e,c,l,w,u,k,r
3.命令别名 alias unalias
4.历史记录 history
5.命令帮助 man --help
2.6.系统目录结构
Windows C :\ D :\ E:\
Linux / ----->单根组织结构
在Linux / 目录下有很多的二级目录,那么目录都是什么意思?
/bin #存放都是二进制可执行行的命令
/sbin #超级管理员可执行的二进制命令
/home #普通用户的家目录 /home/caoweiqiang
/root #超级管理员用户的家目录(普通用户无权限)
/etc #系统的配置文件存放路径,包括后续安装的一些服务
/dev #存放设备目录
/dev/null #黑洞设备,只进不出
/dev/random #随机设备
/dev/zero #能源源不断的产生数据 (提款机)
/proc #虚拟系统文件(显示系统当前进程正在运行的状态)
/usr #存放系统文件和Windows的C盘下的Windows目录一样
/usr/local# 软件安装的目录
/usr/bin #和/bin一致,只不过/usr/bin才是真实的命令存放路径
/usr/sbin#和/sbin一致,只不过/usr/bin才是真实的命令存放路径
/usr/lib #库文件,命令所依赖的库文件
/usr/lib64#64库文件,命令所依赖的库文件
/boot #系统启动时的引导目录,存放的是kernel,grub菜单
/run #存放进程锁文件
/opt#早起第三方厂商安装软件存放的目录
/mnt#挂载,将目录与设备进行关联,比武硬盘,光盘
2.7.文件路径定位
/etc/hostname文件位置+文件名称=路径 换句话说:路径则是对文件定义的一种方式
绝对路径:只要以/开始的路径,都算绝对路径
相对路径: 相对于当前目录来说的路径,.当前目录 ..当前目录的上一级目录
2.8.文件管理命令
mkdir #创建目录
touch #创建文件
mv #移动或重新命名
rm #删除文件
二、今日内容
文件管理-->创建 移动 删除 复制
cp 复制
#选项:
#: -v:详细显示命令执行的操作
#: -r: 递归处理目录与子目录
#: -p: 保留源文件或目录的属性
#1.将当前目录下的file文件,复制到/tmp/目录下,并重新命名为file_copy
[root@caoweiqiang ~]# cp file /tmp/file_copy
[root@caoweiqiang ~]# ls /tmp/file_copy
/tmp/file_copy
#2.将file复制到/tmp目录下
[root@caoweiqiang ~]# cp file1 /tmp/
#3.在拷贝文件的过程中,文件权限和身份都发生变化了
[root@caoweiqiang ~]# cp file /tmp
[root@caoweiqiang ~]# ll /tmp/file
-rw-r--r--. 1 root root 0 Jul 29 17:40 /tmp/file
#在拷贝过程中加上-p参数,保存文件原有的属性
[root@caoweiqiang ~]# cp -p file /tmp/
[root@caoweiqiang ~]# ll /tmp/file
#4.如何拷贝一个文件夹,并且文件夹中有很多的子文件,-r递归复制(文件夹===目录)
[root@caoweiqiang ~]# cp /etc/ /tmp/
cp: omitting directory ‘/etc/’
anaconda-ks.cfg file file1 hostname job student.txt
[root@caoweiqiang ~]# cp /etc/ /tmp/ -r
#5.拷贝文件路径下的不同文件至同一个目录下 -v是显示详细过程
[root@caoweiqiang ~]# cp -rp file1 oldboy1/ file /etc/ /mnt/ opt/ -v
#6.拷贝不同路径下的不同文件+不同目录 至同一个位置
[root@caoweiqiang ~]# cp -rp file1 oldboy1/ file /etc/ /mnt /opt/
#7.在复制过程中频繁触发重复复制,提示确认操作
[root@caoweiqiang ~]# \cp -r /etc/ /opt/
[root@caoweiqiang ~]# /bin/cp -r /etc/ /opt/
2.文件管理之:查看文件内容(cat less more head tail grep... )
#------cat
[root@caoweiqiang ~]# cp /etc/passwd ./pass
[root@caoweiqiang ~]# cat pass #查看文件的全部内容,从头到尾
[root@caoweiqiang ~]# cat -n pass #查看一个文件有多少行 -n
[root@caoweiqiang ~]# cat -A pass #查看文件的特殊符号,比如文件中存在tab键
#cat扩展使用,创建一个文件,并往里写入内容
[root@caoweiqiang ~]# cat >> test.txt <<EOF
> test1
> test2
> test3
> EOF #EOF代表结束
[root@caoweiqiang ~]# cat test.txt
test1
test2
test3
#--------less、more
#less /etc/service #使用光标上下翻动,空额进行翻页,q退出
#more /etc/service #使用回车上下翻动,空格进行翻页,q退出
#------------head
[root@caoweiqiang ~]# head pass #用head,默认查看头部前10行内容
[root@caoweiqiang ~]# head -5 pass #查看头部5行,用-n指定
[root@caoweiqiang ~]# ps aux | head -5 #了解
#-------------tail 尾部
#tail pass #查看文件尾部默认十行
[root@caoweiqiang ~]# tail -14 /var/log/secure
[root@caoweiqiang ~]# tail -f /var/log/messages #-f查看文件尾部的变化
[root@caoweiqiang ~]# tailf /var/log/messages #查看文件尾部的变化
[root@caoweiqiang ~]# ps aux | tail -5 #了解
#-----------grep过滤文件内容
#1.过滤出pass文件中的root相关的行
[root@caoweiqiang ~]# grep "root" pass
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#2.过滤pass文件中,匹配以root开头的行
[root@caoweiqiang ~]# grep "^root" pass
root:x:0:0:root:/root:/bin/bash
#3.过滤pass文件中,匹配以bash结尾的行[root@caoweiqiang ~]# gerp "bash$" pass
#4.显示行号
[root@caoweiqiang ~]# grep -n "bash$" pass
1:root:x:0:0:root:/root:/bin/bash
#5.过滤出包含ftp 的行
[root@caoweiqiang ~]# grep "ftp" pass
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#6.过滤除了ftp的行,其他的都全部显示
[root@caoweiqiang ~]# grep -v "ftp" pass
#7.忽略大小写方式
[root@caoweiqiang ~]# grep -i "ftp" pass
#8.过滤pass文件中以sync结尾的,或者ftp相关的行,打印出来,同时不区分大小写
[root@caoweiqiang ~]# grep -Ei "sysn$|ftp" pass
###grep筛选的目标,会将整行打印出来