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 ~]$
格式:[用户@主机名 当前目录]#
root
是Linux
管理员,也称为超级用户
pyvip
是Linux
普通用户,在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中使用groupadd
、groupdel
和groupmod
来实现对用户组的添加、删除和修改
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
私信
关注