- Linux里如何查看一个想知道的进程?
查看进程运行状态的指令:ps命令。“ps -aux | grep PID”,用来查看某PID进程状态
解析
//ps使用示例 //显示当前所有进程 ps -A //与grep联用查找某进程 ps -aux | grep apache //查看进程运行状态、查看内存使用情况的指令均可使用top指令。 top
1
Linux里如何查看带有关键字的日志文件?
cat 路径/文件名 | grep 关键词
返回test.log中包含http的所有行 cat test.log | grep "http"
1
grep -i 关键词 路径/文件名 (与方法一效果相同,不同写法而已)
返回test.log中包含http的所有行(-i忽略大小写) grep -i "http" ./test.log
1
3.说说你对grep命令的了解?
grep 命令。强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。
grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
解析
//参数 2. -A n --after-context显示匹配字符后n行 3. -B n --before-context显示匹配字符前n行 4. -C n --context 显示匹配字符前后n行 5. -c --count 计算符合样式的列数 6. -i 忽略大小写 7. -l 只列出文件内容符合指定的样式的文件名称 8. -f 从文件中读取关键词 9. -n 显示匹配内容的所在文件中行数 10. -R 递归查找文件夹 11. 12. //grep 的规则表达式: 13. ^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 14. $ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 15. . #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。 16. #匹配零个或多个先前字符 如:'grep'匹配所有一个或多个空格后紧跟grep的行。 17. . #一起用代表任意字符。 18. [] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 19. [^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。 20. (..) #标记匹配字符,如'(love)',love被标记为1。 21. \< #锚定单词的开始,如:'\ #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。 23. x{m} #重复字符x,m次,如:'0{5}'匹配包含5个o的行。 24. x{m,} #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。 25. x{m,n}#重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。 26. \w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\wp'匹配以G后跟零个或多个文字或数字字符,然后是p。 27. \W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。 28. \b #单词锁定符,如: '\bgrep\b'只匹配grep。 //实例: 1. //查找指定进程 2. ps -ef | grep svn 3. 4. //查找指定进程个数 5. ps -ef | grep svn -c 6. 7. //从文件中读取关键词 8. cat test1.txt | grep -f key.log 9. 10. //显示包含 ed 或者 at 字符的内容行 11. grep -E 'ed|at' test.txt
1
4.Linux修改主机名的命令是什么?
如果只需要临时更改主机名,可以使用hostname命令。
sudo hostname <new-hostname> # 例如: sudo hostname myDebian #myDebian为修改名
1
如果想永久改变主机名,可以使用hostnamectl命令
sudo hostnamectl set-hostname myDebian #myDebian为修改名
1
Linux开机自动执行命令如何实现?
方法 #1 - 使用 cron 任务
除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令。这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径。
然而,这种方法需要注意两点:
a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时
b) 脚本或 crontab 文件必须包含需要的环境变量。
方法 #2 - 使用 /etc/rc.d/rc.local
这个方法对于 systemd-based 发行版 Linux 同样有效。不过,使用这个方法,需要授予 /etc/rc.d/rc.local 文件执行权限:
chmod +x /etc/rc.d/rc.local
1
然后在这个文件底部添加脚本。
Linux查看内存的命令是什么?
查看内存使用情况的指令:free命令。“free -m”,命令查看内存使用情况。
查看进程运行状态、查看内存使用情况的指令均可使用top指令。
解析
free命令
Linux free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
参数如下:
-b 以Byte为单位显示内存使用情况。 -k 以KB为单位显示内存使用情况。 -m 以MB为单位显示内存使用情况。 -h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有: B = bytes K = kilos M = megas G = gigas T = teras -o 不显示缓冲区调节列。 -s<间隔秒数> 持续观察内存使用状况。 -t 显示内存总和列。 -V 显示版本信息。
1
实例:显示内存使用情况
# free //显示内存使用信息
total used free shared buffers cached
Mem: 254772 184568 70204 0 5692 89892
-/+ buffers/cache: 88984 165788
Swap: 524280 65116 459164
1
2
3
4
5
top命令
top命令。显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等
img
前五行是当前系统情况整体的统计信息区。
第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
00:12:54 — 当前系统时间
up ?days, 4:49 — 系统已经运行了?天4小时49分钟(在这期间系统没有重启过)
21users — 当前有1个用户登录系统
load average: 0.06, 0.02, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行,Tasks — 任务(进程),具体信息说明如下:
系统现在共有256个进程,其中处于运行中的有1个,177个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行,cpu状态信息,具体属性说明如下:
0.2%us — 用户空间占用CPU的百分比。
0.2% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
99.5% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行,内存状态,具体信息如下:
2017552 total — 物理内存总量
720188 used — 使用中的内存总量
197916 free — 空闲内存总量
1099448 cached — 缓存的总量
第五行,swap交换分区信息,具体信息说明如下:
998396 total — 交换区总量
989936 free — 空闲交换区总量
8460 used — 使用的交换区总量
1044136 cached — 缓冲的交换区总量
- free命令有哪些选项?
Linux free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
参数如下:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
B = bytes
K = kilos
M = megas
G = gigas
T = teras
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
解析
实例:显示内存使用情况
free //显示内存使用信息
total used free shared buffers cached
Mem: 254772 184568 70204 0 5692 89892
-/+ buffers/cache: 88984 165788
Swap: 524280 65116 459164