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

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:17   1554   0

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 test
touch 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/bash

echo -e "password"

stty -echo

# 不懂可参照stty有关选项和参数

read password

stty echo

echo

echo Psword read

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

自定义格式生成调试信息


#1
function DEBUG()
{
    [ "$_DEBUG" == "on" ] && $@ || :
}
for i in {1..10}
do
    DEBUG command
done

#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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP