目录
一、Linux的目录结构
在Linux系统中,一切皆为文件
1.1Windows和Linux对比
Windows:一多跟的方式组织文件C:\ D:\ E:\
Linux:以单根的方式组织文件“/”
1.2简介
/目录结构
[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
1.3目录功能
bin 普通用户使用的命令 /bin/ls, /bin/date
sbin 管理员使用的命令 /sbin/service
案例:
[root@linux-server ~]# which ls
/usr/bin/ls
[root@linux-server ~]# which useradd
/usr/sbin/useradd
目录介绍:
/root #root用户的家目录
/home #存储普通用户家目录
/usr #系统文件,相当于C:\Windows
/usr/local #软件安装的目录,相当于C:\Program
/usr/bin #普通用户使用的应用程序
/usr/sbin #管理员使用的应用程序
/usr/lib 库文件Glibc 32bit
/usr/lib64 库文件Glibc 64bit
/boot 存放的系统启动相关的文件,例如kernel
/etc #配置文件(系统相关如网络/etc/sysconfig/network)
/tmp 临时文件(系统:程序产生的临时文件)
/opt 空目录
/media 用于挂载u盘,光驱等自动识别的设备
/srv 存放服务启动后产生的数据目录
/var #存放的是一些变化文件,比如数据库,日志,邮件....
/proc 虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。
==设备(主要指存储设备)挂载目录==
/mnt #系统提供这个目录是让用户临时挂载其他的文件系统
二、路径介绍
2.1 相对路径和绝对路径
绝对路径:从根开始的路径是绝对路径。案例:/home/alice/file1 /etc/grub.conf
相对路径:凡是非根开始的路径 比如:etc var/ftp/pub ./test.sh
(相对路径是以当前目录为起始)
使用pwd命令查看当前所在的绝对路径:
比如:
[root@qfedu etc]# pwd
/etc
绝对路径实例
[root@linux-server ~]# touch /opt/file1
相对路径实例
[root@linux-server ~]# pwd
/root
[root@linux-server ~]# mkdir abc #创建目录
[root@linux-server ~]# touch abc/file3
三、文件管理命令
3.1 切换目录——cd
. 表示当前目录
cd .. 回到上一级目录
cd 或者 cd ~ 直接回到家目录
cd /home/alice 切换目录=绝对路径
cd - 回到原来目录
3.2 创建文件
[root@linux-server ~]# touch file1.txt #无则创建,如果存在修改时间
[root@linux-server ~]# touch /home/file10.txt
[root@linux-server ~]# touch /home/{zhuzhu,gougou} #{}集合
[root@linux-server ~]# touch /home/file{1..20} #批量创建
3.3 创建目录
语法:mkdir
-v 详细
-p 递归目录
# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5}
# mkdir -p /home/dir8/111/222 #-p 创建连级目录,一级一级的创建
3.4 文件复制
复制 cp -r 目录 -v 详细 -f 强制 -n 静默
# mkdir /opt/dir{1,2} #创建目录
# cp anaconda-ks.cfg /opt/dir1/test.txt #复制并改文件名
# cp -r /etc /opt/dir1 #-r 拷贝目录使用,连同目录里面的文件一块拷贝
语法: cp -r 源文件1 源文件2 源文件N 目标目录 #将多个文件拷贝到同一个目录
# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/passwd /etc/hosts .
3.5 文件移动
1.常见一个新文件file1
[root@linux-server ~]# touch /root/file1
2.把file1文件移动到/tmp目录中
[root@linux-server ~]# mv /root/file1 /tmp/
[root@linux-server ~]# ls /tmp/file1
/tmp/file1
3.把file1文件更名为file2
[root@linux-server ~]# mv /tmp/file1 /tmp/file2
[root@linux-server ~]# ls /tmp/file2
3.6 删除
删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符
实例1:删除/home/dir1
[root@linux-server ~]# cd /home/
[root@linux-server ~]# rm -rf dir1/
-r 递归,删除目录时
-f force强制
-v 详细过程
实例2:
[root@linux-server ~]# mkdir /home/dir10
[root@linux-server ~]# touch /home/dir10/{file2,file3,.file4}
[root@linux-server ~]# rm -rf /home/dir10/* #不包括隐藏文件
[root@linux-server ~]# ls /home/dir10/ -a
. .. .file4
实例3:
[root@linux-server ~]# touch file{1..20}.txt #创建file1-20的txt文件
[root@linux-server ~]# rm -rf file1*
3.7:查看文件内容
cat——查看一个文件的全部内容
[root@linux-server ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
more翻页 more /root/file1.txt
head头部 head /root/file1.txt
tail尾部 tail /root/file1.txt
grep——针对文件内容进行过滤
语法:grep 关键字 文件名
# grep 'abc' /root/file1.txt
四、文件编辑器
4.1 打开文件
[root@qfedu.com ~]# vi 文件名
[root@qfedu.com ~]# vim 文件名
4.2工作模式
4.2 进入编辑模式
i #在光标所在处进入编辑模式
Esc # 从编辑模式进入命令模式
4.3 命令模式
光标定位键盘:
0 $ #行首行尾
gg #页首--文本顶端
G(shift+g) #页尾--文本底部
/string #查找字符,n下一个,N上一个 (n N 可以循环的)
4.4 可视化模式
shift+v: 可视行
ctrl+v: 可视块
4.5 文本编辑
yy #复制
dd #删除一行
p #粘贴到本行的下一行
x #删除光标所在的字符
u #撤销
r #修改字符
4.6 扩展命令(尾行)模式
shift+: #进入尾行模式(扩展命令模式)
:10 #进入第10行
:w #保存
:q #退出
:wq #保存并退出
:q! #不保存并退出
:wq! #强制保存退出
:set nu #查看行号
5.1 文件类型
访问时间:atime,查看内容
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名
5.2 查询示例
[root@linux-server ~]# stat /etc/passwd
文件:"/etc/passwd"
大小:1286 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:17518472 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2023-08-01 11:14:20.496760644 +0800
最近更改:2023-07-31 11:14:20.211243407 +0800
最近改动:2023-07-31 11:14:20.212243420 +0800
创建时间:-