欢迎光临
我们一直在努力

运维打怪升级之第二关Linux系统命令详解之第二篇

1,Linux目录及作用

Linux根目录下的一级目录的作用:

bin        #二进制系统命令所在的目录

boot        #系统内核的位置,引导的程序的位置

dev        #硬件设备所在的位置

etc        #配置文件所在的目录,默认的系统配置文件在etc目录

home        #家目录,普通用户的家目录

mnt        #临时挂载点,硬件的一个入口文件

opt        #第三方程序默认安装的位置

proc        #内存的映射文件,可以通过目录下的文件查看硬件信息 cpu 内存

root       # 管理员的家目录

sbin        #超级管理员命令所在的位置

tmp        #临时存放文件的目录,类似于windows的回收站 使用移动代替删除

usr        #用户程序文件所在的位置

var        #日志文件所在的位置

2,挂载设备的流程

1,虚拟机挂载需要在虚拟机设置DVD添加ISO镜像文件

2,给cdrom创建一个入口

3,使用系统存在的/data目录作为入口 

[root@localhost ~]# mount /dev/cdrom /root/data
mount: /dev/sr0 is write-protected, mounting read-only

注意sr0就是cdrom的名字
注意:如果提示mount: no medium found on /dev/sr0,那么就证明你虚拟机没有 识别到镜像文件,所以你需要把虚拟机关机重启系统 即可

4,进入cdrom查看镜像文件的内容

[root@localhost ~]# cd data
[root@localhost data]# ll
total 696
-rw-r–r–.  3 root root     14 Oct 30  2020 CentOS_BuildTag
drwxr-xr-x.  3 root root   2048 Oct 27  2020 EFI
-rw-rw-r–. 21 root root    227 Aug 30  2017 EULA
-rw-rw-r–. 21 root root  18009 Dec 10  2015 GPL
drwxr-xr-x.  3 root root   2048 Oct 27  2020 images
drwxr-xr-x.  2 root root   2048 Nov  3  2020 isolinux
drwxr-xr-x.  2 root root   2048 Oct 27  2020 LiveOS
drwxr-xr-x.  2 root root 673792 Nov  4  2020 Packages
drwxr-xr-x.  2 root root   4096 Nov  4  2020 repodata
-rw-rw-r–. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r–. 21 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r–r–r–.  1 root root   2883 Nov  4  2020 TRANS.TBL

5,查看磁盘信息

[root@localhost data]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        980M     0  980M   0% /dev
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           991M  9.5M  981M   1% /run
tmpfs           991M     0  991M   0% /sys/fs/cgroup
/dev/sda3        18G  1.9G   16G  11% /
/dev/sda1       197M  110M   88M  56% /boot
tmpfs           199M     0  199M   0% /run/user/0
/dev/sr0        4.4G  4.4G     0 100% /root/data

6,卸载挂载点/root/data

[root@localhost ~]# umount /root/data

3Linux系统命令

cp        #复制文件、目录,可以改名备份        windows的ctrl+c,英文(copy)

语法结构:

        cp        源文件        目标位置

        cp        源文件        新文件的名称

        cp        文件1        文件2        目录/

        cp        目录        目标位置

        cp        -r        #复制目录,递归复制目录及目录下的文件

        cp        -p        #保留源文件属性        

示例:1,复制test.txt到/tmp/目录下,名称不变

[root@localhost ~]# touch test.txt
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 13 00:12 test.txt
[root@localhost ~]# cp test.txt /tmp/test.txt
[root@localhost ~]# ll /tmp
total 0
-rw-r–r–. 1 root root 0 Jun 13 00:13 test.txt
再复制一次会提示是否覆盖

[root@localhost ~]# cp test.txt /tmp/test.txt
cp: overwrite ‘/tmp/test.txt’? 
输入y则覆盖,输入n则不覆盖

ctrl+c终止复制操作

示例:2,复制test.txt 到当前目录名字为test.txt.bak,用于备份文件

[root@localhost ~]# cp test.txt test.txt.bak
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 12 23:59 test.txt
-rw-r–r–. 1 root root 0 Jun 13 00:05 test.txt.bak

复制/tmp/下的test.txt到当前目录下名为test1.txt

[root@localhost ~]# cp /tmp/test.txt test1.txt
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 13 00:15 test1.txt

示例,3:复制当前目录下的test.txt和test1.txt 到/opt下

[root@localhost ~]# cp test.txt test1.txt /opt
[root@localhost ~]# ll /opt
total 0
-rw-r–r–. 1 root root 0 Jun 13 00:18 test1.txt
-rw-r–r–. 1 root root 0 Jun 13 00:18 test.txt

示例:4,拷贝data目录到/tmp/目录下

[root@localhost ~]# cp -r data /tmp
[root@localhost ~]# ll /tmp
total 0
drwxr-xr-x. 2 root root 6 Jun 13 00:21 data

示例:5,强制复制目录及目录以下文件到/tmp,不需要手动输入y(强制覆盖不提醒)

创建文件

[root@localhost ~]# touch data/{1..3}.txt 
[root@localhost ~]# ll data/
total 0
-rw-r–r–. 1 root root 0 Jun 14 21:25 1.txt
-rw-r–r–. 1 root root 0 Jun 14 21:25 2.txt
-rw-r–r–. 1 root root 0 Jun 14 21:25 3.txt
 

重复复制文件时会提示是否覆盖,只需在cp前家翘棍\\ 取消提示 强制覆盖

[root@localhost ~]# cp -r data /tmp
cp: overwrite ‘/tmp/data/1.txt’? y
cp: overwrite ‘/tmp/data/2.txt’? y
cp: overwrite ‘/tmp/data/3.txt’? y
 

使用\\cp强制覆盖不提示

[root@localhost ~]# \\cp -r data /tmp
 

有时我们复制多个文件时会提示是否覆盖导致很不方便,可以加翘棍可以取消cp -i的别名,其他有别名的命令也可以加\\取消别名意思还原本意。

示例:6,复制test文件到/opt下保持文件属性不变

[root@localhost ~]# touch test.txt
[root@localhost ~]# ll
total 0
drwxr-xr-x. 2 root root 45 Jun 14 21:24 data
-rw-r–r–. 1 root root  0 Jun 14 21:36 test.txt
[root@localhost ~]# cp -p  test.txt /opt 
[root@localhost ~]# ll /opt
total 0
-rw-r–r–. 1 root root 0 Jun 14 21:36 test.txt
 

2,mv        移动文件 和目录 英文(move)

语法结构:

        mv        源文件        目录位置

        mv        文件1        文件2        目录位置

        mv        源文件名称        新文件名称

示例:1,移动.bak文件到  /tmp目录下

[root@localhost ~]# mv test.txt.bak /tmp/
[root@localhost ~]# ll /tmp
total 0
drwxr-xr-x. 2 root root 45 Jun 14 21:26 data
-rw-r–r–. 1 root root  0 Jun 14 21:54 test.txt.bak

示例:2,移动多个文件到/tmp目录 下

[root@localhost ~]# mv 1.txt test.txt /tmp
[root@localhost ~]# ll /tmp
total 0
-rw-r–r–. 1 root root  0 Jun 14 21:56 1.txt
drwxr-xr-x. 2 root root 45 Jun 14 21:26 data
-rw-r–r–. 1 root root  0 Jun 14 21:36 test.txt
-rw-r–r–. 1 root root  0 Jun 14 21:54 test.txt.bak

示例:3,移动文件不提示覆盖(强制覆盖)

[root@localhost ~]# touch test.txt
[root@localhost ~]# mv test.txt /tmp
mv: overwrite ‘/tmp/test.txt’? y
 

\\mv强制覆盖不提示,(和cp一样取消别名) 

[root@localhost ~]# \\mv test.txt /tmp
示例:4,移动目录

mv可以直接移动目录不 加任何参数cp需要加-r

[root@localhost ~]# mv data/ /tmp/
[root@localhost ~]# ll /tmp
total 0
drwxr-xr-x. 2 root root 45 Jun 14 21:24 data

示例:5,在当前目录更改test.txt文件为test.txt.bak

[root@localhost ~]# touch test.txt
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 14 22:06 test.txt
[root@localhost ~]# mv test.txt test.txt.bak
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 14 22:06 test.txt.bak

示例:6,把test.txt.bak移动到/tmp目录下并改名为test.txt

[root@localhost ~]# touch test.txt.bak
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 15 00:39 test.txt.bak
[root@localhost ~]# mv test.txt.bak /tmp/test.txt
[root@localhost ~]# ll /tmp
total 0
-rw-r–r–. 1 root root 0 Jun 15 00:39 test.txt
在企业中用mv代替rm使用,相当于先放到回收站但不清空

3,rm        #删除文件或者目录(危险危险危险)英文(remove)

语法结构:

        rm        文件

        rm        文件1 文件2    

        rm        目录

        -r          #删除目录 和-f一起搭配

        -f          #强制删除文件不提示 

        -rf        #强制删除目录不提示

示例:1,删除.bak文件

[root@localhost ~]# rm 1.bak
rm: remove regular empty file ‘1.bak’? y
 

不加-f默认会提示是否删除文件,y是确认,n是取消,ctrl+c取消操作

示例:2,删除多个文件

[root@localhost ~]# touch {1..3}.txt
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 15 00:47 1.txt
-rw-r–r–. 1 root root 0 Jun 15 00:47 2.txt
-rw-r–r–. 1 root root 0 Jun 15 00:47 3.txt
[root@localhost ~]# rm -f 1.txt 2.txt 3.txt
[root@localhost ~]# ll 
total 0
这里touch创建文件使用{}大括号是序列展开的语法,1..3意思生成从1到3的序列后缀为.txt的普通文件

示例:3,删除data目录

注意:这里使用相对路径,而建议大家使用绝对路径,如果不知道当前位置用pwd查看当前位置。

[root@localhost ~]# mkdir data
[root@localhost ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 15 00:53 data
[root@localhost ~]# rm -rf data
[root@localhost ~]# ll
total 0
示例:4,删除目录下的文件,并不提示

[root@localhost ~]# mkdir data
[root@localhost ~]# touch data/{1..3}.txt
[root@localhost ~]# ll data
total 0
-rw-r–r–. 1 root root 0 Jun 15 00:57 1.txt
-rw-r–r–. 1 root root 0 Jun 15 00:57 2.txt
-rw-r–r–. 1 root root 0 Jun 15 00:57 3.txt
[root@localhost ~]# rm -rf data/*
[root@localhost ~]# ll data

这里的*号意思目录下的所有文件

4,vim        文件编辑器,是vi的高级版本

语法结构:

        vim        文件名        文件不存在则创建文件

        vim        /路径/文件名        目录必须存在 

        a,i        进入编辑模式,可以输入内容

        Esc        退出编辑模式进去视图模式

        :w        保存

        :q        退出

        :!       强制

        :q!        强制退出不保存

示例:1,编辑1.txt文件输入内容“Linux基础”保存并退出

这里提示找不到或没有这个命令,那么就是未安装该命令,那么安装一下就好啦。

[root@localhost ~]# vim 1.txt
-bash: vim: command not found
[root@localhost ~]# yum -y install vim

进入视图模式

按‘i’或“a”进入编辑模式可以写入内容,左下角会有INSERT提示

输入“LInux基础”

按Esc退出编辑模式,进入视图模式按:wq   保存并退出即可

查看文件内容

vim的快捷键:提高工作效率

视图模式下::set nu  显示行号

移动光标:

G        快速移动光标到末尾

        10G 快速移动到第19行

        1G 快速移动到第1行

gg        快速移动光标到首行

 $         快速移动光标到行尾

数字0        快速移动光标到行首

/内容        搜索内容(内容高亮标黄色)

n        向下搜索

N        向上搜索

:noh        取消高亮 

删除内容:

dd        删除/剪切光标所在的一行

        3dd        删除/剪切光标往下3行

d+End         快速删除/剪切光标到行尾

d+0        快速删除/剪切光标到行首

dw        删除/剪切单词

D        删除光标所在到行尾

u        撤销操作

p        粘贴剪切的内容

3p        快速粘贴剪切3行

进入编辑模式:a,i        

字母小o        在光标所在的下一行编辑内容

字母大O        在光标所在的上一行编辑内容

字母大C        删除光标所在到行尾进入编辑模式

:底行模式

:w        保存内容

:q        退出不保存

:q!        强制退出不保存

:set nu 显示行号

:set nonu        取消显示行号

:noh        取消搜索高亮

替换:

:s///        只替换光标所在的第一行的单词,替换前替换后

:s///g        替换整行的单词,替换前替换后

:%s///g        替代文件中所有的

:%s/root//g        留空就是替换为空,可以理解为删除了文件中所有的root

在视图模式下:

大写字母ZZ        是保存并退出

在vim编辑文件时,会发现多了一个.swp的隐藏文件,是因为上一次编辑该文件时没有正常退出和修改后断电或者其他人同时正在编辑这个文件时或自己多个窗口同时编辑这文件

解决方法:vim -r 文件名—-回车—-:wq保存退出——删除隐藏文件.文件名.swp

若不想保留修改后的操作:直接删除隐藏文件 rm -f /路径/.文件名.swp       

5,echo        输出字符串到屏幕上或者到文件里

语法结构:

        echo        字符串        输出到屏幕

        echo        字符串 > 文件        输出到文件

        -e        激活转义字符参数 

        \\n        换行

        \\t        tab键

示例:1,输出Linux字符串到屏幕

[root@localhost ~]# echo Linux 
Linux

示例:2,把Linux输入到1.txt文件中

[root@localhost ~]# echo Linux > 1.txt
[root@localhost ~]# cat 1.txt
Linux
如果文件不存在则创建文件

示例:3,把Linux换行输入test,tab分割data然后输入1.txt文件

[root@localhost ~]# echo -e "Linux\\ntest\\tdata"
Linux
test    data
[root@localhost ~]# echo -e "Linux\\ntest\\tdata" > 1.txt
[root@localhost ~]# cat 1.txt
Linux
test    data
示例:4,数字序列输出到屏幕

[root@localhost ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
还可以隔几个输出

[root@localhost ~]# echo {1..10..2}
1 3 5 7 9
示例:5,字母序列输出

[root@localhost ~]# echo {a..h}
a b c d e f g h

也可以隔几个输出

[root@localhost ~]# echo {a..h..2}
a c e g
示例:6,拼接

[root@localhost ~]# echo {1..3}.txt
1.txt 2.txt 3.txt

[root@localhost ~]# echo A{1..3}
A1 A2 A3

{}可以用在创建序列文件和目录

示例:创建 1-3.txt文件,a-c的目录

也可以创建不是序列的文件,比如创建test.txt,data.txt,1.txt,文件或目录

示例:

[root@localhost ~]# touch {test,data,1}.txt
[root@localhost ~]# ll
total 0
-rw-r–r–. 1 root root 0 Jun 15 01:35 1.txt
-rw-r–r–. 1 root root 0 Jun 15 01:35 data.txt
-rw-r–r–. 1 root root 0 Jun 15 01:35 test.txt

[root@localhost ~]# mkdir {test,data,1}
[root@localhost ~]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 15 01:35 1
-rw-r–r–. 1 root root 0 Jun 15 01:35 1.txt
drwxr-xr-x. 2 root root 6 Jun 15 01:35 data
-rw-r–r–. 1 root root 0 Jun 15 01:35 data.txt
drwxr-xr-x. 2 root root 6 Jun 15 01:35 test
-rw-r–r–. 1 root root 0 Jun 15 01:35 test.txt

示例:将结果输入文件中
> 标准输出重定向        会先清空文件再输入内容

>> 标准追加重定向        会在文件内容末尾追加内容

[root@localhost ~]# echo Linux > 1.txt
[root@localhost ~]# cat 1.txt
Linux
 

[root@localhost ~]# echo Linux基础 >> 1.txt
[root@localhost ~]# cat 1.txt
Linux
Linux基础
另外:

>        >> 只接受正确的结果

示例:

报错的结果不输入文件中

[root@localhost ~]# echoo  Linux > 1.txt
-bash: echoo: command not found

2>        2>> 只接受错误的结果

报错的结果输入了文件中,不再输出屏幕上

[root@localhost ~]# echoo Linux 2> 1.txt
[root@localhost ~]# cat 1.txt
-bash: echoo: command not found
 

赞(0)
未经允许不得转载:171主机测评 » 运维打怪升级之第二关Linux系统命令详解之第二篇
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址