linux系统常用命令(二)文件相关

本文详细介绍了Linux系统中关于文件的压缩、归档、查看、统计、搜索、权限管理等常用命令,包括gzip、bzip2、xz、tar、cat、wc、head、tail、more/less、file、grep、find、管道、通配符、chmod以及链接操作。通过实例演示了各种命令的使用方法,是Linux初学者和日常操作必备的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.压缩与打包

1.1压缩

1.1.1简介

1.在ubuntu中使用的压缩工具有 gzip bzip2 xz ,把文件压缩生成 .gz .bz2 .xz后缀的格式。
2.不能对目录进行压缩,只能对文件进行压缩。

1.1.2压缩命令与使用

gzip + 文件名 ==> 文件名.gz压缩文件

bzip2 + 文件名 ==> 文件名.bz2压缩文件

xz + 文件名 ==> 文件名.xz压缩文件
在这里插入图片描述

1.1.3解压命令与使用

gunzip + 文件名.gz

bunzip2 + 文件名.bz2

unxz + 文件名.xz
在这里插入图片描述

1.1.4压缩率

xz>bzip2>gzip

1.1.5压缩速率

gzip>bzip2z>xz

1.2归档

1.2.1概念

将目录打包为一个文件

1.2.2归档命令与使用

tar: 归档(打包)/拆包
-c :打包
-x :拆包
-v :显示过程信息
-f :后面跟文件名
-z :gzip压缩
-j :bzip2压缩
-J : xz压缩
例:(#:注释)

归档:
tar -cvf 归档后的名称.tar 需要归档的文件夹 
demo:
    tar -cvf day5.tar day5   #将day5 文件夹归档为 day5.tar.

拆包:
tar -xvf 归档后的文件.tar
demo:
	tar -xvf day5.tar

归档的同时进行压缩:
tar -czvf 归档压缩后的文件名.tar.gz 需要归档压缩的文件名
demo:
	tar -czvf day5.tar.gz day5      #使用gzip压缩
	tar -cjvf day5.tar.bz2 day5 	#使用bzip2压缩
	tar -cJvf day5.tar.xz day5		#使用xz压缩

解压压缩归档的文件:
tar -xzvf 归档压缩后的文件名.tar.gz
demo:
	tar -xzvf day5.tar.gz
	tar -xjvf day5.tar.bz2
	tar -xJvf day5.tar.xz

万能解压压缩归档的命令:
tar -xvf 归档压缩后的文件名.tar.xx #xx代表压缩后缀名,自动判断用的是哪种压缩

在这里插入图片描述

2.文件操作相关命令

2.1 查看文件内容

cat + 文件名 //将文件的内容在终端显示
cat -n 文件名 //将文件的内容在终端显示并显示行号

2.2 统计文件内容

wc +文件名 //文件内的行数,单词数,字符数

linux@ubuntu:~/22061/linux系统及C高级/day6$ wc text.sh 
 3      4     21     text.sh
行数  单词数  字符数   文件名

wc -l 文件名 //统计文件行数
wc -w 文件名 //统计文件单词数
wc -c 文件名 //统计文件字符数

2.3 查看文件命令

2.3.1 head显示文件开头内容

head + 文件名 //默认显示文件前10行到终端上
head -n(n是行数) 文件名 //显示文件前n行内容到终端上

demo:
	head -12 text.c  #显示text.c文件前12行内容到终端上

2.3.2 tail显示文件结尾内容

tail + 文件名 //默认显示倒数10行内容到终端上
tail -n(n是行数) 文件名 //默认显示倒数n行内容到终端上

demo:
	tail -12 text.c  #显示text.c文件倒数12行内容到终端上

2.3.3 more/less显示文章内容

more/less + 文件名 //more / less 也可以用来查看文件,一般在开发过程中不用, 一般使用vim 代替

2.3.4 file查看文件格式

file + 文件名

linux@ubuntu:~/22061/linux系统及C高级/day4$ file a.out 
a.out: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=576e064f89a2d62831662bcf648434a2ea89c62b, not stripped
ELF : 小端的可执行文件
64-bit : 64位
LSB : 小端 
x86-64 : 在ubuntu上执行

2.3.5 grep文件内容搜索命令

grep + 搜索字符串的内容
-n 显示行号
-R 递归搜索
-i 不区分大小写
-w 按单词准确搜索

demo:
	grep "main" *.c -nR // 在当前路径下所有的.c文件中查找 main 单词 
	grep "swap" *.c -nRiw //在当前路径下所有的.c文件中查找 main 单词 ,忽略大小写显示行号,单词精确查找

2.3.6 find查找文件位置

find + 路径 -name 文件名

demo:
	find ~/xk/c基础/day1 -name a.out //在~/xk/c基础/day1下查找名字为a.out文件

2.3.7 | 管道命令

将上一条命令的结果,作为后一条命令的输入

demo:
	head text.c | tail -2 text.c //将输出十行的倒数两行写在终端上

2.3.8 echo命令

echo + 字符串 // 将字符串的内容显示到终端上

重定向符号使用:  
    > : 以覆盖的形式进行重定向.
    echo  "hello world"  > demo.txt   //将hello world 内容重定向到 demo.txt里面
    >> : 以追加的形式进行重定向 
    echo "hello world"  >> demo.txt   // 以追加的形式将hello world 定向到demo.txt里面

在这里插入图片描述

3.通配符

3.1 *通配符

用于匹配任意长度, 任意字符的通配符

demo:
	ls  *.c  // 显示所有以c结尾的文件
	rm -rf * //  删除路径上的所有文件 

3.2 ?通配符

用于匹配任意一个字符的通配符

demo: 
	ls  ?.c    //   1.c   

3.3 []通配符

[字符1字符2字符3…字符n] []就是通配的单词列表

demo:
	ls a[123].c // a1.c a2.c a3.c

4.文件操作权限

4.1前言

-rw-r–r-- 1 linux linux 222 5月 30 00:33 18zhizhencpy.c
-:文件类型bsp-lcd(详情见之前文章)linux系统常用命令
rwx- :文件权限

4.2 文件权限

  rw-       r--        r--
用户权限   组权限   其他用户权限

r:可读 4
w:可写 2
x:可执行 1
-:没有权限 0

u : 用户 user
g : 组 group
o : 其他用户 other
a : 所有用户 all

+:给权限
-:去权限

4.3 chmod修改文件权限

chmod u+x text.c // 给 text.c这个文件的用户添加执行权限
chmod a+x text.c // 给 text.c文件的所有用户添加执行权限
chmod og-x text.c // 给 text.c文件的其他用户以及组用户取消 执行权限.

demo :
chmod 0777  text.c // 给 text.c所有用户添加 rwx权限

5.链接

5.1 软链接

类似于windows 当中的快捷方式. 可以通过链接文件,找到原来所在的文件.
ln -s 路径/被连接文件 路径/生成的链接文件

demo: 
	ln -s  link.c  link1.c  // 给 link.c 创建一个软连接  link1.c 

注意:
(1)删除链接文件,被链接文件没有任何变化, 内容也不会被删除 。
(2)删除被链接文件, 链接会断开. 链接文件还是存在的 (内容 空) 。
(3)软连接可以链接目录 。
(4)被软连接链接的目录或者文件,链接数不会增加 。

8.2 硬链接

类似于给文件起一个别名,类似于复制
ln 路径/被连接文件 路径/生成的链接文件

demo :
ln  link.c  link1.c  // 给 link.c 创建一个硬连接  link1.c 

注意:
(1)硬链接只能链接文件, 不能链接目录 。
(2)创建硬链接的时候,链接数是会增加的。
(3)硬链接与之前文件的inode号是相同的。
(4)删除一个源文件或者链接文件 对其他不产生影响。

6. 修改文件所属用户以及所属组

-rw-r--r-- 1     linux        linux      222 530 00:33 18zhizhencpy.c
              文件所属用户  文件所属的组

6.1 chown (用户: 组)

chown 用户名:组名 文件名

demo:
	sudo chown linux:root text.txt   // 将text.txt文件的所属用户改为 linux, 所属组改为 root 

在这里插入图片描述

6.2 chgrp 组

chgrp 组名 文件名

demo:
	sudo chgrp root code    // 将code 文件所属组修改为 root  

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫徐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值