正式班D12
2020.10.21星期三 正式班D12
一、目录结构
-
系统目录结构
-
目录
文件夹:存放的是具体有哪些文件 文件:存放的就是具体的数据
-
需要记住的
/dev/cdrom # 光盘设备,光盘里存放的内容都在这里,以后用来为我们的操作系统补包
/dev/null # 黑洞文件:把不想要显示的内容丢入黑洞
/etc/hostname # 主机名的配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 # 网卡的配置文件
/etc/resolv.conf # 指定远程DNS地址
/etc/hosts # 本机域名解析文件
/home/ # 以普通用户命名的文件夹 # 该普通用户的家目录
/root # root的家目录
~ # 代表当前用户的家目录
挂载点
/mnt
/opt
/tmp
/media/proc/sys/net/ipv4/ # 与于网络参数优化相关的文件
/var/log/ # 查看日志
tail -f /var/log/messages # 动态查看日志
-
其他
-
系统相关目录
- bin->usr/bin # 普通用户使用的命令,如ls、date
- sbin->usr/sbin # 管理员使用的命令
-
启动目录
- boot # 存放的启动相关的文件,例如kernel,grub(引导装载程序)
-
系统目录文件
- usr # 系统文件,相当于C:\Windows
- lib->usr/lib # 库文件Glibc
- lib64->usr/lib64 # 库文件Glibc
-
用户家目录
- home # 普通用户家目录
- root # root用户的HOME
-
配置文件目录
etc # 配置文件,很重要,系统级服务配置文件都在这里
1. /etc/sysconfig/network-scripts/ifcfg-eth0 # 网络配置文件 2. /etc/hostname # 系统主机名配置文件 3. /etc/resolv.conf # DNS客户端配置文件 4. /etc/hosts # 本地域名解析配置文件
- 设备目录文件
dev # 设备文件,如/dev/sda,/dev/sr0
1. /dev/cdrom 和/dev/sr0 # 系统光盘镜像设备 2. /dev/null # 黑洞设备 3. /dev/random # 生成随机数的设备 4. /dev/zero # 源源不断产生数据(类似取款机,随时随地取数据) 5. /dev/pts/0 # 虚拟的*Bash Shell*终端,提供给远程客户使用(*0*代表第一个终端,*1*-->第二个终端) 6. /dev/stderr # 错误输出 7. /dev/stdin # 标准输入 8. /dev/stdout # 标准输出
- 虚拟文件系统
proc # 虚拟的文件系统,反应的是内核,进程信息和实时状态
- 可变的目录与临时目录
var # 存放变化文件,如数据库、日志、邮件
1. /tmp # 系统临时目录(类似垃圾桶),系统定时删该目录下长时间未访问的文件 2. /var # 存放变化文件 3. /var/lib/mysql # mysql 4. /var/ftp # vsftbd 5. /var/spool/mail # mail 6. /var/spool/cron # cron 7. /var/log 系统日志文件存放目录 # log 8. /var/tmp # 临时文件(主要是程序产生的临时文件)
-
设备(主要指存储设备)挂载目录
- media # 移动设备默认的挂载点
- mnt # 手工挂载设备的挂载点
- opt # 早期第三方厂商的软件存放目录
- tmp # root用户的HOME
-
其他
- lost+found # 孤儿文件
- run # 存放程序运行后所产生的pid文件
- srv # 物理设备产生的一些文件
- sys # 硬件设备的驱动程序信息
-
-
-
补充命令
- cd # 切换文件夹
- pwd # 查看当前所在的文件夹
- cat # 查看文件内容
- stat查看Linux的三种时间
- 访问时间:atime,查看内容,用cat检测
- 修改时间:mtime,修改内容
- 改变事件:ctime,修改内容、权限等都会改变
-
路径
-
绝对路径
路径是从根开始的,即/作为前缀
Linux系统:/a/b/c/d/new.txt
Windows系统:C:\a\b\c\d\new.txt
-
相对路径
路径不是从根开始的
Linux系统c/d/new.txt
Windows系统a\b\c\d\new.txt
-
二、文件管理
-
命令
-
pwd # 查看当前所在的目录
-
cd # 切换目录
- cd - # 返回上次目录
- cd # 直接回家,等同于cd ~
- cd . # 保持当前目录不变
- cd .. # 切换到当前目录的上一级目录
-
ls # 浏览
- ls # 默认浏览当前目录
- ls -l 目录 # 浏览目录下的子目录及子文件名的详细信息
- ls -al 目录 # 浏览的结果包含隐藏文件
- ls -dl 目录 # 查看目录
-
tree # 查看目录树(需先安装tree命令,执行yum install tree -y)
- tree -a 目录 # 显示所有文件,包括隐藏文件
- tree -d 目录 # 只显示子目录
- tree -L 1 目录 # -L:遍历目录的最大层数,后面跟大于0的整数
- tree -F 目录 # -F:在条目后加上文件类型的指示符号,如目录后会加上左斜杠/
- 其他
- -C # 在文件和目录清单上加上色彩,便于区分各种类型
- -D # 列出文件或目录的更改时间
- -f # 在每个文件或目录前,显示完整的相对路径名称
- -g # 列出文件或目录所属组的名称,没有对应名称则显示群组识别码
- -I # 不显示符合范本样式的文件或目录名称
- -P # 只显示符合范本样式的文件或目录名称
- -l # 遇到性质为符号连接的目录,直接列出该链接所指向的原始目录
- -s # 列出文件或目录大小
- -t # 用文件或目录的更改时间排序
- -u # 列出文件或目录的拥有者名称,没有对应名称则显示用户识别码
-
-
增删改查(创建、复制、移动、删除)
-
创建
-
创建文件(touch创建的是文本文件,后缀只是区分)
-
创建单个文件
- touch file1.txt # 无则创建,有则更新时间(相对路径)
- touch /root/a.txt # 无则创建,有则更新时间(绝对路径)
-
创建多个文件
-
用空格分开
touch a.txt b.txt c.txt
-
用{}
touch {d,e,f}.txt
touch {1..3}.txt # 1.txt 2.txt 3.txt
touch {1..2}{a..b}.txt # 1a.txt 1b.txt 2a.txt 2b.txt
-
-
-
创建文件夹(mkdir)
-
用空格分开
mkdir /root/a /root/b
-
用{}
mkdir /root/{a,b,c}
mkdir -p a/b/c/d # 递归创建(a目录不存在)
-
-
-
删除
rm -rf # r:删目录,f:强制删除
rm -rf* # 删除当前目录下所有内容
rm -rf /* # 删根
rm -rf -i # i:交互
rm -rf -v # v:提示过程
-
复制
-
复制文件
cp 源文件 目标文件
-
复制文件夹
cp -r
-
将某文件夹下所有文件复制到新文件夹
cp -r /boot/ * /test/ # 将boot目录下所有文件复制到/test/目录下
-
复制的同时保留原信息
cp -a /home/jack/a.txt /mnt/b.txt
-
目标文件夹(有写、执行权限)中有同名文件(无写权限)
cp -f /test/a.txt /test1/a.txt
(实际步骤:先执行rm -rf /test/a.txt再执行cp /text/a.txt /text1/)
-
-
移动(相当于剪切)
-
mv
- mv 源地址 目标地址
- 示例
- mv file2 /home/dir3 # 将file2移动到/home/dir3里
- mv file4 file5 # 将file4重命名为file5(当前位置的移动就是重命名)
-
rm
-
示例
cd /home
rm -rf dir1 # 删除/home/dir1
-
常用搭配
-r # 递归
-f # force强制
-v # 详细过程
-
-
-
-
查看文件内容(cat)
-
常用搭配
- -n # 显示行号
- -A # 包括控制字符(换行符),例如Linux中的$、Windows中的^M$
-
拓展
- dos2unix 文件 # 将Windows格式的文件转换成Unix格式
- unix2dos 文件 # 将Unix的文件转换成Windows格式
-
less more head tail
-
head /etc/passwd # 查看passwd文件的前十行(默认十行)
-
head -2 /etc/passwd # 查看passwd文件的前两行
-
tail /etc/passwd # 查看passwd文件的最后十行(默认十行)
-
tail -2 /etc/passwd # 查看passwd文件的最后两行
-
more /etc/passwd # 每次在屏幕上显示一屏(一页)内容,且在底部出现"-More-(n%)"的信息
(n%是指显示文件内容的百分比)按空格下一页,b上一页;more +40 a.txt表示从第40行开始查看
-
less /etc/passwd # 屏幕上显示一屏(一页)内容,向下键一次翻一行
-
logger yangsheng # 手动产生日志信息
-
tail -4 a.txt | head -2 # 查看a.txt的倒数第三和第四行
-
tail -f /var/log/messages # 动态查看文件的尾部
-
-
grep
针对文件内容进行过滤
xxx | greb yyy
-