目录
(1)应用vi命令在/tmp文件夹下创建文件,文件名newfile。在newfile首行输入日期
(2)将/boot/grub2/grub.cfg文档的内容读入到newfile文档中(在日期的下一行即第2行)
(5)将光标移动到第5行,并在第5行后产生一新的空白行第6行
(6)修改内容。将所有的timeout=5,更改为time=30
1.type file stat 3个命令的区别是什么?
(1)type:查看命令的类型
linux中对应的命令类型分为内部命令和外部命令,外部命令对应的是path环境变量下可以找到的与命令名称一致的文件名称,其中每一个外部命令对应的是一个可执行程序。内部命令是外部命令中含有的命令的。如:bash中存在内部的命令cd,内部命令对应的信息展示固定
如何区分一个命令是内部命令和外部命令?type
[root@localhost ~]# type cd
cd is a shell builtin
[root@localhost ~]# type date
date is hashed (/usr/bin/date)
[root@localhost ~]# type pwd
pwd is a shell builtin
[root@localhost ~]# type ls
ls is aliased to `ls --color=auto'
(2)file:查看文件的类型
例如文本文件,二进制文件,管道文件,设备文件,链接文件等
[root@localhost ~]# file /dev/nvme0n1p1
/dev/nvme0n1p1: block special (259/1)
[root@localhost ~]# file /dev/tty2
/dev/tty2: character special (4/2)
[root@localhost ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@localhost ~]# file /run/dmeventd-client
/run/dmeventd-client: fifo (named pipe)
附:也可使用ls -l查看文件类型
(3)stat:查看文件详细信息,属性。
例如文件的名称,大小,权限,时间(atime,ctime,mtime)
而且可以看到文件的这三个时间。基本信息如下:
命令名称: stat。
英文原意: display file or file system status。
所在路径: /usr/bin/stat。
执行权限:所有用户
功能描述:显示文件或文件系统的详细信息。
[root@localhost ~]# stat anaconda-ks.cfg
文件: "anaconda-ks.cfg"
大小: 1453 块: 8 IO 块: 4096 普通文件
设备: 803h/2051dInode: 33574991 硬链接: 1
权限: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
环境: system_u:object_r:admin_home_t:s0
最近访问: 2018-11-06 23:22:23.409038121 +0800
最近更改: 2018-10-24 00:53:08.760018638 +0800 #数据修改时间
最近改动: 2018-10-24 00:53:08.760018638 +0800 #状态修改时间
[root@localhost ~]# stat /etc/hostname
File: /etc/hostname
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 17424776 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2022-10-24 16:07:36.257249777 +0800
Modify: 2022-10-22 08:48:12.426575973 +0800
Change: 2022-10-22 08:48:12.426575973 +0800
2. 文件管理命令练习:
(1)在/opt目录下创建一个临时目录tmp;
[root@localhost ~]# mkdir -p /opt/tmp
[root@localhost ~]# tree /opt
/opt
├── host.conf
├── hostname
├── hosts
├── hosts.allow
├── hosts.deny
└── tmp
1 directory, 5 files
(2)在tmp创建a.txt文件
[root@localhost ~]# cd /tmp
[root@localhost tmp]# touch a.txt
[root@localhost tmp]# ls
anaconda.log
a.txt
(3)将a.txt复制成b.txt
[root@localhost tmp]# cp a.txt b.txt
[root@localhost tmp]# ls
a.txt b.txt
(4)将b.txt改名成为c.txt
[root@localhost tmp]# cp a.txt b.txt
[root@localhost tmp]# mv b.txt c.txt
[root@localhost tmp]# ls
a.txt c.txt
(5)创建符号链接,链接文件名为linkc.txt;
[root@localhost tmp]# ln -s c.txt linkc.txtsoft
[root@localhost tmp]# ls
a.txt c.txt linkc.txt linkc.txtsoft
3.vi练习:完成如下步骤
(1)应用vi命令在/tmp文件夹下创建文件,文件名newfile。在newfile首行输入日期
[root@localhost ~]# vim /tmp/newfile
[root@localhost ~]# date >/tmp/newfile
[root@localhost ~]# vim /tmp/newfile
(2)将/boot/grub2/grub.cfg文档的内容读入到newfile文档中(在日期的下一行即第2行)
:r /boot/grub2/grub.cfg
(3)查找文档中包含#号字符的行,将整行删除
[root@localhost ~]# grep ^# /tmp/newfile
[root@localhost ~]# vim /tmp/newfile
: g/#/d
(4)开启vi的行号提示功能
(5)将光标移动到第5行,并在第5行后产生一新的空白行第6行
进入[root@localhost ~]# vim /tmp/newfile
输入 5gg o
(6)修改内容。将所有的timeout=5,更改为time=30
%s/timeout=5/time=30/g
(7)将整个文档中的所有root字符更改为admin字符
:%s/root/admin/g
(8)复制第1行的日期时间内容到文档末
:1 co 143
gg yy G p
(9)将文档保存,将文档再次另存为/boot/newfile2,退出VI编辑器
:w /boot/newfile2
:wq