操作层——手残如我

0、svn - 本地代码和svn上的代码分开
1、查看Python安装路径
import sys
print(sys.path)
2、查看Python安装包的版本信息
命令行: pip list
3、Windows下从文件夹进入命令行:SHIFT+鼠标右键(文件夹)+W
4、服务器:winscp/SecureCRT——输入host/port/usr/pwd与远端服务器建立连接
5、【Linux命令行常用操作】
pwd: 根目录
zip+文件名+生成名:打包
unzip:解压
压缩成gz文件:gz_cmd = "cd %s; tar -zcvf %s %s" % (server_src_zip, server_tar_file_path, 'apps/' + node_code)
rm -rf +路径:删除某文件/文件夹
rz -be +回车:上传文件 (rz -y -be +回车:覆盖上传)
sz:下载到本地
cd ..:返回上一层级
ls :当前路径所有文件
ll -h +文件名:查看文件大小
du -d n -h:查看当前层级下钻n层的各文件大小
wget [参数] [URL地址] —— 通过链接下载文件

linux定时执行程序命令:crontab
tail -f /var/log/cron : 查看cron的日志
crontab -e : 编辑定时执行程序,每行代表一个程序,eg: 1 4 * * * cd /home/copyfile/copy_file_ljt/&& sh run_data_sync_117.sh
crontab -l :列出定时执行的程序
crontab -r:删除


image.png

ERROR:
用contab命令定时执行Python程序时,程序本身没问题,但定时就是不执行。
如:*/1 * * * * cd /home/liuyusheng/codes_notimer/&&python test.py >> test.log
查看cron日志:【报错】
Aug 29 17:35:01 izwz98pmxwulw602z7dz17z CROND[1251]: (root) CMD (cd /home/liuyusheng/codes_notimer/&&python test.py >> test.log)
Aug 29 17:35:02 izwz98pmxwulw602z7dz17z CROND[1250]: (root) MAIL (mailed 142 bytes of output but got status 0x004b#012) —— 没能成功执行
错误原因:服务器找不到Python的环境变量
解决方法:
1、source /etc/profile && cd /home/liuyusheng/codes_notimer/&&python test.py >> test.log
2、source /root/.bashrc && cd /home/liuyusheng/codes_notimer/&&python test.py >> test.log 【最后用了这个】
之后研究下profile和bashrc的区别,参考:https://www.cnblogs.com/hongzg1982/articles/2101792.html

查看磁盘空间:
du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。
//查看当前目录下各个文件及目录占用空间大小
du -sh *

vi/vim编辑器:
CTL + b :上翻
CTL + f : 下翻
查询"ab" : /ab

ps -ef | grep python 查看含有Python的进程

ps -ef | grep zk_tcp_cbd_server 查看含有zk_tcp_cbd_server的进程

ps命令将某个进程显示出来

grep命令是查找

中间的|是管道命令 是指ps命令与grep同时执行

PS是LINUX下最常用的也是非常强大的进程查看命令

ps -x 查看所有运行的进程(PID)
kill %pid 杀死某进程

Python生成EXE:pyinstaller --onefile --nowindowed --icon=" D:\Queena\PyCharmProjects\dist1\computer_three.ico" guess_exe.py

查看某个进程的内存占用:top -p +pid
https://www.cnblogs.com/freeweb/p/5407105.html

实例2:从远处复制目录到本地
命令:
scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

scp命令:
从本地复制到远程

拷贝文件

scp /home/test/test.txt root@192.168.0.2:/home/test/

拷贝目录

scp -r /home/test/ root@192.168.0.2:/home/test/
从远程复制到本地

拷贝文件

scp root@192.168.0.2:/home/test/ /home/test/test.txt

拷贝目录

scp -r root@192.168.0.2:/home/test/ v/home/test/

6、有时候我们在liunx上想修改查看python的包路径可以试试以下命令

from distutils.sysconfig import get_python_lib

print(get_python_lib())

7、在linux安装了多版本python时(例如python2.6和2.7),pip安装的包不一定是用户想要的位置,此时可以用 -t 选项来指定位置.

例如目标位置是/usr/local/lib/python2.7/site-packages/ ,要安装xlrd 这个包,则:

$ pip install -t /usr/local/lib/python2.7/site-packages/ xlrd

权限不够则在命令前加sudo。

8、Windows下用pycharm同步/调试服务器上的代码:https://blog.csdn.net/zhaihaifei/article/details/53691873

9、CPU知识:http://blog.sina.com.cn/s/blog_6a6c136d0102ybb5.html

10、PIDS=ps -ef|grep new_data_classify |grep -v grep |grep -v tail | awk '{print $2}'
通过关键字‘new_data_classify’筛选出运行的进程,再过滤掉含‘grep/tail’关键字的进程,最后一行一行打印出第二列,即进程号

11、进程命令及状态说明:https://blog.csdn.net/tianlesoftware/article/details/6457487

12、SecureCRT客户端窗口关闭,或与服务器连接断开后,服务器上运行的程序也被kill掉,解决:

  1. nohup [argument ...] &
    上面命令其实做了两件事,nohup忽略SIGHUP信号,&将任务放在后台运行。
    需要注意的是:nohup默认将程序的标准输出和标准错误输出重定向到nohup.txt文件中,也可以用">filename 2>&1"来更改缺省的重定向文件名。
    2)screen命令:


    screen命令.png

--、简单三部曲
(1)创建会话
#screen -dmS xxx
上面命令用来建立一个处于断开模式的会话,其中,xxx为session name。
(2)列出会话
#screen -list
上面命令用来列出所有会话,这个有点恶心,毫无隐私可言
(3)重连会话
#screen -r xxx
上面命令用来重新连接指定会话,其中,xxx为会话名称。
有了上面3个命令后,基本上你也算是screen圈子里的人了

--、附常用:
1.screen:创建全屏窗口,键入exit退出(退出会话/切换前一个窗口)
[root@tivf06 ~]# screen
2.screen命令后跟你要执行的程序。如:[root@tivf06 ~]# screen vi test.c
3.键入C-a c,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口。
入C-a d,Screen会给出detached提示:
暂时中断会话
4.半个小时之后回来了,找到该screen会话:

[root@tivf06 ~]# screen -ls
There is a screen on:
16582.pts-1.tivf06 (Detached)
1 Socket in /tmp/screens/S-root.
5.重新连接会话:
[root@tivf06 ~]# screen -r 16582

screen命令详解:https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

13、批量杀死含关键字“main_module_screen”的进程:
ps aux | grep main_module_screen | grep -v grep | awk '{print 2}'| xargs kill -9 一开始一直不起作用,还能查到进程在运行 后来才知道,要把sudo kill -9传进过滤器,而不只是在开头加sudo 所以正确的命令是: ps aux | grep main_module_screen | grep -v grep | awk '{print2}'| xargs sudo kill -9
【一知半解】害死人啊,【拿来主义】要不得啊!!!

14、按文件大小顺序排序列文件:du -s * | sort -nr

du -s * | sort -nr | head 选出排在前面的10个,

du -s * | sort -nr | tail 选出排在后面的10个。

15、pip安装包超时情况解决:https://blog.csdn.net/qq_39161804/article/details/81191977

image.png

PS:查找当前版本Python的位置:cmd -> where python3/python; 查找当前使用的pip的路径:cmd -> where pip
把包装在当前的Python版本下:cmd -> python3 -m pip install xxx
故pip.ini放置的位置,应该在对应的Python下的pip文件夹

16、Linux top命令查看系统运行情况:https://www.cnblogs.com/wbxk/p/10776103.html#_label0_0

17、报错:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
原因:同一个端口的进程没有kill掉
解决:① 打开cmd
② netstat -aon|findstr +端口号 查找pid
③ tasklist /fi “pid eq 276”,276是你在①中查到的pid号
④ taskkill /pid 276 /f,杀掉276的进程 // 或者打开任务管理器,杀死进程号=276的进程
具体图文参见:https://blog.csdn.net/sinat_19917631/article/details/70228718

18、vim翻页命令
整页翻页 ctrl-f ctrl-b
f就是forword b就是backward

翻半页
ctrl-d ctlr-u
d=down u=up

滚一行
ctrl-e ctrl-y

zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom

19、Linux配置全局变量的两种方式:用户目录下.bashrc文件,VS,系统统一配置文件:/etc/profile
最后都需要 source .bashrc 或 source /etc/profile 重启
详情:https://blog.csdn.net/sun8112133/article/details/79901527

20、【哭哭,搞了这么久,就是environment参数没加对T T】

问题:
登陆服务器执行命令成功,采用supervisor执行同样命令、或用Python paramiko ssh链接服务器执行命令则报错:某.so文件找不到

原因:
之前怀疑是supervisor默认是root用户登陆(因为root用户和原用户登陆后的同路径python环境也有差异);
但我们的确在supervisor.conf中配置了user,也在paramiko连接种配置了相同的用户和密码,进程打印出来,也的确是原用户起的;
最后发现是环境变量不同,但不是由于用户不同导致的,是由于不同渠道执行命令导致的。

解决:
1) 执行命令前,先加载一次环境变量:
【paramiko】
stdin, stdout, stderr = ssh.exec_command('. ~/.bashrc;echo $PATH');stdin, stdout, stderr = ssh.exec_command('source ~/.bashrc;bash test.sh')
【supervisor】

法一: conf文件里:environment=XXXpath=“……”(XXXpath即为缺失文件的路径)
法二:在命令中添加引环境变量的命令:'. ~/.bashrc;echo $PATH'
2)使用bash执行命令:ssh.exec_command("bash -l -c 'some commands and some scripts...'")
bash -l -c解释:-l(login)表示bash作为一个login shell;-c(command)表示执行后面字符串内的命令,这样执行的脚本,可以获取到/etc/profile里的全局变量,包括我们搜索命令的目录PATH
主要是加上“-l”!!! —— 之前没加 -l , 直接用 bash -c +command 也一直报错
-l Make bash act as if it had been invoked as a login shell
-c If the -c option is present, then commands are read from string.
You're running the command passed to the -c argument.
-l makes it a login shell so bash first reads /etc/profile!!!

参考博文:
1)https://www.cnblogs.com/shengulong/p/7908940.html

paramiko获取远程主机环境变量.png
2)https://www.v2ex.com/t/400535
supervisor无法加载环境变量.png
3)https://www.jianshu.com/p/9f81b42fea2a

21、supervisor更改某项目配置后,需要重启才有效
1)更新配置到supervisord
supervisorctl update
2)重新启动配置中的所有程序
supervisorctl reload
3)启动某个进程(program_name=你配置中写的程序名称)
supervisorctl start program_name
4)查看正在守候的进程
supervisorctl
5)停止某个进程(program_name=你配置中写的程序名称)
pervisorctl stop program_name
6)重启某一进程(program_name=你配置中写的程序名称)
supervisorctl restart program_name
7)停止全部进程
supervisorctl stop all

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言...
    EarlGrey阅读 69,639评论 7 124
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,563评论 18 139
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,902评论 17 410
  • 、序 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux、macOS...
    星丶雲阅读 19,323评论 1 12
  • 〇、序 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux、macO...
    Raxxie阅读 1,384,230评论 33 581