热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

虚拟机操作(1)

liunx系统(py3env)pyvip@vip:$(虚拟环境名)用户名@主机名:(根目录):$(普通用户)(py3env)pyvip@vip:~$(虚拟环境名)用户名@主机名:(




liunx系统

(py3env)pyvip@vip:/$
(虚拟环境名) 用户名@主机名:/(根目录):$(普通用户)
(py3env)pyvip@vip:~$
(虚拟环境名) 用户名@主机名:/(当前目录):$(普通用户)

1.系统结构介绍


1.Linux由来

Linux操作系统是基于UNIX操作系统的, 其内核主要是由C程序编写。Linux是自由和开放的,任何组织和个人只要遵循GNU通用公共许可证协议都可以自由免费地使用Linux的所有底层源代码,并可以自由地修改和分发。

2.Linux的目录结构

Linux和Windows最大的不同之处在于Linux的目录结构的设计,在Linux中,任何文件,目录和设备都在根目录“/”之下。Linux把所有文件和设备都当作文件来管理,这些文件都在根目录下,同时Linux中的文件名区分大小写。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TCjNjDDH-1579605048596)(E:\python-summer-1\虚拟机操作\1-linux系统目录.png)]


3.命令提示符

[root@Vip ~]#
[pyvip@Vip ~]$

格式:[用户@主机名 当前目录]#

rootLinux管理员,也称为超级用户

pyvipLinux普通用户,在Ubuntu中,root用户被锁定,当需要是使用的时候可以使用sudo来提权,详情请见:https://help.ubuntu.com/community/RootSudo

这里的Vip是主机名,相当于Windows上的计算机名。

~是当前用户的家目录,家目录就相当于我们window系统盘中的用户目录

#是超级用户的提示符,$是普通用户的提示符。

命令:pwd 当前目录 、hostname 主机名、whoami 当前用户

[root@budong ~]# pwd
/root
[root@budong ~]# hostname
budong
[root@budong ~]# whoami
root

4.Linux的用户

在Linux中root用户具有超级权限,可以操作任何文件,日常使用中应该避免使用它。这就需要我们在平常使用的过程中使用普通用户。

在Linux中有三种用户,超级用户、系统用户和普通用户,超级用户就是root用户;系统用户是系统正常使用时使用的账户,如bin、mail等,但是系统用户不能够登录;普通用户是普通使用者,能够使用Linux大部分资源,但是一些特定的权限受到控制。

在Linux中可以使用cat /etc/passwd查看当前的用户

root:x:0:0:root:/root:/bin/bash
#用户名称:用户密码:用户标记号:组标记号:相关注释:主目录:使用的Shell
#root用户可以使用 cat /etc/shadow 查看加密后的用户密码

5.Linux的用户管理


1.添加用户

#在Ubuntu则需要执行下面的操作
pyvip@Vip:~$ sudo useradd -m budong
#修改用户 budong 的密码
pyvip@Vip:~$ sudo passwd budong

2.为普通用户添加sudo权限

pyvip@Vip:~$ sudo visudo
#在root ALL=(ALL) ALL #这行下面添加如下
budong ALL=(ALL) ALL

visudo 打开文件后,将username ALL=(ALL) ALL加入到文件中。具体步骤:

​ 1.visudo进入文件。

​ 2.按上下键找到 root ALL=(ALL) ALL 这一行内容。

​ 3.按 i 键进入插入模式,然后输入 username ALL=(ALL) ALL

​ 4.输入完成后,按Esc,然后shift+; ,末行出现冒号后输入wq回车来保存退出。

在完成上面的步骤之后我们就可以使用普通用户登陆,xshell这里也是,可以是用普通用户,不用担心root权限过大造成关系文件的误操作。


3.用户操作

pyvip@Vip:/home$ sudo usermod -l budong1 budong #更改用户名
pyvip@Vip:/home$ sudo userdel budong1 #删除用户
pyvip@Vip:/home$ sudo userdel -r budong1 #删除用户,以及主目录和目录中的所有文件

4.用户组

Linux中除啦用户之外还有用户组的概念,用户组就是具有相同特征的用户的用户集合。每个用户都有对应的用户组。通过对/etc/group文件的操作,实现对用户组的添加、修改和删除。有用户组之后,系统可以方便的对用户组进行操作,如赋予文件权限等。

Linux中使用groupaddgroupdelgroupmod来实现对用户组的添加、删除和修改


2.必知命令


1.目录跳转cd

语法:cd (选项) (参数)

常见用法:

cd path # path 默认是相对路径路径,可以用绝对路径。
cd . # 当前目录
cd .. # 回到上一级目录
cd / # 跳到根目录
cd ~ # 回到家目录
cd # 回到家目录
cd - # 回到上一次目录

2.查看目录内容的命令配合着cd命令一起学习

ls 查看当前目录中的内容
ll 详细列出当前目录中的内容
pwd 查看当前目录

查看目录下的文件ls**

语法:ls(选项)(参数)

选项

-a:显示所有(包括隐藏的)档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出)
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
- lh:人性化展示详细信息
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-k:以KB(千字节)为单位显示文件大小;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;

常见用法

pyvip@Vip:~$ ls
pyvip@Vip:~$ ll # 在Ubuntu中其实是 ls -alF 的别名
pyvip@Vip:~$ ls -lrt # 最新更改的文件在最下面

3.创建/删除文件夹 mkdir rmdir

语法:mkdir (选项)(参数) rmdir(选项)(参数)

pyvip@Vip:~$ mkdir test #创建文件夹 test
pyvip@Vip:~$ ls
pyvip@Vip:~$ cd test/ #进入文件夹
pyvip@Vip:~/test$ mkdir a #创建文件夹 a
pyvip@Vip:~/test$ ls
#a b
pyvip@Vip:~/test$ mkdir b
pyvip@Vip:~/test$ rmdir b #删除文件夹
pyvip@Vip:~/test$ ls
#a
pyvip@Vip:~/test$ cd ..
pyvip@Vip:~$ rmdir test
rmdir: 删除 "test" 失败: 目录非空 # test文件夹下有a文件夹,所以不能直接删除,若要强制删除得 rm -r test

4.创建/删除文件touch/rm

语法:touch(选项)(参数)

touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件

常见用法:

pyvip@Vip:~$ touch test.py

语法:rm (选项)(参数)

rm 删除文件或目录

选项

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录
-f:强制删除文件或目录
-i:删除已有文件或目录之前先询问用户
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理

常用实例:

pyvip@Vip:~$ rm -rf test # 操作需谨慎,一旦删除就找不回了

5.复制/移动文件cp mv

cp 复制文件或目录,默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-r选项

pyvip@Vip:~$ cp a.txt test/b.txt # 复制 a.txt 的内容到 test/b.txt 文件内

mv 对文件/目录重命名或移动文件

pyvip@Vip:~$ mv a.txt test/ # 移动 a.txt 到test 文件下。

cat获取文件内容

pyvip@Vip:~$ cat test.py # 可以直接在终端把文件内容打印出来

6.查看帮助

help 简单帮助

command(out) --help 外部命令

help command(build_in) 内部命令

安装man命令: sudo yum install man

man 命令,查看帮助信息时和less命令 查看文档一样

less 命令使用技巧:
直接上下键到跳行
下一行: e
上一行: y
下一页: 空格键 或 f 或 z
上一页: b 或 w
/string : 向下搜寻string这个字符串
?string : 向上搜寻string这个字符串
n,N :n 继续下一个搜寻,N进行反向搜寻
帮助信息:h
退出 : q

7、回收站的安全用法

直接删除会造成一些东西误删,因此将要删除的文件放到tmp文件夹下,类似于windows的回收站,当系统关闭时,tmp内容会直接删除。
mv a.txt ~/tmp

8、whereis ls/which ls

whereis 可以打印出ls的路径同时打印出ls帮助文档的地址

which 只打印出ls的路径


9、find

find ./ -name '*.py'#查找当前目录下符合.py的文件
###ctrl+c来结束查找
默认为find (./) -name '*.py' (-print)注:-print0 表示不换行
find -size -6k,+6k(查找小于或大于某个单位的文件)
find -type
可以叠加查找
find -name '*.py' -size -6k
一般:find -name 'hah.py' -exec rm -rf {} \;#找到并删除文件
但是find是先找到然后去删除,但是有一些系统它会对传递命令的长度限制,所以当文件名过长时,会容易出现一处的异常。(|)为管道
find -name '*.txt' | xargs rm

10、简单小栗子

mkdir a
cd a
cat >b.py(重写) cat b.py(查看内部文件)
print('hrllo')
ctrl+c
cd ~
find -name '*.py' | xargs grep hello
# 查找所有的py文件,然后文本内容里面包含hello的


hah.py' -exec rm -rf {} \;#找到并删除文件
但是find是先找到然后去删除,但是有一些系统它会对传递命令的长度限制,所以当文件名过长时,会容易出现一处的异常。(|)为管道
find -name '*.txt' | xargs rm

10、简单小栗子

mkdir a
cd a
cat >b.py(重写) cat b.py(查看内部文件)
print('hrllo')
ctrl+c
cd ~
find -name '*.py' | xargs grep hello

查找所有的py文件,然后文本内容里面包含hello的

如果想获取更多有关python的信息,和想玩python制作的小程序,可以关注微信公众号(dreamspy)。我们一起用python改变世界,一起用python创造梦想。在这里插入图片描述






  • 点赞



  • 收藏



  • 分享




    • 文章举报






小胖墩ya
发布了46 篇原创文章 · 获赞 11 · 访问量 6595
私信

关注

推荐阅读
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 系统转换的三种方法及其具体应用分析
    系统转换是信息技术领域中常见的任务,本文详细探讨了三种主要的系统转换方法及其具体应用场景。这些方法包括:代码迁移、数据迁移和平台迁移。文章通过实例分析了每种方法的优势和局限性,并提供了实际操作中的注意事项和技术要点。例如,代码迁移适用于从VB6获取网页源码,数据迁移在Ubuntu中用于隐藏侧边栏,而平台迁移则涉及Tomcat 6.0的使用和谷歌爬虫的测试。此外,文章还讨论了蓝翰互动PHP面试和5118 SEO工具在系统转换中的应用,为读者提供了全面的技术参考。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 命令模式是一种行为设计模式,它将请求封装成一个独立的对象,从而允许你参数化不同的请求、队列请求或者记录请求日志。本文将详细介绍命令模式的基本概念、组件及其在实际场景中的应用。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 20款必备PS插件免费大放送,附详细安装指南
    对于众多关注小资源并学习PS的用户来说,每次分享设计素材都会收到大量反馈。为了更好地满足大家的需求,今天我们特别推出了20款必备的PS插件大合集,并附有详细的安装指南,确保每位用户都能轻松上手,提升设计效率。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 开发日志:高效图片压缩与上传技术解析 ... [详细]
  • 利用REM实现移动端布局的高效适配技巧
    在移动设备上实现高效布局适配时,使用rem单位已成为一种流行且有效的技术。本文将分享过去一年中使用rem进行布局适配的经验和心得。rem作为一种相对单位,能够根据根元素的字体大小动态调整,从而确保不同屏幕尺寸下的布局一致性。通过合理设置根元素的字体大小,开发者可以轻松实现响应式设计,提高用户体验。此外,文章还将探讨一些常见的问题和解决方案,帮助开发者更好地掌握这一技术。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 本文通过思维导图的形式,深入解析了大型网站技术架构的核心原理与实际案例。首先,探讨了大型网站架构的演化过程,从单体应用到分布式系统的转变,以及各阶段的关键技术和挑战。接着,详细分析了常见的大型网站架构模式,包括负载均衡、缓存机制、数据库设计等,并结合具体案例进行说明。这些内容不仅有助于理解大型网站的技术实现,还能为实际项目提供宝贵的参考。 ... [详细]
  • 类加载机制是Java虚拟机运行时的重要组成部分。本文深入解析了类加载过程的第二阶段,详细阐述了从类被加载到虚拟机内存开始,直至其从内存中卸载的整个生命周期。这一过程中,类经历了加载(Loading)、验证(Verification)等多个关键步骤。通过具体的实例和代码示例,本文探讨了每个阶段的具体操作和潜在问题,帮助读者全面理解类加载机制的内部运作。 ... [详细]
author-avatar
gl6474177
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有