查看ip命令:ifconfig
IP: 192.168.48.129

文件夹规范

在 Linux 系统里,不同的文件夹依据其设计定位,存放着特定类型的文件。

/bin
存放着系统启动时需要的基本命令,如ls、cd、cp、mv等。这些命令是系统正常运行和用户进行基本操作所必需的,无论是在普通用户模式还是在单用户模式下都能使用。

/sbin
主要存放系统管理员使用的系统管理命令,例如init、ifconfig、route等。这些命令通常需要较高的权限才能执行,用于系统配置、管理和维护等操作。

/etc
用于存放系统的各种配置文件,如passwd(用户账户信息)、group(用户组信息)、fstab(文件系统挂载信息)、network(网络配置文件)等。系统在启动和运行过程中会读取这些配置文件,以确定系统的运行参数和设置。

/dev
包含了系统中的设备文件,如硬盘、光驱、串口、终端等设备都在这个目录下有对应的文件。通过这些设备文件,用户和程序可以访问和控制硬件设备。

/home
普通用户的主目录所在位置,每个用户都有一个以自己用户名命名的子目录,用于存放用户个人的文件、配置文件和工作目录等。

/root
系统管理员(root 用户)的主目录,root 用户可以在这个目录下进行系统管理和维护等操作。

/lib
存放系统和应用程序运行时需要的共享库文件,这些库文件包含了可被多个程序共享的代码和数据,有助于节省系统资源和提高程序的运行效率。

/proc
这是一个虚拟文件系统,它提供了系统内核和进程的相关信息,如系统内存使用情况、进程列表、CPU 状态等。可以通过访问/proc目录下的文件来获取这些信息,用于系统监控和调试。

/sys
也是一个虚拟文件系统,主要用于提供系统硬件设备的相关信息和属性,内核通过这个文件系统向用户空间提供关于系统硬件的信息。

/tmp
临时文件目录,用于存放系统和应用程序在运行过程中产生的临时文件。系统在启动时会自动清理这个目录,通常不需要用户手动清理。

/var
用于存放系统运行时经常变化的数据,如日志文件(/var/log)、邮件文件(/var/mail)、缓存文件(/var/cache)等。

/opt
通常用于安装第三方应用程序或软件包,这些软件可能是由软件开发商提供的,也可能是用户自行编译安装的。

/usr
包含了系统的共享资源,如可执行文件、库文件、头文件、文档等。它进一步分为/usr/bin(用户命令)、/usr/sbin(系统管理命令)、/usr/lib(库文件)、/usr/include(头文件)、/usr/share(共享数据,如文档、字体等)等子目录。

常用命令

cd 切换目录

1
2
3
4
5
6
7
8
cd ~ 回到自己的家目录,一般直接用 cd 即可
cd ../ 回到当前目录的上一级目录
cd / 回到根目录
从根目录算起的路径叫做绝对路径,以斜线开头
cd /home/test/
从当前目录算起的路径叫做相对路径,当前工作目录的相对位置
cd test (当前位置有test文件夹时可用)
pwd 显示现在所在的目录位置

ls 查看内容

1
2
3
4
5
6
ls -a 显示全部包括隐藏文件(隐藏文件以.开头)
ll 等于 ls -l 显示长格式属性,常用
ls -r 反向排序
ls -S 按照占磁盘大小从大到小排序
ls -t 以时间排序(由新到旧)
ls /home/test 指定路径查看

-a -l -r 这类属于参数,可同时在一个 - 中设置,不分顺序

1
2
按磁盘大小从大到小反向排序(即从小到大),长格式显示所有文件
ls -rlaS /home/test

mkdir 创建目录

1
2
3
mkdir a 创建一个目录 
mkdir b c 同时创建多个目录
mkdir -p d/e 创建多级目录(创建一个目录d,里面有个目录e)

蓝色 代表目录
白色 代表文件

touch 创建空文件

1
2
3
4
touch name.txt 
touch /root/test/name.txt #文件名可带路径
touch {1..5}.txt #批量创建5个文件
touch student{1..10}.txt #文件名分别为student1.txt;student2.txt;student3.txt...student100.txt

通配符:配合文件名及目录使用
?匹配一个字符 ?.txt
* 匹配全部字符 *.txt
{1..10} 1到10
{a..z} a b c …z
{A..Z} A B C …..Z

rm 删除文件或目录

rm 一般都带 -f 强制删除
删文件夹必带 -r 将指定目录下的所有文件与子目录一并处理

1
2
3
4
rm t.txt 删除文件,会提示是否删除,输入y执行删除,n不删除 
rm -r a 删除a目录(文件夹)及其里面的文件及子目录
rm -rf * 强制删除文件夹下面的子目录和文件
rm -rf q*强制删除以q开头的文件夹及下面的子目录和文件

mv 移动文件或目录并命名

mv移动时可设置文件名,不填写路径只写文件名相当于不移动只重命名

1
2
3
4
mv a b #将文件a重命名为b
mv a.txt b.txt #将a.txt重命名为b.txt
mv a c/ #将文件a移动到c目录下
mv b.txt ../c.txt #将b.txt移动到上一级目录并重命名为c.txt

cp 拷贝文件到指定目录并命名

1
2
3
4
cp -r 递归拷贝目录(复制包括所有子文件,必须使用) 
cp a.txt b/a.txt
cp a.txt b/b.txt
cp -r /root/a /root/b

ln 软连接

类似win快捷方式
浅蓝色
删除带 -r

1
2
3
4
5
6
7
ln -s 目标位置 链接名称
目标位置:要链接到的原始文件或目录的路径
链接名称:要创建的软连接的名称和位置,不写路径默认在当前目录下创建
ln -s /home/test/ wk
ln -s /home/test/ /home/wk
删除软连接
rm -rf wk

软连接存放路径一般放在用户的家目录,放在其他地方会出问题

快捷键

Tab 命令补全;文件名或者路径补全;连续按2次Tab键,显示以已输入字符开头的所有命令、文件名或路径
Ctrl + C 取消当前命令行的编辑;结束当前执行的命令
上下键自动记录命令
Ctrl+滚轮上下滚动可以放大缩小
mobax右键快速粘贴,修改完重启mobox生效 (0516文件目录类.mp4_01:01:39)
鼠标中键也可快速粘贴

vim 编辑文件

在命令行下执行:vim 文件名 进入一般模式
在一般模式下输入 i 或 a 进入编辑模式

编辑模式按 esc 退回一般模式
在一般模式下输入 : 或 / 进入命令模式

命令模式下输入命令进行保存退出,有以下命令:
:wq 保存退出; :q 不保存退出; :q! 强制不保存退出
命令模式按 esc 退回一般模式

一般模式 命令

dd 删除光标所在的行,且保存到剪贴板
3dd 删除光标所在的三行,且保存到剪贴板
yy复制光标所在的行
4yy复制光标所在的连续4行
p(小写) 将已复制的内容在光标的下一行粘贴
P(大写)将已复制的内容在光标的上一行粘贴
x,X:在一行字中,x 为向后删除一个字符(相当于[Del]键),X 为向前删除一个字符 (相当于[Backspace])也可5x(向后删除5个字符)等
G光标快速定位到最后一行 gg 光标快速定位到第一行
u 撤销上一步操作

命令模式 命令

:wq 保存退出; :q 不保存退出; :q! 强制不保存退出
:set nu 显示行号; :set nonu 取消行号
:5 光标快读定位到第5行
:nohl 去除高亮显示

查找字符:/
/hello 查找字符串hello,按n向下搜索,按N向上搜索

替换字符串
替换字符串命令的基本语法是: [range]s/⽬标字符串/替换字符串/[option]
其中range和option字段都可以缺省不填,间隔符除了/还可以是其他的
range:表⽰搜索范围,默认表⽰当前⾏; 1,10表⽰从第1到第10⾏
g 表示全局替换,有多少次替换多少次;无g 只替代每行第一个
s 表示替换

1
2
3
4
5
#把整个文件的nologin替换成888888 
:1,$s/nologin/88888/g

#把1到10行的nologin替换成888888
:1,10s/nologin/88888/g

锁死IP

快照

类似于备份系统,以便还原系统
虚拟机-快照-拍摄快照
如果系统出问题可以还原到这个拍照的节点
快照可以是关机也可以是开机,但建议关机拍快照

练习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1.分别使用绝对路径和相对路径切换到home目录 
cd /home
cd ../home #当前为~
2.回到当前目录的上一级目录
cd ../
3.回到家目录
cd
4.在/home目录下创建两个目录 class a
mkdir /home/class a #这个写法会在home下创一个class,在/下创一个a
mkdir /home/class /home/a
5.创建目录 /home/class/students
mkdir /home/class/students
6.删除一个目录 /home/a
rm -rf /home/a
7.在目录 /home/class/students 下创建个文件 name.txt
touch /home/class/students/name.txt
8.将 /home/class/students/name.txt 复制到 /home/class 目录
cp /home/class/students/name.txt /home/class
9.创建/home/class/teachers文件夹,复制整个目录 /home/class/students 到 /home/class/teachers/文件夹下
mkdir /home/class/teachers
cp -r /home/class/students /home/class/teachers/
10.删除 /home/class/name.txt
rm -f /home/class/name.txt
11.删除文件夹及里面的文件 /home/class/teachers
rm -rf /home/class/teachers
12./home目录下创建一个文件name.txt,重命名 /home/name.txt 文件为 age.txt
touch /home/name.txt
mv /home/name.txt /home/age.txt
13.将 /home/age.txt 拷贝到 /root/ 目录下
cp /home/age.txt /root/
14.在/root下创建一个软连接wk,指向/etc/sysconfig/network-scripts/ifcfg-ens33,然后 使用ll查看这个软连接
ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /root/wk
15.删除上题中建立的软连接
rm -rf wk
16.在/root下递归创建目录xxx/yyy/zzz
mkdir -p xxx/yyy/zzz
17.使用touch命令在zzz目录中批量创建文件:test1.log...test10.log,a.txt...z.txt, a1.txt...a10.txt b1.txt..b10.txt ... z1.txt...z10.txt
cd xxx/yyy/zzz
touch test{1..10}.log {a..z}.txt {a..z}{1..10}.txt
18.删除zzz中所有名字是单个字母后缀是txt的文件
rm -f ?.txt
19.将zzz中所有test开头的文件复制到上级目录yyy中
cp test* ../

练习题目3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
1.将/etc/man_db.conf复制到家目录/root下; 
cp /etc/man_db.conf /root/

2.使用vim开启家目录下的man_db.conf在vim中设定一下行号;
vim man_db.conf
:set num

3.定位到第68行
:68

4.移动到第一行,并且向下搜寻一下SECTION这个字符串,请问他在第几行? #102行
:1
/SECTION
5.接下来,我要
将50到100行之间的小写[man]字符串改为大写[MAN]字符串
:50,100s/man/MAN/g

6.修改完之后,突然反悔了,要全部复原,有哪些方法?
u #撤销上一步操作
:q! #强制不保存退出

7.我要复制65到73这9行内容,并且贴到最后一行之后;
:65,73y #复制65到73这9行内容
:$ #跳转到最后一行
p #粘贴到下一行
:65,73t$ #组合命令,一行实现

8.到第70行,并且向右删除5个字符
:70
5x

9.在第一行新增一行,该行内容输入[I am a student…]
:1 ##先定位到第一行
i #按i进入编辑模式再输入I am a student…

10.找到原来猴子吃桃的题目,把代码拷贝到第50行之后
#直接粘贴()

11.到第30行,删除30到38行
:30
9dd

12.取消行号,存储后离开吧!
:set nonu
:wq

13.配置静态ip,vim /etc/sysconfig/network-scripts/ifcfg-ens33
#见上图锁死IP