Linxu基础命令1

一.进程相关

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/

发布了106 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43667990/article/details/103551224