Unix/Linux环境使用(基础篇)(三)

简介: Unix/Linux环境使用(基础篇)(三)

移动文件:mv🌴🌴🌴


用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项

含义

-f

禁止交互式操作,如有覆盖也不会给出提示

-i

确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件

-v

显示移动进度


989c3220f91a44ce9a145d13ad4e5c71.png

  1. 获取文件类型:file🌴🌴🌴

Linux系统文件类型不是根据文件扩展名分类的,通过file命令可以确认文件具体类型。


25d02fefe9df4f47b41708e86fb7f169.png


  1. 归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式

tar  [参数]  打包文件名  文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:


参数

含义

-c

生成档案文件,创建打包文件

-v

列出归档解档的详细过程,显示进度

-f

指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

-t

列出档案中包含的文件

-x

解开档案文件

注意:除了f需要放在参数的最后,其它参数的顺序任意



d257f11353cb485e89e6a80f1b615c43.png


  1. 文件压缩解压:gzip
  1. tar与gzip命令结合使用实现文件打包、压缩。
  2. tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip  [选项]  被压缩文件

常用选项:

选项

含义

-d

解压

-r

压缩所有子目录



f5c51da73ffd468e8f848e17bd8479a2.png


tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。


压缩用法:tar czvf 压缩包包名 文件1 文件2 ...


指定压缩包的格式为:file.tar.gz

例如:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz


3066e8a880594baaa7d6fd287a6127ef.png

解压用法: tar zxvf 压缩包包名

参数

含义

-z

指定压缩包的格式为:file.tar.gz


cc457bdadda04ce8a465df4065179ee8.png

解压到指定目录:-C (大写字母“C”)

例子:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下:

8152790841d344e794e7b71b8e959f01.png


  1. 文件压缩解压:bzip2🌴🌴
  1. tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
  2. tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
  3. 在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
  4. 压缩用法:tar cjvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
  5. 解压用法:tar xjvf 压缩包包名 (tar jxvf bk.tar.bz2)


  1. 文件压缩解压:zip
  1. 通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
  2. 压缩文件:zip  [-r] 目标文件(没有扩展名) 源文件
  3. 解压文件:unzip -d 解压后目录文件 压缩文件


3912310e5f4846089bd38ef83e8cbdaa.png


  1. 查看命令位置:which🌴🌴🌴



1f20705418454c9cbce756ad5ef425be.png


  • 用户、权限管理🌴🌴🌵🌵
  1. 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
  2. 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
  3. Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。
  4. 在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。
  5. 在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。


  1. 查看当前用户:whoami 🌴🌴🌴


whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。


由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。


57aa7eaf18d24c2081a1fb92d7ea250e.png


  1. 退出登录账户: exit🌴🌵🌴🌵
  1. 如果是图形界面,退出当前终端;
  2. 如果是使用ssh远程登录,退出登陆账户;
  3. 如果是切换后的登陆用户,退出则返回上一个登陆账号。


  1. 切换用户:su

可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:

67d283c13ded4fbdbce92c2f25c288b1.png


注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理员才能操作,ubuntu无需切换到root用户即可操作,只需加“sudo”即可。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性。


命令

含义

su

切换到root用户

su root

切换到root用户

su -

切换到root用户,同时切换目录到/root

su - root

切换到root用户,同时切换目录到/root

su 普通用户

切换到普通用户

su - 普通用户

切换到普通用户,同时切换普通用户所在的目录


  1. 添加、删除组账号:groupadd、groupdel
  1. groupadd 新建组账号
  2. groupdel 组账号
  3. cat /etc/group 查看用户组


f17dcaf840fb4cb0b05e2d4d824acd60.png


  1. 修改用户所在组:usermod

使用方法:usermod -g 用户组 用户名


ff92181a0b954427bf43cf42662ee702.png


  1. 添加用户账号:useradd

在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。

useradd命令的使用格式如下:

useradd  [参数]  新建用户账号


参数

含义

-d <dirname>

指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录

-m

自动建立目录

-g

指定组名称



相关说明:

  1. Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
  2. 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
  3. 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
  4. 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。


命令

含义

useradd -d /home/abc abc -m

创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组

useradd -d /home/a a -g test -m

创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组

cat /etc/passwd

查看系统当前用户名


  1. 设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。


92ea766aa8d84997a534706238f97ca7.png



  1. 删除用户:userdel


命令

含义

userdel abc(用户名)

删除abc用户,但不会自动删除用户的主目录

userdel -r abc(用户名)

删除用户,同时删除用户的主目录


查询用户登录情况:last

不管是哪位用户从哪里登录,管理员都可以通过last命令查出,以及是否有人非法登录。


修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:chmod u/g/o/a  +/-/=  rwx  文件


[ u/g/o/a ]

含义

u

user 表示该文件的所有者 

g

group 表示与该文件的所有者属于同一组( group )者,即用户组

o

other 表示其他以外的人

a

all 表示这三者皆是


=

设定权限

rwx

含义

r

read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。

w

write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。

x

excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。


[ +-= ]

含义

+

 

增加权限 

-

撤销权限

=

设定权限


chmod o+w file 给文件file的其它用户增加写权限:


de1b0e66bb3248538c6fcfb4344d219f.jpg

chmod u-r file 给文件file的拥有者减去读的权限:


3e961776cfbf471f8913e47842a5871a.jpg


chmod g=x file设置文件file的同组用户的权限为可执行,同时去除读、写权限:


a91eca34b8bb481f957e768b51fd1b6f.jpg


数字法:“rwx” 这些权限也可以用数字来代替

r

读取权限,数字代号为 "4"

w

写入权限,数字代号为 "2"

x

执行权限,数字代号为 "1"

-

不具任何权限,数字代号为 "0"


如执行:chmod u=rwx,g=rx,o=r filename

就等同于:chmod u=7,g=5,o=4 filename

chmod 751 file:

  1. 文件所有者:读、写、执行权限
  2. 同组用户:读、执行的权限
  3. 其它用户:执行的权限


4d3b1ff2841f43a2a16e27b81afb96e7.png

chmod 777 file:所有用户拥有读、写、执行权限


7d96316d936f48a2a9fc6f05ccf80fa5.png


 

注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。

如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限。

 

修改文件所有者:chown🌴🌴🌴


使用方法:chown  用户名  文件或目录名


58c8795aa999444cb2ac8a48f146bcdf.png

修改文件所属组:chgrp🌴🌴🌴


使用方法:chgrp  用户组名  文件或目录名


1c7976e440434d2499ac5ed64f7cc4ee.png


相关文章
|
28天前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
29 0
|
1月前
|
存储 缓存 Linux
如何在Linux环境下对pip的缓存地址进行修改
如何在Linux环境下对pip的缓存地址进行修改
|
1月前
|
NoSQL Linux 开发工具
【Linux】环境基础开发工具的使用之gdb详解(三)
【Linux】环境基础开发工具的使用之gdb详解(三)
|
1月前
|
Linux 编译器 开发工具
【Linux】环境基础开发工具的使用之gcc详解(二)
【Linux】环境基础开发工具的使用之gcc详解(二)
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
1月前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示Unix-to-Unix Copy (UUCP) 系统的状态信息 uustat命令 使用指南
26 0
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
16 0
|
28天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0