day04-文件管理2-笔记
上周回顾
1.Linux介绍/历史/发行版
2.VmWare安装CentOS7系统
3.VmWare快照
4.Bash能做什么
5.Bash怎么使用
单条命令
Shell脚本
6.Bash提示符
[root@oldboyedu ~]#
7.Bash基础语法
命令 [选项] [参数]
ls -la /home/
8.Bash常用特性
tab补全(必须)
快捷键 ctrl+a,e,c,l,w,u,k,r
命令别名 alias
历史记录 history
命令帮助 man --help
9.系统目录结构
Windows C:\ D:\ E:\ —>多根组织结构
Linux / —>单根组织结构
在Linux的 / 目录下有很多的二级目录,这些目录都是什么意思
存放命令相关的目录
/bin 普通用户使用的二进制命令
/sbin 只有超级管理员才能执行的
存放用户相关数据的家目录
/home 普通用户家目录 默认在 /home/username
/root 超级管理员的家目录
系统文件目录
/usr 相当于C:\Windows
/usr/local 软件安装的目录,相当于C:\Program File
/usr/bin 普通用户使用的应用程序(重要)
/usr/sbin 管理员使用的应用程序(重要)
/usr/lib 库文件Glibc 32bit
/usr/lib64 库文件Glibc 64bit
启动目录
/boot 存放系统启动的相关文件,例如:kernel 等...
配置文件目录
/etc 极其重要,后期所有服务的配置都在这个目录中
/etc/sysconfig/network-… 网卡配置文件
/etc/hostname 系统主机名配置文件
/etc/resolv.conf dns客户端配置文件
/etc/hosts 本地域名解析配置文件
可变的目录与临时目录
/var 存放一些可变的文件,比如/var/log/下的日志文件
/tmp 系统临时存放的一些文件
/var/tmp 进程产生的临时文件
设备目录文件
/dev 存放设备文件,比如硬盘等
/dev/sd sda sdb sdc4
/dev/null 黑洞设备,只进不出
/dev/random 生成随机数的设备
/dev/zero 能源源不断的产生数据
虚拟的文件系统
/proc 反映当前系统正在运行进程的实时状态
10.文件路径定位
/etc/hostname 文件位置+文件名称=路径 换句话说:路径则是对文件定义的一种方式
绝对路径
相对路径 . 和 ..
11.文件管理命令
mkdir
touch
mv
rm
今天
文件管理
cp复制
复制并重命名
cp file /tmp/file_copy 将当前目录下的file文件,复制到/tmp/目录下,并重新命名为file_copy
复制单个文件
cp file1 /tmp/ 将file1复制到/tmp目录下
复制一个目录
cp /etc/ /tmp/ -r 复制一个目录,并且目录中有很多子目录
复制不同路径的不同文件
cp file1 /etc/hostname /etc/hosts /opt/ 复制不同路径下的不同文件到同一个目录下
复制不同路径的文件及目录
cp -rp file1 oldboy1/ file /opt/ 复制不同路径下的文件及目录到同一个目录下
Ps:在复制过程中频繁触发提示可以加 \ 反斜线或用命令的绝对路径
\cp -r /etc/ /opt/
/bin/cp -r /etc/ /opt/
扩展
cp {file5,file5-bak} 复制一份file5命名为file5-bak
选项
-v:详细显示命令执行的操作
-r: 递归处理目录与子目录
-p: 保留源文件或目录的属性
查看
cat
cat pass 查看文件的所有内容
cat -n pass 查看文件有多少行
cat -A pass 查看文件的特殊符号,比如说文件中存在tab键
cat扩展使用,创建一个文件,并往里写入内容
cat >> test.txt <<EOF
EOF代表开始,再碰到EOF结束
less、more
less /etc/services 光标上下移动,空格翻页
more /etc/services 回车换行,空格翻页
head
默认查看头部内容,前十行
head -3 pass 前三行
head -n3 pass
ps aux | head -5 了解
tail
tail pass 查看文件尾部十行
tail -20 pass 查看文件尾部20行
tail -f 或 tailf
ps aux | tail -5 了解
选项
-f 实时显示文件最新内容
grep
grep "root" pass 匹配出pass文件中的root相关的行
grep "^root" pass 匹配出pass文件中以root开头的行
grep "bash$" pass 匹配出pass文件中以bash结尾的行
grep -n -A 2 "bash" pass 匹配bash关键词向下2行
grep -v "ftp" pass 除了ftp的行
grep -i "ftp" pass 忽略大小写匹配
grep -Ei "sync$|ftp" pass 匹配出pass文件中以sync结尾的,或者ftp相关的行,忽略大小写
选项
-n 显示行号
-A 显示关键词向下几行
-B 向上几行
-C 上下各几行
-v 除了什么的行
-i 不区分大小写
-E "ftp|^root" |或者
Ps:grep筛选的目标,会将整行打印出来.
grep相关练习题
0、显示当前pass文件中,root、adm或ftp用户相关的信息
grep -E "root|adm|^ftp" pass
1、显示/proc/meminfo文件中以不区分大小的s开头的行;
grep -i "^s" /proc/meminfo
2、显示/etc/passwd中以nologin结尾的行;
grep "nologin$" /etc/passwd
3、显示/etc/inittab中以#开头,而后又跟了任意字符的行;
grep "^# .*" /etc/inittab
. 表示任意单个字符
* 表示所有
.* 表示所有的任意字符
总结
1.文件命令
cp
cat
less
more
head
tail
tailf
grep
明天
文件的下载 wget curl
文件的上传 rz sz 不支持上传文件夹
文件内容进行排序sort,去重uniq,统计
文件的截取 cut awk sed ...
相关命令
cp
cp 复制
-r 递归拷贝,通常用来拷贝目录
-p 保持拷贝源文件的属性不变
-v 显示拷贝的过程
cat
cat 查看文件内容,从头到尾查看
-n 显示行号
-A 显示特殊字符,使用较少
cat >> test.txt <<EOF
neirong1
neirong2
EOF
less
less 查看大文件,空格翻页,光标上下滚动,q退出
more
more 查看大文件显示百分比,空格翻页,回车换行,q退出
tail
tail 查看文件尾部内容,默认10行
-n 指定查看尾部多少行
-f 动态追踪一个文件尾部的实时变化,在后面故障排查会使用到
head
head 查看文件头部内容,默认10行
-n 指定查看头部多少行
grep
grep (过滤|匹配)一个文件中的内容
-n 显示文件所在的行
-i 忽略大小写
-v 取反
-E 匹配多个条件 a|b|c
^
以什么开头
$
以什么结尾
.
任意单个字符
*
所有内容
.*
所有的任意字符都匹配
^$
表示空行