一、进程相关命令
进程相关命令:
进程——一个运行起来的程序 程序运行结束 进程消失
ps命令是最基本的进程查看命令(使用该命令可以确定哪些进程正在运行和运行的状态)
以及进程是否结束、进程有没有僵化、哪些进程占用了过多的资源。
ps是显示瞬间进程的状态,并不动态连续;如果想对进程实时监控应该用top命令
前台进程:占用终端,终端的输入将会传输给 前台进程
后台进程:没有占用终端,在后台运行的 进程 输出会在终端显示 依附终端存在
服务进程:通常没有终端输入输出
1、不加参数的ps命令
不加参数,直接执行ps命令,控制台输出4列信息:
PID TTY TIME CMD
1988 pts/0 00:00:00 bash
2344 pts/0 00:00:00 ps
- PID:运行着的命令(CMD)的进程编号 在系统中 是一个唯一的数
- TTY:命令所运行的位置(终端)
- TIME:运行着的该命令所占用的CPU处理时间
- CMD:该进程所运行的命令
2、基本参数
- -A:所有的进程均显示出来,与-e具有同样的效用;
- -a:显示现行终端机下的所有进程,包括其他用户的进程;
- -u:以用户为主的进程状态;
- -x:通常与a这个参数一起使用,可列出较完整信息;
3、显示当前所有进程
ps -a,同时加上x这个参数会显示没有终端控制的进程。其中-a代表all
- ps -ax
- #这个命令的结果或许会很长,为例便于查看,可以结合less命令和管道来使用
- ps -ax | less
4、根据用户查看进程
在需要查看特定用户进程的情况下,我们可以使用-u参数。比如我们要查看用户‘root’的进程,可以通过下面的命令:ps -u root
5、根据cpu和内存使用来查看进程
希望把结果按照CPU或者内存用量来筛选,这样你就找到哪个进程占用了你的资源,可以用aux参数,来显示全面的信息:ps -aux | less
6、根据顺序查看进程
默认的结果集是未排好序的。可以通过--sort命令来排序:
- ps -aux --sort -pcpu | less #根据CPU使用率来升序排序
- ps -aux --sort -pmem | less #根据内存使用率来升序排序
7、根据进程名和PID来查看进程
使用-C参数,后面跟你要找的进程的名字,比如想显示一个名为getty的进程的信息,就可以使用下面的命令:
- ps -C getty
- #如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表
- ps -f -C getty
查看系统中 所有的 进程
- ps -aux
- ps -aux | grep ./a.out 筛选指定名字的进程
给指定进程发送 杀死信号
- kill -9 进程PID
- top 命令 动态显示进程
更改运行中的进程的优先级
- renice +/-n -p pid
8、进程的状态: 了解
- D: 不可中断的静止
- R: 正在执行中
- S: 阻塞状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的内存分页可分配
- <: 高优先级的进程
- N: 低优先级的进程
- L: 有内存分页分配并锁在内存中
- # jobs //查看任务,返回任务编号n和进程号
- # bg %n //将编号为n的任务转后台运行
- # fg %n //将编号为n的任务转前台运行
- # ctrl+z //挂起当前任务 前台转后台
- # ctrl+c //结束当前任务 结束前台进程
- 运行程序时 就在后台运行 ./a.out &
二、Ubuntu软件包的管理
- 本地软件包管理器 dpkg
- 在线软件包管理器 apt-get 应用商店
软件包: 格式
- Windows .exe
- Linux: .deb 软件包 : Ubuntu系统专用
- .rpm 软件包 : Redhat系统通用型
- 示例: 次版本号
- sogoupinyin_2.2.0.0108_amd64.deb
- 软件包名 主版本号 体系架构
1. 查看系统中的 所有软件包
- dpkg -l 列出本地所有的软件包
2. 本地安装 与 卸载软件包
- sudo dpkg -r 软件包名 卸载指定软件包
- sudo dpkg -P 软件包名 移除已卸载软件的配置文件
- sudo dpkg -i 软件安装包.deb
- dpkg : 1. 无需网络 本地安装
- 2. 无法自动解决依赖问题
3、apt-get : 联网安装 有网/源上要有该软件包
- 可以自动解决依赖问题
- 软件源: apt-get 工具会从服务器(软件源) 上去搜索 指定软件包
- sudo apt-get update 更新源
- 1.在线安装一个软件包
- sudo apt-get install 软件包名
- 软件原列表文件/etc/apt/sources.list
练习: 卸载 gedit 软件包
apt-get 安装 gedit
三、Ubuntu网络相关
- TPCIP 以太网
- IP地址: 计算机在网络中的 唯一ID 用于确定在网络中的 逻辑位置
- 格式: 点分法 显示 192.168.124.9 本质是一个32bit的数
- IP地址: 0-255
- A类地址
- B类地址
- C类地址
补充理解:
- 局域网: 局部访问
- 广域网: 外网 全球通用 任何地方都可以访问
- IPv4 地址 . . . . . . . . . . . . : 192.168.124.56
- 子网掩码 . . . . . . . . . . . . : 255.255.255.0
- 默认网关. . . . . . . . . . . . . : 192.168.124.1
- 网络号: 局域网中 主机地址 最小的那个 192.168.124.0
- 主机地址: 除去网络号 余下部分 作为主机号
- 广播地址: 局域网中 主机号最大的那个IP 192.168.124.255
- 子网掩码: 区分 网络号 与主机号的一个 掩码
- 网关地址:局域网中 主机号 最小可以使用的那个 192.168.124.1
- Linux 查看系统IP:ifconfig Windows查看系统IP:win+r cmd ipconfig
- ifconfig:
- ens33 Link encap:以太网 硬件地址 00:0c:29:2f:76:27
- inet 地址:192.168.124.117 广播:192.168.124.255 掩码:255.255.255.0
- inet6 地址: fe80::2c6d:3b87:26bc:a3ea/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
- 接收数据包:23463 错误:0 丢弃:117 过载:0 帧数:0
- 发送数据包:5686 错误:0 丢弃:0 过载:0 载波:0
- 碰撞:0 发送队列长度:1000
- 接收字节:7933725 (7.9 MB) 发送字节:402275 (402.2 KB)
- lo Link encap:本地环回
- inet 地址:127.0.0.1 掩码:255.0.0.0
- inet6 地址: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:65536 跃点数:1
- 接收数据包:3084 错误:0 丢弃:0 过载:0 帧数:0
- 发送数据包:3084 错误:0 丢弃:0 过载:0 载波:0
- 碰撞:0 发送队列长度:1000
- 接收字节:264009 (264.0 KB) 发送字节:264009 (264.0 KB)
- 测试 连通性:
- ping ip地址或域名 DNS 域名服务器 域名 --> IP
- DHCP: 动态IP分配 局域网 租用IP
- nslookup 用于解析域名 访问域名服务器
四、 Ubuntu配置网卡
1. 图形化配置 配置DHCP 动态模式
- 配置静态 ip 手动指定一个IP
2. 使用配置文件 方式配置
- 修改配置文件
- sudo vim /etc/network/interfaces
- 参考如下配置:
- # interfaces(5) file used by ifup(8) and ifdown(8)
- auto lo
- iface lo inet loopback
- auto ens33
- #配置网络 ens33 为DHCP模式
- #iface ens33 inet dhcp
- #配置网络 ens33 为静态IP模式
- iface ens33 inet static
- address 192.168.3.201
- netmask 255.255.255.0
- gateway 192.168.3.1
配置完成后 重启网卡
- xwq@xwq-pc:~$ sudo /etc/init.d/networking restart
- [ ok ] Restarting networking (via systemctl): networking.service.
若 出现网络未托管 情况
1、编辑托管配置文件
- xwq@xwq-pc:~$ sudo vim /etc/NetworkManager/NetworkManager.conf
- [main]
- plugins=ifupdown,keyfile,ofono
- dns=dnsmasq
- [ifupdown]
- managed=true
2、重启 托管服务
- sudo /etc/init.d/network-manager restart
- [ ok ] Restarting network-manager (via systemctl): network-manager.service.
五、安装tftp和nfs两个服务器
- 文件共享的两个服务器 tftp nfs
tftp服务器: 文件传输服务 以cs(客户端与服务器模型)
- 客户端 可以通过tftp 上传或下载文件到服务器 云盘
1、安装 tftp客户端 tftp服务器端
- 安装 软件包 apt-get
- sudo apt-get install tftp //安装客户端
- sudo apt-get install tftpd-hpa //安装服务器
2.配置服务器
- 编辑配置文件 sudo vim /etc/default/tftpd-hpa
- 参考如下配置
- # /etc/default/tftpd-hpa
- TFTP_USERNAME="tftp"
- # TFTP_DIRECTORY="/var/lib/tftpboot"
- TFTP_DIRECTORY="/home/xwq/tftpboot"
- TFTP_ADDRESS=":69"
- TFTP_OPTIONS="--secure -c"
- 配置文件修改
- TFTP_DIRECTORY="/home/xwq/tftpboot" // 修改了 tftp的工作目录 /home/xwq/tftpboot
- TFTP_OPTIONS="--secure -c" // 添加了-c 选项 可以上传文件
- 若工作目录 /home/xwq/tftpboot 不存在, 就手动创建这个目录
- mkdir /home/xwq/tftpboot
- 给权限
- chmod 777 /home/xwq/tftpboot
3. 重启服务 使能配置生效
- sudo /etc/init.d/tftpd-hpa restart
- [ ok ] Restarting tftpd-hpa (via systemctl): tftpd-hpa.service.
4. 使用 tftp
- 客户端 下载文件
- xwq@xwq-pc:~/tmp$ tftp 192.168.124.117(给自己的ip)
- tftp> get test.txt
- Received 13 bytes in 0.1 seconds
- tftp> quit
- 客户端 上传文件
- tftp 192.168.124.117
- tftp> put 1.txt
- Sent 13 bytes in 0.0 seconds
- tftp> quit
nfs: 目录共享服务
1.安装服务器
- sudo apt-get install nfs-kernel-server
2.配置 nfs
- sudo vim /etc/exports
- 添加一行配置
- /home/xwq/nfshome *(ro,sync,no_subtree_check)
- 工作目录 *不限制ip ro 只读 rw 可读可写
- 若工作目录 /home/xwq/nfshome 不存在, 就手动创建这个目录
- mkdir /home/xwq/nfshome
- 给权限
- chmod 777 /home/xwq/nfshome
3. 重启服务生效
- sudo /etc/init.d/nfs-kernel-server restart
4. 使用nfs
- 客户端使用nfs 挂载客户端提供的 目录 到本地 的 一个 目录上
- sudo mount 192.168.124.117:/home/xwq/nfshome /mnt/nfs
- 卸载 挂载点 退出挂载点目录
- sudo umount /mnt/nfs
以上两个服务器都是在Ubuntu16.48及其以下版本适用
以下为自己借鉴其他博主并总结的17.10之后版本使用方法及20.04版静态IP网络设置
Ubuntu20.04安装tftp
一、安装软件
sudo apt-get install tftp //安装客户端
sudo apt-get install tftpd-hpa //安装服务器
sudo apt-get install xinetd //这里有些博主说网络管理服务,Ubuntu中,tftp不能独
立运行,需要网络管理服务器支持
二、创建tftp目录
gec@ubuntu:~/My$ ls
arm-gcc busybox linux nfs qemu rootfs uboot vexpress-a9
gec@ubuntu:~/My$ mkdir tftp
gec@ubuntu:~/My$ ls
arm-gcc busybox linux nfs qemu rootfs tftp uboot vexpress-a9
gec@ubuntu:~/My$ chmod 777 tftp/
gec@ubuntu:~/My$ ls
arm-gcc busybox linux nfs qemu rootfs tftp uboot vexpress-a9
gec@ubuntu:~/My$
三、配置tftp服务器
sudo vim /etc/default/tftpd-hpa
参考如下配置:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/gec/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
四、重启服务
sudo service tftpd-hpa start
sudo service tftpd-hpa restart
查看是否已经重启服务:
ps -e | grep tftp
gec@ubuntu:~/tftp$ ps -e | grep tftp
7893 ? 00:00:00 in.tftpd
gec@ubuntu:~/tftp$
五、使用tftp
- 客户端 下载文件
- gec@ubuntu:~/tftp$ tftp 192.168.124.117(给自己的ip)
- tftp> get test.txt
- Received 13 bytes in 0.1 seconds
- tftp> quit
- 客户端 上传文件
- tftp 192.168.124.117
- tftp> put 1.txt
- Sent 13 bytes in 0.0 seconds
- tftp> quit
Ubuntu20.04静态IP网络配置
使用配置文件 方式配置
- 修改配置文件
- sudo vim /etc/netplan/*.yaml
楼主这里看见的是:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
因为我这里安装的是ubuntu20.04的 desktop版本,通过桌面上设置的IP网络地址,可以正常上网,但是查看/etc/netplan/目录下的yaml
原因是:ubuntu 的网络管理分成2个模块进行管理,要么用networkd,要么用NetworkManager
networkd用的是systemd的服务,一般用在网络稳定的地方。
NetworkManager用在网络变化比较频繁的地方,比如wifi这些网卡。
NetworkManager的配置在这个目录里面:
/etc/NetworkManager/system-connections
so:楼主桌面版的只用了图形界面设置静态网络IP 使用配置文件配置桌面版待补充