Linux学习笔记二

本文详细介绍了Linux系统中使用tar命令进行文件打包压缩与解压缩,包括gzip、bzip2、xz三种方式。此外,还涉及文件的创建、添加、排除以及查看压缩包内容。讲解了如何通过sftp在Linux和Windows之间传输文件。接着,文章讨论了Linux环境变量的创建和访问,以及别名的设置与取消。最后,回顾了Linux中的用户类型、用户组和相关配置文件的字段说明。
摘要由CSDN通过智能技术生成

tar命令

使用tar命令对文件进行打包压缩与解压缩:

使用gzip方式对文件进行压缩,并指定压缩名为 tar_gzip.tar.gz

[root@ikta ~]# tar -czvf tar_gzip.tar.gz find_test1 find_test2
find_test1
find_test2

使用bzip2方式对文件夹进行压缩,并指定压缩名为 tar_bzip2.tar.bz2

[root@ikta ~]# tar -cjvf tar_bzip2.tar.bz2 tar_test/
tar_test/
tar_test/find_test1
tar_test/find_test2

使用xz方式对文件进行压缩,并指定压缩名为 tar_xz.tar.xz

[root@ikta ~]# tar -cJvf tar_xz.tar.xz find_test1
find_test1

新建文件file1.txt,file2.txt,file3.txt

[root@ikta ~]# touch file{1..3}.txt

对文件file1.txt和file2.txt,进行压缩(使用gzip方式),排除file3.txt(即不对file3进行压缩)
并指定压缩名为tar_file.tar.gz

[root@ikta ~]# tar --exclude=file3.txt -czvf tar_file.tar.gz file1.txt file2.txt 
file1.txt
file2.txt

新建文件file4.txt,将file4.txt添加到tar_file.tar.gz中

[root@ikta ~]# tar -rvf tar_file.tar file4.txt
file4.txt

查看压缩包tar_file.tar.gz有哪些文件及目录(不解压,只查看)

[root@ikta ~]# tar -tvf tar_file.tar.gz 
-rw-r--r-- root/root         0 2021-11-17 00:29 file1.txt
-rw-r--r-- root/root         0 2021-11-17 00:29 file2.txt
-rw-r--r-- root/root         0 2021-11-17 23:24 file4.txt

解压tar_gzip.tar.gz到指定目录tar_test(没有这个目录就创建)

[root@ikta ~]# tar -xvf tar_file.tar.gz -C tar_test/
file1.txt
file2.txt
file4.txt

解压tar_xz.tar.xz

[root@ikta ~]# tar -xvf tar_xz.tar.xz 
find_test1

2.在Linux上的/root目录创建一个Linux.txt,在windows上创建windows.txt
在cmd上连接linux

在这里插入图片描述

现在所在的目录为根目录,我们近端为PC端,远端为Linux端
注意:cd切换的是远端的目录;lcd切换的是本地的目录

在这里插入图片描述

通过sftp的 get和put命令,将windows上的windows.txt推送到linux上

同理

通过sftp的 get和put命令,将linux上的linux.txt推送到windows上
在这里插入图片描述

在这里插入图片描述

使用rz上传文件windows.txt到linux上

在这里插入图片描述

使用sz下载文件linux.txt到windows上

在这里插入图片描述

环境变量

普通变量的操作

创建普通变量local_data=1并访问

[root@ikta ~]# local_data=1
[root@ikta ~]# echo $local_data
1

用户变量的操作

创建环境变量root_data, 只有root用户可以访问到

[root@ikta ~]# vim .bash_profile               ------编辑root的环境变量(root_data=root)
[root@ikta ~]# source .bash_profile            ------使文件生效
[root@ikta ~]# echo $root_data                 ------打印
root

创建环境变量normal_user_data, 只有普通用户testuser1可以访问到

[root@ikta ~]# su - testuser1          ------切换到testuser1用户
[testuser1@ikta ~]$ vim .bash_profile  ------编辑用户的环境变量(normal_user_data=testuser1)
[testuser1@ikta ~]$ source .bash_profile    ------生效
[testuser1@ikta ~]$ echo $normal_user_data  ------打印
testuser1

全局变量的操作

创建环境变量root用户和普通用户都可以访问到

[root@ikta ~]# vim /etc/profile         -------全局环境变量(global_data=global)
[root@ikta ~]# source /etc/profile      -------生效
[root@ikta ~]# echo $global_data        
global

alias别名

创建3个文件test1.txt, test2.txt, test3.txt

使用find查找test1.txt,test2.txt, test3.txt

[root@ikta ~]# touch test{1..3}.txt
[root@ikta ~]# find . -name "test*.txt"
./test1.txt
./test2.txt
./test3.txt

使用别名

使用别名: 将上边命令命名为myfind

[root@ikta ~]# alias myfind='find . -name "test*.txt"'
[root@ikta ~]# myfind
./test1.txt
./test2.txt
./test3.txt

取消别名(unlias)

[root@ikta ~]# unalias myfind

history命令

查看最近使用的10条历史命令(history)

[root@ikta ~]# history 10

同时执行两条命令

在一行上打印123和以及从root切换到普通用户 (分号)

[root@ikta ~]# echo "123";su - testuser1
123
[testuser1@ikta ~]$

通配符使用

创建3个文件 file1, file2, file3

1.* 去匹配3个文件

[root@ikta ~]# ls -l file*

2.? 匹配3个文件

[root@ikta ~]# ls -l file?

3.[]匹配file1和file3

[root@ikta ~]# ls -l file[13]

4.[^]匹配file2

[root@ikta ~]# ls -l file[^13]

5.[!]匹配file2

[root@ikta ~]# ls -l file[!13]

6.{}匹配file1和file3

[root@ikta ~]# ls -l file{1,3}

无引号,单引号,双引号,反引号,$()的使用

引号的使用举例: 无引号,单引号,双引号,反引号,$()

无引号

[root@ikta ~]# data=1
[root@ikta ~]# echo $data
1                            -----字符串1

单引号

[root@ikta ~]# data='1'
[root@ikta ~]# echo $data
1                            -------无论写什么都原样输出

双引号

[root@ikta ~]# data=1
[root@ikta ~]# echo $data
1
[root@ikta ~]# data2="$data 123"
[root@ikta ~]# echo $data2
1 123                         --------先去提取变量的值再去输出

反引号

[root@ikta ~]# data3=`pwd`
[root@ikta ~]# echo $data3
/root                         ----------一般用于命令,先去执行反引号里面的命令,再把值传给变量

$()

[root@ikta ~]# data4=$(pwd)
[root@ikta ~]# echo $data4
/root                        ------------和反引号一样

Linux三种用户类型详解

(1)linux中用户的类型

超级用户——用户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下 才用超级用户登录,以避免系统出现安全问题。

系统用户(伪用户)——是Linux系统正常工作所必需的内建的用户。 主要是为了满足相应的系统进程对文件属主的要求而建立的,例如:bin、daemon、adm、lp等用户。 系统用户不能用来登录.

普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。

超级用户的UID——0 

系统用户的UID——1~999 

普通用户的UID——≥1000

(2)linux中用户组的类型

基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是基 本组,基本组只容纳一个用户。当把其他用户加入到该组中,则基本组就变成了附加组。

附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。

系统组:一般加入一些系统用户。

/etc/下passwd、shadow、group、gshadow各文件中字段说明

在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的配置文件中的。

文件功能文件名称
用户账号文件/etc/passwd
用户密码文件/etc/shadow
用户组账号文件/etc/group
用户组密码文件/etc/gshadow

1)用户账号文件——/etc/passwd

passwd 是一个文本文件,用于定义系统的用户账号,由于所有用户都对passwd有读权限,所以该文件 中只定义用户账号,而不保存口令。
每行由7个字段组成,字段之间用“:”分隔,其格式如下:

账号名称:密码:UID:GID:个人资料:主目录:Shell

字段说明:

账号名称用户登录Linux系统时使用的名称。
密码以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位符“x” 或“*”。若为“x”,说明密码经过了shadow的保护
UID用户的标识,是一个数值,用它来区分不同的用户
GID用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。
个人资料可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。
主目录类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行 “cd~”命令时当前目录会切换到个人主目录。
Shell定义用户登录后激活的Shell,默认是Bash Shell

2)用户密码文件——/etc/shadow

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

/etc/shadow文件中的每行9个字段的含义分别为:

字段含义
登录名登录名
加密口令使用SHA-512/SHA-256/MD5算法加密后的密码,若为空,表示该用户无需密码即可登录, 若为“*”表示该账号不能用于登录系统,若为“!!”表示该账号密码已被锁定
最后一次修改时间最近一次更改密码的日期,以距离1970年1月1日的天数表示
最小时间间隔密码在多少天内不能被修改。默认值为0,表示不限制
最大时间间隔密码在多少天后必须被修改。默认值为99999,表示不进行限制
警告时间提前多少天警告用户密码将过期,默认值为7天,0表示不提供警告
不活动时间密码过期多少天后禁用此用户
失效时间密码失效日期,以距离1970年1月1日的天数表示,默认为空,表示永久可用
标志保留未用,以便以后发展之用

3)用户组文件——/etc/group

系统中的每个组,在/etc/group文件中有一行记录
任何用户均可以读取用户组账户信息配置文件。
用户组的真实密码保存在/etc/gshadow配置文件中。

group文件字段说明:

字段说明
Groupname组的名字
Passwd组的加密口令
GID是系统区分不同组的ID,在/etc/passwd域中的GID字段是用这个数来指定用户的基本组
Userlist是用“,”分开的用户名,列出的是附加组的成员。

4)用户组密码——/etc/gshadow

存放的是组密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值