[Linux常用命令磁盘操作]
Posted 刘较瘦丫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux常用命令磁盘操作]相关的知识,希望对你有一定的参考价值。
Linux
1.常用命令
# Linux中最顶级目录是根目录:/
# ~ :在linux当中指的是当前用户的家目录([用户名@主机名 当前所在的目录])
1.touch 文件名 # 创建文件(默认创建在当前用户文件夹下)
touch /路径 文件名 # 指定文件夹下创建文件
2.ls # 查看文件夹(默认查看当前用户文件夹所有文件)
ls /文件名 # 查看指定文件夹下文件
ls / # 查看/(根目录)下所有内容
ls -l # 查看文件详细信息(ls -l 等价于 ll)
3.mkdir # 创建文件夹(默认创建在当前用户文件夹下)
mkdir /路径名/文件名 # 指定路径下创建文件夹
mkdir -p -v /文件名/文件名 # -p参数 递归创建文件夹 -v参数 显示递归创建过程
4.cd # 绝对路径的方式切换路径(根目录开始) 切换目录默认为家目录
cd . # 在任何目录下都代表当前目录(顶级除外)
cd .. # 在任何目录下都代表上一级目录(顶级除外)
cd /路径名 # 切换到指定路径下
5.pwd # 查看当前路径 pwd命令查看的所有路径都是从根目录(/)开始的
6.hostnamectl set-hostname 主机名 # 修改主机名(默认localhost 重新进入系统生效)
7.exit # 登出
8.mv /源路径 /移动后的路径 # 移动文件及文件夹
9.cp [参数] /源路径 /移动后路径 # 复制文件
cp -r 目录名 / # 复制目录 -r参数 递归复制
10.rm # 删除文件
rm -r 目录名 # 删除目录 -r参数 递归删除
rm -r -f 目录名 # -f参数 免去删除二次确认
11.echo "打印的内容" # 打印(类似于print)
12.printenv # 打印出当前系统中所有变量
13. > # 写入内容到文件 覆盖重定向(类似于文件w覆盖写模式)
>> # 写入内容到文件 追加重定向(类似于文件a追加写模式)
14.cat 文件名 # 查看文件内容
15.\'.\'开头文件 # 隐藏文件
ls -a # -a参数 查看隐藏文件
ls -h 文件名 # -h参数 格式化文件大小便于查看(必须配合-l参数使用)
16.reboot # 重启系统
17.shutdown -h now # 立即关机
shutdown -h 时间 # 指定时间后关机
2.磁盘操作
MBR分区
MBR分区
1.最多⽀持四个主分区
2.系统只能安装在主分区
3.扩展分区要占⼀个主分区
4.MBR 最⼤只⽀持 2TB,但拥有最好的兼容性
fdisk工具:
适⽤于磁盘⼩于2TB的磁盘,分区类型MBR,主分区4或主分区3+扩展分区(逻辑分区+…),分区后需要保存后才能⽣效
lsblk /dev/磁盘名 # 查看指定磁盘设备详情
fdisk /dev/磁盘名 # 进入操作当前磁盘(输入m查看所有命令)
a toggle a bootable flag #切换分区启动标记
b edit bsd disklabel #编辑sdb磁盘标签
c toggle the dos compatibility flag #切换dos兼容模式
d delete a partition #删除分区 保存退出要执⾏partprobe刷新分区表
l list known partition types #显示分区类型
m print this menu #显示帮助菜单
n add a new partition #新建分区
o create a new empty DOS partition table #创建新的空⽩分区表
p print the partition table #显示分区表的信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel #创建新的Sun磁盘标签
t change a partitions system id #修改分区ID,可以通过l查看id
u change display/entry units #修改容量单位,磁柱或扇区
v verify the partition table #检验分区表
w write table to disk and exit #保存退出
x extra functionality (experts only) #拓展功能
优先掌握
fdisk创建分区
w write table to disk and exit #保存退出
x extra functionality (experts only) #拓展功能
fdisk创建分区
fdisk /dev/sdb
欢迎使⽤ fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写⼊磁盘。
使⽤写⼊命令前请三思。
Device does not contain a recognized partition table
使⽤磁盘标识符 0x12c57921 创建新的 DOS 磁盘标签。
命令(输⼊ m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使⽤默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
分区 1 已设置为 Linux 类型,⼤⼩设为 1 GiB
命令(输⼊ m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区⼤⼩(逻辑/物理):512 字节 / 512 字节
I/O ⼤⼩(最⼩/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x12c57921
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
命令(输⼊ m 获取帮助): w # 保存
[root@chenyang ~]# lsblk /dev/sdb # 查看分区信息
磁盘分区的格式化及挂载
mkfs.xfs : 性能强,功能完善
mkfs.ext : 性能稍弱
mkfs.btrfs : 性能最强 新出不久
\'\'\'
磁盘必须格式化制作⽂件系统,然后挂载才能使⽤
针对⼀块硬盘/dev/sdb
可以不分区,直接格式化制作⽂件系统
也可以基于mbr或者gpt分区⽅式分区完毕后,针对某⼀个分区⽐如/dev/sdb1制作⽂件系统
\'\'\'
# 1.创建分区并保存
[root@egon ~]# fdisk /dev/sdb
...
命令(输⼊ m 获取帮助): w # 保存
# 2.格式化文件系统
[root@egon ~]# mkfs.xfs /dev/sdb # /dev/sdb整体就是⼀个分区
# 3.挂载分区到文件夹上
[root@egon ~]# mount /dev/sdb1 /opt/
命令 分区路径 挂载路径
# 4.查看挂载详情
[root@python mnt]# df -h
# 5.卸载
umount /dev/sdb1 # 或者umount /opt
(umount -l /dev/sdb1 # 或者umount -l /opt 强制卸载)
# 错误处理
[root@python mnt]# umount /mnt
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
解决:
当前所在目录为挂载目录,切换一个目录即可。
- 创建文件(touch)
[root@localhost ~]# # 在Linux系统中创建test.txt
[root@localhost ~]# touch test.txt
- 创建文件夹(mkdir)
[root@localhost ~]# # 创建一个文件夹
[root@localhost ~]# mkdir /root/python
[root@localhost ~]# ls /root/
anaconda-ks.cfg python test.txt
[root@localhost ~]# mkdir /root/python1
[root@localhost ~]# ls /root/
anaconda-ks.cfg python python1 test.txt
[root@localhost ~]# cd /root/python
[root@localhost python]# pwd
/root/python
# 参数:
-p : 递归创建目录
[root@localhost python]# mkdir -p /aa/bb/cc
[root@localhost python]# cd /aa/bb/cc
[root@localhost cc]# pwd
/aa/bb/cc
-v : 显示创建的过程
[root@localhost cc]# mkdir -p -v /aaa/bbb/ccc
mkdir: 已创建目录 "/aaa"
mkdir: 已创建目录 "/aaa/bbb"
mkdir: 已创建目录 "/aaa/bbb/ccc"
- 查看文件夹下面的文件(ls)
# 查看文件需要跟对应的路径# Linux中最顶级目录是根目录:/[root@localhost ~]# # 根目录(最顶级目录):/[root@localhost ~]# # 根目录下有哪些内容[root@localhost ~]# ls / bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var# 查看文件的详细信息[root@localhost ~]# ls -l总用量 4-rw-------. 1 root root 1766 6月 10 17:15 anaconda-ks.cfgdrwxr-xr-x. 2 root root 6 6月 11 15:19 pythondrwxr-xr-x. 2 root root 6 6月 11 15:20 python1[root@localhost ~]# ll总用量 4-rw-------. 1 root root 1766 6月 10 17:15 anaconda-ks.cfgdrwxr-xr-x. 2 root root 6 6月 11 15:19 pythondrwxr-xr-x. 2 root root 6 6月 11 15:20 python1
- 查看当前所在路径(pwd)
# 查看当前所在路径:pwd# pwd命令查看的所有路径都是从根目录(/)开始的[root@localhost ~]# pwd/root
- 切换目录(cd)
# 切换目录:cd # 以绝对路径的方式切换路径(从根目录开始)[root@localhost ~]# cd /etc[root@localhost etc]# pwd/etc# 以相对路劲方式切换目录# . 和 .. # . : 在任何目录下都代表当前目录[root@localhost etc]# cd .[root@localhost etc]# pwd/etc# .. : 在任何目录下都代表上一级目录(顶级目录除外)[root@localhost /]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# pwd/etc/sysconfig/network-scripts[root@localhost network-scripts]# cd ..[root@localhost sysconfig]# pwd/etc/sysconfig# cd命令切换的默认目录为家目录(~ :在linux当中指的是当前用户的家目录)[root@localhost ~]# [用户名@主机名 当前所在的目录]## 修改主机名(重新进入系统才会生效)[root@localhost ~]# hostnamectl set-hostname python# 退出登录[test@python ~]$ exit登出
- 移动文件(mv)
# 移动文件:mv# mv 源路径 移动后的路径[root@localhost ~]# mv /root/test.txt /[root@localhost ~]# lsanaconda-ks.cfg python python1[root@localhost ~]# ls /a aa aaa bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test.txt
- 复制文件(cp)
# cp [参数] 源路径 移动后的路径# 复制文件[root@localhost ~]# cp anaconda-ks.cfg /# 递归复制参数-r : 递归复制(常用于复制目录)[root@localhost ~]# cp -r python /
- 删除文件(rm)
# 删除文件的命令:rm[root@localhost ~]# lsanaconda-ks.cfg python python1[root@localhost ~]# rm anaconda-ks.cfg rm:是否删除普通文件 "anaconda-ks.cfg"?n[root@localhost ~]# lsanaconda-ks.cfg python python1[root@localhost ~]# rm anaconda-ks.cfg rm:是否删除普通文件 "anaconda-ks.cfg"?y[root@localhost ~]# lspython python1# 删除目录(-r : 递归删除文件)[root@localhost ~]# lspython python1[root@localhost ~]# rm python1rm: 无法删除"python1": 是一个目录[root@localhost ~]# rm -r python1rm:是否删除目录 "python1"?y[root@localhost ~]# lspython# -f : 免去删除提示[root@localhost ~]# lspython[root@localhost ~]# rm -r -f python/[root@localhost ~]# ls
- 打印命令(echo)
echo "打印的内容"
- 打印出当前系统中所有的变量
[root@localhost ~]# printenv
- 重定向符号(>和>>)
# > 和 >> # > : 覆盖重定向(先删除文件内容,后写入内容到文件)[root@localhost ~]# echo "Hello China" > test.txt# >> : 追加重定向(原来的内容不动,后来的内容从底部插入)[root@localhost ~]# echo "Hello World" >> test.txt
- 查看文件内容
[root@localhost ~]# cat test.txt Hello World
- 隐藏文件(.文件名)
# 文件名以.开头的就是隐藏文件-a : 查看隐藏文件[root@localhost ~]# ls -a. .. .bash_logout .bash_profile-l : 查看文件详细信息[root@localhost ~]# ls -l总用量 4-rw-r--r--. 1 root root 24 6月 11 16:26 test.txt 文件权限 所属用户 所属组 文件的大小 创建时间 文件名称 [root@localhost ~]# # ls -l 等价于 ll[root@localhost ~]# ll总用量 4-rw-r--r--. 1 root root 24 6月 11 16:26 test.txt[root@localhost ~]# ls -l总用量 4-rw-r--r--. 1 root root 24 6月 11 16:26 test.txt-h : 以方便查看方式查看文件大小(必须配合-l参数)reboot : 重启系统shutdown -h now : 立即关机shutdown -h 2 :
磁盘
磁盘 -> 分区 -> /lsblk 磁盘lsblk /dev/sdb 查看特定磁盘# 从分区到使用1、格式化文件系统2、挂载到对应目录(mount)
- 磁盘分区的格式化及挂载
mkfs.xfs : 性能强,功能完善mkfs.ext : 性能稍弱mkfs.btrfs : 性能最强# 格式化文件系统[root@python dev]# mkfs.xfs /dev/sdb1 (格式化分区后的盘时要重命名)# 挂载分区到文件夹上[root@python dev]# mount /dev/sdb1 /mnt/ 命令 分区路径 挂载路径# 查看挂载详情[root@python mnt]# df# 错误处理[root@python mnt]# umount /mnt umount: /mnt:目标忙。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息)当前所在目录为挂载目录,切换一个目录即可。
以上是关于[Linux常用命令磁盘操作]的主要内容,如果未能解决你的问题,请参考以下文章