首页 >> 大全

Linux基础命令3(常见的文件相关命令--文件创建、查找、编辑等操作)

2023-12-19 大全 28 作者:考证青年

目录

查看/搜索目录下的文件

ls

tree

find

查找命令对应的文件

which

查看文件的相关属性

file

du

stat

查看文件的内容

cat

more

less

head

tail

统计/提取文件信息

grep

wc

cut

编辑文件内容

tr

uniq

diff

sort

创建/删除文件与目录

touch

mkdir

rm

rmdir

文件与目录的复制粘贴

dd

cp

mv

文件与目录的解压缩

tar

zip

rar

其它文件与目录相关命令

pwd 显示当前工作目录

cd 切换工作目录

wget

查看/搜索目录下的文件 ls

ls 【参数】 【文件或目录】————查看目录下的内容(list)

ls -a 查看当前目录下所有的文件(包含.隐藏文件)

ls -l 通过长格式显示文件(显示文件的权限、所有者、大小等信息)

ls -d 目录名称 通过长格式显示此目录的信息(不显示其下的各个文件)

ls -l 文件名 通过长格式显示此文件的信息

ls -h 人性化显示文件大小(一般与l一起使用)

-A:显示指定目录下所有的子目录及文件,包括隐藏文件

-c:按文件的修改时间排序

-C:分成多列显示各行

参数讲解

d 表示文件类型

rwx------ 表示文件权限 Linux 文件权限讲解_静下心来敲木鱼的博客-CSDN博客

%257B%%%2522%253A%%2522%252C%%2522%253A%..pc%.%2522%257D&=68&=0&=..none-task-blog-2~blog~~-13--null-null.&=ls&spm=1018.2226.3001.4450

. 代表文件访问控制列表(.表示没有配置,+表示配置了文件访问控制列表)

1 代表inode数量

root 文件所有者

root 文件所属组

1383 文件的实际大小(并非文件的占用大小)

Feb 5 18:15 文件的修改时间

Music 文件名

tree

tree 【目录】————查看目录结构(查看目录下的子目录)

tree 查看当前目录结构

tree 目录 查看此目录结构

find

find 目标目录【参数】 【名称1】————在目标目录下搜索文件名为名称1的文件

find搜索有点慢

find也可以使用正则表达式作为条件搜索对应文件

参数

-exec 把find命令搜索到的结果交由紧随其后的命令做进一步处理

-ok 与exec类似,只是在之后后续的命令时会提醒一次,更加安全

-perm 匹配权限

-group 匹配所有组

-size 匹配文件的大小(+100kb为超过100kb的文件,-为小于100kb的照片)

- 没有所有者的文件

- 没有所属组的文件

-o 逻辑或

-a 逻辑与

-uid 指定所有者

| xargs tar cvzf 可以将查询的结果压缩

-type 按照文件类型来查看

f:普通文件

d:目录文件

l:符号链接文件

查找命令的主要特点__用命令行查找文件

s:套接字文件

b:块设备文件

c:字符设备文件

p:管道文件

例子

find /etc -name fstab 在/etc目录搜索文件名为fstab的文件

find / -user admin 全盘搜索归于admin用户的文件

find / -name fstab -exec cp -rf {} . \; 将搜索结果复制到当前目录下

find /opt -type f - -ok rm{} \; 查找/opt目录下有无属主的文件,如果有直接删除

注意:\转义符 将后面的变量转为单纯的字符

{}是find到的每一个文件,找到一个文件,运行一次命令,找到几个文件就运行几次命令

find /etc -type f \( - -o - \) 查看/etc目录下没有属主或属组的文件

find /etc -type f -perm -2777 \( -size +20k -size -50k \) 查看/etc目录下具有2777权限的文件,并且文件大小大于20k,小于50k

find / -type d -name fstab 全盘搜索名字为fstab的目录文件

按照文件的时间戳来查找文件

以天为单位

-atime n 依据访问时间来查找文件

-mtime 依据修改时间来查找文件

-ctime 依据更改时间来查找文件

以分钟为单位

-amin

-mmin

-cmin

find -atime 1

find -atime +1

按照文件的权限来查找文件

find -perm 220 匹配所有者和所有组只有写权限,其他用户没有权限的文件(只匹配220)

find -perm -220 匹配所有者和组都包含写权限的文件(会匹配220、777等,不会匹配200、020)

find -perm /220 匹配所有者包含写权限或组包含写权限的文件(会匹配200、020、220、777等)

名字————在库文件中快速检索存在该名称的文件名的路径

该搜索是在库文件中搜索(库文件通过命令生成,第一次使用命令时需要执行生成索引数据库);库文件名称:/var/lib//.db

fstab 快速搜索fstab文件

find搜索是需要严格匹配fstab,搜索是只要有关键词fstab就匹配

查找命令对应的文件

【参数】 命令名————搜索命令所在路径及帮助文档所在位置

-b 只查找可执行文件

-m 之查找帮助文件

也是基于命令所生成的索引库文件进行搜索,相比于更快;与不同的是,能快速找到命令本身以及命令所对应的资料(命令手册等)的位置

top 查找topt命令对应的命令本身的位置以及命令所对应资料的位置

which

which 命令名————搜索命令所在的路径和别名

不太关心是否有帮助文档

which top 查找top命令对应的命令本身的位置和别名(没有别名则不显示)

查看文件的相关属性 file

file 【参数】 文件名————查看文件类型(不要通过颜色区分)

-b 只显示文件类型,不显示文件名称

-c 显示文件名称时不显示文件类型

-s 显示文件的简要信息

-z 不转换压缩文件的格式

-L 支持符号连接

文件类型

普通文件( files):存储数据信息,细分为二进制文件(可执行程序、图像等)和文本文件(使用ASCII或等字符编码)

目录文件():存放文件和其它目录的一种特殊文件

符号链接文件(Links):类似于的快捷方式

套接字文件():与网络通信相关的文件类型

设备文件( files):将I/O设备视为特殊文件,不同的设别对应不同的名称(例如sda、eth0等);分为块设备和字符设备两种

管道文件(FIFOs):用于进程间通信的特殊文件

du

du 【参数】 【文件或目录】————查看当前指定文件或目录(会递归显示子目录)占用磁盘空间大小

-h 以容易阅读的方式显示(KB为单位)

-m 以MB为单位输出

-s 显示目录下所有文件总的占用大小

du -h --max-depth=1 只显示第一级目录下所使用的硬盘空间数

stat

stat 文件———— 查看文件的存储细节和时间等信息()

stat Music/ 查看目录Music的时间信息

: 最后一次查看文件内容的时间(访问时间)

:最后一次修改文件属性的时间(更换时间)

:最后一次修改文件内容的时间(修改时间)

ls -l 查看文件显示出来的时间指的是最后修改的时间

修改文件内容后,为什么c和m的时间有时候会一起更改?

因为修改文件内容后,不仅文件内容改变了,文件的大小也可能会改变

查看文件的内容 cat

cat 【参数】 文件名————查看内容较少的纯文本文件()

-b 对输出内容中的非空行标注行号

-n 对输出内容中的所有行标注行号

more

more 文件名————查看内容较多的纯文本文件(一页一页分屏显示文件的内容)

常用的操作命令

Enter 向下n行;默认1行

空格键 向下滚动一屏

查找命令的主要特点__用命令行查找文件

ctrl+b/b 返回上一屏

q 中途退出more;当浏览到最后一行时会自动退出

-num这里的num是一个数字,用来指定分页显示时每页的行数。

+num 指定从文件的第num行开始显示

浏览到最后一页会自动退出

less

less 文件————查看内容较多的纯文本文件,并且具有搜索功能

man命令就是通过调用less来查看帮助文档的,所以less和man的操作都是一致的

常用操作命令

Enter 向下移动一行

y 向上移动一行

空格键 向下滚动一屏

b 向上滚动一屏

? 向上搜索“字符串”的功能

/ 向下搜索“字符串”的功能

n 查找下一个搜索的内容

浏览到最后一也不会自动退出,需要输入q来退出

head

head 【参数】 文件名————用于查看文件的前N行

-n num:查看文件的前num行

-c num:显示指定文件的前num个字符

head -n 10 文件名 查看文件的前10行(默认前10行)

tail

tail 【参数】 文件名————查看文件的后N行或刷新文件的最新内容

-n num查看文件的末尾num行

-c num显示指定文件的末尾num个字符

-f 表示持续侦测文件按内容,ctrl+c结束侦测

+num 从第num行开始显示指定文件的内容

tail -n 10 文件名 查看文件的后10行

tail -f /var/log/ 持续刷新日志文件并显示出来

统计/提取文件信息 grep

grep 【参数】 字符串 文件名———— 按照行做文件的信息提取;显示出文件中所有带字符串的行

-n 显示行数

-v 反向选择(列出没有匹配的行)

-i 忽略大小写

-A n 显示匹配到的字符所在的行及其后n行

-B n 显示匹配到的字符所在的行及其前n行

-C n 显示匹配到的字符所在的行及其前后n行

-r 递归搜索目录

-c对匹配的行计数

-l 只显示包含匹配模式的文件名

-h抑制包含匹配模式的文件名的显示

grep -rnl "" /var/log 在该目录下查找包含admin内容的文件有哪些

wc

wc 【参数】 文件————对文件做统计工作(word );统计文本文件的行数、字数、字节数等

-l 只显示行数

-w 显示单词数

-c 显示字节数

wc - l /etc/ 显示文件的行数--显示当前系统中有多少个用户(有多少行就有多少个用户)

cut

cut 【参数】文件————按照列做文件的信息提取

-d 间隔符

-f 第几列的信息

cut -d : -f 1 /etc/ 以:为间隔符,显示第一列的信息,提取/etc/文件中用户的名字分别是什么

编辑文件内容 tr

替换文本内容中的字符()

tr命令没有能力去读取一个文件,所以我们可以使用cat命令结合管道符将文本内容传递给tr命令进行操作

cat 文件名 | tr [a-z] [A-Z] 将文件中的小写字符都替换为大写字符

|将前面字符的输出结果当作后面字符的输入

执行此命令之后文件的内容不会改变,因为没有执行写入的操作

uniq

uniq 文件名————去除文本中连续的重复行()

只会去除相邻的重复行,不相邻的重复行不会去除

也可以通过排序命令进行先进行排序,然后在通过此uniq进行去重处理

执行此命令之后文件的内容不会改变,因为没有执行写入的操作

diff

diff 【参数】 【文件1】 【文件2】————用来对文件做比较()

--brief 比较文件a和b是否相同

-c 将两文件不同的信息显示出来(哪行前有符号就表示不同)

sort

sort 【参数】 文件————对文本内容进行排序(默认按照首字母排序)

-n 按照数值型排序

-u 去除重复行(uniq是去除连续的相同行,sort -u是只要有相同的行就会去除)

-t 指定间隔符

-k 设置字段范围

sort -t : -k 3 -n 文件 文件以:作为分割符分为多段,通过第三段的内容按照数值型排序

sort 文件名 | uniq 对文件排序并去重

执行此命令之后文件的内容不会改变,因为没有执行写入的操作

创建/删除文件与目录 touch

touch 【参数】 文件————创建空白文件(一般文件、文本文件、配置文件),设置文件时间(无法修改文件的更改时间)等

-a 修改 读取时间 atime

-m 修改 修改时间 mtime

-d 同时修改atime和mtime时间

touch 文件名 创建文件

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了