Linux——Ubuntu的基础操作

压缩与解压缩

gzip压缩工具

创建文件 a.c和b.c

touch a.c touch b.c

压缩文件a.c和b.c

gzip a.c gzip b.c

解压缩a.c.gz和b.c.gz

gzip -d a.c.gz

对文件夹进行压缩

gzip -r

对文件夹进行解压缩

gzip -rd

注意:这只是对文件夹里所有文件进行压缩,并不进行打包服务

bzip压缩工具

压缩文件

bzip -z a.c 对文件a.c进行压缩

tar打包工具

tar工具参数

-f:使用归档文件

-c:创建新归档(压缩)

-x:从归档中解出文件(解压缩)

-j:用bzip2格式压缩

-z:用gzip格式压缩

-v:打印出命令执行过程

用bzip格式压缩打包文件,操作如下:

解压缩bzip格式的文件,操作如下(-f需要放在最后,因为-f 后面跟着档案名):

用gzip格式压缩打包文件,操作如下:

解压缩gzip格式的文件,操作如下(-f需要放在最后,因为-f 后面跟着档案名):

其他压缩格式:

rar格式

压缩:rar a test.rar test

解压缩:rar x test.rar

zip格式

压缩:zip -rv test.zip test(-rv用递归压缩目录下各文件,v表示显示过程)

解压缩:unzip

用户与用户组

用户操作

添加用户:sudo adduser 用户名

用户查询:finger 用户名

修改用户密码:sudo passwd 用户名

删除用户:sudo deluser 用户名

用户组操作

创建用户组:sudo addgroup 用户组名

显示组内用户名:groups 用户组名

删除用户组:sudo delgroup 用户组名

Ubuntu/Linux文件权限修改

修改文件权限命令

r 4

w 2

x 1

chmod命令

修改文件所属用户

chown命令:sudo chown 所属用户.所属用户组 文件名

Linux连接文件

Linux有两种连接文件:符号连接(软连接)和硬连接,符号链接类似windows下的快捷方式。硬链接 通过文件系统的inode连接来产生新文件名,而不是产生新文件。

inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。

ln命令

ln命令用于创建连接文件

ln [选项] 源文件 目标文件

选项:-s 创建符号链接(软连接)

-f 强制创建连接文件,如果目标存在,那么先删除目标文件,然后再建立连接文件。

硬连接

硬链接是多个文件都指向同一个inode,硬链接知识点:

(1)具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。

(2)对于硬链接文件,只有删除了源文件以及对应的所有硬链接文件,文件实体才会被删除。

(3)根据硬链接文件的特点,我们可以通过文件创建硬链接的方式来防止文件被误删除。

(4)不论修改源文件还是连接文件,另一个文件的数据都会被改变。

(5)硬连接不能跨文件系统。

(6)硬连接不能连接到目录。

符号连接(软连接)

符号连接类似windows下的快捷方式,符号连接也叫软连接,软连接用的多,符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:

(1)可以连接到目录。

(2)可以跨文件系统。

(3)删除源文件以后,软连接文件也就打不开了。

(4)符号连接文件通过->来指示具体的连接文件。

创建硬连接文件

ll -i(ll表示ls -l,-i表示显示每个文件的索引编号(inode号))

创建软连接文件

如果没有使用绝对路径创建软连接,就是下面的情况,hello2不可执行。

cp拷贝命令如果你要保持软件连接就要在cp后面加-d,否则就是将源文件进行拷贝。

我们将源文件删除后,所有软连接文件就无效了,这是跟硬连接的区别之一。

vim编辑器

进入编辑器后,默认为命令模式:

a(从所在光标的后面插入)

i(从所在光标的前面插入)

只有点击i进入命令模式才能进行下面操作:

进入命令模式后,点击shift+英文的':',进入底行模式。

然后输入下面命令进行操作

x 保存当前文档并且退出。

q 退出。

w 保存文档。

q! 不保存退出。

命令模式下:

1、dd,删除光标所在行,ndd,删除光标所在行及其下n行。

2、u,撤销,恢复上一步。

3、.,重复前一个操作。

4、yy,重复光标所在行,nyy,复制光标所在向下n行。

5、p和P,p是粘贴到光标下一行,P是粘贴到光标上一行。

相关推荐
我们的五年4 分钟前
【Linux课程学习】:进程描述---PCB(Process Control Block)
linux·运维·c++
我言秋日胜春朝★1 小时前
【Linux】进程地址空间
linux·运维·服务器
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
ac.char2 小时前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾2 小时前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程3 小时前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.3 小时前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++