Skip to content

Instantly share code, notes, and snippets.

@iflove
Last active January 12, 2022 06:16
Show Gist options
  • Save iflove/115353c2296806d6fa9e9c6b0677fe9f to your computer and use it in GitHub Desktop.
Save iflove/115353c2296806d6fa9e9c6b0677fe9f to your computer and use it in GitHub Desktop.
Linux知识点
Linux基本的命令
lsof、proc、ps、seq、iptables
@iflove
Copy link
Author

iflove commented Jan 19, 2021

seq 1000000 | xargs -i dd if=/dev/zero of={}.dat bs=1024 count=1 随机生成1百万个1K的文件

@iflove
Copy link
Author

iflove commented Mar 26, 2021

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

iptables

@iflove
Copy link
Author

iflove commented May 23, 2021

Linux whoami命令用于显示自身用户名称。

显示自身的用户名称,本指令相当于执行"id -un"指令。

@iflove
Copy link
Author

iflove commented May 24, 2021

cat
输出文件内容

显示文件FILE的内容
cat FILE

显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号
cat -n FILE

忽略掉空行,用-b
cat -b FILE

当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数
cat -s FILE

保存内容

将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的
cat >FILE

将标准输入追加到文件FILE末尾
cat >>FILE

合并文件

将两个文件FILE1和FILE2的内容合并为一个文件FILE
cat FILE1 FILE2 >FILE

@iflove
Copy link
Author

iflove commented Jun 6, 2021

awk

awk '{pattern + action}' {filenames}     
替换换行符为逗号,并合并为一行
awk '{{printf"%s,",$0}}'

注意是单引号 「Linux基础」awk中单双引号的区别

@iflove
Copy link
Author

iflove commented Jun 6, 2021

shell 中 sort

中文排序
export LC_ALL=C;
对文档中的字符串进行统计,并进行排序后(从大到小)
cat test.txt | awk '{print $1}' |sort |uniq -c |sort -rn



@iflove
Copy link
Author

iflove commented Jul 6, 2021

@iflove
Copy link
Author

iflove commented Jul 7, 2021

Linux管理员修改和查看普通用户密码

  1. root修改普通用户的密码:
    sudo passwd user_name
  2. root查看普通用户密码:
    密码是无法被查看的,即使是root也不行
    3.普通用户修改自己的密码:
    passwd

@iflove
Copy link
Author

iflove commented Oct 10, 2021

Linux基本的命令

| 管道命令标准输出
> 重定向,会覆盖原有内容
>> 是追加内容
; 命令同一行时分割符
& 命令同时执行
&& 前面命令执行成功,后面命令才能执行
|| 前面命令执行失败,后面命令才能执行
() 命令整体执行
$? 存储上一次命令的返回结果

————————————————

脚本解释器

ls -l /bin/*sh

运行

运行Shell脚本有两种方法:

作为可执行程序

chmod +x test.sh
./test.sh

作为解释器参数

sh test.sh

passwd

#root用户登录修改root密码
passwd root

find

#删除当前文件夹的指定类型文件
find . -name "*.iml" | xargs rm -r    
#查找文件内容
find .|xargs grep -ri "WifiConfigController" -l

curl

命令行工具和库 用URL传输数据. 翻译: command line tool and library for transferring data with URLs.

查看手册, 查看它的示例,便能运用curl

curl --manual

表单文件上传

curl -F "file=@localfile;filename=nameinpost" example.com

下载文件

curl -O example.com

显示头信息

curl -i https://m.vxiao.cn

tr

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

在Shell编程中,有了回车符\r的存在,在拼接字符串,字符串会沾在一起.

a=`printf "123456\r"`
b="${a}789"  
echo $b
#以下是输出
789456

tr -d '\r' 去除回车符
tr "\r\n" "," 替换换行符为逗号,并合并为一行
tr "\r\n" "," | sed 's/\r\n/,/g' tr 命令可能会出现双个逗号(这里换行符替换为逗号),但是已经合并为一行了,所以可以继续替换

tar

解压文件到 /usr/local

tar -zxf a.tar.gz  -C /usr/local

压缩文件夹

tar jcvf main.tar.bz2 main/

scp

上传文件到服务器(命令中的 P 大写)

scp -P 端口号 /Users/apple/Desktop/a.text root@服务器ip:/home/ 

CentOS 7添加开机启动服务/脚本

添加开机自启脚本 autostart.sh

#!/bin/bash
#description:开机自启脚本
/home/gopath/page  #启动Page

1、赋予脚本可执行权限

chmod +x /root/script/autostart.sh

2.在 /etc/rc.d/rc.local 末尾增加如下内容

su - root -c '/root/script/autostart.sh'
chmod +x /etc/rc.d/rc.local

centos-7-x下安装网络流量实时监控工具iftop

iftop -nNPt | grep 45775
iftop -Bn

ls 常用参数

由大到小排序
ls -Sl

从小到大排序
ls -Slr

-h,表示”–human-readable”,单位是k或者M ,比较容易看清楚结果。

ls -R 显示子目录结构

附:ls按时间排序
ls -lt 从新到旧
ls -lrt 从旧到新

ls、grep、wc

Linux下有三个命令:lsgrepwc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。

  • 统计当前目录下文件的个数(不包括目录)
$ ls -l | grep "^-" | wc -l
  • 统计当前目录下文件的个数(包括子目录)
$ ls -lR| grep "^-" | wc -l
  • 查看某目录下文件夹(目录)的个数(包括子目录)
$ ls -lR | grep "^d" | wc -l

命令解析:

  • ls -l

长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。

  • grep "^-"
    过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"
  • wc -l
    统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。

xargs

移动当前文件夹包括子目录的图片到上一级目录

find . -name "*.jpg" | xargs -I {} mv {} ../faces_img/

vi

删除所有内容行
:.,$d      
查看文件格式
set ff
设置文件格式, 脚本特别注重环境。cat -v 查看是否有^M 
set ff=unix
set ff=dos

cat head tail 强强组合

从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000 

【二】显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000



分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

sed -n '5,10p' filename 
sed -n '5,$'p filename 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment