这个一门叫做《网络存储技术及实践》的课程的预备知识,这里做一下总结。
1. 关于Linux想必都比较熟悉,所谓IT从业人员专业操作系统,装*必备,哈哈。这里就先列举一些Linux的基本的语句操作。
•文件和目录
•cd /home 进入 '/ home' 目录' cd .. 返回上一级目录
•cd ../.. 返回上两级目录 cd 进入个人的主目录
•cd ~user1 进入个人的主目录 cd - 返回上次所在的目录
•pwd 显示工作路径
•ls 查看目录中的文件 ls -F 查看目录中的文件
•ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件
•ls *[0-9]* 显示包含数字的文件名和目录名
•tree 显示文件和目录由根目录开始的树形结构 (没有安装的需要sudo spt-get install tree语句安装)
•lstree 显示文件和目录由根目录开始的树形结构
•mkdir dir1 创建一个叫做 'dir1' 的目录'
•mkdir dir1 dir2 同时创建两个目录
•mkdir -p /tmp/dir1/dir2 创建一个目录树
•rm -f file1 删除一个叫做 'file1' 的文件'
•rmdir dir1 删除一个叫做 'dir1' 的目录'
•rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
•rm -rf dir1 dir2 同时删除两个目录及它们的内容
•mv dir1 new_dir 重命名/移动 一个目录
•cp file1 file2 复制一个文件
•cp dir/* . 复制一个目录下的所有文件到当前工作目录
•cp -a /tmp/dir1 . 复制一个目录到当前工作目录
•cp -a dir1 dir2 复制一个目录
•文件搜索
•find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
•find / -user user1 搜索属于用户 'user1' 的文件和目录
•find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
•挂载一个文件系统
•mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
•umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
•fuser -km /mnt/hda2 当设备繁忙时强制卸载
•umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
•mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
•mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
•mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
•mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
•mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
•磁盘空间
•df -h 显示已经挂载的分区列表
•ls -lSr |more 以尺寸大小排列文件和目录
•du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
•du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
•rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
•创建用户
•useradd user1 创建一个新用户
•userdel -r user1 删除一个用户 ( '-r' 排除主目录)
•usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
•passwd 修改口令
•passwd user1 修改一个用户的口令 (只允许root执行)
•RPM 包
•rpm -ivh package.rpm 安装一个rpm包
•rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
•rpm -U package.rpm 更新一个rpm包但不改变其配置文件
•rpm -F package.rpm 更新一个确定已经安装的rpm包
•rpm -e package_name.rpm 删除一个rpm包
•rpm -qa 显示系统中所有已经安装的rpm包
•网络 - (以太网和WIFI)
•ifconfig eth0 显示一个以太网卡的配置
•ifup eth0 启用一个 'eth0' 网络设备
•ifdown eth0 禁用一个 'eth0' 网络设备
•ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
•ifconfig eth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)
•dhclient eth0 以dhcp模式启用 'eth0'
•route -n show routing table
•route add -net 0/0 gw IP_Gateway configura default gateway
•route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route to reach network '192.168.0.0/16'
•mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share
软件RAID 管理工具mdadm
•基本语法 : mdadm [mode] [options]
•[mode] 有7种:
•Assemble:将以前定义的某个阵列加入当前在用阵列。
•Build:Build a legacy array ,每个device 没有 superblocks
•Create:创建一个新的阵列,每个device 具有 superblocks
•Manage: 管理阵列,比如 add 或 remove
•Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
•Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
•Grow:改变raid 容量或 阵列中的 device 数目
•可用的 [options]选项
•-f : fail , 将一个磁盘设置为故障状态
•-l : LEVEL , 设置磁盘阵列的级别
•-r : 移除故障设备
•-a : 添加新设备进入磁盘阵列
•-S : 停止一个磁盘阵列
•-v : --verbose:显示细节
•-D, --detail: 打印一个或多个md device 的详细信息
•-x :--spare-devices 指定一个备份磁盘,也就是指定初始阵列的冗余device 数目即spare device数目;
•- n : 指定磁盘的个数
•-A : --assemble:加入一个以前定义的阵列
•-B : --build:创建一个没有超级块的阵列(Build a legacy array without superblocks.)
•-C : --create:创建一个新的阵列
•-F : --follow, --monitor:选择监控(Monitor)模式
•-G : --grow:改变激活阵列的大小或形态
•-I : --incremental:添加一个单独的设备到合适的阵列,并可能启动阵列
• --auto-detect:请求内核启动任何自动检测到的阵列
•-h : --help:帮助信息,用在以上选项后,则显示该选项信息
• --help-options:显示更详细的帮助
•-V : --version:打印mdadm的版本信息
•-b : --brief:较少的细节。用于 --detail 和 --examine 选项
•-Q : --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
•-E : --examine:打印 device 上的 md superblock 的内容
•-c : --config= :指定配置文件,缺省为 /etc/mdadm.conf
•-s : --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf
另外:
Ubuntu下使用MDADM管理RAID
•安装
sudo apt-get install mdadm
•创建阵列
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sd[bcde]
•格式化阵列
mkfs.ext3 /dev/md0
mkdir /mnt/test
mount /dev/md0 /mnt/test
•查看阵列
sudo mdadm -D /dev/md0
cat /proc/mdstat
•删除阵列
sudo mdadm --stop /dev/md0