24.10.29 系统命令补充
echo
echo 回声 在Linux中指输出指定内容到屏幕
一般与重定向符号搭配使用(> >>)
> 重定向符号(标准输出重定向),先清空文件内容,然后再写入
>> 追加重定向符号(标准输出追加重定向),把内容追加到文件的末尾(类似于复制内容到文件)
echo 基本使用
[root@oldboyedu ~]# echo oldboy
oldboy
echo与>,>>
#创建/oldboy目录
[root@oldboyedu ~]# mkdir /oldboy
#检查目录内容
[root@oldboyedu ~]# ll /oldboy
总用量 0
#重定向写入内容
[root@oldboyedu ~]# echo oldboy >/oldboy/lidao.txt
[root@oldboyedu ~]# cat /oldboy/lidao.txt
oldboy
#测试> >>区别
[root@oldboyedu ~]# cat /oldboy/lidao.txt
oldboy
[root@oldboyedu ~]# echo lidao >/oldboy/lidao.txt
[root@oldboyedu ~]# cat /oldboy/lidao.txt
lidao
[root@oldboyedu ~]# echo 111 >>/oldboy/lidao.txt
[root@oldboyedu ~]# cat /oldboy/lidao.txt
lidao
111
echo与重定向小结
echo一般与>,>>搭配使用
>,>>重定向
{}花括号
一般和touch和mkdir搭配使用
touch创建文件,mkdir创建目录
{}生成序列(可以是数字,也可以是字母)
{}花括号的基本用法
[root@oldboyedu ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@oldboyedu ~]# echo oldboy{1..10}
oldboy1 oldboy2 oldboy3 oldboy4 oldboy5 oldboy6 oldboy7 oldboy8 oldboy9 oldboy10
[root@oldboyedu ~]# echo {01..10}
01 02 03 04 05 06 07 08 09 10
[root@oldboyedu ~]# echo {8..10}
8 9 10
[root@oldboyedu ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
touch批量创建文件
[root@oldboyedu ~]# echo lidao{01..10}
lidao01 lidao02 lidao03 lidao04 lidao05 lidao06 lidao07 lidao08 lidao09 lidao10
[root@oldboyedu ~]# echo lidao{01..10}.txt
lidao01.txt lidao02.txt lidao03.txt lidao04.txt lidao05.txt lidao06.txt lidao07.txt lidao08.txt lidao09.txt lidao10.txt
[root@oldboyedu ~]# touch lidao{01..10}.txt
[root@oldboyedu ~]# ll
总用量 684
-rw-r--r-- 1 root root 0 10月 28 21:31 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:03 bbs
drwxr-xr-x 2 root root 6 10月 28 21:03 blog
-rw-r--r-- 1 root root 369 10月 29 00:50 ifcfg-ens33
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao01.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao10.txt
drwxr-xr-x 3 root root 32 10月 28 20:39 test1
-rw-r--r-- 1 root root 692608 10月 29 01:17 vim.txt
mkdir批量创建目录(文件名与目录名不同,不可以一样)
[root@oldboyedu ~]# echo oldboydir{10..20}
oldboydir10 oldboydir11 oldboydir12 oldboydir13 oldboydir14 oldboydir15 oldboydir16 oldboydir17 oldboydir18 oldboydir19 oldboydir20
[root@oldboyedu ~]# mkdir oldboydir{10..20}
[root@oldboyedu ~]# ll
总用量 684
-rw-r--r-- 1 root root 0 10月 28 21:31 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:03 bbs
drwxr-xr-x 2 root root 6 10月 28 21:03 blog
-rw-r--r-- 1 root root 369 10月 29 00:50 ifcfg-ens33
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao01.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao10.txt
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir10
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir11
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir12
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir13
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir14
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir15
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir16
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir17
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir18
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir19
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir20
drwxr-xr-x 3 root root 32 10月 28 20:39 test1
-rw-r--r-- 1 root root 692608 10月 29 01:17 vim.txt
{}小结
生成序列,与一些命令符搭配使用,实现批量操作
echo{}批量看效果 touch{}批量创建文件 mkdir{}批量创建目录
cp
cp至少含有两个参数,cp 源(从哪里来) 目标(到哪去)
结构用法:cp 复制内容(可以是文件,也可以是目录)
参数:-r 递归复制(eg:复制文件夹)
-p 保持属性不变(保持复制属性不变,只修改时间)
-d 与软连接相关
-a 等同于-pdr(分不清各个属性含义,一律用-a)
复制文件:cp复制文件麒麟系统的网卡配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)到/root下
[root@oldboyedu ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /root
[root@oldboyedu ~]# ll /root
总用量 684
-rw-r--r-- 1 root root 0 10月 28 21:31 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:03 bbs
drwxr-xr-x 2 root root 6 10月 28 21:03 blog
-rw-r--r-- 1 root root 356 10月 29 15:51 ifcfg-ens33
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao01.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao10.txt
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir10
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir11
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir12
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir13
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir14
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir15
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir16
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir17
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir18
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir19
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir20
drwxr-xr-x 3 root root 32 10月 28 20:39 test1
-rw-r--r-- 1 root root 692608 10月 29 01:17 vim.txt
复制目录:先创建/backup,复制/etc到/backup目录
[root@oldboyedu ~]# mkdir /backup
[root@oldboyedu ~]# cp -r /etc /backup
[root@oldboyedu ~]# ll /backup/
总用量 12
drwxr-xr-x 121 root root 8192 10月 29 16:03 etc
复制文件或目录的时候保持文件,目录的属性不变(修改时间)
#使用cp -rp命令
#使用cp -a命令
[root@oldboyedu ~]# cp /etc/hosts ~
[root@oldboyedu ~]# ls -l hosts
-rw-r--r-- 1 root root 158 10月 29 16:14 hosts
[root@oldboyedu ~]# cp -rp /etc/hosts ~
cp:是否覆盖'/root/hosts'? y
[root@oldboyedu ~]# ll hosts
-rw-r--r-- 1 root root 158 6月 23 2020 hosts
[root@oldboyedu ~]# cp -a /etc/hosts ~
cp:是否覆盖'/root/hosts'? y
[root@oldboyedu ~]# ll hosts
-rw-r--r-- 1 root root 158 6月 23 2020 hosts
cp小结
复制文件,目录
mv
mv move移动,相当于Windows系统中的剪切和粘贴功能,也可以改名
移动:把/oldboy/lidao.txt文件(如果没有创建一下)移动到/mnt下
[root@oldboyedu ~]# ll /oldboy/lidao.txt
-rw-r--r-- 1 root root 10 10月 29 15:14 /oldboy/lidao.txt
[root@oldboyedu ~]# mv /oldboy/lidao.txt /mnt
[root@oldboyedu ~]# ll /oldboy/lidao.txt
ls: 无法访问 '/oldboy/lidao.txt': 没有那个文件或目录
[root@oldboyedu ~]# ll /mnt
总用量 4
-rw-r--r-- 1 root root 10 10月 29 15:14 lidao.txt
改名:把网卡配置文件复制到/opt。然后修改/opt网卡配置文件名字为ifcfg-eth0
[root@oldboyedu ~]# cp -a /etc/sysconfig/network-scripts/ifcfg-ens33 /opt
[root@oldboyedu ~]# ll /opt
总用量 4
drwxr-xr-x 2 root root 6 10月 28 21:39 4.txt
drwxr-xr-x 2 root root 6 10月 28 20:20 a
-rw-r--r-- 1 root root 0 10月 28 19:29 a.txt
drwxr-xr-x 3 root root 72 10月 28 21:45 bbs
drwxr-xr-x 2 root root 58 10月 28 21:45 blog
-rw-r--r-- 1 root root 0 10月 28 19:31 b.txt
-rw-r--r-- 1 root root 356 10月 25 03:09 ifcfg-ens33
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
drwxr-xr-x 2 root root 58 10月 28 21:45 www
[root@oldboyedu ~]# mv /opt/ifcfg-ens33 /opt/ifcfg-eth0
[root@oldboyedu ~]# ll /opt
总用量 4
drwxr-xr-x 2 root root 6 10月 28 21:39 4.txt
drwxr-xr-x 2 root root 6 10月 28 20:20 a
-rw-r--r-- 1 root root 0 10月 28 19:29 a.txt
drwxr-xr-x 3 root root 72 10月 28 21:45 bbs
drwxr-xr-x 2 root root 58 10月 28 21:45 blog
-rw-r--r-- 1 root root 0 10月 28 19:31 b.txt
-rw-r--r-- 1 root root 356 10月 25 03:09 ifcfg-eth0
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
drwxr-xr-x 2 root root 58 10月 28 21:45 www
mv小结
移动文件或目录
给文件或目录重命名
rm
rm remove删除文件或目录
参数:-r 递归删除 删除目录,挨个提示是否删除
-f 强制删除 不提示是否确定删除
-rf 删除目录 直接删除目录,不挨个提示是否删除该文件
删除文件/oldboy/lidao01.txt
[root@oldboyedu ~]# ll /oldboy/lidao.txt
ls: 无法访问 '/oldboy/lidao.txt': 没有那个文件或目录
[root@oldboyedu ~]# touch /oldboy/lidao{01..10}.txt
[root@oldboyedu ~]# ll /oldboy
总用量 0
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao01.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao10.txt
[root@oldboyedu ~]# rm -f /oldboy/lidao01.txt
[root@oldboyedu ~]# ll /oldboy
总用量 0
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao10.txt
删除目录/oldboy目录
[root@oldboyedu ~]# ll /oldboy
总用量 0
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao02.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao03.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 17:16 lidao10.txt
[root@oldboyedu ~]# rm -rf /oldboy
[root@oldboyedu ~]# ll /oldboy
ls: 无法访问 '/oldboy': 没有那个文件或目录
替代rm方案,使用mv或书写脚本(回收站脚本)后面未来shell部分解决
因为liunx没有回收站,删除即永远删除,因此使用需慎重
rm小结
删除目录或文件
使用mv替代该功能,防止误删
vi/vim
在整体上,vi和vim基本用法一致
vi Linux会默认安装 vim,可能没有该功能
vi是基础版本编辑器 vim是进阶imporve提升
编辑文件全流程
1.复制网卡配置文件到当前目录
[root@oldboyedu ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 .
2.vim打开文件
[root@oldboyedu ~]# vim ifcfg-ens33
3.进入编辑模式
按i进入编辑模式(insert插入,及编辑模式)
4.退出编辑模式
按esc退出编辑模式
5.保存并退出
:wq #write保存 quit 退出
:q #退出不保存
:q! #强制退出不保存
6.查看文件内容
[root@oldboyedu ~]# cat ifcfg-ens33
vi/vim快捷键
加速操作
测试快捷键环境:[root@oldboyedu ~]# cat /etc/services /etc/sysconfig/network-scripts/ifcfg-ens33 > vim.txt
(>之前的必须写对,不然会报错,>后的文件没有的话,会自动创建)
在不进入编辑模式的情况下:
快速达到文件最后一行:G
快速达到文件的第一行:gg
快速到达文件的某一行:eg:第3行 3gg或3G或:3
搜索:/ eg:搜索ssh /ssh 搜索包含ssh的行 继续查找该词n(向下),N(向上)
复制:yy
粘贴:p
删除(剪切):dd
撤销:u
显示行号: :set nu(显示行号) :set (不显示行号) #number行号
今日总结
echo,cp,mv,rm,vim
符号:> >> {} . ..