tail -f时时监控
一开启内存最小位u原则,尽量优化代码grep -v "" /etc/passwd 这样行不行怎么清除lastnice调整进程运行级别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 cachedMem: 1992 1953 39 0 98 1414-/+ buffers/qcache: 440 1552Swap: 2271 0 2271tobal 内存总数 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 --按照日期来统计用户的在线时长进程管理:pspstreetop 系统监视工具pgreppkillkillkillallnicereniceps -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 bashnice 优先级 -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/2lrwxrwxrwx. 1 root root 15 5月 2 2012 /dev/stdin -> /proc/self/fd/0lrwxrwxrwx. 1 root root 15 5月 2 2012 /dev/stdout -> /proc/self/fd/1ls > /tmp/aaals /ttttls /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/2lrwxrwxrwx. 1 root root 15 Aug 3 09:34 /dev/stdin -> /proc/self/fd/0lrwxrwxrwx. 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.txtcat /root/a2.txt /root &>> a.txt --将正确和错误一起追加重定向至a.txtfind / -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/?confecho $PATH软链接ln要用绝对路径来作,保证数据链接的正确,以防软链接移到别处了就出现各种问题。ln -s 软链接ln -d 应链接真正删除一个文件要满足2个条件(硬链接数为0,引用技术为0,就是有多少个进程引用这个)因链接要主义的:不能对目录作应链接,因为硬链接,系统有一个遍历循环 ls -R避免形成一个循环遍历。因链接也不允许跨分区(因为不能保证inode号唯一)实时备份的好工具