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一些基本常识(四)的更多相关文章

  1. Linux操作系统基础(四)保护模式内存管理(2)【转】

    转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blo ...

  2. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  3. Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

    原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理 ...

  4. 十天学Linux内核之第四天---如何处理输入输出操作

    原文:十天学Linux内核之第四天---如何处理输入输出操作 真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可 ...

  5. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  6. Linux内核分析第四章 读书笔记

    Linux内核分析第四章 读书笔记 第一部分--进程调度 进程调度:操作系统规定下的进程选取模式 面临问题:多任务选择问题 多任务操作系统就是能同时并发地交互执行多个进程的操作系统,在单处理器机器上这 ...

  7. Java开发人员必须掌握的两个Linux魔法工具(四)

    子曰:"工欲善其事,必先利其器." 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣) ...

  8. 成为Linux内核高手的四个方法

    首页 最新文章 资讯 程序员 设计 IT技术 创业 在国外 营销 趣文 特别分享 更多 > - Navigation -首页最新文章资讯程序员设计IT技术- Java & Android ...

  9. Linux应急响应(四):盖茨木马

    0x00 前言 ​ Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装.木马得名于其 ...

  10. Linux及安全实践四——ELF文件格式分析

    Linux及安全实践四——ELF文件格式分析 一.ELF文件格式概述 1. ELF:是一种对象文件的格式,用于定义不同类型的对象文件中都放了什么东西.以及都以什么样的格式去放这些东西. 二.分析一个E ...

随机推荐

  1. Javascript中的delete介绍

    关于JavaScript中的Delete一直没有弄的很清楚,最近看到两篇这方面的文章,现对两文中部分内容进行翻译(内容有修改和添加,顺序不完全一致,有兴趣推荐看原文),希望能对大家有所帮助 一.问题的 ...

  2. Java堆外内存之四:直接使用Unsafe类操作堆外内存

    在nio以前,是没有光明正大的做法的,有一个work around的办法是直接访问Unsafe类.如果你使用Eclipse,默认是不允许访问sun.misc下面的类的,你需要稍微修改一下,给Type ...

  3. jQuery 的noConflict()的使用.

    我们项目现在需要用到两个js库.一个是jQuery库,还有一个是我们自己开发的轻量级的gys.js库. 而gys库对外提供的接口也是$符号.和jQuery库是一样的,这个时候,两个库就会发生冲突了,我 ...

  4. ORM介绍(字段 和 字段的参数)

    ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...

  5. python pip使用报错:Fatal error in launcher: Unable to create process using '"'

    在一个系统中共存Python2.python3的时候,pip.pip2.pip3使用的时候会报错: c:\Python35\Scripts>pip3Fatal error in launcher ...

  6. 关于tcp的三次握手与四次挥手,以及粘包

    tcp三次握手: TCP是因特网中的传输层协议,使用三次握手协议建立连接.当主动方发出SYN连接请求后,等待对方回答SYN+ACK[1],并最终对对方的 SYN 执行 ACK 确认.这种建立连接的方法 ...

  7. C基本语句和运算符

    1,逗号运算符

  8. 位运算骚操作 Part 2

    ▶ 计算 unsigned int v 的以 2 为底的对数,结果放入 unsigned int r . // 方法零 #pragma unroll ;v; r++, v >>= ); / ...

  9. Appium清空EditText

    在使用appium过程中,发现sendkeys和clear方法并不太好使,封装模拟手工一个一个删除 这里用到keyEvent,具体内容请参考api http://appium.github.io/ja ...

  10. ASP.Net在web.config中设置上传文件的大小方法

    修改Webcong文件:<system.web><httpRuntime maxRequestLength="40960"   //即40MB,1KB=1024u ...