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 查看

相关推荐
王俊山IT11 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
AndyFrank24 分钟前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源40 分钟前
Kafka-linux环境部署
linux·kafka
Mephisto.java1 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Yawesh_best1 小时前
思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!
笔记·语言模型·ai写作
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
武子康3 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘