linux 命令 用到什么看什么 不断更新

来源:互联网 发布:卡盟php源码 编辑:程序博客网 时间:2024/04/26 17:34

1.绝大多数是处理文本的

cat /proc/cpuinfo

查看物理CPU的个数

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

 查看逻辑CPU的个数

cat /proc/cpuinfo | grep "processor" | wc -l

 查看CPU是核数

cat /proc/cpuinfo | grep "cores" | uniq

 查看CPU的主频

cat /proc/cpuinfo | grep MHz | uniq


cat 命令读取一个或多个文件,并把他们复制到标准输出文件 格式cat [file..]

可以用来连接多个文件

mkdir testtouch v1 v2 v3 v4#在文件中输入内容cat v1 v2 v3 v4 > all#便可生成all文本文件,包含v1到v4的内容

但是如果在cat后面不加入任何参数,那么cat便会将标准输入连接到default 即键盘,

这样就可以接收键盘输入信息,如果在键盘输入^c+d即告知cat已经得到EOF,停止。

如果想要记录下键盘输入的信息到一个文件下,可以采用 cat > *即可


创建文件  cat >name<<EOF

向已有的文件中增加内容 cat  >>existing file name<<EOF

当然,还可以把一个文件作为标准输入的源


cat<<EOF>filename

......

EOF

可将<<EOF> ---- EOF 的内容加入到file中


cat<<EOF>>filename

......

EOF

文本内容追加(与上面做区别)


llinux文本过滤器

过滤器可以通过管道来对文本进行筛选

sort 对文本进行排列, 产生一个排列好的列表,通常与命令uniq组合来去除所有的重复行

例子

ls | sort | uniq | less#查看删除重复行后的ls | sort | uniq -d | less#查看删除的

wc 统计文本的行数,字数,字节数等等

grep 打印匹配行

常用参数

-i可以忽略大小写

-v只输出和模式不匹配行

head 和 tail命令 分别对应查看文件结尾和开头tail -n 10 filename head -n 10 filename (按照行数)

#tail -f /var/log/messages来统计实时更新的日志文件 


自定义文件描述符

exec 3<input.txt 创建文件描述符3进行读取 可以这样使用

echo xxxxxxxxxx > input.txt

exec 3<input.txt


cat<&3


小技巧总结(*0* 文章不断更新)

1.如果想删除一个文件而且又把它的备份留在某地,用alias可以这样做

alias rm='cp $@ ../../backupdir && rm $@'


2.一个输入密码禁止回显的shell

#!/bin/bashecho -e "password"stty -echo# 不懂可参照stty有关选项和参数read passwordstty echoechoecho Psword read

3.bash -x xxx.sh 用来跟踪调试

自定义格式生成调试信息


#1function DEBUG(){    [ "$_DEBUG" == "on" ] && $@ || :}for i in {1..10}do    DEBUG commanddone#2或者直接在#!/bin/bash -xv 来最方便


4.bomb?

:(){ :|:& };:fork-bomb#很厉害的东西 可以查下原理,简单就是递归生成新进程然后造成拒绝服务攻击 防治办法 /etc/security/limits.conf 修改最大进程数


2.进程管理技巧

在管理进程的过程中需要处理信号,

下面列出常用信号种类和编号

0 从shell 退出

1 SIGHUP 清理并重新读取配置文件继续运行

2 SIGINT 中断

3 SIGQUIT 退出

6 SIGABRT 中止

9 SIGKILL 立即关闭进程

14 SIGALRM 报警时钟

15 SIGTERM 清理并终止


SysV风格 ps -ft <terminal>   ps -fu <user>从内核进程表中分别得到每个中断或者用户记录的最好的方法


可以利用管道来过滤进程信息

例如:

ps -eaf | grep -w xxx | grep -v grep

该命令的第三项是为了排除掉匹配的grep的内容,因为运行该命令会产生一个新的grep进程,具有xxx的关键字,会影响信息的准确度

ps -ejH  以树状显示进程


killall -u user processname

区别于kill -signnum pid






0 0
原创粉丝点击