一、虚拟机设置及基本命令
1.设置主机名
cs
[root@server ~]# hostnamectl set-hostname 新主机名
[root@server ~]# reboot # 重启系统生效
2.关闭防火墙
cs
关闭防火墙
[root@server ~]# systemctl stop firewalld # 临时关闭防火墙
[root@server ~]# systemctl disable firewalld # 取消防火墙开机启动(永久禁用)
[root@server ~]# setenforce 0 # 临时关闭selinux(这个相当于内核中的防火墙,永久修改要改配置文件)
查看防火墙状态
[root@server ~]# systemctl status firewalld # 查看防火墙状态,inactive为关闭
3.常见快捷键指令
|--------------|--------|
| 快捷键 | 作用 |
| tab | 单词补全 |
| ctrl+c | 终止当前任务 |
| ctrl+l | 清屏 |
| ctrl+insert | 复制 |
| shift+insert | 粘贴 |
| ctrl+shift+= | 放大字号 |
| ctrl+- | 缩小字号 |
| ctrl+z | 终止进程 |
4.正确的关机与重启
cs
[root@server ~]# reboot #重启
[root@server ~]# shutdown now #关机
5.查看网卡信息以及获取ip地址
cs
[root@server ~]# ip a
或者
[root@server ~]# ifconfig
6.修改密码
cs
[root@server /]# passwd
更改用户 root 的密码
新的密码:
无效的密码: 密码少于 8 个字符
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server /]# passwd 用户名
更改用户 用户名 的密码
新的密码:
无效的密码: 密码未通过字典检查 - 太简单或太有规律
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server /]# passwd -d 用户名 # 清除账户密码
清除用户的密码 用户名
passwd: 操作成功
7.目录操作
切换目录--cd
cs
更改当前的工作目录,即切换目录
绝对路径(以/开始的路径)
相对路径(以当前工作目录开始的路径)
[root@server ~]# cd / 到/目录
[root@server /]# cd /root 到/root
[root@server ~]# cd /home 到/home
[root@server home]# cd ~ 到~
[root@server ~]# cd /etc 到/etc
[root@server etc]# cd .. #当前目录的上一层目录
[root@server /]# cd . #当前目录
查看当前的工作目录--pwd
cs
[root@server ~]# pwd
[root@server ~]# su - 用户名
[用户@server ~]$ pwd
/home/centos
# 注意:windows和linux系统的目录路径表示的不同
浏览目录内容--ls
cs
[root@server ~]# ls -参数 操作对象
[root@server ~]# ls
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg
[root@server ~]# ls /
afs bin boot dev dvd.repo etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
参数
|--------|-------------------------------------------------------------------------|
| 参数 | 功能 |
| -l | 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。 |
| -d | 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。 |
| -c | 按文件的修改时间排序后,予以显示。 |
| -h | 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。 |
| -R | 以递归的方式显示指定目录及其子目录中的所有内容。 |
| -a | 显示所有子目录和文件的信息,包括名称以"."开头的隐藏目录和隐藏文件。 |
| -A | 与-a选项的作用类似,但不显示表示当前目录的"."和表示父目录的".."。 |
| -i | 显示文件索引节点号(inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。 |
| -s | 按照文件大小排序 |
ls浏览后颜色表示
白色:普通文件
蓝色:目录
红色:压缩包文件
黄色:设备文件
绿色:可执行文件
8.帮助命令
cs
--help
[root@server ~]# 一段命令 --help
示例如下:命令 [OPTION]... [FILE]... 表明命令后面可以加上多个可选的选项以及多个可选的文件参数
9.时间命令
date
cs
date命令用于显示或设置系统的时间与日期
格式
[root@server ~]# date -参数 +显示日期时间格式参数
用户只需在强大的date命令后输入以 `+` 号开头的格式参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间结合到一起。
常见参数
|----|-----------------------|
| 参数 | 作用 |
| %Y | 完整年份(例如:2020) |
| %m | 月份(1~12) |
| %d | 本月中的第几天 |
| %H | 小时(00~23) |
| %M | 分钟(00~59) |
| %j | 今年中的第几天 |
| %X | 相当于%H:%M:%S |
| %Z | 显示时区 |
| %A | 星期几 (Sunday-Saturday) |
| %p | 显示本地AM或PM |
timedatect
cs
格式
[root@server ~]# timedatectl [OPTIONS...] COMMAND ...
参数
|----------------|--------|
| 参数 | 作用 |
| status | 显示状态信息 |
| list-timezones | 列出已知时区 |
| set-timezone | 设置生效时区 |
| set-time | 设置系统时间 |
查看日历
cs
格式:
[root@server ~]# cal 月份 年份
二、管理文件
1.硬链接
原理:
linux系统允许多个文件指向同一个inode,即允许一个文件拥有多个有效地路径名
理解:硬连接就是指向原始文件inode的指针
cs
查看方法
[root@server ~]# ll 文件名
[root@server ~]# stat 文件名
建立硬连接
格式:
[root@server ~]# ln -参数 源文件 目标连接文件
硬连接建立后,删除其中的一个后数据依然可以访问,只有硬连接为0时,数据旧无法访问了
硬连接不能给目录建立
不可以在不同的文件系统内建立硬连接,由于inode是当前文件在本文件系统的索引值即只能在本分区使用,应以硬连接不能跨越文件系统
2.软链接
原理:
软连接是一种符号连接,类似于windows的"快捷方式",仅包含所连接的路径名
cs
格式
[root@server ~]# ln -s 源文件 目标连接名
软连接只是一种指向关系,删除源文件则数据不可访问
可以通过ll命令查看软连接实际执行文件及位置
更改软连接方法:[root@server ~]# ln -snf 新文件名 软连接名
删除软连接,只是删除指向关系,源数据依然可以访问
软硬连接的区别
硬连接中源文件与连接文件公用一个inode号,是同一个文件,软连接中源文件与连接文件拥有不同inode号,是2个不同的文件
软连接的指向关系可以查看,硬连接不可以查看
连接数不同,软连接数不会增加
文件大小不同,硬连接文件大小与源文件一样
软连接不受任何文件系统的影响,任何用户都可以创建指向目录的软连接
3.目录操作
创建目录(make directory)
cs
格式
[root@server ~]# mkdir [-p] [/路径/]目录名
参数
|----|----------------------------------|
| 参数 | 作用 |
| -p | 可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖 |
| -v | 显示创建目录的详细过程 |
du
作用:统计目录及文件的空间占用情况,查看某个目录中的各级子目录所占用的磁盘空间数
cs
格式:
[root@server ~]# du [参数] [目录名]
|--------|------------------------------------|
| 选项 | 功能 |
| -a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。 |
| -s | 只统计每个文件所占用空间总的大小,而不是统计每个子目录、文件的大小。 |
| -h | 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。 |
新建文件
创建普通文件
touch
如果文件已存在,更新文件的三个时间,stat
可以查看文件的详细信息
cs
[root@server ~]# stat /etc/hostname
如果文件不存在,则表示创建文件
cs
[root@server ~]# touch 文件名1 文件名2 文件名3 #单独分别创立
[root@server ~]# touch {文件名1,文件名2,文件名3} #一起创立为一个文件
删除文件
cs
格式:
[root@server ~]# rm -参数 文件名
参数
|----|---------|
| 参数 | 作用 |
| -r | 删除目录 |
| -f | 强制删除不确认 |
注意
删除前必须确认路径及名称
删除文件时必须将文件名及扩展名写全
4.重定向
概念
重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。
重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
符号
输出重定向操作符:> >>
输入重定向操作符:<
<<
cs
用法
命令 >文件 或 命令 1>文件 : 将命令执行后的结果不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 2>文件 : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 2>/dev/null : 将命令执行后所产生的错误信息不在默认的屏幕上显示,而是写入到空设备文件(黑洞)中,即将输出的错误信息丢弃掉
命令 &>文件 命令 >&文件 : 将命令执行后的正确输出信息和错误信息不在默认的屏幕上显示,而是以覆盖的方式写入到指定文件中,若指定的文件不存在,则自动创建该文件
命令 >>文件 : 将命令执行后的正确输出信息以追加的方式写入到指定的文件中,不覆盖原文件内容,若指定的文件不存在,则自动创建该文件
命令 <文件 : 使命令从指定的文件中读取数据作为输入
命令 <<结束标识字符串 : 在命令行读取数据作为输入,直到遇到指定的结束标识字符串
输出重定向案例
输出重定向(覆盖)
[root@server ~]# date 1> date.txt
输出重定向(追加)
[root@server ~]# date >> date.txt
输入重定向案例
从文件读取数据作为cat命令的输入
[root@server ~]# echo test > file
[root@server ~]# cat < file
test
echo
作用:向终端设备上输出字符串或变量提取后的值
cs
格式
[root@server ~]# echo "字符串"
[root@server ~]# echo "$量"
将标准输出重定向到文件
[root@server ~]# echo "hello" > /root/test/file
[root@server ~]# echo "world" >> /root/test/file
tee
作用
读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕(即想把输出保存到文件中,又想在屏幕上看到内容)
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时输出到文件。
cs
格式
[root@server ~]# tee 参数 文件名
参数
|------------------------|------------------|
| -a或--append | 附加到现有文件的后面,而非覆盖它 |
| -i或--ignore-interrupts | 忽略中断信号 |
| --help | 在线帮助 |
管道符: |
作用:
管道符号,是unix一个很强大的功能,符号为一条竖线:"|",用于两个命令或者多个命令相连接,将管道符左边命令的输出作为管道符右边命令的输入
cs
格式
命令A | 命令2 | 命令3 ......
5.vi/vim文本编辑器
命令模式:也成为了阅读模式,可以控制光标移动,对文本进行查看、删除、复制粘贴等操作(默认)
编辑模式:也称为插入模式,可以对文本进行编辑
末行模式:保存、退出、设置编辑环境
进入的顺序
刚打开文件后进入的为命令模式(默认)
命令模式点击i'键进入输入模式,点击Esc返回命令模式
命令模式中点击冒号进入末行模式,点击Esc返回
输入模式与末行模式不可以相互进入
命令模式的快捷键
光标跳转按键
功能 | 按键 |
---|---|
光标按单个字符移动 | ↑、↓、←、→ |
光标按照单词向后跳转 | w |
光标按照单词向前跳转 | b |
光标跳转至行首 | ^ |
光标跳转至行尾 | $ |
文档首行第一个字符 | gg |
文档最后一行第一个字符 | G |
跳转到指定行 | 行号gg 或者 行号G |
复制、粘贴、删除
功能 | 按键 |
---|---|
删除光标所在行 | dd |
删除从光标处开始的n行 | 数字dd |
删除光标前至行首字符 | d^ |
删除光标及之后的所有字符 | d$ |
复制光标所在行 | yy |
复制从光标处开始的n行 | 数字yy |
将缓冲区的内容粘贴到光标所在行的下一行 | p(小写) |
将缓冲区的内容粘贴到光标所在行的上一行 | P(大写) |
撤销操作 | u |
编辑模式的快捷键
可通过如下任意一种功能键从命令模式切换到编辑模式
按esc键可从编辑模式切换到命令模式
功能 | 按键 |
---|---|
在光标前插入 | i |
在光标所在行行首第一个非空字符前插入 | I(大写字母i) |
在光标后插入 | a |
在光标所在行末尾插入 | A |
在光标所在行上一行插入 | O(大写字母) |
在光标所在行下一行插入 | o(小写字母) |
删除光标所在字符并进入插入模式 | s(小写字母) |
删除当前行并进入插入模式 | S(大写字母) |
末行模式的快捷键
按:
或者/
可从命令模式切换到末行模式
按esc键可从末行模式切换到命令模式。
查找关键字并替换
功能 | 按键 |
---|---|
从上而下查找字符串"word"(可按n键定位到下一个匹配的的字符串) | /word |
将当前行中查找到的第一个字符"old"替换为"new" | :s /old/new |
将当前行中查找到的所有字符"old"替换为"new" | :s /old/new/g |
在行号"n1,n2"范围内替换所有的字符串"old"为"new" | :n1,n2 s/old/new/g |
将整个文件内的字符串"old"替换为"new" | :% s/old/new/g |
保存退出
功能 | 按键 |
---|---|
退出vi/vim编辑器,未对文件做任何编辑操作才可退出 | :q |
不保存文档内容,强制退出vi/vim编辑器 | :q! |
保存文件 | :w |
将文件另存为/dir/file | :w /dir/file |
保存文件内容并退出vi/vim编辑器 | :wq 或者 ZZ |
强制保存并退出 | :wq! |
其他操作
功能 | 按键 |
---|---|
在当前文件中读入其他文件内容 | :r /dir/file |
查找含有"word"的行并删除 | :g/word/d |
显示行号 | :set nu |
关闭行号显示 | :set nonu |
删除n1-n2行内容 | :n1,n2 d |
复制n1-n2行到第n行后面 | :n1,n2 co n |
cs
[root@server ~]# vim /etc/vimrc 或者 vim ~/.vimrc
set hlsearch "高亮度反白
set backspace=2 "可随时用退格键删除
set autoindent "自动缩排
set tabstop=4 "缩进
set softtabstop=4 softtabstop是"逢4空格进1制表符",前提是你tabstop=4
set shiftwidth=4 自动缩进空格长度
set mouse=a "使用鼠标
set selection=exclusive
set selectmode=mouse,key
set ruler "可显示最后一行的状态
set showmode "左下角那一行的状态
set nu "可以在每一行的最前面显示行号啦!
set bg=dark "显示不同的底色色调
syntax on "进行语法检验,颜色显示
三、文件内容操作
1,浏览文件
cat
作用:查看文件内容,适合数据量较少
cs
格式:
[root@server ~]# cat -参数 文件名
参数
|----|---------------------|
| -n | 显示行号,加上 |
| -b | 文件中所有非空行增加行号,编号从1开始 |
tac
作用:倒叙访问文件内容
cs
格式:
[root@server ~]# tac 参数 文件名
more 命令
作用:翻页查看文件内容,适合内容较多的文件查看
cs
格式:
[root@server ~]# more 文件名