一,描述Linux发行版的系统目录名称的命名规则和用途。
文件和目录被诅咒成一个单根倒置树结构;文件系统从根目录下开始,用“/”表示;根文件系统:root filesystem;标准Linux 文件系统,文件名称大小写敏感;以 . 开头的文件为隐藏文件;路径分隔的/;文件名最初255个字符;包括路径在内文件名称最长4095个字
[16:56:54 root@bear wang]#tree -d -L 1 /
/
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
/bin:普通用户的命令,centos7系统 软链接至usr/bin
/boot:引导文件存放于此目录,vimlinuz、grub
/dev:设备以及特殊文件存放目录,/dev/zero,/dev/null..
/etc : 系统配置文件存放目录
/home:普通用户的家目录
/lib :库文件存放目录
/lib64:x86_64库文件存放目录
/media:便携式挂载点
/mnt:其他文件临时挂载点
/opt:第三方程序安装目录
/proc:统启动后,cpu映射的虚拟文件系统
/root:root家目录
/run:系统启动的守护进程等
/sbin/:管理员用户命令存放目录
/srv:当前主机为服务提供的数据
/sys:统启动后,硬件设备映射的虚拟文件系统
/tmp:临时文件存放目录
/usr:系统默认的软件都会放置到/usr
/var:常用于存放可变化的数据,比如一些日志信息等。
二.元数据 指文件属性信息比如文件名称、文件大小、文件占用的磁盘块数(Blocks)、文件的inode编号、 文件的atime(Access Time)、mtime(Modify Time)、ctime(Change Time)、文件的硬链接数量、文件是普通文件还是目录还是符号链接等。
1、可以使用stat命令来查看:
[17:35:52 root@bear wang]#stat wang1.txt
File: wang1.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 1772253 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ wang) Gid: ( 1000/ wang)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2020-12-03 19:29:48.005034957 +0800
Modify: 2020-12-03 19:29:48.005034957 +0800
Change: 2020-12-03 19:29:48.005034957 +0800
Birth: -
2.文件的时间戳修改需要用touch命令进行修改,touch命令格式如下:
touch命令: touch - change file timestamps
touch [OPTION]… FILE… 需要注意的是Changetime无法指定进行修改,在atime以及mtime修改后,ctime自动进行更新。
-c: 指定的文件路径不存在时不予创建;
-a: 仅修改access time;
-m:仅修改modify time;
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
文件的三个时间戳详细介绍如下:
atime:访问时间:读一次文件的内容,这个时间就会更新。比如more、cat等命令。ls、stat命令不会修改atime
mtime:修改时间:修改时间是文件内容最后一次被修改的时间。比如:vim操作后保存文件。ls -l列出的就是这个时间
ctime:状态改动时间。是该文件的inode节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新
[17:56:35 root@bear wang]#vim wang1.txt
[17:58:58 root@bear wang]#stat wang1.txt
File: wang1.txt
Size: 7 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1772253 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ wang) Gid: ( 1000/ wang)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2020-12-06 17:58:58.538247527 +0800
Modify: 2020-12-06 17:58:58.538247527 +0800
Change: 2020-12-06 17:58:58.539247527 +0800
Birth: -
[17:59:05 root@bear wang]#touch -m -t 202012121010.30 wang1.txt
[18:00:01 root@bear wang]#stat wang1.txt
File: wang1.txt
Size: 7 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1772253 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ wang) Gid: ( 1000/ wang)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2020-12-06 17:58:58.538247527 +0800
Modify: 2020-12-12 10:10:30.000000000 +0800
Change: 2020-12-06 18:00:01.524249599 +0800
Birth: -
三.硬链接与软链接的联系与区别
[18:19:44 root@bear ~]#ln p1.txt ppt.txt 创建硬链接
[18:19:59 root@bear ~]#ll
-rw-r--r--. 2 root root 28 Dec 2 20:12 p1.txt
-rw-r--r--. 2 root root 28 Dec 2 20:12 ppt.txt
创建软链接
[18:20:47 root@bear ~]#ln -s pasd.txt /data/pphx.txt
[18:21:42 root@bear ~]#ll -i
201353716 -rw-r--r--. 1 root root 41 Dec 4 19:30 pasd.txt
[18:21:51 root@bear ~]#ll -i /data/pphx.txt
132 lrwxrwxrwx. 1 root root 8 Dec 6 18:21 /data/pphx.txt -> pasd.txt
四.文件管理类命令
ls 查看文件或目录的工具
-l 出文件名之外,列出文件的类型、权限、所有者、所属组、文件大小、修改时间等详细信息
-a 不隐藏任何以. 开始的项目
-A 列出除. 及.. 以外的任何项目(不列出“.”当前目录及“..”父目录)
-R 递归列出目录内容,若目录下有项目(文件或目录),则以下之文件皆依序列出
-n 类似 -l,但列出UID 及GID 号
-F 在列出的文件名称后加一个符号,去区分文件类型;例如*代表可执行文件;/代表是目录;@代表链接文件;普通文件之后不加符号
注意:ls -l命令可以缩写为ll
[19:26:12 root@bear ~]#ll
drwxr-xr-x. 2 root root 6 Nov 23 19:29 Desktop
drwxr-xr-x. 2 root root 6 Nov 23 19:29 Documents
drwxr-xr-x. 2 root root 6 Nov 23 19:29 Downloads
cd 更改目录,切换目录 用法:cd 目标目录 注意:cd 命令之后不可以跟文件
[19:29:57 root@bear ~]#cd /data
pwd 显示当前所处的目录,目前所在的目录 【选项】: pwd -P 显示实际的工作目录,而非使用链接路径
[19:32:48 root@bear data]#pwd
/data
stat
显示文件的所有信息 ,甚至包括存储该文件的设备的设备号
touch
用于修改文件或目录的时间属性,包括存储时间、更改时间。如果文件不存在,则系统或建立一个新文件。
创建空文件(衍生出来的)
cp:复制
格式:复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归复制目录
[19:19:06 root@bear ~]#cp p1.txt ppt.txt test2.txt /data
[19:19:10 root@bear ~]#ll /data
-rw-r--r--. 1 root root 28 Dec 6 19:19 p1.txt
-rw-r--r--. 1 root root 28 Dec 6 19:19 ppt.txt
-rw-r--r--. 1 root root 0 Dec 6 19:19 test2.txt
[19:20:55 root@bear ~]#cp -r Music /data
[19:21:39 root@bear ~]#ll /data
drwxr-xr-x. 2 root root 6 Dec 6 19:21 Music
mv:剪切
格式:单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
[19:24:06 root@bear ~]#mv -i /data/Music /tmp
[19:24:14 root@bear ~]#ll /tmp
drwxr-xr-x. 2 root root 6 Dec 6 19:21 Music
rm:删除
格式:rm [OPTION]... FILE...
-i:交互式复制,即覆盖前提醒用户确认
-f:强制覆盖目标文件
-r,-R:递归处理,将制定目录下的所有文件包括目录一并删除
[19:25:21 root@bear ~]#rm -fri /tmp/Music
rm: remove directory '/tmp/Music'? y
file 查看文件类型 格式 file filename
[19:36:01 root@bear data]#file ppt.txt
ppt.txt: ASCII text
[19:36:15 root@bear data]#file -L /sbin
/sbin: directory
tree 显示目录树
常见选项 -d 只显示目录 -L level 指定显示层级数目
五.复制/etc/profile 至目录/tmp 下,并使用查找替换命令删除/tmp/profile中行首的空白字符。
cp /etc/profile /tmp
vim /tmp/profile
:%s#^[[:space:]]##g
六 vim中设置tab 缩进为4个字符
vim .vimrc
set ts =4