linux一些基本常识(四)
tail -f时时监控
一开启内存最小位u原则,尽量优化代码
grep -v "" /etc/passwd 这样行不行
怎么清除last
nice调整进程运行级别
pkill是匹配关键字来杀死进程的
------------------------------------------------------------------------------
文本的操作基础:
cat --文本的简单查看命令,只能查看最后一屏的信息
cat -n /<path>/file --显示行号
more --分页查看文本内容
less --分页查看,比more灵活
/关键字 可以实现搜索的功能,按n配置下一个,N配置上一个
head --局部查看命令,查看文本的头部
head /etc/passwd --10行
head -3 /etc/passwd --头3行
tail --局部查看命令,查看文本的尾部
tail /etc/passwd --末10行
tail -3 /etc/passwd --末3行
tail -f /var/log/message --可以看到最新的更新内容 (动态查看)
=============文件内容搜索===================
grep
#grep root /etc/passwd --在passwd过滤root关键字
#grep -i root /etc/passwd --忽略大小写
#grep -n -i root /etc/passwd --忽略大小写并输入行号
#grep -v root /etc/passwd -v除了root这个关键字
# grep -v '^$' /etc/passwd ^$ 空行
# grep '^root' /etc/passwd ^root以root开头
# grep 'bash$' /etc/passwd bash$以bash结尾
# head /tmp/passwd | grep -v '^$'
# grep -Rl "size_t" /usr/include/ 查找/usr/include哪些文件中含有size_t 关键字
# less /tmp/passwd | grep -v '^$' | grep -i -n root
1194 cat /tmp/passwd | grep -i -n '^root'
1195 cat /tmp/passwd | grep -i -n 'bash$'
# cat /etc/vsftpd/vsftpd.conf | grep -v '^#' | grep -v '^$'
===============================
linux信息搜集命令:
uname
uname -r 内核版本
uname -n 主机名 hostname
uname -a 所有信息
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)
==================================
free
free -m 内存和交换分区的使用情况
total used free shared buffers cached
Mem: 1992 1953 39 0 98 1414
-/+ buffers/qcache: 440 1552
Swap: 2271 0 2271
tobal 内存总数 used 已经使用的内存数 free 空闲的内存数
shared 当前已经废弃不用 buffers 缓存内存数 cached 缓存内存数
#watch -n 1 -d free 动态观察内存情况
了解/proc目录
cat /proc/cpuinfo CPU信息
cat /proc/meminfo 内存信息
cat /proc/swaps 交换分区
cat /proc/version 版本
cat /proc/scsi ide scsi 设备信息 ide设备信息
cat /proc/net 网络状态与配置文件
cat /proc/sys 核心配置参数 (除了这个文件,其他的是只读)
cat /proc/<PID> 以进程PID命名的目录,每个进程的信息分别放在该目录下文件中
cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0关闭 1开启
-------------------------------------------------------------------------------------------------------
df 查看挂载情况
df -h 显示已经挂载的分区,以M为单位显容量
df -Th 显示已经挂载的分区和分区对应的文件系统
df -i 显示已经挂载的分区和文件节点数
du 查看文件实际占用磁盘空间大小
du -csh /dir
du -chs /dir/filename 统计文件或者目录占用的磁盘空间情况
w who whomai id finger
w --显示在线用户
write king 向在线的用户king发送消息
who --显示在线用户
whoami --查询当前用户是谁
id --查询当前用户的uid gid和辅助组
id username --查询指定用户的uid gid和辅助组
last lastlog ac
last --显示最新登录系统的用户,及在线时间情况
lastlog --报告所有用户最近有无登录服务器
lastlog -u username --报告指的用户
ac -p --报告所有用户的在线时长
ac -p -d --按照日期来统计用户的在线时长
进程管理:
ps
pstree
top 系统监视工具
pgrep
pkill
kill
killall
nice
renice
ps -aux 查看进程关系
-a 显示其他用户启动的进程
-u 启动这个进程的用户和它启动的时间
-x 查看系统中属于自己的进程
-f 显示进程的父子关系
我们常用的是 ps -aux
=================================
USER --启动进程用户身份
PID --进程号
%CPU --CPU的利用率
%MEM --内存的利用率
VSZ --预分分配的虚拟内存
RSS --真实分配的内存
TTY --在哪个终端启用的进程
STAT --当前进程的状态
D:不可中断的睡眠
R:运行当中的进程
S:可中断的睡眠
T:停止或被追踪
Z:僵尸进程 <子进程结束 父亲进程未回收子进程资源 则变成僵尸进程>
d:死掉的进程
<:高优先级别的进程
n/N:低优先级别的进程
s:是一个进程组,代表还有子进程
+:前台进程
START --进程启动时间
TIME --进程运行了多长时间
COMMAND --用什么命令启动的进程
共享内存hhr用于进程间通信的
面对大量io读取瓶紧,我们该怎么解决?
----------------------------------------------------------------------------------------
kill 根据进程ID,给进程发信号
查看Linux下信号定义 man 7 signal
kill PID 发进程发正常关闭信号 (默认发的是15信号)
kill -15 PID 向进程发正常关闭信号
kill -9 PID 向进程发强制退出信号
kill -1 | -HUP --让进程重启,并重新加载配置文件
killall --根据完整的程序名字关闭进程
killall -9 bash
killall -9 httpd
killall -1 bash
nice 优先级 -20到19 (-20最高 19最低)
nice -20 /bin/bash --启动某个程序时指定进程的优先级别
renice
# renice -20 -p 8054 --更改已经启动的程序的进程优先级别 top 输入
bash的特殊符号:
< << > >> &> | * ? $
标准输入 (键盘) stdin 0
标准正确输出 (屏幕)stdout 1
标准错误输出 (屏幕)stderr 2
# ll /dev/std*
lrwxrwxrwx. 1 root root 15 5月 2 2012 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 5月 2 2012 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 5月 2 2012 /dev/stdout -> /proc/self/fd/1
ls > /tmp/aaa
ls /tttt
ls /tttt > tmp/aaa ---- ls /tttt 2> /tmp/aaa
# ls -l /dev/std*
lrwxrwxrwx. 1 root root 15 Aug 3 09:34 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx. 1 root root 15 Aug 3 09:34 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Aug 3 09:34 /dev/stdout -> /proc/self/fd/1
<< --输入追加重定向
# cat > a2.txt <<END || EOT
> gfdsjkgfdjgkldf
> fdsfdsfds
> fdsfdsf
> END || EOT
> --输出覆盖重定向
>> --输出追加重定向
2> --错误覆盖输出重定向
2>> --错误追加输出重定向
&> --输出正确/错误覆盖重定向
&>> --输出正确/错误追加重定向
#vim scanf.c
int main(void)
{
int a ,b;
printf("input a and b:");
scanf("%d %d",&a,&b);
printf("a:%d b:%d\n",a,b);
return 0;
}
#gcc scanf.c
#cat txt
100 500
标准输入重定向
#./a.out < ./txt
--------------------------------------------------
cat /root/a2.txt /root &> a.txt --将正确和错误一起覆盖重定向至a.txt
cat /root/a2.txt /root &>> a.txt --将正确和错误一起追加重定向至a.txt
find / -name kk &> /tmp/findfile --将正确和错误一起覆盖重定向至/tmp/findfile
find / -name kk &>> /tmp/findfile
# cat /root/a2.txt /root/ > /tmp/1.txt 2> /tmp/2.txt
# cat /root/a2.txt /root/ >> /tmp/1.txt 2>> /tmp/2.txt
| 管道
cat /etc/passwd |grep root |grep ^root
cat /etc/passwd | grep nologin$
--把passwd输出结果通过管道交给第二个命令去处理,往后的以此类推
通配符:
* --匹配一个或者任意多个字符,也就是*代表所有
? --匹配一个字符
$ --引用变量
ls /etc/*.conf
[root@instructor ~]# ls /etc/?conf
echo $PATH
软链接ln要用绝对路径来作,保证数据链接的正确,以防软链接移到别处了就出现各种问题。
ln -s 软链接
ln -d 应链接
真正删除一个文件要满足2个条件(硬链接数为0,引用技术为0,就是有多少个进程引用这个)
因链接要主义的:不能对目录作应链接,因为硬链接,系统有一个遍历循环 ls -R避免形成一个循环遍历。
因链接也不允许跨分区(因为不能保证inode号唯一)实时备份的好工具
linux一些基本常识(四)的更多相关文章
- Linux操作系统基础(四)保护模式内存管理(2)【转】
转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blo ...
- Linux学习之十四、管线命令
Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php
- Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介
原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理 ...
- 十天学Linux内核之第四天---如何处理输入输出操作
原文:十天学Linux内核之第四天---如何处理输入输出操作 真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
- Linux内核分析第四章 读书笔记
Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这 ...
- Java开发人员必须掌握的两个Linux魔法工具(四)
子曰:"工欲善其事,必先利其器." 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣) ...
- 成为Linux内核高手的四个方法
首页 最新文章 资讯 程序员 设计 IT技术 创业 在国外 营销 趣文 特别分享 更多 > - Navigation -首页最新文章资讯程序员设计IT技术- Java & Android ...
- Linux应急响应(四):盖茨木马
0x00 前言 Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装.木马得名于其 ...
- Linux及安全实践四——ELF文件格式分析
Linux及安全实践四——ELF文件格式分析 一.ELF文件格式概述 1. ELF:是一种对象文件的格式,用于定义不同类型的对象文件中都放了什么东西.以及都以什么样的格式去放这些东西. 二.分析一个E ...
随机推荐
- 第5章 pandas入门
pandas是专门为处理表格和混杂数据设计的,NumPy更适合处理统一的数值数组数据. pandas的数据结构: Series:Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据 ...
- RegExp实例
ECMAScript通过RegExp类型来支持正则表达式,常见的正则表达式为:var expression = /pattern / flags;其中的模式(pattern)部分可以使任何简单或复杂的 ...
- SpringBoot学习记(一)第一个SpringBoot Web服务
工具IDEA 一.构建项目 1.选择Spring Initializr 2.填写项目信息 3.勾选webService 4.勾选Thymeleaf 5.项目建立完成,启动类自动生成 二.写个Contr ...
- 2018ICPC网络赛(焦作站)E题题解
一.题目链接 二.题意 给定一棵树,有四种操作: $1\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值乘以$x$: $2\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值加上 ...
- Salesforce开源TransmogrifAI:用于结构化数据的端到端AutoML库
AutoML 即通过自动化的机器学习实现人工智能模型的快速构建,它可以简化机器学习流程,方便更多人利用人工智能技术.近日,软件行业巨头 Salesforce 开源了其 AutoML 库 Transmo ...
- 信息学奥赛(NOIP)初赛学习方法推荐
首先声明:本帖针对初学者,本帖只是列出一个大概的框架,不属于自学方法,有条件有能力,请找一位好老师来教,多跟前辈交流经验.(否则多会出现事倍功半的悲剧!) 一.初赛内容 初赛偏重于基础知识. 1. 一 ...
- 清理mysql binlog日志
1.查看binlog日志 mysql> show binary logs; +------------------+------------+| Log_name | File_ ...
- for /f命令之—Delims和Tokens用法&总结
在For命令语踞饽参数F中,最难理解的就是Delims和Tokens两个选项,本文简单的做一个比较和总拮.“For /f”常用来解析文本,读取字符串.分工上,delims负责切分字符串,而tokens ...
- diffutils's diff
比较文件的差异 diff,用来查看两个文件的差异之处,或者两个目录之中的对应文件.倘若比较的不是文本文件,而是二进制文件,只会报告两者不同.输出文本文件的异同时,可以按照多个格式输出,根据使用的选项决 ...
- 0_Simple__simpleZeroCopy
两种方法使用零拷贝内存做简单的向量加和,并评估 GPU 计算结果与 CPU 计算结果的差. ▶ 源代码 #include <stdio.h> #include <cuda.h> ...