Linux_基础命令

01. 操作系统管理基础知识  

1.1 系统的目录结构: 一切从根开始 

采用绝对路径查找数据: 从根开始找寻数据信息
  特点: 更佳精准
  C:oldboy01oldboy02oldboy03oldboy.txt
  C:oldboyoldboy01oldboy02oldboy03oldboy04oldboy.txt
采用相对路径查找数据: 从当前路径查找数据信息
  特点: 找寻数据更佳方便
  oldboy03/oldboy.txt
  C:oldboyoldboy01oldboy02oldboy03oldboy04 返回到上一层 看不到olddog.txt

1.2  掌握系统命令提示符


作用: 提示管理人员可以输入命令

[root@oldboyedu ~]#
01        02          03    
组成: 由三个部分组成
01. 登录到系统的用户信息 
02. 系统的主机名称信息
03. 显示当前所在的目录信息

1.3 命令的语法格式 

命令 空格 参数 空格 数据信息(路径/文件)
rm -f oldboy.txt
结婚 条件(有钱/有房) 白富美
结婚 条件(没钱/没房) 女的就行


02. 系统管理基础命令:


a 系统运行相关管理命令
重启系统:
· 对系统进行重启,在几分钟后重启
[root@oldboyedu ~]# shutdown -r 5(分钟)
Shutdown scheduled for Tue 2019-09-03 04:49:30 EDT, use 'shutdown -c' to cancel.
关闭系统计划大概在2019-09-03 04:49:30秒进行执行, 使用 'shutdown -c' 来取消这个计划

Broadcast message from root@oldboyedu.com (Tue 2019-09-03 04:44:30 EDT):
广播重启系统消息 由root@oldboyedu.com

The system is going down for reboot at Tue 2019-09-03 04:49:30 EDT!
系统在将2019-09-03 04:49:30进行重启操作

· 取消重启操作
[root@oldboyedu ~]# shutdown -c
Broadcast message from root@oldboyedu.com (Tue 2019-09-03 04:50:45 EDT):
广播取消重启操作消息 由 root@oldboyedu.com

The system shutdown has been cancelled at Tue 2019-09-03 04:51:45 EDT!
系统重启操作被取消了

· 立即进行重启操作
[root@oldboyedu ~]# shutdown -r now/0

关闭系统:
· 对系统进行关闭,在几分钟后重启
[root@oldboyedu ~]# shutdown -h 5(分钟)
Shutdown scheduled for Tue 2019-09-03 05:03:36 EDT, use 'shutdown -c' to cancel.

Broadcast message from root@oldboyedu.com (Tue 2019-09-03 04:58:36 EDT):

The system is going down for power-off at Tue 2019-09-03 05:03:36 EDT!
在2019-09-03 05:03:36将关闭系统

· 立即进行关闭系统
[root@oldboyedu ~]# shutdown -h now/0

b 和系统目录相关的命令
1) 创建目录命令 make directory ==> mkdir
mkdir /oldboy

[root@oldboyedu ~]# mkdir /oldboy/oldboy01/oldboy02/oldboy03
mkdir: cannot create directory ‘/oldboy/oldboy01/oldboy02/oldboy03’: No such file or directory
不能创建目录; 没有此文件或目录

mkdir -p /oldboy/oldboy01/oldboy02/oldboy03 创建多级目录
PS: 操作命令时,没有消息产生的时候,就是最好的消息

2) 确认目录已经创建 list ==> ls 列表显示系统数据信息
[root@oldboyedu ~]# ls /oldboy/oldboy01/ --- 列出指定目录下面的数据信息
oldboy02
[root@oldboyedu ~]# ls -d /oldboy/oldboy01/ --- 列出指定目录是否存在
/oldboy/oldboy01/

3) 进行目录路径切换 change directory ==> cd
绝对路径方式切换目录: cd /oldboy/oldboy01/oldboy02/oldboy03
相对路径方式切换目录: 所在oldboy03目录中 --> cd oldboy04

cd/cd ~ : 快速返回到系统用户的家目录中
cd .. : 快速返回到上一级目录
cd ../.. : 快速返回到上上级目录
cd - : 快速返回到上一次所在的目录中

测验:
创建两个多级目录
/oldboy/oldboy01/oldboy02/oldboy03/oldboy04/
/oldgirl/oldgirl01/oldgirl02/oldgirl03/oldgirl04/
先进入到/oldboy/oldboy01/oldboy02/oldboy03/oldboy04/目录中
请问: 如何切换到/oldgirl/oldgirl01/oldgirl02/oldgirl03/oldgirl04/目录中
绝对路径切换目录命令: cd /oldgirl/oldgirl01/oldgirl02/oldgirl03/oldgirl04/
相对路径切换目录命令: cd ../../../../../../../../../../../../../oldgirl/oldgirl01/oldgirl02/oldgirl03/oldgirl04/
结论:
目录与目录之间有上下级关系: 采用相对路径切换,操作效率更高
目录与目录之间没有上下级关系: 采用绝对路径切换,操作效率更高

4) 查看当前所在路径 print working directory(输出当前工作目录) -- pwd
[root@oldboyedu oldboy03]# pwd
/oldboy/oldboy01/oldboy02/oldboy03

c 和系统文件相关的命令
1) 创建文件信息 touch
touch oldboy.txt

2) 检查确认文件是否创建成功
[root@oldboyedu oldboy]# ls /oldboy
oldboy oldboy01 oldboy.txt
[root@oldboyedu oldboy]# ls /oldboy/oldboy.txt
/oldboy/oldboy.txt
[root@oldboyedu oldboy]# ls /oldboy/oldboy01.txt
ls: cannot access /oldboy/oldboy01.txt: No such file or directory

3) 如何查看文件中内容 cat 猫--看文件里面的内容
[root@oldboyedu oldboy]# cat oldboy.txt --- 查看的是空文件
[root@oldboyedu oldboy]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

4) 编辑文件内容
· 第一种编辑文件内容方法: vi/vim(默认centos7里面没有) == 编辑文件
vi命令编辑文件步骤:
第一个里程: 打开一个文件
vi oldboy.txt
第二个里程: 进入到一个编辑模式
输入小写字母 "i" --- 进入到插入模式 insert模式 ---> 开始编辑文件内容
第三个里程: 退出编辑模式
输入键盘按键 "esc"
第四个里程: 保存退出/不保存退出
:wq --- write(写入==保存) quit(退出)
:q --- 没有进行编辑,直接退出
:q! --- 文件内容进行了修改,强制退出

vi编辑常见问题:
1. 编辑的文件所在目录一定要存在
2. 编辑的只能文件信息,不能是目录
3. 编辑文件内容时,系统无法识别中文符号信息
4. 编辑文件时,vi命令后面必须指定要编辑的文件名称

· 第二种编辑文件内容方法: echo == 将信息输出到屏幕上
[root@oldboyedu oldboy]# echo "hello world"
hello world
[root@oldboyedu oldboy]# echo "hello world" > /oldboy/oldboy.txt
[root@oldboyedu oldboy]# cat /oldboy/oldboy.txt
hello world

03. 和文件目录都有关系一些命令
1. 系统数据信息进行备份 copy ==> cp 复制命令
语法格式: cp 参数 源文件(需要备份文件) 目标文件(备份之后文件)
备份文件信息
cp /etc/hosts /etc/hosts.bak
cp /etc/hosts /opt/

补充: 覆盖文件问题
正常复制文件会有覆盖提示:
[root@oldboyedu ~]# cp /etc/hosts /opt/
cp: overwrite ‘/opt/hosts’? y
[root@oldboyedu ~]# cat /opt/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
oldboy
如何进行强制覆盖:
方法一: cp oldboy01.txt /opt/ --- 忽略覆盖提示信息
方法二: /usr/bin/cp oldboy01.txt /opt/ --- 忽略覆盖提示信息

备份目录信息
cp -r /oldboy/ /tmp/

2. 系统数据信息移动操作(剪切) move ==> mv
语法格式: mv 参数 源文件(需要移动文件) 目标路径(移动到什么路径)
移动文件信息:
mv oldboy01.txt /tmp/
移动目录信息
mv /oldboy/ /tmp/

重命名操作:
mv oldboy/ oldgirl/

3. 系统数据删除命令 remove == rm
删除文件信息
rm -f /oldboy/oldboy01.txt

删除目录信息
rm -rf /oldboy/
-r 递归删除目录下面的数据
-f 强制删除目录数据信息(不要有确认提示)

删根操作:
rm -rf --no-preserve-root /
rm -rf /*

03. 常用的系统快捷方式:


ctrl+a --- 将光标快速移动到行首
ctrl+e --- 将光标快速移动到行尾
ctrl+← → --- 将光标按照单词字符串进行快速左右移动
ctrl+w --- 删除(剪切)一个连续的字符串信息(没有空格分割)
ctrl+y --- 粘贴剪切的信息
ctrl+u --- 删除(剪切)光标所在位置左边的所有字符串信息
ctrl+k --- 删除(剪切)光标所在位置右边的所有字符串信息

04. vi命令使用方式和使用技巧


vi命令三种模式:
· 01命令模式: 最先打开文件进行编辑的模式
· 02编辑模式: 可以直接修改文件信息 命令模式 -- i -- 编辑模式
编辑模式 -- esc -- 命令模式
· 03底行模式: 输入vi编辑指令信息,完成不同功能 命令模式 -- : -- 底行模式
wq q q! 底行模式 -- esc -- 命令模式

vi命令使用技巧:
· 快速移动光标技巧
G/shift+g --- 将光标快速切换到最后一行
gg --- 将光标快速切换到文件行首
10gg --- 将光标切换到指定行
$ --- 将光标快速切换到一行的行尾
0/^ --- 将光标快速切换到一行的行首

· 快速移动光标并进入到编辑状态:
o --- 将光标在当前行下面新起一行,并进入编辑状态
O --- 将光标在当前行上面新起一行,并进入编辑状态
i --- 在光标当前位置直接进入编辑状态
I --- 将光标切换到一行的行首,并进入编辑状态
A --- 将光标切换到一行的行尾,并进入编辑状态
a --- 在光标当前位置下一个字符进入编辑状态
C --- 将光标所在位置右边的所有内容清空,并进入编辑状态
cc --- 将整行内容进行清空,并进入到编辑状态

· 快速编辑文件内容信息
yy --- 复制指定内容信息
nyy --- 复制多行信息
p --- 粘贴复制或者剪切的信息
3p --- 将复制或剪切的内容粘贴3次
dd --- 删除(剪切)指定一行信息
ndd --- 删除(剪切)指定多行信息
dG --- 将光标所在行之后所有内容进行删除(剪切)
r --- 替换指定光标所在位置字符信息
R --- 进入到替换模式,可以替换多个字符信息

· 底行功能指令
:set nu --- 显示文件行号信息
:set nonu --- 取消显示文件行号信息
:s/oldboy/oldgirl/ --- 替换光标所在位置的信息
:%s/oldboy/oldgirl/ --- 替换文件中所有指定内容
:7,12s/oldboy/oldgirl/ --- 将指定行信息做替换修改
:6,$s/oldboy/oldgirl/ --- 将指定行到最后一行指定内容进行替换
:6,$s/oldboy/oldgirl/g --- 将一行中检索到匹配的所有信息都做替换
:6,$s/oldboy/oldgirl/ --- 将一行中检索到第一个匹配的信息做替换
PS: 替换指令使用时,分割符号可以使用 /// ### @@@
/搜索的信息 --- 在文件中检索过滤指定信息
n表示检索下一个匹配的信息
N表示返回到上一个匹配的信息
/搜索的信息c --- 在文件检索信息时忽略大小写

· 特殊操作技巧
u -- undo --- vi编辑中撤销操作
ctrl+r -- redo --- vi编辑中取消撤销操作

05: vim 错误


E325: ATTENTION --- 请注意
Found a swap file by the name "/etc/.services.swp" --- 系统中找到了一个.services.swp
owned by: root dated: Thu Sep 5 03:48:46 2019 --- 文件属性说明
file name: /etc/services
modified: no
user name: root host name: oldboyedu.com
process ID: 9572 (still running)
While opening file "/etc/services"
dated: Fri Jun 7 10:31:32 2013

(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r /etc/services"
to recover the changes (see ":help recovery").
If you did this already, delete the swap file "/etc/.services.swp"
to avoid this message.
告知系统管理人员, 以上特殊的文件是如何产生出来
1) 系统不同的管理人员,同时打开了一个相同的文件
2) 文件在编辑时候,系统出现了异常停止或者网络异常断开的情况

06 系统目录挂载操作


linux系统挂载概念: 给存储设备安装个门(挂载点) 一般将一个空目录可以作为一个挂载点
所有硬件设备用文件表示
光驱设备: /dev/cdrom
磁盘设备:
/dev/sda 第一块磁盘 /dev/sda1 /dev/sda2
/dev/sdb 第二块磁盘

对光驱进行挂载步骤:
第一个步骤: 确认光驱设备已经识别

第二个步骤: 确认是否存在挂载点目录
[root@oldboyedu ~]# ls -d /mnt
/mnt

第三个步骤: 进行挂载操作 存储设备 + 门建立关系
#mount 存储硬件设备(光驱文件信息) 挂载点(目录信息)
mount /dev/cdrom /mnt

原文地址:https://www.cnblogs.com/zhanghongqi/p/11667767.html