文章目录
文件基本操作
知识点
一、显示文件内容
> cat
#输出文件内容
cat [filepath]
#创建新文件/文件重定向
cat >filepath
#追加输出重定向
cat >>filepath
但是cat命令在命令行界面无法分屏显示
> more
#查看文件,可用空格向下翻动
more filepath
#中途退出:q
> less
#可用上下键滚动
less filepath
> head(查看文件头部)
#查看文件前面10行
head [filepath]
#查看文件前面指定n行
head -n [filepath]
> tail(查看文件尾部)
用法同head
二、创建/改变/显示目录
> mkdir(创建目录)
mkdir [目录名]
mkdir -p #递归创建目录,如/dir1/dir11
> cd(改变文件目录)
cd [filefath]
cd .. #退回上级目录(退回)
cd ~ #退回用户主目录
cd - #进入上次所在目录(前进)
> pwd (显示当前工作目录)
print working directory
> ls
ls #查看当前一级子文件和子目录
ls [filepath] #显示指定路径的子文件和子目录
ls -l [filepath] #查看文件基本属性
ls -a #以.开头的文件名(默认不显示)
ls -i #查看文件inode值
> du(显示占用空间大小)
du [filepath] #显示文件占用空间大小
du [filepath] -s #显示指定目录大小
du [fp] -h #显示大小单位
#多个命令可一起使用
三、查找文件内容
> grep
grep 'init' [fp][fp] #在指定文件(可多个)寻找有init的行
> locate
以文件名为条件进行查找,速度快,但使用前需要使用“updatedb”创建文件路径数据库。
updatedb #创建文件路径数据库
locate [filename] #搜索文件名
> find(可搜索条件多)
可用-a / -o / ! (“and"or”“not”)表示与或非
-name #文件名
-iname #文件名 //忽略文件名大小写
-size n #匹配所有文件大小为n 块(512B)的文件(+nk:大于等于nKB;-n:小于等于n块;nc:n字节)。
-inum n #找inode值为n的文件
-user #用户名
-group #用户组
-exec command {} \;
#将输出的结果使用command命令进行处理。注意,{}表示输出结果的路径,命令必须以“\;”结尾。
四、文本处理
> sort (对文件内容进行排序)
按各行用ascll码从小到大进行排序
sort [filepath]
> uniq(删除重复行)
#去除相邻重复行
uniq [filepath]
#去除所有重复行
sort [fp]
uniq [fp]
五、文件内容统计wc
wc -c [fp] #统计字节数
wc -l [fp] #统计行数
wc -l [fp] #统计字数
六、复制移动和删除
> cp(文件复制)
cp [-option] [源文件(可多个)] [目标目录]
#在目标路径直接指定名字可重命名文件
-p #保持原先文件的所有者,组权限和时间标志。
-r #(同-R)递归拷贝目录,把目录文件及其子目录递归复制到目标。
-f #删除已存在的目标文件。
-a #在备份中保持尽可能多的源文件的结构和属性,并复制目录结构,相当于dpr选项的组合
-b #作将要覆盖或删除文件的备份。
-I #提示是否覆盖已存在的目标文件。
> mv(文件移动)
mv [-option] [原位置] [新位置]
#在新位置改名字可以起到重命名作用
#默认移动文件权限不改变
> rm(文件删除)
rm [fp(可同时删除多个文件)]
rm -r [fp] #删除目录
rm -f [fp] #强制删除(没有提示直接删除)
rm -- #选项结束,比如删除一个叫-f的文件如下
rm -- -f
上机任务
要求:请简要描述各操作所使用命令
1、通过文件查看工具cat、more、less打开/etc/inittab,体验相关操作;
- cat可一次性输出文件所有内容,但 查看长文件在命令行模式下不可滚动
-
more命令查看文档,一次性输入一屏内容,按空格键可继续,q可中途退出
-
less命令查看文档,可上下翻动,一次输出一行内容,q结束
2、使用cat新建文件/root/file.text,输入信息:班级
使用cat覆盖文件/root/file.text内容,输入信息:学号 姓名
使用cat追加/root/file.text内容,输入以下信息:
hello
world
abc
abc
hello
apache
按ctrl+d结束任务
3、通过文件查看工具打开/etc/inittab,分别完成显示:前10行、后10行、前5行、后三行
- 用head [n]命令表示前n行,若直接输入head显示前10行
- 用tail [n]命令表示后n行,若直接输入tail显示后10行
4、目录操作,分别完成:
进入目录/etc(**cd[目录]**进入,pwd查看当前所在位置)
进入目录/var/tmp
进入用户主目录(cd ~)
进入上级目录 (cd …)
查看当前工作路径(tmp)
5、通过ls命令查看用户主目录下的文件信息,分析-l、-i、-a等选项输出的结果;
- ls-l 查看文件基本信息
- ls-i 查看文件iNode
- ls-a 查看开头为 . 的文件
6、通过du命令查看目录/etc、/var、/usr的占用空间大小,任意组合使用-s、-h选项,观察、分析结果;
命令 | 用途 |
---|---|
du | 查看目录下所有文件分别的大小 |
du-s | 查看当前目录的总大小 |
du-h | 为各文件大小显示单位 |
du-sh(/-s -h) | 显示当前目录总大小并显示单位(顺序不影响) |
7、使用grep命令完成操作:
(1)在/etc/inittab中查找含有字符串“init”的行
(2)在/etc/inittab中查找含有字符串“ - ”(注意空格)的行
(3)将“ls /etc -l”的结果中含有“conf”字符串的行输出到屏幕
ls /etc -l|grep “conf”
8、通过locate命令:l
(1)搜索文件inittab的位置;
(2)搜索文件file.text文件的位置,分析结果
9、通过find命令完成操作:
(1)使用不同搜索条件组合搜索/etc中的文件,尝试将两个条件“查找文件名中有http字符串”、“小于4KB的文件”分别使用and、or和not的关系组合查询。
and: -a
or: -o
not: !
(2)将(1)中搜索到的文件使用more命令进行查看
#find / -name "http" -a -size -4k -exec more {} \;
10、使用sort 、uniq 操作/root/file.text文件,观察结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WYLP8BxY-1589632802205)(图片/1584451046406.png)]
11、统计文件/etc/inittab内容的字数、字节数和行数
12、文件的创建——touch创建空文件f1、f2,使用“ls >file1.txt”、“date >file2.txt”的方式将输出重定向到文件;
13、使用目录的创建命令——mkdir,创建/root/dir1;同时创建多级目录/root/dir2/dir21、/root/dir3/dir31、/root/dir4/dir41
14、复制普通文件/root/file1.txt和目录文件/root/dir2到/var;
移动/root/file1.txt和/root/dir3/到/home目录下;
删除/root/dir4。
尝试组合使用相应选项,观察操作的效果,特别是权限的变化
15、文件链接命令——ln
创建/root目录下file2.txt软链接file2.slnk和硬链接file2.hlnk,观察区别