Linux 学习笔记(1-3)

一、 常用命令
LINUX 常用操作命令和命令行编辑快捷键
终端快捷键:
Ctrl + a/Home 切换到命令行开始
Ctrl + e/End 切换到命令行末尾
Ctrl + l 清除屏幕内容,效果等同于 clear
Ctrl + u 清除剪切光标之前的内容
Ctrl + k 剪切清除光标之后的内容
Ctrl + y 粘贴刚才所删除的字符
Ctrl + r 在历史命令中查找 (这个非常好用,输入关键字就调出以前的命令了)
Ctrl + c 终止命令
ctrl + o 重复执行命令
Ctrl + d 退出 shell logout
Ctrl + z 转入后台运行 , 但在当前用户退出后就会终止
Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符
Alt + t 交换当前与以前单词的位置
Alt + d 剪切光标之后的词
Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
Ctrl+ x u ) 按住 Ctrl 的同时再先后按 x u ,撤销刚才的操作
Ctrl+s 锁住终端
Ctrl+q 解锁终端
!! 重复执行最后一条命令
history 显示你所有执行过的编号 + 历史命令。这个可以配合 ! 编辑来执行某某命令
!$ 显示系统最近的一条参数
最后这个比较有用,比如我先用 cat /etc/sysconfig/network-scripts/ifconfig-eth0 ,然后我想用 vim 编辑。
一般的做法是先用↑ 显示最后一条命令,然后用 Home 移动到命令最前,删除 cat ,然后再输入 vim
令。其实完全可以用 vim !$ 来代替。
gnome 快捷键
Alt + F1 类似 Windows 下的 Win 键,在 GNOME 中打开 " 应用程序 " 菜单 (Applications)
Alt + F2 类似 Windows 下的 Win + R 组合键,在 GNOME 中运行应用程序
Ctrl + Alt + D 类似 Windows 下的 Win + D 组合键,显示桌面
Ctrl + Alt + L 锁定桌面并启动屏幕保护程序
Alt + Tab Windows 下的 Alt + Tab 组合键,在不同程序窗口间切换
PrintScreen 全屏抓图
Alt + PrintScreen 当前窗口抓图
Ctrl + Alt + / ← 在不同工作台间切换
Ctrl + Alt + Shift + / ← 移动当前窗口到不同工作台
Ctrl+Alt+Fn 终端 N 或模拟终端 N(n N 为数字 1 6) Ctrl+Alt+F7 返回桌面
窗口操作快捷键
Alt + F4 关闭窗口
Alt + F5 取消最大化窗口 ( 恢复窗口原来的大小 )
Alt + F7 移动窗口 ( : 在窗口最大化的状态下无效 )
Alt + F8 改变窗口大小 ( : 在窗口最大化的状态下无效 )
Alt + F9 最小化窗口
Alt + F10 最大化窗口
Alt + 空格键 打开窗口的控制菜单 ( 点击窗口左上角图标出现的菜单)
文件浏览器
Ctrl+N 新建窗口
Ctrl + Shift + W 关闭所有文件浏览器
Ctrl + 1/2 改变文件夹视图查看方式,图标视图 / 列表视图
Alt + / ← 后退 / 前进
Alt + / ↓ 移动到父文件夹 / 选择的文件夹
Alt + Home 直接移动到主文件夹
F9 开关显示隐藏 Nautilus 侧边栏
Ctrl+H 显示隐藏文件(切换键)
Shift+Ctrl+N 新建文件夹, 很有用
Alt + Enter 查看选择文件 / 文件夹的属性,代替单击右键选择属性
Ctrl+Page Up 上一个标签
Ctrl+Page Down 下一个标签
Alt+N 切换到第 N 个标签( N 为数字)
关机和重启命令
Shutdown
Reboot
Halt
poweroff
grep 和管道符
昨天的时候 leader 给我出了道问题:
找出文件夹下包含 “aaa” 同时不包含 “bbb” 的文件,然后把他们重新生成一下。要求只能用一行命令。
我对 Linux 是个白痴,工作了之后才开始接触的,会用的命令只有那几个常用的。这个问题对我来说就有
点难度,我只是大概知道查找文件用 grep ,其他的就不知道了。不过没关系,用 Google ,查找到 grep
的完整用法:
1 grep -l ‘boss’ * 显示所有包含 boss 的文件名。
2 grep -n ‘boss’ file 在匹配行之前加行号。
3 grep -i ‘boss’ file 显示匹配行, boss 不区分大小写。
4 grep -v ‘boss’ file 显示所有不匹配行。
5 grep -q ‘boss’ file 找到匹配行,但不显示,但可以检查 grep 的退出状态。( 0 为匹配成功)
6 grep -c ‘boss’ file 只显示匹配行数(包括 0 )。 7 grep “$boss” file 扩展变量 boss 的值再执行命令。
8 ps -ef|grep “^*user1″ 搜索 user1 的命令,即使它前面有零个或多个空格。
9 ps -e|grep -E ‘grant_server|commsvr|tcpsvr|dainfo’ 查找多个字符串的匹配( grep -E 相当于 egrep
(来源: 蓝森林
了解了 grep 的参数之后,问题就解决了一半了,因为可以搜索出符合条件的文件了。不过光有 grep 还是
不行,因为要把搜索出来的文件名作为参数传给 generate 命令。 OK ,接下来该管道符出场了。
即使是像我这样对 Linux 只是有一点了解的人也经常用到管道符,比如 “|” ,示例: ls -a | more 。但是对
于管道符的具体意义和它做了什么我就不知道了,没关系, Google 一下,找到一些资料:
利用 Linux 所提供的管道符 “|” 将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。
连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命
令的输入,依此类推。
所以查找的时候可以这样写:
grep -rl “aaa” * | grep -v “bbb”
这样右边的命令就可以从前面的结果中筛选了。然后还有 generate 命令,因为生成文件的命令格式是这
样的:
generate 文件名
不过如果直接使用 generate grep -rl “aaa” * | grep -v “bbb” 的话会出错,因为命令会从左向右执行,这条
命令就会把 grep 作为一个文件名来看待。怎么办呢?这个时候就要使用 · ( 键盘上数字键 1 旁边的那个符
号,和 “~” 在一个按键上 ) 来做命令替换了,用 · 把后面的 grep 命令包起来就好了,这样:
generate ·grep -rl “aaa” * | grep -v “bbb”·
然后就搞定了。
工作一段时间之后,越来越喜欢 Linux 的哲学了,它有很多命令,看起来功能都不是那么强劲,但是如果
你开动脑筋把这些命令组合起来的话,就能实现 很多让你意想不到的功能,有时候你忍不住惊呼:实在
是太 coooool 了! 这对于像我这种被 Windows 的傻瓜式操作惯坏了的人来说,是个福音,以后要多多开
动生锈了的大脑。如果单纯使用电脑的话,还是 Windows 好用,但 是对于程序员,最好还是多玩玩 Linux
BTW ,现在也越来越喜欢使用 VIM 了,虽然刚开始用的时候就觉得它是个记事本 ~ ~~ 以前总听说 真正
的牛人编码都是用记事本编写的 ,当时就觉得这些人实在太厉害了,代码提示和自动补全都不用,现在
想想,可能是外行看到他们使用灵活 + 强 大的 VIM 或者 EMACS 了吧。 ^_^
我的补充 :
查找包含 logField 又包含 open 的文件:
grep "logFileId" *.tbc|grep "open"
二、 磁盘管理
文件系统配置文件
/etc/filesystems :系统指定的测试挂载文件系统类型
/proc/filesystems Linux 系统已经加载的文件系统类型
/lib/modules/2.6.18-274.el5/kernel/fs/
文件系统类型的驱动所在目录
/etc/fstab
/etc/mtab
linux 文件类型的颜色
linux 文件颜色的含义:蓝色代表目录 绿色代表可执行文件 红色表示压缩文件 浅蓝色表示链接文件 灰
色表示其他文件 红色闪烁表示链接的文件有问题了 黄色表示设备文件 蓝色文件 ---------- 目录
白色文件 ---------- 一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件 ---------- 链接文件,主要是使用 ln 命令建立的文件
绿色文件 ---------- 可执行文件,可执行的程序
红色文件 ----------- 压缩文件或者包文件
Linux 下用字符表示的文件类型
- :普通文件
d :目录文件
l :链接文件
b :块设备文件
c :字符设备文件
p :管道文件
文件系统操作命令
df :列出文件系统的整体磁盘使用情况
[root@centos57 ~]# df -h
文件系统 容量 已用 可用 已用 % 挂载点
/dev/mapper/VolGroup00-LogVol00
16G 4.2G 11G 28% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1005M 0 1005M 0% /dev/shm
[root@centos57 ~]# df -i
文件系统 Inode (I) 已用 (I) 可用 (I) 已用 % 挂载点
/dev/mapper/VolGroup00-LogVol00
4186112 154441 4031671 4% /
/dev/sda1 26104 36 26068 1% /boot
tmpfs 257210 1 257209 1% /dev/shm
.host:/ 0 0 0 - /mnt/hgfs
du :列出目录所占空间
du -sh 显示当前目录大小
du –sh / 显示 / 目录下的所有目录大小
dumpe2fs :显示当前的磁盘状态
ln :连接文件(快捷方式)
ln –sf 源文件 目标文件
不加任何参数就进行连接,就是 hard link ,加上 -s 就是 Symbolic link hard link 不支持目录和跨文件系统。
Fdisk
Fdisk 不支持大于 2T 的磁盘
Fdisk –l 显示系统中的所有分区内容
[root@centos57 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
总扇区数,可以和下面的最后扇区数比较,看剩余 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
[root@centos57 ~]# fdisk /dev/sda2
Parted 2T 以上磁盘分区工具
支持大于 2T 的磁盘, 2T 以下的最好还是用 Fdisk 来分区。
[root@centos57 aixi]# parted /dev/hda print
Model: VMware Virtual IDE Hard Drive (ide)
Disk /dev/hda: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 32.3kB 101MB 101MB 主分区 ext3
2 101MB 357MB 256MB 主分区 linux-swap
# parted /dev/hda rm 2
删除第 2 个分区
# parted /dev/hda mkpart primary ext3 120MB 200MB 创建分区, primary 代表主分区,还可以是
extended 扩展分区, logical 逻辑分区 ;ext3 代表分区类型, 120MB 是开始位置,最好是接上一分区的结束位
置, 200M 是结束位置
partprobe : 更新分区表 / 磁盘
用于重读分区表,当出现删除文件后 , 出现仍然占用空间。可以 partprobe 在不重启的情况下重读分区
# partprobe
这个命令执行完毕之后不会输出任何返回信息,你可以使用 mke2fs 命令在新的分区上创建文件系统。
Mkfs: 磁盘格式化
Mkfs –t 文件系统格式 设备文件名(盘符)
[root@centos57 ~]# mkfs -t ext3 /dev/hda1
e2label :设置磁盘卷标
e2label 设备名称 新 label 名称,可以用 dumpe2fs 查看卷标
[root@centos57 ~]# e2label /dev/hda1 aixi
Mount: 挂载磁盘
命令格式:
mount [-t vfstype] [-o options] device dir
mount –o remount,rw,auto /
重新挂载
mount –n –o remount,rw /
重新挂载根目录,设置为可读写
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。 mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像: iso9660
DOS fat16 文件系统: msdos
Windows 9x fat32 文件系统: vfat
Windows NT ntfs 文件系统: ntfs
Mount Windows 文件网络共享: smbfs UNIX(LINUX) 文件网络共享: nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop :用来把一个文件当成硬盘分区挂接上系统
ro :采用只读方式挂接设备
rw :采用读写方式挂接设备
iocharset :指定访问文件系统所用字符集
3.device 要挂接 (mount) 的设备。
4.dir 设备在系统上的挂接点 (mount point)
挂接光盘镜像文件
1 、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件 /home/sunky/mydisk.iso
2 、将文件和目录制作成光盘镜像文件,执行下面的命令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:这条命令将 /home/sunky/mydir 目录下所有的目录和文件制作成光盘镜像文件
/home/sunky/mydisk.iso ,光盘卷标为: mydisk
3 、光盘镜像文件的挂接 (mount)
#mkdir /mnt/vcdrom
注:建立一个目录用来作挂接点 (mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
注:使用 /mnt/vcdrom 就可以访问盘镜像文件 mydisk.iso 里的所有文件了。
挂接移动硬盘
linux 系统而言, USB 接口的移动硬盘是当作 SCSI 设备对待的。插入移动硬盘之前,应先用 fdisk l
more /proc/partitions 查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
在这里可以清楚地看到系统有一块 SCSI 硬盘 /dev/sda 和它的四个磁盘分区 /dev/sda1 -- /dev/sda4,
/dev/sda5 是分区 /dev/sda4 的逻辑分区。接好移动硬盘后,再用 fdisk l more /proc/partitions 查看系统
的硬盘和硬盘分区情况
[root at pldyrouter /]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdc: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS
/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)
/dev/sdc5 511 4864 34973473+ b Win95 FAT32
大家应该可以发现多了一个 SCSI 硬盘 /dev/sdc 和它的两个磁盘分区 /dev/sdc1? /dev/sdc2, 其中 /dev/sdc5
/dev/sdc2 分区的逻辑分区。我们可以使用下面的命令挂接 /dev/sdc1 /dev/sdc5
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来作挂接点 (mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
注:对 ntfs 格式的磁盘分区应使用 -t ntfs 参数,对 fat32 格式的磁盘分区应使用 -t vfat 参数。若汉字
文件名显示为乱码或不显示,可以使用下面的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
linux 系统下使用 fdisk 分区命令和 mkfs 文件系统创建命令可以将移动硬盘的分区制作成 linux 系统所特
有的 ext2 ext3 格式。这样,在 linux 下使用就更方便了。使用下面的命令直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1
挂接 U
USB 接口的移动硬盘一样对 linux 系统而言 U 盘也是当作 SCSI 设备对待的。使用方法和移动硬盘完全
一样。插入 U 盘之前,应先用 fdisk l more /proc/partitions 查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
插入 U 盘后,再用 fdisk l more /proc/partitions 查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes 255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 4 32098+ de Dell Utility
/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS
/dev/sda3 2555 7904 42973875 83 Linux
/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)
/dev/sda5 7905 8924 8193118+ 82 Linux swap
Disk /dev/sdd: 131 MB, 131072000 bytes
9 heads, 32 sectors/track, 888 cylinders
Units = cylinders of 288 * 512 = 147456 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 * 1 889 127983+ b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1000, 8, 32) logical=(888, 7, 31)
系统多了一个 SCSI 硬盘 /dev/sdd 和一个磁盘分区 /dev/sdd1,/dev/sdd1 就是我们要挂接的 U 盘。
#mkdir -p /mnt/usb
注:建立一个目录用来作挂接点 (mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:现在可以通过 /mnt/usb 来访问 U 盘了 , 若汉字文件名显示为乱码或不显示,可以使用下面的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
挂接 Windows 文件共享
Windows 网络共享的核心是 SMB/CIFS ,在 linux 下要挂接 (mount)windows 的磁盘共享,就必须安装和使
samba 软件包。现在流行的 linux 发行版绝大多数已经包含了 samba 软件包,如果安装 linux 系统时未安
samba 请首先安装 samba 。当然也可以到 www.samba.org 网站下载 ...... 新的版本是 3.0.10 版。
windows 系统共享设置好以后,就可以在 linux 客户端挂接 (mount) 了,具体操作如下:
# mkdir p /mnt/samba
注:建立一个目录用来作挂接点 (mount point)
# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba
注: administrator pldy123 ip 地址为 10.140.133.23 windows 计算机的一个用户名和密码, c$ 是这
台计算机的一个磁盘共享
如此就可以在 linux 系统上通过 /mnt/samba 来访问 windows 系统磁盘上的文件了。以上操作在 redhat as
server 3 redflag server 4.1 suse server 9 以及 windows NT 4.0 windows 2000 windows xp windows 2003
环境下测试通过。
挂接 UNIX 系统 NFS 文件共享
类似于 windows 的网络共享, UNIX(Linux) 系统也有自己的网络共享,那就是 NFS( 网络文件系统 ) ,下面
我们就以 SUN Solaris2.8 REDHAT as server 3 为例简单介绍一下在 linux 下如何 mount nfs 网络共享。
linux 客户端挂接 (mount)NFS 磁盘共享之前,必须先配置好 NFS 服务端。
1 Solaris 系统 NFS 服务端配置方法如下:
(1) 修改 /etc/dfs/dfstab, 增加共享目录
share -F nfs -o rw /export/home/sunky
(2) 启动 nfs 服务
# /etc/init.d/nfs.server start (3)NFS 服务启动以后,也可以使用下面的命令增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注: /export/home/sunky /export/home/sunky1 是准备共享的目录
2 linux 系统 NFS 服务端配置方法如下:
(1) 修改 /etc/exports, 增加共享目录
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注: /export/home/ 目录下的 sunky sunky1 sunky2 是准备共享的目录, 10.140.133.23 *
linux-client
是被允许挂接此共享 linux 客户机的 IP 地址或主机名。如果要使用主机名 linux-client 必须在服务端主机
/etc/hosts 文件里增加 linux-client 主机 ip 定义。格式如下:
10.140.133.23 linux-client
(2) 启动与停止 NFS 服务
/etc/rc.d/init.d/portmap start ( REDHAT PORTMAP 是默认启动的 )
/etc/rc.d/init.d/nfs start 启动 NFS 服务
/etc/rc.d/init.d/nfs stop 停止 NFS 服务
注:若修改 /etc/export 文件增加新的共享,应先停止 NFS 服务,再启动 NFS 服务方能使新增加的共享
起作用。使用命令 exportfs -rv 也可以达到同样的效果。
3 linux 客户端挂接 (mount) 其他 linux 系统或 UNIX 系统的 NFS 共享
# mkdir p /mnt/nfs
注:建立一个目录用来作挂接点 (mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
注:这里我们假设 10.140.133.9 NFS 服务端的主机 IP 地址,当然这里也可以使用主机名,但必须
在本机 /etc/hosts 文件里增加服务端 ip 定义。 /export/home/sunky 为服务端共享的目录。
如此就可以在 linux 客户端通过 /mnt/nfs 来访问其它 linux 系统或 UNIX 系统以 NFS 方式共享出来的文件
了。以上操作在 redhat as server 3 redflag server4.1 suse server 9 以及 Solaris 7 Solaris 8 Solaris 9 for
x86&sparc 环境下测试通过。
权限问题:
假设 server 端的使用者 jack, user id 1818, gid 1818, client 端也有一个使用者 jack ,但是 uid gid
1818 client 端的 jack 希望能完全读写 server 端的 /home/jack 这个目录。 server 端的 /etc/exports
这样写的:
/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)
这个的配置文件的意思是,所有 client 端的使用者存取 server /home/jack
目录时,都会 map server 端的 jack (uid,gid=1818) 。我 mount 的结果是
1. client 端的 root 可以完全存取该目录 , 包括读、写、杀……等
2. client 端的 jack (uid,gid=1818) 我可以做:
rm -rf server_jack/*
cp something server_jack/
mkdir server_jack/a
umount :将文件设备卸载
[root@centos57 ~]# umount /dev/hda1
用设备文件名来卸载
[root@centos57 ~]# umount /aixi
用挂载点来卸载 umount: /aixi: device is busy
如果提示设备忙,不急可以使用如下命令卸载
# umount -l /mnt/hda1
选项 – l 并不是马上 umount ,而是在该目录空闲后再 umount
如果比较急,可用如下命令:
# umount -f /mnt/hda1
-f 代表强制卸载
如果还不行,可使用 fuser -m –v /dev/hda1 来查询是哪些程序在占用,结束这些程序进程即可卸载
[root@centos57 aixi]# sync && fuser -m /dev/hda1 –k
使用这条命令后一定可以卸载
交换分区
交换分区最大容量为 64G ,最多只能建 32 ,
创建交换分区
#fdisk /dev/hda n + 容量 p t( 修改系统 ID) 分区号 82 p w
#mkswap /dev/hda2 (以上划分的分区号)
构建 swap 格式
#swapon /dev/hda2
加载即完成增加 swap
#swapon –s
显示目前使用的 Swap 设备
创建交换文件
# dd if=/dev/hda1 of=/aixi/swap bs=1M count=64
创建大文件
#mkswap /aixi/swap
#swapon /aixi/swap
完成
取消交换分区或者交换文件
#swapon –s
显示目前使用的 Swap 设备
#swapoff /aixi/swap
#swapoff /dev/hda2
#free –m 查看 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模论文、代码百度网盘链接

1.[2018中国大数据年终总决赛冠军] 金融市场板块划分与轮动规律挖掘与可视化问题 2.[2019第九届MathorCup数模二等奖] 数据驱动的城市轨道交通网络优化策略 3.[2019电工杯一等奖] 露天停车场停车位的优化设计 4.[2019数学中国网络数模一等奖] 基于机器学习的保险业数字化变革…

后端分布式系统:提高可靠性和可伸缩性的架构

在当今的数字时代,随着用户数量和数据量的不断增长,传统的集中式系统已经难以满足企业的需求。为了解决这些挑战,后端分布式系统应运而生。这种架构将系统的不同组件分布在多个计算机上,通过网络进行通信和协调,从而提…

深度强化学习(DRL)算法系列文章合集

1. 深度强化学习(DRL)算法 1 —— REINFORCE 2. 深度强化学习(DRL)算法 2 —— PPO 之 Clipped Surrogate Objective 篇 3. 深度强化学习(DRL)算法 2 —— PPO 之 GAE 篇 4. 深度强化学习(DR…

K8s二进制安装部署

二进制搭建 Kubernetes v1.20 k8s集群master01:192.168.10.80 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.10.20 k8s集群node01:192.168.10.18 kubelet kube-proxy docker k8s集群no…

关于timeline的详细解析

关于timeline的详细解析 初始化画布 在echarts中有一个组件叫timeline他与echart中的其他图表结合起来 能很好的展现一段时间内各种数据的变化趋势 接下来我将用官网案例去逐步展示一下关于timeline中的各种详细配置 首先我们创建好vue的组件结构先尝试一些简单的小demo看看…

示波器的学习

示波器是什么 示波器,“人”如其名,就是显示波形的机器,它还被誉为“电子工程师的眼睛”。它的核心功能就是为了把被测信号的实际波形显示在屏幕上,以供工程师查找定位问题或评估系统性能等等。主要用于电子、电气、通信等领域的…

k8s 声明式(yaml)资源管理及yaml文件解析

目录 声明式概念 用途 语法 资源配置清单管理命令 查看资源配置清单: 查看资源详细信息: 创建资源配置清单: 删除资源: 编辑资源配置: 更新资源配置清单: 解释资源配置清单 两种方式来修改 Kube…

Spark集群搭建的三种方式详解

国科大学习生活(期末复习资料、课程大作业解析、学习文档等): 文章专栏(点击跳转) 大数据开发学习文档(分布式文件系统的实现,大数据生态圈学习文档等): 文章专栏(点击跳转&#xff…

如何统计数组中重复元素的数量并获取其他相关数据?

在JavaScript中,可以使用以下方法来统计数组中重复元素的数量并获取其他相关数据: function countDuplicates(array) {// 创建一个对象来存储每个knowledgeId的信息,包括重复数量和其他数据var counts {};// 遍历数组,计算每个k…

交叉编译qt到arm平台

使用pkg-config命令查看xxx包是否存在: pkg-config --print-errors xxx pkg-config的搜索路径可以通过环境变量PKG_CONFIG_PATH指定。需要在运行./configure 之前指定。 ./configure -release -qt-libjpeg -qt-libpng -qt-zlib -qt-pcre -xplatform linux-aarch64-…

Java单元测试 - mock静态方法

文章目录 1. mock 静态方法2. 升级 maven 依赖3. 示例 1. mock 静态方法 mockito 在 3.4.0 版本之后&#xff0c;开始支持 mock static method。 2. 升级 maven 依赖 <dependency><groupId>org.mockito</groupId><artifactId>mockito-core</artif…

.NET Core Web API介绍+优缺点

一.NET Core Web API介绍 似乎有一些拼写错误在您的问题中&#xff0c;我猜测您可能是想问关于“.NET Core Web API”的介绍。如果是这样的话&#xff0c;我将为您提供关于.NET Core Web API的基本介绍。 .NET Core Web API 是一种构建 HTTP 服务的框架&#xff0c;它是 ASP.N…

CG-0A 电子水尺可实现对水位数据的连续自动监测

CG-0A 电子水尺可实现对水位数据的连续自动监测产品概述 本产品是一种采用微处理器芯片为控制器&#xff0c;内置通讯电路的数字式水位传感器&#xff0c;具备高的可靠性及抗干扰性能。适用于江、河、湖、水库及蓄水池、水渠等处的水位测量使用。 本产品采用了生产工艺技术&…

VS Code代码补全失效 - 解决方案

问题 在Linux主机或Docker环境下&#xff0c;使用 VS Code 编写 CPP 代码时&#xff0c;变量没有代码补全。 解决方案 首先确保已经安装并启用了 C 扩展3件套&#xff1a;C/C、C/C Themes、CMake Tools 。 确保设置中的 C_CPP: Intelli Sense Engine 选项为 default &#x…

雾锁王国服务器怎么建?雾锁王国服务器搭建方法

雾锁王国Enshrouded服务器搭建怎么搭建&#xff1f;非常简单&#xff0c;阿里云计算巢雾锁王国程序&#xff0c;可以一键搭建雾锁王国多人联机服务器&#xff0c;腾讯云是基于雾锁王国镜像系统&#xff0c;阿里云服务网aliyunfuwuqi.com汇总雾锁王国服务器搭建&#xff0c;超简…

消息中间件篇之Kafka-高性能设计

一、高性能设计 消息分区&#xff1a;不受单台服务器的限制&#xff0c;可以不受限的处理更多的数据。 顺序读写&#xff1a;磁盘顺序读写&#xff0c;提升读写效率。 页缓存&#xff1a;把磁盘中的数据缓存到内存中&#xff0c;把对磁盘的访问变为对内存的访问。 零拷贝&a…

【k8s相关资源api操作】

k8s相关资源api操作 文章目录 k8s相关资源api操作AdmissionregistrationApiextensionApiregistrationAppsV1ApiAutoscalingV1ApiBatchV1ApiCertificatesApi 证书相关CoordinationV1Api 最重要的CoreV1Api !!!CustomObjectsApiDiscoveryV1ApiEventsV1ApiFlowcontrolApiserverApi…

MATLAB环境下基于深层小波散射网络的纹理图像分类方法

图像分类是模式识别重要研究领域之一&#xff0c;它的任务是把目标样本分成不同类别&#xff0c;赋予样本相应类别标签。分类实现的基础是用传感器检测到样本的特征&#xff0c;比如形状、颜色、纹理等基本特征或通过基本特征提取更为复杂的特征信息&#xff0c;其中纹理是表示…

LeetCode 刷题 [C++] 第54题.螺旋矩阵

题目描述 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 题目分析 根据题意可知&#xff0c;我们不需要记录已经走过的路径&#xff0c;只需要通过调整矩阵的上下左右边界即可完成任务&#xff1b;首先创建出矩阵…

什么是大模型微调?微调的分类、方法、和步骤

2023年,大模型成为了重要话题,每个行业都在探索大模型的应用落地,以及其能够如何帮助到企业自身。尽管微软、OpenAI、百度等公司已经在创建并迭代大模型并探索更多的应用,对于大部分企业来说,都没有足够的成本来创建独特的基础模型(Foundation Model):数以百亿计的数据…