一.进程相关
1.查看进程 ps -ef | grep wsgi
[kzzf@VM_0_46_centos ~]$ ps -ef | grep wsgi
UID PID PPID C STIME TTY TIME CMD
root 25996 1 0 Oct27 ? 00:02:36 uwsgi uwsgi.ini
root 26001 25996 0 Oct27 ? 00:00:24 uwsgi uwsgi.ini
root 26003 25996 0 Oct27 ? 00:00:14 uwsgi uwsgi.ini
root 26004 25996 0 Oct27 ? 00:00:13 uwsgi uwsgi.ini
root 26006 25996 0 Oct27 ? 00:00:29 uwsgi uwsgi.ini
root 26008 25996 0 Oct27 ? 00:00:04 uwsgi uwsgi.ini
kzzf 30527 22829 0 17:52 pts/0 00:00:00 grep --color=auto wsgi
- ps 显示和当前终端有关的进程信息
- ps -f 详细显示每个进程信息
- ps -e 显示所有正在运行的进程信息
- ps -u kzzf 显示kzzf用户所创建的进程信息
2.进程分类
- 前台进程 (foreground process):在Shell里正在执行的,和用户进行人机交互的进程叫
- 后台进程(background process):后台运行的进程 ,它不直接和用户进行交互。
linxu中几乎所有进程都在后台执行,使用 & 结尾可以使进程在后台运行
# 前台执行,终端阻塞等待执行完毕
[kzzf@VM_0_46_centos test]$ python test1.py
1576403970.55
1576403971.56
1576403972.56
# 后台执行,并将输出重定向到log.txt
[kzzf@VM_0_46_centos test]$ python test1.py > log.txt &
[2] 32293
[kzzf@VM_0_46_centos test]$
强制杀死进程:kill -9 进程号
二.环境变量
1.查看环境变量
[kzzf@VM_0_46_centos test]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kzzf/bin
2.添加环境变量
vim /root/.bashrc
# 文件中添加或修改
export PATH=/test:$PATH # 相当于给变量PATH重新赋值,下次新增的时候直接在这上面修改
# 激活生效
source /root/.bashrc
说明:export 用于新增,修改或删除环境变量
三.服务的启停
service或systemctl命令,使用方式差不多
service mysqld status
service mysqld start
service mysqld restart
service mysqld stop
systemctl status mysqld
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
四.打包压缩
1.打包和解包tar:将多个文件、目录打包到一个文件中
# 创建目录和文件
mkdir test/ && touch 1.txt 2.txt 3.txt ./test/4.txt
# 将文件和目录打包到file.tar,原文件不消失
tar cvf file.tar *.txt test/
tar tvf file.tar # 查看tar包中的内容
# 解包到当前目录
tar xvf file.tar
2.压缩和解压gzp
# 压缩tar包,得到file.tar.gz,原tar包消失
gzip file.tar
# 解压,压缩包变为tar包
gzip -d file.tar.gz
3.gzip 和 tar 的联合使用
# 打包和压缩,原文件还在
tar zcvf file.tar.gz *.txt test
# 解压缩,压缩文件还在
tar zxvf file.tar.gz
五.查看服务器状态信息
1.top:动态查看系统进程的运行情况
2.free -m:查看系统内存使用情况
3.date:显示或设定系统的日期与时间
[kzzf@VM_0_46_centos test]$ date
Sun Dec 15 20:23:35 CST 2019
date -s 20161109 # 设定日期
date -s 21:05:50 # 设定时间
4.查看系统内核版本和Linux发行版信息
[kzzf@VM_0_46_centos test]$ uname -a
Linux VM_0_46_centos 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[kzzf@VM_0_46_centos test]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
六.文件权限
1.查看文件的详细信息:ls -l
[kzzf@VM_0_46_centos test]$ ls -l 1.txt
-rw-rw-r-- 1 kzzf kzzf 0 Dec 15 19:59 1.txt
第1个字符代表文件类型:-代表普通文件,d代表目录
第2-4字符”rwx”表示此文件所有者对此文件的操作权限:”可读、可写、可执行”
第5-7字符表示此工作组内的用户对此文件的操作权限行”,
第8-10字符表示其他用户对此文件的操作权限
1 文件的硬链接数目
kzzf 文件所有者的用户名。
kzzf 文件所属用户组的名字。
0 以字节数表示的文件大小。
Dec 15 19:59 上次修改文件的时间和日期。
1.txt 文件名。
2.修改文件访问权限
chmod [who][op][permission] filename
# who代表用户类型
u 拥有者(user --- owner)
g 与拥有者同一组的用户(group)
o 其他人(other)
a 所有人(all)
# op表示动作
+ 表示要加上permission指定的权利
- 表示要取消permission指定的权利
# permission项为权限
r 表示可读
w 表示可写
x 表示可执行
示例
chmod u+w file1 添加文件拥有者对file1文件的写权限
chmod u-x file1 去掉文件拥有者对file1文件的执行权限
chmod ug+rwx file1 添加拥有者和同组用户对file1文件的 读、写、执行权限
chmod a+rwx file1 添加所有人对file1文件的 读、写、执行权限
七.通配符
常用的通配符:
* 匹配任意 多个 字符(包括零个或一个)
? 匹配任意 一个 字符(不包括零个)
[abcd] 匹配abcd中任意一个字符
示例
* 表示 所有文件(或目录)
by* 表示 文件名以“by”开头的文件(或目录)
by*.py 表示 以”by”开头,中间有任意多个字符,并以”.py”结尾的文件(或目录)
byhy???? 表示 以“byhy”开头,其后紧接着 4个字符 的文件(或目录)
[byh]* 表示 文件名以”b”,”y”,或”h”开头的文件(或目录)
byhy[0-9][0-9] 表示 以”byhy”开头,并紧接着2个数字的文件(或目录)
八.重定向
Linux进程在启动后,通常就会打开3个文件句柄,标准输入文件(stdin),标准输出文件(stdout)和 标准错误文件(stderr)
缺省情况下这三个文件stdin、stdout、stderr 都指向终端设备。
在Shell中输入命令的时候,使用 > 符号, 就可以将输入信息输出到其他文件(包括设备文件)中去,这个 > 就是 stdout 重定向符号
stdout 的重定向符号:>
Stderr 的重定向符号:2>
同时重定向stdout和stderr: &>
Stdin 的重定向符号:<
九.网络管理
查询所有网络接口的IP地址:ip addr 或者ifconfig
netstat - 查看各种与网络相关的状态信息,包括:网络的连接、状态、接口的统计信息、路由表、端口的监听情况
常用参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 不显示端口协议名,显示端口数字
-l 只显示 Listen (监听) 的状态端口
-p 显示建立相关链接的进程PID
-r 显示路由信息,路由表
[root@VM_0_46_centos ~]# netstat -nap | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 25996/uwsgi
十.scp文件拷贝
# 从当前主机拷贝到192.168.1.12,byhy2为远程主机的用户名
scp /home/byhy1/abc.txt [email protected]:/home/byhy2
# 拷贝远程主机的文件到本机
scp [email protected]:/home/byhy2/123.txt /tmp/
参考:http://www.python3.vip/doc/tutorial/o/linux/09/