Linux常见命令

vim快捷方式

  1. 删除:一行(dd),多行(数字+dd)
  2. 多行注释
  • Ctrl+V进入visual block模式,选中多行
  • 按大写字母I(shift+i)进入编辑模式,插入注释符
  • 按esc键
  1. 多行注释取消
  • Ctrl+V进入visual block模式,选中多行,按delete
  1. 跳转末行:G,跳转首行:gg
  2. 跳转行首:Home , 跳转行尾:End

查看主机端口

ss -lnutp

快捷方式

  1. esc + .两键组合,复制粘贴上一条命令的最后一个参数

curl命令

-k:允许连接到没有证书(H)的SSL站点
-O:使用远程文件的文件名作为本地文件名
-o:自定义下载后文件名字

hostname

临时:hostname <主机名>
永久:hostnamectl set-hostname <主机名>

firwalld

查看:systemctl status firewalld
临时关闭:systemctl stop firwalld
永久关闭:systemctl disable firewalld

scp

-r: 递归复制整个目录。
例如:scp -r /etc/profile root@192.168.206.132:/etc/profile

selinux

查看状态:getenforce
临时关闭:setenforce 0
永久关闭:sed -ri 's/(SELINUX=).*/\1disabled/g' /etc/selinux/config

echo $?

判断上一条命令是否执行正常,执行正常,返回0,不正常是非0

管道符 |

管道符主要用于多重命令处理,前面命令的打印结果作为后面命令的输入。
举例:

cat hello.sh | sort | uniq | grep 'better'
  • 查看文本
  • 排序
  • 去重
  • 过滤
    img
  1. 第一道工序———查看文本
    首先使用cat命令查看文本,打印到屏幕上内容即为cat命令的输出结果
    img
  2. 第二道工序——排序
    将前面cat命令输出的结果通过管道丢给sort命令,所以sort命令是对前面cat命令输出的文本进行排序
    img
  3. 第三道工序——去重
    sortuniq结合使用才能有效去重,通过管道将sort处理后输出的文本丢给uniq处理,所以uniq处理的是排序好的文本,可以进行有效去重
    img
  4. 第四道工序——过滤
    最后一步过滤则同样是将前面命令即uniq命令处理后输出的文本进行过滤
    img

重定向

bash使用的三种标准输入输出流

字段 描述 文件描述符
stdin 标准输入流 0
stdout 标准输出流 1
stderr 标准错误输出流 2

命令执行过程:

对于任何一条Linux命令执行,都是这样一个过程:
(1)用户从键盘或其它输入设备输入,输入通过stdin交给命令,命令执行。
(2)如果命令执行成功,会把成功结果通过stdout输出到输出设备上;
(3)如果命令执行出错,会把错误结果通过stderr也输出到输出设备上。

输出重定向

将某个命令默认指向stdoutstderr的输出文件转而指向一个文件,即使得命令输出到某个指定文件中,而不是输出到终端屏幕或终端窗口。Linux中使用>>>来重定向标准输出。

  • ls 1>stdout.txt:重定向标准输出到stdout.txt文件。若该文件原本不存在,则文件将被创建;否则,文件内容将被强制覆盖。当然,如果不想文件内容被覆盖,可以使用将>改为>>,该命令将标准输出追加到文件末尾。
  • ls 4.txt 2>stderr.txt:重定向标准错误输出到stderr.txt文件。其它用法同上。
  • ls 1.txt 4.txt 1>stdout.txt 2>stderr.txt:分别重定向标准输出到stdout.txt文件,标准错误输出到stderr.txt文件。其它用法同上。
  • ls 1.txt 4.txt &>std.txt:使用&重定向标准输出和错误输出到同一个文件。其它用法同上。
[root@localhost ~/test]# ls #重定向前的成功输出(直接在终端窗口显示)
1.txt  2.txt  3.txt
[root@localhost ~/test]# ls 4.txt #重定向前的错误输出(直接在终端窗口显示)
ls: cannot access 4.txt: No such file or directory
[root@localhost ~/test]# ls 1>stdout.txt  #重定向标准输出到stdout.txt
[root@localhost ~/test]# cat stdout.txt 
1.txt
2.txt
3.txt
stdout.txt
[root@localhost ~/test]# ls 1>>stdout.txt
[root@localhost ~/test]# cat stdout.txt  
1.txt
2.txt
3.txt
stdout.txt
1.txt
2.txt
3.txt
stdout.txt
[root@localhost ~/test]# ls 4.txt 2>stderr.txt
[root@localhost ~/test]# cat stderr.txt 
ls: cannot access 4.txt: No such file or directory
[root@localhost ~/test]# ls 1.txt 4.txt 1>stdout.txt 2>stderr.txt 
[root@localhost ~/test]# cat stdout.txt 
1.txt
[root@localhost ~/test]# cat stderr.txt 
ls: cannot access 4.txt: No such file or directory
[root@localhost ~/test]# ls 1.txt 4.txt &>std.txt
[root@localhost ~/test]# cat std.txt 
ls: cannot access 4.txt: No such file or directory
1.txt

文件输出重定向的应用

  1. 结合echo命令创建文本文件
    例:
[root@localhost ~/test]# echo -e "1 apple\n2 pear\n3 banana" # 输出信息到终端窗口
1 apple
2 pear
3 banana
[root@localhost ~/test]# echo -e "1 apple\n2 pear\n3 banana" > fruit.txt # 重定向输出信息到文本文件
[root@localhost ~/test]# cat fruit.txt 
1 apple
2 pear
3 banana
  1. 忽略命令错误输出
    例:
[root@localhost ~/test]# ls 1.txt 4.txt
ls: cannot access 4.txt: No such file or directory
1.txt
[root@localhost ~/test]# ls 1.txt 4.txt 2>>/dev/null #将错误输出重定向到/dev/null,只查看正确输出
1.txt

/dev/null是一个非常特殊的块设备文件。可以视为系统的黑洞,写入到这个文件中的东西都会被丢弃掉,因此可以用来写入想忽略的错误输出。

输入重定向

输入重定向是指让命令从指定文件中获取输入,而非从stdin(常常指的是键盘输入)中获取输入。Linux中使用<<<来重定向标准输入。

文件输入重定向的应用

  1. 结合tr命令使用。tr命令往往用于从标准输入中替换特定字符,并将结果写到标准输出。
    用法:
tr '准备要替换的字符' '要替换成的字符'

例:从fruit.txt获取输入,并将字符替换后的结果写到标准输出

tr ' ' '\t' <fruit.txt  

img
2. 结合sort命令使用。sort命令用于对文本文件内容按照规定字段进行排序。
用法:

sort -k [关键字字段序号] [要排序的文本文件]

例:
(1)直接将fruit.txt文件传递给sort进行排序

sort -k2 <fruit.txt 

(2)将界定符EOF之前的内容作为一个文件传递给sort进行排序

 sort -k2 <<EOF
> 1 apple
> 2 pear
> 3 banana
> EOF

img

Linux系统常用终端快捷键

1. ctrl + f 向后移动光标
2. ctrl + b 向前移动光标
3. ctrl + a 光标移动到行首
4. ctrl + e 光标移动到行尾
5. ctrl + p 向上翻页,相当于pageUp
6. ctrl + n 向下翻页,相当于pageDown
7. ctrl + h 删除光标前一个字符
8. ctrl + d 删除光标所在字符
9. crtl + u 删除光标至开始全部内容(不包括光标所在字符)
10. ctrl + k 删除光标至末尾全部内容(包括光标所在字符)
11. ctrl + w 删除光标前单词
12. crtl + y 粘贴使用  crtl+w,ctrl+u和ctrl+k快捷键擦除的文本
posted @ 2023-04-21 21:42  小肚腩吖  阅读(27)  评论(0编辑  收藏  举报