常用Linux命令
Linux 是目前应用最广泛的服务器操作系统,基于 Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux 不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android 程序最底层就是运行在 linux 系统上的。
一、linux 的目录结构
- bin (binaries) 存放二进制可执行文件
- sbin (super user binaries) 存放二进制可执行文件,只有 root 才能访问
- etc (etcetera) 存放系统配置文件
- usr (unix shared resources) 用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices) 用于存放设备文件
- lib (library) 存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount) 系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (temporary) 用于存放各种临时文件
- var (variable) 用于存放运行时需要改变数据的文件
二、linux 常用命令
- 命令格式:命令 - 选项 参数 (选项和参数可以为空)
- 如:ls -la /usr
-
mkdir make dir 创建文件夹
-
rmdir remove dir 删除目录
-
ipconfig 查看ip地址
-
ping 测试网络连接
-
pip freeze > requirements.txt 将项目依赖的包输出到指定的文件
-
pip install -r requirements.txt 读取文件并下载
2.1 操作文件及目录
2.2 系统常用命令
2.3 压缩解压缩
2.4 文件权限操作
- linux 文件权限的描述格式解读
-
r 可读权限,w 可写权限,x 可执行权限(也可以用二进制表示 111 110 100 --> 764)
-
第 1 位:文件类型(d 目录,- 普通文件,l 链接文件)
-
第 2-4 位:所属用户权限,用 u(user)表示
-
第 5-7 位:所属组权限,用 g(group)表示
-
第 8-10 位:其他用户权限,用 o(other)表示
-
第 2-10 位:表示所有的权限,用 a(all)表示
2.5 查看CPU信息
# cat /proc/cpuinfo
2.6 查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
1
**uniq命令:删除重复行;wc –l命令:统计行数**# cat /proc/cpuinfo | grep "cpu cores" | uniq
2.7 查看CPU物理核数
# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4
2.8 查看CPU型号
# cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz
2 .9 查看内存
#cat /proc/meminfo | grep MemTotal
MemTotal: 32941268 kB //内存32G
3.0 查看cpu内核数
# cat /proc/cpuinfo| grep "processor"| wc -l
三、linux 系统常用快捷键及符号命令
四、vim 编辑器
vi / vim 是 Linux 上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示 vi 命令的各种模式的切换图。
4.1 修改文本
4.2 定位命令
4.3 替换和取消命令
4.4 删除命令
4.5 常用快捷键
4.6 查看 redis 是否有项目在运行
# netstat -nalop |grep 10.81.49.192
4.7查看CPU个数
# cat /proc/cpuinfo|grep "processor"|wc -l
# cat /proc/cpuinfo|grep "cores"|uniq
4.8查看redis安装目录
# ps -ef|grep redis
得到了进程号 xxxx 然后 ls -l /proc/xxxx/cwd
# ls -l /proc/23707/cwd
4.9 查看Linux中python 进程启动的时间
[root@spider02 ~]# ps -p 2073 -o lstart
STARTED
Sat Jun 6 16:02:24 2020
五、nohup linux 后台运行输出
-u 参数,使得python不启用缓冲
5.1 # nohup python -u flush.py > flush.log 2>&1 &
5.2 # nohup python myscript.py > nohup.out 2>&1 &
六、curl 带参数请求
6.1 查看linux 外网
curl ifconfig.cc
6.2 带参数访问
curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"spuId":9207}' http://172.19.16.139:7895/sellshopDateils
curl --location --request POST 'http://47.103.81.229:7895/sellshopList' \--header 'Content-Type: application/json' \--data-raw ' {"lastId": "0", "crawl_new": "true"}'
七、crontab -e / crontab-l 定时任务
7.1 分钟定时
每5分钟执行一次
*/5 * * * * sh /opt/gh2/app/goods-ext-checkuser/1.0.1/bin/restartPythonCheckUser.sh >/dev/null 2>&1 &
每10分钟执行一次
*/10 * * * * /usr/bin/bash /data/app/bsd-spider_finance-num2/restart-spider-template.sh bsd-spider_finance-num2 run_app.py >/dev/null 2>&1
7.2 小时定时
每5小时执行一次
0 */5 * * * nohup python3 /data/app/spider-crawler/test/duapp_test.py >/store/logs/startpy.log 2>&1 &
7.3 早上5点
每天早上5点运行 /root/bin/backup.sh
0 5 * * * /root/bin/backup.sh
八、批量杀死python进程
ps -ef | grep run_jinRong_general.py | grep -v grep | awk '{print $2}' | xargs kill -9
九、Linux服务器上使用curl发送携带json数据的post请求
curl -H 'Content-Type:application/json' -X POST --data '{"styleColor": "BMC019","goods_type": "2"}' http://172.19.21.173:7895/sellshopDetailByTitle