linux基础知识总结(三)

简介:

根据RH033课程整理而成。

12月19号

Lecture 10

进程:活体,程序的副本

定义:进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。——《计算机操作系统》 进程的三种状态:就绪态、执行态、阻塞态。

基本属性:可拥有资源的独立单位;进程同时又是一个可独立调度和分派的基本单位。

计算机利用进程PID来区别不同的进程

init :PID永远为1 ,inintial(初始化)的简写,作用:让操作系统系统启动起来,并让操作系统启动就绪,并给用户提供一个登陆界面,所有的进程都源于它。比喻:耶稣

所有的进程都是由父进程克隆来的。

进程调度 根据进程优先级来进行进程调度,在某一时刻,要满足优先级高的进程。静态优先级 0-99,动态优先级100-139。数字越小,优先级越高。

进程类型:CPU密集型进程:尽可能多的占用cpu;

I/O密集型进程,I/O比较多。

通常来说,IO密集优先级稍微高点

进程间通信:是指进程之间的信息交换。高级通信机制可以分为三大类:共享存储器系统,消息传递系统以及管道通信系统。例如:信号、共享内存(share memory)、socket

查看进程 ps

默认情况下是当前用户在当前终端上正在执行的进程。

守护进程:也称服务进程,是保证系统的正常运行必须要启动的。linux环境下通常是daemon。

由用户发起的进程:前台进程,调度进程(用户定期定时调用的进程)

-e 显示所有进程

clip_image002

PID 进程号 TTY 由哪个终端发起的(F1——F6) “?”表示守护进程,跟终端没关系

TIME 占用CPU运行时间之和。CMD 发起进程的命令。

-f 完全格式

-F 打印出额外信息,比-f显示信息更多

ps –eF

clip_image004

加[]表示内核线程,由内核线程(thread)发起的。

线程 thread:轻量级进程(LWP)。引入线程的概念是为了使多个程序能并发执行,以提高资源的利用率和吞吐量。线程作为调度和分派的基本单位,但不拥有资源。线程的切换不会引起进程的切换。linux没有真正意义的线程。

UID 进程的发起者; PID 进程号;PPID 父进程号; C CPU time累计时间;

SZ 所占用的空间;RSS物理内存占用的实际大小;PSR 显示进程运行在哪个CPU上

pstree 显示所有进程的关系

clip_image006

-u 显示某一用户发起的进程

-o 用户自定义,指定只显示哪些字段

-H显示子进程与父进程的关系

ps –ejH

-j 以job 的方式来显示进程间的关系

clip_image008

ps axjf (BSD风格)

clip_image010

a 包含所有进程

x 表示前台进程

STAT 表示进程状态

进程的状态:运行态running (R) 就绪态 runnable(R) 停止态stopped(T)

睡眠sleep:【可中断睡眠(S),不可中断睡眠(D)】 僵死态(Z)

< 高优先级的进程

N低优先级的进程

s 会话的发起者(leader)

+ 前台进程组中的进程

l 多线程的进程

ps –eo 自定义显示

pgrep grep 风格来显示进程

clip_image012

信号:进程间通信的一种机制,很小的信息,由一个进程发个另一个进程。

查看可用信号:kill –l

man -7

clip_image014

ctrl+C 一般就是信号SIGINT 打断

kill –n PID 默认选择15

kill –SIGKILL PID

killall comm. 把comm的全部删除 不能跟进程号 要跟发起这个进程的命令

pkill 以匹配的方式把进程kill掉。

前面讲过,进程是有优先级的,静态优先级 0-99,动态优先级100-139。数字越小,优先级越高。

有一种值nice,可以调节优先级,默认nice值都为0 -20—19

0——》5优先级降低了

只有管理员才能把nice调低,其他的用户只能调高

两种方式调节nice值:(1)启动命令的时候明确指定:nice –n N bash;

(2)renice 进程号(普通用户只能调高,不能调低)。

top 用于动态查看进程信息 通常每隔5s刷新一次

clip_image016

-d 指定每隔多长时间显示一次 默认5s

-b batch mode 批方式来显示 类似于ps

-n N指定在-b模式下显示几次

gnome-system-monitor

作业管理:job 一个任务包含了多个进程

加&,会释放命令提示符,将作业转入后台执行

clip_image018

crtl + Z 直接把作业送到后台去

bg %n 省略号可省 把一个前台作业送到后台去

fg 把一个后台作业送到前台去 默认的是把带“+”号的作业调出来

fg %n 百分号可省略

删除作业的时候kill kill %3 “%”不能省略

所有的作业在终端退出的时候都会自动终止。

nohup cp /etc/ /tmp/ -r & 送到后台运行,终端退出,依然可运行

jobs z查看当前正在运行的作业

clip_image020

[2]表示作业号

+当前运行的作业

Running状态

Firefox 那个命令运行的作业

Lecture 11

实现IP地址配置:GUI:窗口

CLI:ifconfig

system-config-network-tui

/etc/sysconfig/network-scripts/ifcfg-ehX

网卡命名:lo 本地回环

eth0, eth1 以太网卡

ppp0 拨号连接 串行的点到点的链接

ip addr show 显示当前网络正在使用的网卡

编辑/etc/modrobe.conf文件可以实现对网卡名字的修改

clip_image022

显示当前系统上所有的网络连接:ifconfig

启用一个网络连接:ifup

禁用一个网络连接:ifdown

图形窗口下指定IP地址:system-config-network-gui

临时设置 ifconfig

格式:ifconfig ethX IP/MASK 会立即生效,但是禁用启用后会失效,做集群的时候实现地址漂移

永久设置:(1)system-config-network-tui 字符界面下的图形窗口(重启网络服务)活用setup类似于windows 的控制面板

(2)vim编辑/etc/sysconfig/network-scripts/ifcfg-eth0

clip_image024

/etc/sysconfig/network 全局配置 亦可以设置网关

clip_image026

添加网关:GATEWAY=192.168.0.254

当二者网关不一样的时候,以/etc/sysconfig/network-scripts/ifcfg-ehX为准

修改主机名:

(1)编辑/etc/sysconfig/network HOSTNAME= 设置本机主机名 保证下次重启生效,永久生效

(2)hostname www.a.com 立即生效,只对当前有效

或者修改 /proc/sys/kernel/hostname echo “www.b.com” > /proc/sys/kernel/hostname 临时有效 跟hostname一样的效果

打印机

Printing Queue

使用服务 cups

service cups status

打印命令lp lpr

lpq lpstat查看打印队列

clip_image028

lprm cancle +打印作业号 用于删除一个打印作业

设置系统时间:

GUI:system-config-date NTP网络时间协议

hwclock -s以硬件时间为准

-w以系统时间为准

在指定的未来一次性的运行:at

周期性运行:crond

atq 列出当前系统作业队列

(ctrl+D)提交

clip_image030

移除一个作业 atrm =at –d

at只能在制定未来一次性的运行

watch 监控作业的执行情况,将结果输出地屏幕上

batch 类似于at 但是不需要指定时间,自己会选择在cpu利用率较低时候执行。

crond 系统守护进程 周期性地运行

系统cron 7个字段 /etc/crontab

clip_image032

从左自右:min,hour,day,mon,week,

用户定义的cron 命令:crontab

/var/spool/cron/usrname 6个字段

clip_image034

* :通配 -:范围 2-9 ,:离散的范围 2,6,9 / :每多长时间 */2 每两分钟

crontab -e创建

-l 列出 查看

-r 移除所有作业

anacron 如果因为关机作业没有执行,开机后会检查没有执行的作业

几个常用的参数变量:$# 保存当前通过脚本向命令行传递过来的参数的个数

$@ 保存所有通过命令行传递过来的参数 将每个字符串独立显示

$* 保存所有通过命令行传递过来的参数 将所有的参数当做一个字符串

$! 最近一次运行的进程的进程号

$$ 当前进程的进程号

$0 命令本身

lecture 12

三个查找工具:locate,find,Gnome Search tool

locate 全系统的级别查找,但是基于某个database,通常不存在,需要创建

模糊匹配

–i 忽略大小写

-n 指定在查找的时候只显示n行

updatedb 手动生成locate查找时所用到的数据库

find 【起始目录…】 【查找标准】 【执行的动作(默认print)】

-name 文件名精确匹配 严格区分大小写

find /etc –name “ pass”

-iname 忽略名字的大小写

-user 以文件的用户来查找

clip_image036

-uid 通过属主的ID来查找

clip_image038

-gid 通过属组的ID来查找

-group 以文件的属组来查找

支持正则表达式

-type

f d l b c s p 以文件类型作为标准来查找

clip_image040

连接多个条件: -a and -o or -not 取反 或者!

默认是and

优先级: not&gt;and&gt;or

例如:寻找属主是student 属组不是student的文件

clip_image042

书269练习3

clip_image044

根据权限来查找:

-perm mode 精确匹配

clip_image046

-perm +mode 由任何一个用户的权限满足即可 包含也可以 比如 7包含6

clip_image048

-perm –mode 所有类别用户的权限都要满足

clip_image050

-size 根据文件大小来匹配

-size n 精确匹配 写成1的情况比较特殊,只要小于1M都会显示,系统会将1默认为单位

-size +n +1M 大于nM

-size -n -1M 小于nM

根据访问时间

-atime 3正好三天 +3超过三天 (三天前访问过) -3三天以内(三天内访问过)

clip_image052

-mtime 以修改时间为选项

-ctime 以改变时间为选项

-amin 3 3分钟

-mmin 以修改分钟为选项

-cmin 以改变分钟为选项

查找后执行的动作:

-ls

-print

-exec command {}口\; 找到后执行

-ok command {}口\; 任何一个操作执行前先进行提示

clip_image054

lecture 13

客户端:图形界面下的访问工具,如浏览器

wget: 非交互式网络下载工具

--tries 指定重试次数

--wait 需要等待时间(s)

--recursive 递归下载

--convert 转换所有链接到当前目录下载目录,转换成本地可用链接,以本地链接的方式进行查看

links 纯字符界面下查看网页

从网上下载软件并安装到本地的过程:

cd /etc/yum.repos.d

wget ftp://192.168.0.254/pub/gls/centos.repo

yum install evolution thunderbird

mutt 非图形界面邮件客户端

pidgin 即时聊天工具

Nautilus 实现文件的访问和传输

SSH 字符界面下连接一个linux主机 secure Shell

OpenSSH

客户端工具:ssh,sshd(服务器端工具),scp在不同的主机之间安全的copy文件

sftp 加密的方式实现文件的传输

ssh hostname

ssh user@hostname

ssh –l user hostname

ssh –X 192.168.0.120 在本地服务器上作为X server去执行远程服务器上的图形窗口的命令。

ssh 192.168.0.123 ‘ifconfig’ 在对方服务器上执行一个命令,并将命令的结果取回来

scp ./ centos.repo 192.168.0.210:/tmp将本机目录下文件拷到远程服务器指定目录下

scp 192.168.0.120:/etc/fstab ./ 将远程服务器目录下文件拷到本地指定目录下

-r 递归拷贝 将目录下的文件拷贝过来

-p 保留时间标签和权限信息

rsync 只拷贝目录下不同的文件,效率比scp高 默认是明文传输

rsync –e ssh 调用ssh工具代为传送 所以为加密传送

-r –a

ftp客户端:GUI:gftp gftp&打开图形界面

CLI:ftp lftp lftpget 不用登录直接下载

clip_image056

smbclient -L 192.168.0.1(访问windows的共享目录)










本文转自 490999122 51CTO博客,原文链接:http://blog.51cto.com/lyp0909/463620,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Linux 应用服务中间件 Apache
Linux Apache服务详解——Apache服务基础知识
Linux Apache服务详解——Apache服务基础知识
33 2
|
1月前
|
域名解析 缓存 网络协议
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS基础知识
72 1
|
2月前
|
Linux 芯片
Linux 驱动开发基础知识——认识LED驱动程序 (二)
Linux 驱动开发基础知识——认识LED驱动程序 (二)
35 0
Linux 驱动开发基础知识——认识LED驱动程序 (二)
|
2月前
|
传感器 Linux 开发工具
Linux应用开发基础知识——I2C应用编程(十三)
Linux应用开发基础知识——I2C应用编程(十三)
56 0
Linux应用开发基础知识——I2C应用编程(十三)
|
2月前
|
存储 传感器 Linux
Linux应用开发基础知识——I2C应用编程(十二)
Linux应用开发基础知识——I2C应用编程(十二)
71 0
Linux应用开发基础知识——I2C应用编程(十二)
|
2月前
|
Ubuntu Linux 测试技术
Linux应用开发基础知识——输入系统应用编程(八)
Linux应用开发基础知识——输入系统应用编程(八)
41 0
Linux应用开发基础知识——输入系统应用编程(八)
|
1月前
|
运维 网络协议 安全
Linux vsFTPd服务详解——vsFTPd基础知识
Linux vsFTPd服务详解——vsFTPd基础知识
28 4
|
1月前
|
Linux C语言 芯片
嵌入式linux系统中设备树基础知识
嵌入式linux系统中设备树基础知识
48 0
|
2月前
|
Linux 芯片 开发者
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
152 0
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
|
2月前
|
Ubuntu Linux 芯片
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)
68 1
Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)