1、关于用户 管理员用户: root 普通用户:自定义的,非 root 用户 2、找所有的文件 图形界面 3、提示符 做为 linux 操作系统,主要是靠命令来实现我们所需要的功能,都是在 终端 中执行命令 [aaaa@localhost ~]$ :表示普通用户 [root@localhost ~]# :表示 root 用户(即管理员用户) 提示符构成
[root@localhost ~] # [ 用户名 @ 计算机名 当前所在的目录 ] 用户身份4、简单命令 所有的操作用 root 用户执行 命令1 :清屏命令 clear 快捷键: ctrl+l 命令2 :查看当前所在目录 pwd [print work directory] 可以显示完整的路径 命令3 :切换工作目录到其他位置 cd 格式: cd 目标位置(目录) 补充:我们需要知道的根目录下常用文件 根的表示方式是 / 根下有 /tmp /home /etc /mnt 案例 1 :切换到 /home 下
cd /home
案例2:切换到/tmp下
案例3:切换到tmp下的ppp目录下的test目录
注意:Linux中,开头的那个/成为根,也叫做根目录
linux中,所有的文件都是从/开始的
cd命令不加目标路径,自动回到当前用户的家目录下
cd - :返回上一次工作目录
cd ..:回到当前路径下的上一层目录
命令4: touch 创建文件的命令 touch 格式: touch 文件名 案例 1: 在 /home 下创建一个名为 a1.txt 的文件 案例 2 :在 /tmp 下创建一个文件 ccc案例3:在/tmp/ppp/test创建一个叫做a2.doc
五、Linux基础 1、Linux目录结构 windows windows 是一个多根系统 一个磁盘分区就是一个根, windows 可以有多个分区,也就是有多个根 存储文件的时候,文件就是存在某一个根之下 linux linux 是单根系统,只有一个根目录 只有一个可存储文件的路径 根的表示方式 / 多根系统和单根系统的区别 2、linux的根目录下的重要目录 home etc bin sbin tmp media mnt boot usr var dev lib root / 目录下的主要目录 /etc 目录 etc 下存储的是 linux 中的各种配置文件 例如网卡配置文件 /etc/sysconfifig/network-scripts/ifcfg-ensXX /bin 目录 这个目录下存放的是 Linux 可执行程序 /sbin 目录 存放的也是 linux 可执行程序 /var 目录 存储的是那些常发生改变的文件 例如日志文件 /var/log/message /tmp 目录 存放的是临时文件 这个目录下所有的文件,如果 30 天内没有被访问过,那么文件会自动删除 /home 目录 普通用户存储文件的家目录,也就是普通用户的主目录 【普通用户只能在自己的家目录下创建 / 编辑文件】 /root 目录 这个目录是管理员用户的家目录(主目录) Linux 路径的表示方式 / 目录名 / 目录名称 / 文件名 第一个 / 叫做根,第二个 / 叫做路径分隔符 ,第三个 / 叫做 路径分隔符 3、简单命令 1) pwd命令 作用:显示当前所在的工作目录 2)cd命令你 作用:切换目录 3)ls命令 作用:查看目录下有哪些文件 格式: ls [ 选项 ] [ 路径 ] 路径: 在执行命令的时候,如果不指定路径,则查看的是当前工作目录下的文件;如果指定路径,则查看的是指 定路径下的文件。 选项: -l :显示文件的属性 -a :显示所有的文件,包括隐藏文件( Linux 默认是不显示隐藏文件的,隐藏文件是以 . 开头的文件) 案例:# 查看当前路径下的文件 [root@localhost ~] # ls anaconda-ks.cfg initial-setup-ks.cfg # 查看 /etc 下有哪些文件 # 方法一 [root@localhost ~] # ls /etc # 方法二 [root@localhost ~] # cd /etc/ [root@localhost etc] # ls # 查看 / 下有哪些文件 [root@localhost etc] # ls / # 查看当前目录下文件的属性 [root@localhost ~] # ls -l # 查看当前目录下所有文件的详细信息 [root@localhost ~] # ls -al # 查看 /tmp 目录下所有文件的详细信息 [root@localhost ~] # ls -al /tmp
补充:
drwx------. 2 root root 20 6 月 1 01 :44 .esd-0 -rw-r--r-- . 1 root root 0 6 月 1 00 :59 ccc -rw------- . 1 root root 0 5 月 31 23 :32 yum.log d 开头的文件表示目录文件 - 开头的文件表示一般文件 linux 当中文件的后缀主要是给人看得,对于 linux 而言有没有后缀无所谓 文件的属性只和创建文件的命令有关系4)touch命令 作用:创建一个空白的文件 5)mkdir命令 作用:用来创建一个目录文件 【创建一个文件夹】 格式: mkdir 【选项】 目录名 linux 当中文件的后缀主要是给人看得,对于 linux 而言有没有后缀无所谓 文件的属性只和创建文件的命令有关系 二、 mkdir 【选项】 / 路径 / 目录名 选项: -p :在父目录不存在的情况下,先创建父目录,然后依次创建子目录
# 在当前目录下创建一个目录叫做 book1 [root@localhost ~] # mkdir book1 # 在当前目录下创建 abc/cba 的目录文件 [root@localhost ~] # mkdir -p abc/cba # 创建一组目录 aa/bb/cc/dd 方法一: [root@localhost ~] # mkdir -p aa/bb/cc/dd 方法二: # 一层一层创建6)cp命令(copy) 作用:复制文件和目录 格式: 格式 1 : cp [ 选项 ] 源文件 目标位置 复制到新的位置后,名字不变 格式 2 : cp [ 选项 ] 源文件 目标位置 / 新名字 复制到新的位置后,有个新的名字 选项: -r :用于复制目录【必须用 -r ,才能复制目录】 -a :在复制过程中,保持文件的属性不变 例子:
# 将 /etc/passwd 复制到 /home 下 [root@localhost ~] # cp /etc/passwd /home/ # 将 /etc/passwd 复制到根目录下 [root@localhost ~] # cp /etc/passwd / # 将 /etc/passwd 复制到 /home 下,改名为 qq [root@localhost ~] # cp /etc/passwd /home/qq # 将 /home 下面的 qq 复制到 /tmp 下,同时改名为 ww ,保持文件属性不变 [root@localhost ~] # cp -a /home/qq /tmp/ww # 将 /root 下的 aa 目录复制到 /tmp 下 [root@localhost ~] # cp -r aa /tmp7)mv命令 作用:用来移动文件和目录 格式: 格式 1 mv 【选项】 源文件 目标位置 移动到新的位置后,名字不变 格式 2 mv 源文件 目标位置 / 新文件名 移动到新的位置后,名字改变 例子
# 在 /home 新建一个文件 1.txt 将其移动到 /tmp 下 [root@localhost home] # mv /home/1.txt /tmp/ # 将 /tmp 下的 1.txt 改名为 2.txt [root@localhost home] # mv /tmp/1.txt /tmp/2.txt # 原地改名 [root@localhost tmp] # mv 2.txt 1.txt # 将 /tmp 下的 1.txt ,移动到 /home 下改名为 a.txt [root@localhost tmp] # mv 1.txt /home/a.txt8)rm命令 作用:删除文件 格式 1 、 rm [ 选项 ] 文件名 2 、 rm [ 选项 ] 目标位置 / 文件名 选项 -f: 强制执行删除操作【不会给出 y/n 提示】 -r :用于删除目录文件 例子
# 删除 /home 下的 a.txt [root@localhost tmp] # rm /home/a.txt # 删除 /tmp 下的目录 aa [root@localhost tmp] # rm -r aa # 强制删除 /tmp 下的目录 aa ,不需要人机交互 [root@localhost tmp] # rm -r -f aa ########################################################## 如果指定路径的话,则删除指定路径下的文件 如果不指定路径,则删除当前路径下的文件 [root@localhost ~] # rm -rf aa [root@localhost ~] # rm -rf /home/aa
9)通配符 通配符:具有特殊含义的符号 主要有两个
* 星号表示任意多个字符【 0 个, 1 个,多个】 ?代表任意一个字符例子:
# 查询以 a 开头中间有一个任意字符,以 4 结尾的文件 [root@localhost ~] # ls a?4 # 查询以 a 开头中间有多个任意字符,以 4 结尾的文件 [root@localhost ~] # ls a*4 # 查询包含 a 的文件 [root@localhost ~] # *a* # 删除以 a 开头,后面有两个字符的文件 [root@localhost ~] # rm a??10)cat命令 作用:读取文件的内容【适合读取行数比较少的文件】 格式: cat 路径 / 文件 案例:
# 查看 /home 下的 passwd 文件 [root@localhost ~] # cat /home/passwd11)head命令 作用:查看文件的前若干行,默认是查看 10 行 格式: head 【选项】 路径 / 文件 选项: -n [num] : 指定查看行数 案例
# 查看 /home/passwd 文件的前 1 行 [root@localhost ~] # head -n 1 /home/passwd # 查看 /home/passwd 文件 [root@localhost ~] # head /home/passwd
12)tail命令 作用:查看文件的最后若干行,默认是查看最后 10 行 格式: tail 【选项】 路径 / 文件 选项: -n #: 指定查看多少行 13)more命令 作用:实现分屏查看大文件 格式: more 路径 / 文件 操作: 回车:显示下一行 空格:显示下一屏 b :显示上一屏 / 目标字符:在文件中搜索内容 n :继续向后搜索下一个关键词【关键词可以高亮显示】 q :退出查看 14)less命令 作用 : 实现分屏查看文件 格式: less 路径 / 文件名 操作 回车:显示下一行 空格:显示下一屏 / 目标字符:在文件中搜索内容 n :继续向后搜索下一个关键词【关键词可以高亮显示】 q :退出查看 15)wc命令 作用:用于统计文件中有多少行、多少个单词、多少个字符 格式: wc 【选项】 路径 / 文件名 选项: -l 统计一个文件的行数 -w :统计文件的单词数 -c :统计文件的字符数 案例:
# 统计 /home/passwd 文件,统计文件有多少行 [root@localhost ~] # wc -l /home/passwd # 统计文件的单词数 [root@localhost ~] # wc -w /home/passwd # 统计文件的字符数 [root@localhost ~] # wc -c /home/passwd # 查看文件有多少行 多少个单词 多少个字符 [root@localhost ~] # wc /home/passwd 44 行 90 单词 2304 字符 /home/passwd / 路径 / 文件名16)man命令 作用:查看命令的帮助信息 格式: man 命令名称 4.vi/vim编辑器 什么是 vi linux 中一个重要的文本编辑软件 vi 是一种模式化的文本编辑工具 vim 是 vi 编辑工具的加强版, vi 的所有功能都能在 vim 中实现 vi 的工作模式 模式 1 :编辑模式 它是打开文件后的默认模式 编辑模式不能再文件中写入或者删除内容 模式 2 :输入模式 它是可以在文件中写入、修改、删除内容 模式 3 :末行模式 它是可以执行各种命令、例如保存退出、不保存退出、显示行号 模式转换 编辑模式 ---> 输入模式 【i】 输入模式 ---> 编辑模式 【 esc 】 编辑模式 ---> 末行模式 【 shift+ ;】 末行模式 ---> 编辑模式 【 esc 】
vi 的格式 vi 路径 / 文件名 如果文件是存在的,则直接打开 如果文件是不存在的、则直接创建一个新的空白文件 编辑模式下的操作 yy :复制光标所在的行 dd :删除 / 剪切光标所在的行【如果不进行粘贴则直接是删除效果】 p :粘贴 /str :在文件中所有指定的内容 n :继续向后进行搜索 末行模式下的操作 w :保存 q :退出 q! : 强制退出【不保存直接退出】 wq :保存退出 wq!: 强制保存退出 set nu :显示行号 set nonu :不显示行号 关于文件异常关闭的问题 崩溃缓存文件,这个用于实现将没来得及保存的文件的内容恢复出来 只要有崩溃缓存文件,每次打开的时候都会进行检查,解决办法,删除崩溃缓存文件即可 5、配置网络 【实现宿主机和虚拟主机通信】 一、将 vmware 虚拟机的网卡链接到 vmnet8 上
二、修改 vmnet8 地址 ip 地址格式: 用点进行分割 由 4 部分构成 每个部分都是 0-255 之间的数字 子网掩码 作用:判断两个 IP 是否属于同一个网段 两个 IP 在同一个网段,他们之间就可以通信 规划:为了让虚拟机和宿主机之间进行通信,我们规划地址, ip 地址 192.168.33.XX 子网掩码 255.255.255.0 配置 vmnet8 网卡
二、配置虚拟机网络信息 linux 主机网卡配置文件 位置: /etc/sysconfifig/network-scripts/ifcfg-ensXX 一般情况下都是 ifcfg-ens33
TYPE = Ethernet # 不用改,默认表示以太网 BOOTPROTO = static # 修改成 static ,指定网卡的 ip 地址获取方式。 dhcp 表示自动获取, static 表示手动 NAME = ens33 # 网卡名称 ONBOOT = yes # 开机是否自动启动网卡 改成 yes # 以上内容更改完成后,需要手动添加的内容 IPADDR = 10 .10.100.10 NETMASK = 255 .255.255.0三、重启网卡服务 修改了网卡配置文件后,必须重启网卡服务,修改才会生效 [root@localhost ~]# systemctl restart network 检查网卡是否配置成功
#1 、查看 Linux 是否有 IP 地址 [root@localhost ~] # ifconfig ens33 #2 、测试到物理机是否能通信 [root@localhost ~] # ping 10.10.100.1四、使用远程连接工具连接 centos7 远程连接工具 xhell putty securityCRT 1 )安装 xshell 略 2 )远程连接服务器使用 xshell 略 五、总结 1 )给物理机的 vmnet8 设置一个 ip 地址 2 )给虚拟机设置一个 ip 地址,并将网卡链接到 vmnet8 上 3) 使用工具连接 centos 常见的问题 物理机开了防火墙 两个 ip 地址不在同一个网段 六、正则表达式 1、简介 正则表达式就是一组具有特殊含义的符号 例如: * . ^ $ 正则和通配符区别 通配符主要作用于文件名来使用,例如查找文件名以 a 开头的文件, a* 正则主要是针对文件的内容来使用,例如查找文件以 a 或 b 开头的行,需要使用的是正则表达式 a* 2 、 grep 命令 作用:从文件中查找满足条件的行 格式: grep 【选项】 条件 路径 / 文件名 案例:
测试文件 hello world i am xxxx i from china a is boy c and d zdddd abbbb # 查找包含字母 a 的行 [root@localhost ~] # grep "a" a.txt # 查找以 a 开头的行 [root@localhost ~] # grep "^a" a.txt
3、正则符号
案例:
# 查找 f 和 m 之间有两个字符的行 [root@localhost ~] # grep "f..m" a.txt # 查找以 a 开头 b 结尾, a 和 b 中间有任意多个字符的行 [root@localhost ~] # grep "a.*b" a.txt # 查找 /home/passwd 文件中以 root 开头的行 [root@localhost home] # grep "^root" /home/passwd # 过滤以 bash 结尾的行 [root@localhost home] # grep "bash$" passwd七、通配符 1 、管道符 符号 | 作用:实现将两个或者多个命令链接起来,然后将前面命令的执行结果传递给后面的命令 【对前面命令的执行结果进行二次处理】
案例:
# 查看 etc 下所有的文件 [root@localhost ~] # ls -al /etc/ # 统计 /etc 下一共有多少个文件 [root@localhost ~] # ls -al /etc/ | wc -l



