linux命令

Posted bsszds930

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令相关的知识,希望对你有一定的参考价值。

ssh-keygen -f   "C:/User/.ssh/known_hosts" -R   git.n.com
ssh-keygen -t   rsa   -C   "**@.com"
ssh-keygen -t   rsa   -b  4096  -C "**@.com"
ssh -T git.n.com

 

tail  -f  c atalina.out      运行时就可以实时查看运行日志了

Ctrl+c  是退出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命令

 sed   -n   ‘5,10p‘   filename 这样你就可以只查看文件的第5行到第10行。

-f  循环读取

-n<行数>  显示行数

 

 

【grep】查找文件里符合条件的字符串。

grep  -n  ‘g..d‘  regular_express.txt    找出 g??d 的字串,指定行号

^  #锚定行的开始 如:‘^grep‘匹配所有以grep开头的行。    
$  #锚定行的结束 如:‘grep$‘匹配所有以grep结尾的行。   
 
.  #匹配一个非换行符的字符 如:‘gr.p‘匹配gr后接一个任意字符,然后是p。    
*  #匹配零个或多个先前字符 如:‘*grep‘匹配所有一个或多个空格后紧跟grep的行。    
.* #代表任意多的字符。   

[]   #匹配一个指定范围内的字符,如‘[Gg]rep‘匹配Grep和grep。    
[^]  #匹配一个不在指定范围内的字符,如:‘[^A-FH-Z]rep‘匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    

(..)  #标记匹配字符,如‘(love)‘,love被标记为1。    

<      #锚定单词的开始,如:‘<grep‘匹配包含以grep开头的单词的行。
>      #锚定单词的结束,如‘grep>‘匹配包含以grep结尾的单词的行。
    
x{m}   #重复字符x,m次,如:‘0{5}‘匹配包含5个o的行。    
x{m,}  #重复字符x,至少m次,如:‘o{5,}‘匹配至少有5个o的行。    
x{m,n} #重复字符x,至少m次,不多于n次,如:‘o{5,10}‘匹配5--10个o的行。   

w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:‘Gw*p‘匹配以G后跟零个或多个文字或数字字符,然后是p。   
W    #w的反置形式,匹配一个或多个非单词字符,如点号句号等。 
  
    #单词锁定符,如: ‘grep‘只匹配grep。  

 

-i: 不区别大小写

-A<n>:   除了显示匹配的行外,还显示之后的n行

-B<n>:   除了显示符合条件的行外,还显示之前的n行

-C<n>:除了显示符合条件的行外,显示该行之前和之后各n行



【文件】

gg           : 跳转到文件头

Shift+g   : 跳转到文件末尾

行数+gg : 跳转到指定行,例跳转到123行:123gg

「ctrl」+「b」:屏幕往"后"移动一页。 
「ctrl」+「f」:屏幕往"前"移动一页。

「ctrl」+「g」: 列出光标所在行的行号。 

:wq 保存并退出;     :q  不保存退出

「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。 

「?关键字: 从文件尾开始查找, 「N」向前查找前一个匹配的文本

技术图片

用命令 less file-name 打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会被高亮显示。

2 全屏导航

ctrl + F :向前移动一屏

ctrl + B :向后移动一屏

ctrl + D :向前移动半屏

ctrl + U :向后移动半屏

3 单行导航

j : 向下移动一行

k : 向上移动一行

G : 移动到最后一行

g : 移动到第一行

按空格:向下翻一页

b:向上翻一页

d:向下翻半页

u:向上翻半页

q / ZZ : 退出 less 命令

v : 进入编辑模式,使用配置的编辑器编辑当前文件

方式一,传递多个参数给 less,就能浏览多个文件。 less file1 file2

方式二,正在浏览一个文件时,使用 :e 打开另一个文件。$less file1 $ :e file2

当打开多个文件时,使用如下命令在多个文件之间切换

:n - 浏览下一个文件

:p - 浏览前一个文件

 

  • 标记导航,当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。

ma : 使用 a 标记文本的当前位置

‘a : 导航到标记 a 处

  • 在 Linux 动态查看日志文件常用的命令非 tail -f 莫属,其实 less 也能完成这项工作,使用 F 命令。使用 less file-name 打开日志文件,执行命令 F,可以实现类似 tail -f 的效果。

 

单个文件从A到B:

接受机(B): nc -l -p 1234 > D:/onlinetab.csv                                 打开一个端口1234 接受文件并写到1.txt 
发送机(A): nc -w 1000ms  IP  1234 < onlinetab.csv      使用管道把文件内容传送到B机1234端口,超时1秒

多个文件从A传到B

接受机(B): nc -l 1234 | tar zxvf -

发送机(A): tar  zcf - *  | nc  10.0.0.25  1234

 

rz:  上传文件至远程服务器

1. 在终端下:

          复制命令:Ctrl + Shift + C 

          粘贴命令:Ctrl + Shift + V  

 2. 在控制台下:

          复制命令:Ctrl + Insert  或  用鼠标选中即是复制。

          粘贴命令:Shift + Insert  或 单击鼠标滚轮即为粘贴

 

crontab -l   查看定时任务

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 7) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
  • *    代表所有可能的值,例如:如果month字段是星号,则表示在满足其它字段的约束条件后每月都执行该命令

  • ,     用逗号隔开的值表示一个范围列表,例如:如果minute字段的值是“1,3,15”,则表示每小时的第1分钟、第3分钟和第15分钟都执行该命令

  • –    可以用整数,表示一个整数范围,例如:如果day字段的值是“2-6”,则表示每月的第2天到底6天都执行该命令

  • /    可以用斜线表示命令的执行频率,例如:如果minute字段的值是“*/10”,则表示每十分钟执行一次命令。

 

  • * * * * * command 每1分钟执行一次command
  • 3,15 * * * * 每小时的第3和第15分钟执行
  • 0-59/10 * * * * 从0到59分这个时间段每10分钟都执行
  • 3,15 8-11 */2 * * command 每两天的上午8点到11点的第3和第15分钟执行
  • 3,15 8-11 * * 1 command 每个星期一的上午8点到11点的第3和第15分钟执行
  • 0,30 18-23 * * * 每天18 : 00至23 : 00之间每隔30分钟
  • 30 21 * * * 每晚的21:30
  • 45 4 1,10,22 * * 每月1、10、22日的4 : 45
  • 系统任务调度:系统需要定期执行的任务,比如重启、日志清理等,其配置文件是:/etc/crontab

  • 用户任务调度:用户定期执行的任务。用 crontab 命令来配置定时任务。存放在 /var/spool/cron/ 目录下,其文件名与用户名一致。如:root用户的所有定时任务就保存在 /var/spool/cron/root 文件中

命令 vi /etc/crontab : 编辑定时脚本。

命令 crontab -e : 然后直接编辑用户定时脚本

 Ubuntu环境下自动定时启动任务 https://blog.csdn.net/tianhuadihuo/article/details/6620376

 

 

 

语法

选项

  
mkdir (选项)(参数)

-Z:设置安全上下文,当使用SELinux时有效;

-m:<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;

-p:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

--version 显示版本信息。

mkdir -p build/etc
 
cp

-a:此参数的效果和同时指定"-dpR"参数相同;

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;

-f:强行复制文件或目录,不论目标文件或目录是否已存在;

-i:覆盖既有文件之前先询问用户;

-l:对源文件建立硬连接,而非复制文件;

-p:保留源文件或目录的属性;

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

-s:对源文件建立符号连接,而非复制文件;

-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;

-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

-b:覆盖已存在的文件目标前将目标文件备份;

-v:详细显示命令执行的操作。

cp -R deploy/* build/etc/
 
find

在/testLinux目录下查找以.txt结尾的文件名

  • find /tmp/cg/testLinux -name "*.txt"
  • find .  -name "file1*" -a -name "file2*"      # -a与 -o或 -not非
   
netstat
  1. 用 -a 选项列出所有当前的连接。 # 用 -t 列出 TCP协议连接,用 -u 列出 UDP协议连接;
  2. 用 -n 选项禁用域名解析功能
  3. 用 -l 选项列出正在监听的套接字。
  4. 用 -p 选项查看进程信息 # 用 -ep 选项可同时查看进程名和用户名
lsof -i:8080:查看8080端口占用 # kill -9 PID 杀进程
netstat -tunlp | grep 端口号 # netstat -an
netstat -ano|findstr 8080
 
ps -ef

基本参数:

  • -A :所有的进程均显示出来,与 -e 具有同样的效用;
  • -a : 显示现行终端机下的所有进程,包括其他用户的进程;
  • -u :以用户为主的进程状态 ;
  • x :通常与 a 这个参数一起使用,可列出较完整信息。

输出格式规划:

  • l :较长、较详细的将该PID 的的信息列出;
  • j :工作的格式 (jobs format)
  • -f :做一个更为完整的输出。
ps -ef | grep "python"  
scp

scp-secure copy, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。用于 Linux 之间复制文件和目录。

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

scp [可选参数] file_source file_target 
 

 



 


 

以上是关于linux命令的主要内容,如果未能解决你的问题,请参考以下文章

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程