Linux下常用命令

man中文网站可以查询命令:https://man.linuxde.net/

1、diff -Naur 1.txt  2.txt > patch.txt   两个文件的比对,生成一个补丁文件可以查看两者的区别。

2、dgg 命令行模式下,删除光标之前的所有内容。

   dG  删除光标之后的所有内容。

3.1、全部复制:按esc后,然后ggyG;p 粘贴。 

复制命令参考:
y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用; yy 复制整行(nyy或者yny ,复制n行,n为数字); y
^ 复制当前到行头的内容; y$ 复制当前到行尾的内容; yw 复制一个word (nyw或者ynw,复制n个word,n为数字); ggyG 行首复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)
剪切命令参考:
   d 剪切选定块到缓冲区; dd 剪切整行 d
^ 剪切至行首 d$ 剪切至行尾 dw 剪切一个word dG 剪切至档尾
粘贴命令参考:
   p 小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面 P 大写P代表贴至游标前(上) 整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)

3.2、选定文本块进行复制某部分:使用v进入可视模式,移动左右上下光标键选定内容,然后yy复制整行,p粘贴。

  撤销操作:u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做)。

4、whoami  查看当前的登录用户名。

5、locale   查看当前用户的编码。

6、单(双)小括号、单(双)中小括号语法上稍微有点差别,都差不多,具体细节可以百度查看:

小例子:

(a>b || c>b)

((a>b || c>b))

[空格a\>b空格] -o [空格c\>b空格]

[[a>b || c>b]]

7、普通用户可以修改所有者是自己的文件的权限
普通用户不能修改文件的所有者(哪怕文件是属于这个普通用户的),只有超级用户才能修改所有者。
8、/etc/profile 环境变量配置文件
9、ls -lrt 按顺序进行显示
10、vi进入后:回到行首(gg) 到行尾(G) 撤销(u) 反撤销(ctrl+r)windows下:撤销(ctrl+z)反撤销(ctrl+y)
11、正则表达式是匹配字符串的,通配符是匹配文件名的。主要区别:是正则表达式是包含匹配。
12、查找文件:find -r -name 文件名、locate 文件名
13、find 文件夹 -type f 查找某个文件夹写的所有文件
14、查找包含某个内容的文件:find . -type f|xargs grep "包含的内容" -l、grep -ri "包含的内容" 目录路径
15、查找linux下所有普通用户:grep -v "root" /etc/passwd |grep "/bin/bash"
16、cut -d "分隔符" -f 列数 只能截取以tab键间隔的
17、awk 'BEGIN {FS=":"} {print $列数}' 可以截取以空格或制表符间隔的
18、netstat -tulnp、netstat -antp|grep udp 查看监听的网络状态
19、光标放在函数名首字母上,shift+* 向下查找谁调用的,shift+#向上查找谁调用的。
20、vi下0 或^行首,$行尾。
21、df -h  检查文件系统的磁盘空间占用情况

du -sh *或文件文件夹名 查看文件文件夹大小

22、$( )中放的是命令,相当于` `,例如todaydate=$(date +%Y%m%d)意思是执行date命令,返回执行结果给变量todaydate,也可以写为todaydate=`date +%Y%m%d`;

$与此类似,${ }中放的是变量,例如echo ${PATH}取PATH变量的值并打印,也可以不加括号比如$PATH

23、服务间拷贝: scp -r 本地文件路径  用户名@ip地址:目标路径

24、查看进程: ps -ep|grep java     

25、查看80端口被那些服务占用:netstat -lnp|grep 80

26、全局替换::%s/旧的/新的/g

27、新建用户ump:useradd -d /app/ump/(指定默认的家目录) -m ump(指定用户名)

  密码设置:passwd ump(指定用户名)

   把/app组分配给ump用户:chown -R ump(指定用户名) /app(指定的文件夹目录)

              chgrp -R ump /app

  一次性修改所有人和所属组:sudo chown -R [新所有者]:[新所属组] 文件夹名

28、最新化安装虚拟机:

  修改主机名:hostnamectl set-hostname node01

  对于最小化安装CentOs7的没有安装ifconfig,我们安装ifconfig输入:yum install net-tools

  设置网卡信息:cd /etc/sysconfig/network-scripts/        

         yum install -y vim

         安装sz上传,rz下载命令功能:yum install -y lrzsz

         vi ifcfg-ens33       删除UUID那列,保存退出

         systemctl restart network

  对于centos6关闭防火墙:

      service iptables stop  临时关闭

      chkconfig iptables off 永久关闭

  对于centos7关系防火墙:

     sudo systemctl stop firewalld 临时关闭防火墙,重启后会自动开启防火墙

     sudo systemctl start firewalld   启动防火墙

        sudo systemctl status firewalld   查看防火墙的状态

      重启后不开启防火墙:

        sudo systemctl disable firewalld

        sudo systemctl stop firewalld 

     

29、查看shell脚本的格式并修改为unix格式:

  vi filename-->执行‘:’进入命令模式-->set ff-->set ff=unix or set ff=dos进行调整

30、ps -aux|grep top/进程名或ps -ef|grep 进程名java     //查看内存中进程的动态或进程信息
31、find . -name "*.txt"  //找文件
32、grep -ri  java /root/home/ //找包含java的字符串
33、查一下占用80端口的有哪些服务,netstat -lnp|grep 80 查看80端口被那些服务占用。服务名称前面是他的pid号,kill -9 进程号  //杀掉进程
34、
shell基础(bash)
1、ctrl+a 把光标移动到命令行开头
  ctrl+e  把光标移动到命令行末尾
  ctrl+c 强制终止当前的命令
  ctrl+l  清屏,相当于clear命令
  ctrl+u 删除或剪切光标之前的内容
  ctrl+k 删除或剪切光标之后的内容
  ctrl+y 粘贴ctrl+u或ctrl+k剪切的内容
  ctrl+r 在历史命令中搜索
  ctrl+d退出当前终端
  ctrl+z 暂停,并放入后台
 ctrl+s 暂停屏幕输出
 ctrl+q恢复屏幕输出
2、键盘  0   标准输入
   显示器  1  标准输出
   显示器  2  标准错误输出
3、标准输出重定向     命令 > 文件(以覆盖的方式,把命令的正确输出输出到指定的文件或设备中。)
        命令 >> 文件(以追加的方式,把命令的正确输出输出到指定的文件或设备中。)
   标准错误输出重定向   错误命令 2>文件 (以覆盖的方式,把命令的错误输出输出到指定的文件或设备中。)
            错误命令 2>>文件 (以追加的方式,把命令的错误输出输出到指定的文件或设备中。)
  正确输出和错误输出同时保存   命令 > 文件 2>&1(以覆盖的方式,把正确输出或错误    输出都保存到同一个文件中。)
            命令 >> 文件 2>&1(以追加的方式,把正确输出或错误输出都保存到同一个文件中。)
            命令 &>文件(以覆盖的方式,把正确输出或错误    输出都保存到同一个文件中。)
                                    命令 &>>文件(以覆盖的方式,把正确输出或错误    输出都保存到同一个文件中。)
            命令>>文件1 2>>文件2(把正确的输出追加到文件1,把错误的输出追加到文件2中。)
4、
输入重定向 (正常是鼠标>命令,而现在是文件>命令)
   wc   -c(统计字节数)-w(统计单词数)-l(统计行数)
5、多命令执行符  
  命令1;命令2(多个命令顺序执行,命令之间没有任何逻辑关系)
  命令1&&命令2(当命令1正确执行,命令2才执行;命令1执行不正确,命令2不会执行。)
  命令1||命令2(当命令1执行不正确,命令2才执行;命令1执行正确,命令2不执行。)
6、
   单引号''(在单引号中所有特殊符号都没意义)
   双引号""(在双引号中所有特殊符号都没意义)注意:“$”(调用变量的值)“`”(引用命令)“\”(转义符)
   反引号``和$()(括起来的内容是系统命令和$()作用一样,用来引用系统命令)
   $          (用于调用变量的值)
 ()      (执行一串命令时,需要重新开一个shell进行执行)
   {}         (执行一串命令时,是在当前shell进行执行)
   []           (用于变量测试)
   #            (注释)
   \             (转义符)
7.
set      (会查询系统中所有的变量,包含用户自定义变量和环境变量)
env     (只能查看环境变量)
set  -u (当设置了-u选项后,如果调用没有设定的变量会有报错。默认是没有任何输出的。)
unset  变量名(变量删除)注意:用户自定义变量只在当前shell中生效,子shell中不生效
8、位置参数变量(不适合普通用户的使用) $n (n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}) $*(这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体) $@(这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待) $#(这个变量代表命令行中所有参数的个数)
9、预定义变量 $?(最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,具体是哪个参数由命令自己来决定,则证明上一个命令执行不正确了。) $$(当前进程的进程号PID) $!(后台运行的最后一个进程的进程号PID)
10、基础正则表达式 *(前一个字符匹配0次或任意多次) .(匹配除了换行符外任意一个字符) ^(匹配行首。) $(匹配行尾) [](匹配中括号中指定的任意一个字符,只匹配一个字符) [^](匹配除中括号的字符以外的任意一个字符) \(转移字符)

35、创建软连接:ln -s [源文件或目录] [目标文件或目录]

例如,在当前路径下创建软链接文件test引向/var/log/message

ln -s /var/log/message test

删除软连接:rm -rf test

在删除软连接目录时要注意,后面加不加“/”是有区别的:
(1)、没有“/”,即rm -rf /tmp/log是直接删除软连接目录
(2)、加了“/”,即rm -rf /tmp/log/是删除源目录下的所有文件,而软连接本身没有被删除

36、查找某个服务部署路径

  ps -ef|grep java   先进行筛选出某个服务进程号

  ls -l /proc/某个服务进程号    即可查看出某个服务具体部署路径 

37、

 
 

         

 

 

 

999、待续......

posted @ 2020-12-20 21:09  Dapengsyx  阅读(89)  评论(0编辑  收藏  举报