[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常用命令磁盘操作]的主要内容,如果未能解决你的问题,请参考以下文章

万字肝货 | 超全总结,Linux常用磁盘命令文件命令!

万字肝货 | 超全总结,Linux常用磁盘命令文件命令!

Linux常用命令详解

linux 常用命令

Linux:Linux 常用命令讲解

Linux常用命令都有哪些?