问题
问题1:在乌班图里面装Linux版本的pycharm
问题2:虚拟机里英文好还是中文好
用英文比较好(开发时),平时中文即可,设置里面
问题3:乌班图安装pycharm有什么意义
都是采用虚拟机去开发,开发时前后端分离,现在写后端。去服务器Linux这个生产环境,去虚拟环境中测试(好处多多,又方便)
问题4:centos怎么测试项目
Windows本地开发,用centos,将项目拖拉到centos中
问题5:Linux操作系统的分类
1、Ubuntu乌班图
2、Centos和一个可视化的linux的管理器结合使用
3、 redhat红帽
小剧场
1、采用Ctrl+Shift+’+‘可以放大终端,缩小同理,’-’
2、cd De(tab键补全)补全命令。
1)当敲出文件或者目录或者命令的前几个字母之后,按下tab键,如果输入的没有歧义,系统会自动补全
2)当切换目录或者使用命令的时候,如果不确定当前目录下有那些子目录或者其它命令,可以通过两次tab键查看
3、Ctrl+小写的‘l’清空终端或者使用clear
4、命令可以去试,若遇到不会的,百度或翻笔记,但要记得学过哦,自信!
Linux命令
1、查看目录的命令
ls:查看当前的目录信息(查看一层目录信息)
tree:以树状方式显示目录信息(先安装tree命令,sudo apt install tree)(sudo获取权限)(密码,登录乌班图的密码,或者有可能是自己不同用户名的密码)(查看多层目录信息)
2、查看当前路径
pwd:查看当前目录pwd(Windows-dir)
3、ls查看当前文件
-l:显示目录下的文件、文件夹。
-h:文件大小默认以字节形式显示,Kyte
-a:显示隐藏文件和隐藏目录
每项信息说明:
4、清除终端内容
clear:清除终端,往上翻也能看到
快捷键Ctrl+L,可以快速清空
5、切换目录
cd …:切换到上一级目录
cd .:切换到当前目录
cd ~:切换到当前用户的主目录(也就是/home…目录下,例/home/logic,logic是当前的用户名)
cd -:切换到上一次目录
cd 目录:切换到指定的目录
cd Desktop/AA:进入到文件夹
cd /:切换到含有home、lib等的根目录下
注意:
1、~代表根目录
2、/home就是我们的主目录
3、logic@ubuntun:~/Desktop/AA$ cd …/…(返回上级的上级)
logic@ubuntun:~$ pwd
/home/logic
6、绝对路径和相对路径
从根目录算起的路径叫绝对路径,/home/logic/…
从当前目录算起的路径叫相对路径,如进入到BB,logic@ubuntun:~/Desktop/AA$ cd …/BB
小结
1)绝对路径和相对路径是路径的两种表现形式,应遵循最短路径原则(使用最短的路径操作某个文件或者目录)。
2)如果切换的目录离当前目录近可以使用相对路径。如果切换的目录离根目录近可以使罗净对路径
3)如果切换的目录离根目录和当前目录都一样那么使用绝对路径,因为这样路径很清楚和明确,方便阅读。
7、创建、删除文件及目录命令
创建文件、文件夹、隐藏文件、隐藏文件夹、已知文件夹或未知文件夹下的文件或文件夹
创建文件touch aa.py;同时创建多个文件touch bb.py cc.py
创建文件夹mkdir CC;同时创建多个文件夹mkdir DD EE
创建文件夹下的文件touch CC/ee.py(文件夹CC必须存在,才能创建ee.py),否则报错没有文件file或文件夹directory
创建文件夹下的文件夹,mkdir CC/DD (CC必须存在)
强制创建未存在的文件夹下的文件或文件名,需要用到-p强制创建,mkdir -p CC/DD(CC可以不存在)。
创建隐藏文件touch .aaa.py
删除
删除文件或文件夹rm rm cc.py 或 (删除目录)rm -r EE(给文件夹加参数,删除)(删除里面有很多文件的文件夹)
删除空的文件目录rmdir
删除的命令选项,一般选用-r强制删除和-i有选择性得删除即可或者一起使用:rm CC -ri
rm命令选项 | 说明 |
---|---|
-r | 递归删除(强制删除)目录及其内容 |
-i | 交互式提示,提示是否要删除,确定删除y,不删除n |
-d | 删除空目录 |
-f | 强制删除,不像-i式提示 |
8、复制、移动文件及目录命令
复制文件,将cp.py复制到BB文件夹里:cp 被复制文件 需要复制到的位置,如cp aa.py BB/
复制文件夹,将文件夹CC复制到BB文件夹里:cp -r CC BB/ 或者cp CC BB/ -r(-r可以放在前边或后边)
移动文件或文件夹同上,移动文件夹到另一个文件夹不用-r了
移动文件到一个文件夹并重新命名为bb.py:mv aa.py BB/bb.py(mv命令还可以重命名文件和目录)
cp和mv命令选项(复制必须要有-r)(可以混合使用,如-ri、-rv)
cp选项命令 | 说明 | mv选项命令 | 说明 |
---|---|---|---|
-i | 交互式提示,y或者n | -i | 交互式提示,若是移动的文件名和想要移动到的位置有重名的,会提示是否覆盖写入,否则不会有提示 |
-r | 递归拷贝目录以及内容(复制必须要有) | ||
-ri | 交互式提示+强制拷贝 | ||
-v | 显示拷贝后的路径描述,即移动前的文件到移动后的文件的路径-> | -v | 显示拷贝后的路径描述 |
-a | 保留文件的原有权限 |
小结
1、拷贝文件防止覆盖使用"cp -i”操作
2、拷贝文件夹使用"cp -r”操作,拷贝文件夹并且文件权限不丢失使用"cp -a"操作。
3、移动文件防止覆盖使用“mv -i”操作
4、移动文件夹直接使用“mv"即可,"mv"还可以给文件和文件夹重命名。
9、查看命令帮助
help :命令 --help(注意两个英文短横线)(某一命令的帮助文档,如cp --help)
man:man 命令(某一命令的帮助文档,如man help)
另外:输入q退出man命令
man命令的说明
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一行信息 |
q | 退出 |
10、隐藏文件或文件夹的相关命令(前边加.)
创建虚拟文件或文件夹touch .aaa.py或mkdir .AAA
显示出虚拟文件的相关信息ls -a
小结(很重要)
- 创建嵌套文件夹使用“mkdir -p”嵌套目录
- 删除空目录使用"rmdir 目录名”或者“rm -d 目录名"
- 删除非空目录使用"rm -r 目录名"
小剧场:程序员学得越多,不会的就越多,这好像圆啊。但是呢,自己主要目的不能网哦!这才哪到哪儿啊
Linux基础命令总结
总结:
1、查看目录信息ls(查看一层目录信息)、tree(查看多层目录信息)
2、查看目录路径pwd
3、清除终端内容clear,快捷键Ctrl+L
4、切换目录cd,cd …切换到上一级目录,cd .切换到当前目录,cd -切换到上一次目录,cd ~切换到home目录下,cd 目录,切换到指定文件或文件包下
5、创建文件及目录命令,分别是touch、mkdir,可以在已知文件夹下创建文件以及文件夹,创建隐藏文件或文件夹,在文件名或文件夹名前加“.”即可。
强制创建未存在的文件夹下的文件或文件名,需要用到-p强制创建,mkdir -p CC/DD(CC可以不存在)。
6、删除文件及目录命令,rm删除指定文件或者目录(给文件夹加参数-r(递归删除),删除)、rmdir删除空目录
7、拷贝cp,拷贝文件名时向前或向后加“-r”
8、移动目录时mv,不需要加选项。mv命令还可以重命名文件和目录(mv aa.py BB/bb.py)
9、查看命令帮助:某命令 --help或man 某命令
Linux高级命令
1、重定向命令(覆盖>和追加>>)(直接创建文件,不需要建立已知文件)
>
相当于写w模式,会覆盖之前的内容;如ll -> 3.txt
>>
相当于追加a模式,如ll ->> 3.txt
ll
相当于l -l
显示列表数据
小结:
终端内容保存到文件使用重定向有两种方式:>和>>。
>
表示每次只写入最新的数据,原有数据不保留。
>>
表示每次在原有数据的基础上进行追加,原有数据会保留。
小剧场:Windows上的重定向,pip list(安装的包的版本信息)
想要重定向到1.txt文件里 pip freeze > 路径(例: pip freeze > C:\User\用户名\Desktop\1.txt)自己安装工作中需要的包!
2、查看文件内容的命令cat、more
cat 文件名 :查看大型文件
more 文件名:分屏查看大型文件
操作键 | 说明 |
---|---|
空格 | 显示下一屏信息 |
回车 | 显示下一行信息 |
b | 显示上一屏信息 |
f | 显示下一屏信息 |
q | 退出 |
3、编辑模式的命令vim或vi
sudo apt install vim
vim:dd删除一行,i进入写入模式,q退出,w写入保存,!强制。
保存退出:wq
强制退出:q!
退出:q
4、管道命令(|)
管道():一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是—个容器,存放在终端显示的内容。
ls /bin | more :像新华字典一样按着首字母是ABC…的顺序放置,方便查找
小结
查看小文件使用cat命令
分屏查看大型文件使用more命令,
查看终端显示内容并分屏展示,使用管道)结合more命令。
5、链接命令
链接命令是创建链接文件,链接文件分为
创建软链接:ln -s 文件名 创建到某一位置的文件名 (ln -s /home/logic/Desktop/BB.bb.py /home/logic/Desktop/bb-.txt)(若是原来的文件被删除,那么现在创建的这个文件无法查看cat bb.txt)(必须按照绝对路径书写)
软链接小结
- 软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。
- 创建软链接命令格式: ln -s 源文件路径(使用绝对路径) 软链接,然后cat 软连接名称,方便快捷使用文件
创建硬链接,同时指向一个文件:ln 文件名 创建到某一位置的文件名,注意硬链接的源文件修改现在创建的硬链接里面的内容也修改,但是若是原先文件被删除,现在的硬链接里面的内容依旧存在。(修改时相当于一个文件,删除时相当于两个文件)
硬链接小结
- 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。。删除源文件,软链接失效I 但是硬链接依然可以使用。
- 创建硬链接命令格式: ln源文件路径硬链接
什么时候使用软连接?什么时候使用硬链接?
使用快捷方式的时候使用软连接,避免寻找文件的麻烦,cat 软连接名称,方便快捷使用文件
避免文件误删,使用硬链接
6、文本内容搜索命令grep
分为两种,一种是和命令选项结合使用:grep 搜索内容 要搜索的文件 选项(-i、-n、-v)
一种是和正则表达式一起使用:grep 搜索内容(^匹配字符串的首字母或多个单词,匹配字符串的结尾字符段或字符($))要搜索的文件
衍生:可以正则+命令选项搭配使用
grep 搜索内容 要搜索的文件 选项(-i、-n、-v)(abc在AA里,则logic@ubuntun:~/Desktop/AA$ grep sk abc.py)
grep ab abc.txt -in或grep ‘ab’ abc.txt -in 被搜索文本加不加引号都可以!
grep命令选项的使用:i忽略大小写,n显示行号,v显示不包含匹配文本的所有行
命令选项 | 说明 |
---|---|
-i | 忽略大小写,找出符合匹配的文本内容 |
-n | 显示匹配的行号(问题?是按照1、2、3还是被匹配时的行号,如1、7、10这样无序的?) |
-in | 忽略大小写,且显示匹配的行号 |
-v | 显示不包含匹配文本的所有行 |
小剧场:若是找到了需要查找的文本,使用
vim 该文件名 +行号
(例:vim 1.txt +5快速定位到该文件的第五行),可以快速定位到查找的位置,可以方便自己的修改
grep命令结合正则表达式的使用
正则表达式 | |
---|---|
^ | 以指定字符串开头 |
$ | 以指定字符串结尾 |
. | 匹配一个非换行符的字符 |
小剧场:grep可以和正则表达式配合使用,^a表示以a开头的内容,c 表 示 以 c 结 尾 的 内 容 , 如 g r e p a ∗ . t x t ( 表 示 在 所 有 的 T X T 文 件 下 查 找 以 a 开 头 的 文 本 内 容 ) g r e p c 表示以c结尾的内容,如grep ^a *.txt (表示在所有的TXT文件下查找以a开头的文本内容) grep c 表示以c结尾的内容,如grepa∗.txt(表示在所有的TXT文件下查找以a开头的文本内容)grepc *.txt(表示在所有的TXT文件下查找以c结尾的文本内容)
拓展
grep命令还可以文本搜索管道中的内容(将ls里的lib内容查找出来,并以管道的形式显示),比如: ls / | grep ‘lib’
在使用grep命令的时候还可以省略搜索内容的引号,比如: ls / | grep lib,grep hello 1.txt
7、查找文件find
1、find 在指定目录下查找文件(包括目录)
2、find -name 根据文件名(包括目录名)查找,如find ./ -name AA
(查找./路径下关于AA的文件名的路径,查询结果如下./AA 和 ./CC/AA)
3、find和通配符搭配使用,*
表示查询0个或多个文件。例子:查询以A结尾的文件,如find ./ -name *A
。查询以.py结尾的文件,find ./ -name '*.py'
(注意find和匹配符一起使用时,匹配符所在的文件名要加上引号)
扩展
通配符不仅能结合find命令使用,还可以结合其它命令使用,比如: ls、mv、cp等,这里需要注意只有find命令使用通配符需要加上引号。
pdb 、systemctl
8、压缩和解压命令
压缩格式的介绍
Linux默哀人支持的压缩格式.gz、.bz2、.zip
解压、压缩的说明
- .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
- .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩压缩目的
格式:tar命令 选项 打包名称 打包的哪些文件
tar命令选项 | 说明 |
---|---|
-z | 压缩或解压缩(.gz) |
-c | 创建打包文件 |
-x | 解包 |
-v | 显示打包或者解包的详细信息 |
-f | 指定文件名称 (必须放在所有选项的后边) |
-大C | 解压到指定目录 |
-zcvf 压缩 | tar -zcvf text.tar.gz *.py (打包完成后显示text.tar.gz) |
-zxvf 解压缩到当前目录下 | tar -zxvf text.tar.gz (/Desktop/AA下,一定要先进入该目录下) |
-zxvf 指定解压到某个文件夹+‘-C’一起使用 | logic@ubuntun:~/Desktop/AA$ tar -zxvf text.tar.gz -C ../CC/ |
-j | 压缩或解压缩(.bz2) |
-jvcf 压缩 | tar -jvcf text.bz2 *.py |
-jvcf解压缩 | tar -jvcf text.bz2 目录 |
zip命令
格式zip 要压缩成为的文件名 被压缩的文件(zip test *.py)(将该路径下带有py的所有文件压缩,并命名为test)
压缩后test.zip
zip命令 | 说明 |
---|---|
zip | 压缩 (zip test *.py ) |
unzip | 解压缩(unzip test.zip ) |
-小d | 指定压缩到指定目录(zip test *.py -d 指定目录 )(tar解压缩到指定目录-大C ) |
小结:
.gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩
.zip的压缩文件使用zip和unzip命令来完成压缩和解压缩
小剧场:
1、.gz的压缩文件所占的内存最少,也最常用
2、想要压缩到某个目录下,先提前切换cd到该目录下
9、文件权限命令chmod
修改文件权限的两种办法
一件删库的命令
sudo chmod -R 764 ×××
7(所有者权限)6(组用户权限)4(其他用户权限)xxx(目标文件)
角色 | 说明 |
---|---|
u | user,表示该文件的所有者 |
g | group,表示用户组 |
o | other,表示其它用户 |
a | all,表示所有用户 |
r:读、w写、x可执行、.无任何权限
权限 | 说明 |
---|---|
r | 读 |
w | 写 |
x | 可执行 |
. | 无任何权限 |
操作符 | 说明 |
---|---|
+ | 增加权限,如chmod u+x 3.txt 给3.txt加上可执行的权限 |
- | 撤销权限 |
= | 设置权限 |
logic@
chmod数字法的使用
数字法是指"rwx",这些权限可以用数字代替
|权限 | 说明 |
|–|--|
|r | 可读,权限值是4|
|w| 可写,权限值是2|
|x|可执行,权限值是1 |
|.|无任何权限,权限值是0 |
典型:
r-4;w-2;x-1
chomd 777 3.txt(所有的用户都被赋予rwx权限)
chomd 64 3.txt(6读和写,4读)
chomd 655 3.txt
小结
利用chmod命令可以控制文件的操作权限。
字母法格式: chmod 不同角色设置的权限文件。
数字法格式: chmod不同角色的权限值文件名
10、Python3,乌班图自带
logic@ubuntu ;~ /Desktop$ python3
logic@ubuntu:~ /Desktop$ vim demo . py(编写代码)
logic@ubuntu: ~ /Desktop$ python3 ./demo.py(运行)
运行的两种方式:一种是加上
python3 ./文件名.py
(直接运行)
一种是在该文件的最前面加上执行文件的路径
logic@ubuntu: ~ /Desktop$ which python3
/user/bin/python3
logic@ubuntu:~ /Desktop$ vim demo . py
/user/bin/python3(将这个放在第一行的位置)(实例:#!/user/bin/python3)
logic@ubuntu:~ /Desktop$ chmod u+x demo.py
logic@ubuntu: ~ /Desktop$ ./demo.py
小剧场:
1、若运行命令无python3前缀时,一定要在书写代码的文件里的第一行加上#!/user/bin/python3
(python3的地址,可以根据命令行which python3查找)
2、在执行Python文件夹时候,记得给文件加上可执行操作:chmod u+x 文件名
,然后再执行./demo.py
3、退出当前交互式模式>>exit()
11、获取管理员权限的相关命令
删库跑路
rm -rf ./*
(r递归删除目录及其内容,f强制删除,忽略不存在的内容,无需提醒)(慎用)
查看当前用户是谁:
whoami
结果(logic)
查看所有的用户:who
切换到root用户下:
sudo -s
(修改配置文件,必须要在root权限下,慎用)
从root用户退到logic用户下:exit
或者sudo su
说明:如果是切换后的登陆用户,退出则返回上一个登陆账号。如果是终端界面,退出当前终端。
下载安装包,这里以sl为例,
sudo apt-get install sl
若是提示切换到root用户下,那切换吧
(root或用户,所下载的配置文件都会加载到root下)
修改密码:
passwd
用户名(然后根据提示,输入之前的密码,新的密码)
查看命令所在的位置:
which 命令
(如which ls ls在bin目录下,/bin/ls)
关机和重启命令
关机命令(shutdown -h now
)
重启(reboot
)
小结
sudo是临时获取管理员权限
sudo -s是切换到管理员用户,一直使用管理员权限,需要谨慎操作。. exit是退出当前用户
passwd 默认修改当前用户密码
12、用户相关操作
创建用户,必须要获得管理员权限,可暂时获得
sudo useradd -m 新的用户
logic@ubuntu:~/Desktop$ ls /home/
/home/目录下的所有用户名
logic@ubuntu:~/Desktop$ cat /etc/passwd(查看用户是否创建成功)
最下边一行用户名:x(密码):1001(用户id,uid):1001(用户组id,gid):(用户的相关描述):/home/用户名:/bin/sh(shell类型,一般是bash或sh)
id 用户名:查看该用户名的uid、gid、group等
为新用户设置密码:sudo passwd 新用户名
切换到新用户下:su 新用户名
exit:退出
新用户不能获得root权限,sudo -s 新用户名 (报错!)
所以要将新用户添加到用户组,将会具有root的权限,
查看用户组 cat /etc/group
将新用户添加到sudo用户里:`sudo usermod -G sudo 新用户名`
删除某一个用户
删除新用户名或某一个用户名:sudo userdel -r 用户名(然后报错,没有找到,删除成功)
检查是否删除用户名成功:ls /etc/home/
选项 | 说明 |
---|---|
sudo -s | 切换到管理员 |
su 某一用户名 | 切换到某一用户名 |
sudo 命令 | 想要暂时获取管理员权限的命令 |
sudo adduser 用户名 | 创建新用户需要获取管理员权限 |
sudo adddel -r 用户名 | 删除userdel新用户或某一用户,必须要加上’-r’删除目录以及内容 |
usermod | 修改用户信息,-G代表设置一个附加组,-g代表修改用户组 |
sudo usermod -G sudo 新用户名 | 将新用户加到group组群中 |
passwd 用户名 | 修改用户密码,默认修改当前用户密码 |
whoami | 查看当前用户的权限 |
who | 查看当前所有的用户 |
exit | 退出当前登录的用户(如果是切换后的登录账号,则返回上一个登录账号;若是正处于终端界面,则退出终端) |
which | 查看命令的位置 |
shutdown -h now | 关机 |
reboot | 重启 |
小结
创建用户命令格式:sudo useradd -m 用户名
,默认会创建一个同名的用户组。(但是不会赋予管理员的权限,需要自己加到Group组中,如sudo usermod -G 组名 新用户名 )
查看用户信息使用id命令或者/etc/passwd文件。查看用户组信息使用/etc/group文件
给用户设置密码使用sudo passwd 用户名。
切换用户使用su -用户名
设置附加组使用sudo usermod -G 组名 用户名
删除用户使用sudo userdel -r用户名,默认会删除同名的用户组。
13、用户组相关操作
创建、查看、删除用户组命令 | 说明 |
---|---|
groupadd 用户组名 | 创建(添加)用户组 |
sudo groupadd 用户组名test | 创建用户组test |
cat /etc/group | 查看用户组是否创建成功 |
sudo useradd -m 用户名laowang -g test | 创建用户并放在指定的用户组里,否则将会放置在同名用户组里(uid、gid、groups),需要借助-g |
id 用户名laowang | 查看该用户名的uid、gid、group |
sudo groupdel | 删除用户组名 |
sudo userdel -r 用户名 | 若是用户组名下边有用户,需要先删除用户 |
总结:
1、创建group分组:sudo groupadd lw(分组名)
2、修改用户组将用户名放到指定分组中sudo usermod -g(自改用户组) lw(分组名) laowang(group分组)
3、创建用户并放在指定的用户组中sudo useradd -m 用户名 -g test
4、创建用户默认放置在同名用户组中sudo useradd -m 用户名
5、查看用户组是否创建成功cat /etc/group
6、查看用户的uid、gid、group:id 用户名
14、软件安装
软件安装的介绍
Ubuntu软件安装的两种方式:
- 离线安装(deb文件格式安装)(不推荐)
- 在线安装(apt-get方式安装)(一般使用)
- 在centos中,软件安装使用的是yum
换源下载包:pip install requests -i 下载地址
然后更新:sudo apt-get update
(这样对于apt-get install直接下载,再更新来讲,更快也避免了下载99%时因下载时间过长而报错)
下载包:sudo apt-get install XXX
(包的名字)
删除包:sudo apt-get remove XXX
(包的名字)
换源操作会比较快:
pip install requests -i https://pypi.douban.com/simple
同sudo apt-get install 下载的压缩包的名字(.tar.gz)
若是没有安装pip,需要安装,sudo apt install python-pip
手动配置:换源也可以直接从网上找相关的源内容,复制黏贴到/etc/apt的sources.list列表下,进入命令vim.sources.list,然后也需要update更新
ubuntu安装pycharm
https://blog.csdn.net/qq_15192373/article/details/81091278
Linux高级命令总结
1、重定向命令(覆盖>和追加>>)(直接创建文件,不需要建立已知文件)
2、查看文件内容的命令cat、more
3、编辑模式的命令vim或vi
4、管道命令(|)
5、链接命令
6、文本内容搜索命令grep
7、查找文件find
8、压缩和解压命令9、文件权限命令chmod
10、Python3,乌班图自带
11、获取管理员权限的相关命令
12、用户相关操作
13、用户组相关操作
14、软件安装:pip install requests -i 源 或 sudo apt-get install 下载的包