①Linux中经常出现需要root权限才能做的事情,比如删除某个文件夹下的文件(通常是关键文件夹),那root权限是什么呢?
Linux系统下有一个root用户,这个用户享有本系统的最高权限,可以删除一切,包括下面的那些小的子用户。而子用户的权限常常是有限的,常常只能在自己的家目录以下进行活动,以上就基本不能修改了(not writable),学校的高性能计算机是,子用户之间连对方的文件夹都进不了(看都不能看,mmp)
②ls是展示(当前目录下的东西),那怎么好看点展示呢?ls -l,像列表一样展示,就像windows下面的“查看详细信息”;
如果要查看一个文件夹下包含python字样的文件,用ls -l|grep python命令就行。grep是一个查找工具。
③关于配置环境变量的问题——如何在Linux命令行的任何地方都可以运行自己想要的那个python。(及pip)
1.先在服务器的相关目录下查看服务器中安装了几个版本的python。
2.在任何地方输入python可以查看当前python的版本。或者python --version,下面这个网页还不错。如果不是自己想要的那个python,就需要改版本了。
https://jingyan.baidu.com/article/0f5fb0992adeeb6d8334ea12.html
首先需要明确需求,我们希望的是在系统任意一个地方输入python,都能定向到python3.8。这种“在任意地方都能打开文件”的操作,就需要进行环境变量的定义。有了这种定义,就能在任意地方使用python而不用非得到那个路径下面去找python(.exe,若windows)。
在linux下查看当前使用的程序的路径,which python。
还有一个whereis python,是所有(包含)python(这一部分的文件名)出现的路径(我试过,python.tar.gz都在结果里。)
3.所以最核心的一步,不管怎么样,一定要把python所在的路径添加到环境变量里!!!!!我的理解是需要把到python(可执行文件)那一步的路径都放进去,以及下面的bin和lib(我刚刚看了一下好像只需要两个(奥我又懂了,因为python的可执行程序就在bin下面!))。所以只用放两个!!!好像和windows还不一样。这样才算完成(今天当助教配置anaconda的环境变量也是这样配置的,只不过是anaconda3,anaconda3/lib,以及anaconda3/scripts)。
疑问:把库lib放进去,可是lib里的库也不能直接在cmd命令行里运行呀···奇怪。
4.但是上面的那个文件通常名字不叫python,可能叫python3.因此然后之后有两种方法可以使得“python”这一指令指向python3,而不是python2.7啥的。
方法A:在环境变量里使用alias方法:alias是“别名”的意思,即给某个操作取个别名。方法:在.bashrc中添加这么一行:alias py=‘xxx/xxx/python3.8.0/python/bin/python3’
方法B:在被添加到环境变量(包含python3的那个bin目录下),ls -l | grep python,可以看到有python—>python3 ,python3—>python3.8。这个的意思是软链接文件,相当于是win下面的快捷方式。新建了个简单的名字,但是指向的是那个文件名比较复杂的可执行文件。但是因为这个快捷方式也在环境变量下面,因此可以在命令行里直接运行。因此,需要删除这个文件,然后把它重新定向到自己想要的那个python(假如原来是python2.7)
方法:
但这个方法的弊端是需要root权限,因为安装python的常常是服务器的总路径,应用于all people,因此贸然改也会造成其他用户的不舒适。所以必须root权限才可以。而root权限有的话在指令前加sudo就可以了。
方法A和方法B其实都是添加一个(能指向python3.8(可执行))的中介,只不过一种方法是增加一个文件,一种方法是用一个名字直接把路径简写。我觉得方法A更简单。
④往linux服务器上传文件用Winscp。不能直接拖拽。Windows系统连接远程Linux服务器,使用Xshell,或Putty。神奇的跨系统连接桥(器)。
⑤. ~是家目录,是自己这个用户最上面的那一层。
~下面有一个.bashrc文件,负责的就是本用户的环境变量的配置。除了服务器的总的环境变量(应用于其下所有用户)之外,每个用户自己的家目录下也有一个设置自己的环境变量的文件。如果文件为空则一切与系统对齐,如果自己写一些东西,当与系统设置的环境变量相冲突(重复)时,则会覆盖系统相应的环境变量,在自己的地盘以自己的为准。
这个文件就叫.bashrc,是个隐藏的文件,看不到,但是vim .bashrc就可以看到。如果是那个文件的话,则打开之后里面已经有写过一些东西了,比如什么什么fi。
#fi是if语句的结尾。有趣~if fi,还搞个镜像结尾hhh
⑥vim怎么用?简单,记住两个指令就可以无缝衔接,无痛运行:
1.vim 文件名 打开
2.按i(进入插入模式,就是光标走到哪就可以到哪输入的那种模式,平常模式)
3.写完之后,按esc,:wq保存退出,:q退出(估计是没修改的时候不保存退出),:q!强行退出。
⑦Linux命令行当中没有关闭(没有图形用户界面右上角那个小叉叉),因此每次关闭都需要输入专门的指令。python交互命令行打开后进入一个python界面(相当于是一个IDLE的交互式界面),这个时候如果想退出这个软件,则使用quit()就可以。
⑧在windows下写的os.system用于和命令行交互的命令,在linux下不用改os.system!(不用改!)我刚刚查了一下~linux下面也可以用这个。但是唯一的区别是os.system里面的东西得改。windows下面如果想打开本路径下面的.py直接输入文件名,linu下面不行,什么都是文本,后缀名没意义,得指定解析器解析~
好啦好啦,不说了,大概就记这些~
学到的东西挺多的,去睡觉啦,晚安!