【转】

 

 

 

 

 

 

 

 

 

一、Linux下查看文件系统的类型

虽然说,在Linux下mount一个文件系统时,可以不指定文件系统。这时候,操作系统会尝试用所有它已知的文件系统格式去挂载。大多数情况下,都会正确的挂载。但不要忘了,它同时也提醒你,如果你的数据非常重要,请不要让系统去自动识别文件系统格式。如果她识别格式错误将会给你带来致命的错误。那么当你不知道一个文件系统是什么格式时,怎么去挂载这个系统,就是你要面对的问题。本文提供了两种查看文件系统的方式,其中一种在通用性不好,只要知道有这种方式就好了,不建议使用。
先介绍的是blkid命令。使用blkid命令加上设备名就可以获取该设备的所有信息:
[root@localhost vd]# blkid /dev/mapper/vg_test-lv_test
/dev/mapper/vg_test-lv_test: SEC_TYPE="msdos" UUID="4A2D-1C9A" TYPE="vfat"
[root@localhost vd]#     
当然,我们只关心文件系统的格式,可以使用-s 选项来只选择系统格式:
[root@localhost vd]# blkid -s TYPE /dev/mapper/vg_test-lv_test
/dev/mapper/vg_test-lv_test: TYPE="vfat"
[root@localhost vd]#     
该命令还有更多的用处,例如说使用-o device选项查看本机上所有的挂载卷:
[root@localhost vd]# blkid -o device
/dev/mapper/VolGroup00-LogVol01
/dev/mapper/VolGroup00-LogVol00
/dev/sda9
/dev/sda8
/dev/sda7
/dev/sda6
/dev/sda5
/dev/sda1
/dev/hdc
/dev/VolGroup00/LogVol00
/dev/VolGroup00/LogVol01
/dev/mapper/vg_test-lv_test
[root@localhost vd]#                       
更详细的使用说明请man blkid学习。该命令是相对稳定的。
另外要注意的是,如果要查看逻辑卷的文件系统时,一定要保证逻辑卷是激活的,否则会返回错误。
下面是将/dev/vg_test/lv_test去激活,然后再查看该文件系统格式,报错:
[root@localhost vd]# lvchange -an /dev/vg_test/lv_test
File descriptor 11 (socket:[18742]) leaked on lvchange invocation. Parent PID 5514: /bin/bash
File descriptor 12 (socket:[18744]) leaked on lvchange invocation. Parent PID 5514: /bin/bash
File descriptor 13 (socket:[18746]) leaked on lvchange invocation. Parent PID 5514: /bin/bash
[root@localhost vd]# lvscan
File descriptor 11 (socket:[18742]) leaked on lvscan invocation. Parent PID 5514: /bin/bash
File descriptor 12 (socket:[18744]) leaked on lvscan invocation. Parent PID 5514: /bin/bash
File descriptor 13 (socket:[18746]) leaked on lvscan invocation. Parent PID 5514: /bin/bash
ACTIVE            '/dev/VolGroup00/LogVol00' [32.69 GB] inherit
ACTIVE            '/dev/VolGroup00/LogVol01' [3.91 GB] inherit
inactive          '/dev/vg_test/lv_test' [500.00 MB] inherit
[root@localhost vd]# blkid /dev/
Display all 203 possibilities? (y or n)
[root@localhost vd]# blkid /dev/vg_test/lv_test
[root@localhost vd]# echo $?
2
[root@localhost vd]#                                             
另外一个命令是parted,这个命令也可以查看文件系统,但是相对的不稳定,有时候会报莫名其妙的错误。不建议大家使用,只是在这里提一下:如果我要查看逻辑卷/dev/vg_test/lv_test的信息,使用parted /dev/vg_test/lv_test p,其中p是parted的一个命令:
root@localhost vd]# parted /dev/vg_test/lv_test p
Model: Linux device-mapper (dm)
Disk /dev/mapper/vg_test-lv_test: 524MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start   End    Size   File system 标志
1      0.00kB 524MB 524MB fat16
信息: 如果必要,不要忘记更新 /etc/fstab。
[root@localhost vd]#                                 
在其中的某一行打印出了文件系统的格式。但是由于此命令不稳定,不推荐使用

二、

Linux 64位系统下yum安装32位与64位两软件包的解决方法
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
exclude=*.i386 *.i686
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1

如果你已经安装了一些32位的软件包你也可以以下命令删除
# yum remove \*.i\?86

补充:当系统为64位,使用yum安装软件的时候,只安装了64位软件,但是也需要把32位安装上去,可行的其中一种方法就是yum install -y 文件名*.i686、yum install -y 文件名*.i386

三、

 

cp 与 scp 命令

名称:cp

使用权限:所有使用者

使用方式:

cp [options] source dest

cp [options] source... directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

参数:

-a 尽可能将档案状态、权限等资料都照原状予以复制。

-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

范例:

将档案 aaa 复制(已存在),并命名为 bbb :

cp aaa bbb

将所有的C语言程式拷贝至 Finished 子目录中 :

cp *.c Finished

 

命令:scp

不同的Linux之间copy文件常用有3种方法:

第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。

第三种就是利用scp命令来进行文件复制。

    scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。

    如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

scp /full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz

linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录; 

================== 
scp 命令 
================== 
scp 可以在 2个 linux 主机间复制文件; 
命令基本格式: 
       scp [可选参数] file_source file_target 
====== 
从 本地 复制到 远程 
====== 
* 复制文件: 
        * 命令格式: 
                scp local_file remote_username@remote_ip:remote_folder 
                或者 
                scp local_file remote_username@remote_ip:remote_file 
                或者 
                scp local_file remote_ip:remote_folder 
                或者 
                scp local_file remote_ip:remote_file 
                第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名; 
                第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名; 
        * 例子: 
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music 
                scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music 
                scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3 
* 复制目录: 
        * 命令格式: 
                scp -r local_folder remote_username@remote_ip:remote_folder 
                或者 
                scp -r local_folder remote_ip:remote_folder 
                第1个指定了用户名,命令执行后需要再输入密码; 
                第2个没有指定用户名,命令执行后需要输入用户名和密码; 
        * 例子: 
                scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 
                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/ 
                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录 
====== 
从 远程 复制到 本地 
====== 
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可; 
例如: 
        scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3 
        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

最简单的应用如下 : 

scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . 
可能有用的几个参数 : 
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 . 
-C 使能压缩选项 .

-r 递归的复制整个文件夹

-P 选择端口 . 注意 -p 已经被 rcp 使用 . 
-4 强行使用 IPV4 地址 . 
-6 强行使用 IPV6 地址 .

 四、

格式化为ext4文件系统:

mse4fs  /dev/sdb1

mkfs -t ext4 /dev/sdb1

如果忘记添加卷标,格式化完成厚使用如下命令加上卷标:

e4label /dev/sdb1 /opt1

查看分区信息:

tune4fs -l /dev/sdb

partprobe更新分区表信息,让内核重新去读取分区表信息。