SHELL 使用记录
-输入参数个数及获取
某shell段程序获取输入参数采用以下的一些参量
$#
#代表输入参数的个数(不包括本shell文件名)
$1
#第一个参数
$k
#第k个参数
例如:
sh example.sh a b c
$#
= 3 (a,b,c三个参数)
$1
= a 以此类推
-uname命令
uname 显示当前操作系统的名称
uname -s
show name ,显示系统名字(eg.Darwin)
uname -p
显示系统CPU体系结构(eg. i386)
uname -r
发行版本(eg. 14.1.1)
uname -a
显示-m,-n,-r,-s -v的所有信息
- * Ubuntu 下常用命令*
#查看ubuntu 版本号
cat /etc/issue
Ubuntu 12.04.4TLS \n \1
- while 循环
#while循环
while [ $a -gt $b ] #空格是必须的
do
xxxx
done
# for 循环
for i in {a b c d e} #for遍历
do
xxxx
done
- switch case 语法
case $a in #case 判断
s1) xxxxx #s1表示如果a=s1,也可以是通配符
s2) xxxxx
以下转自ubuntu查看文件大小
使用linux命令df 和du,df 但是df只能查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。du可以查看文件及文件夹的大小。所以基本上是两者配合使用。
- df
h参数, 表示使用「Human-readable」的输出,即是输出GB、MB方式
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 262G 224G 25G 91% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 262G 224G 25G 91% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
du
max-depth参数表示指定深入目录的层数,很重要,不指定的话,会显示所有层次目录
[root@localhost /]# du -h --max-depth=1 /usr
1.8G /usr/share
614M /usr/lib
8.0K /usr/etc
2.1M /usr/kerberos
24K /usr/X11R6
14G /usr/local
37M /usr/libexec
35M /usr/sbin
224M /usr/include
199M /usr/bin
62M /usr/src
8.0K /usr/games
727M /usr/lib64
17G /usr
[root@localhost /]# du -h --max-depth=1 /usr
1.8G /usr/share
614M /usr/lib
8.0K /usr/etc
2.1M /usr/kerberos
24K /usr/X11R6
14G /usr/local
37M /usr/libexec
35M /usr/sbin
224M /usr/include
199M /usr/bin
62M /usr/src
8.0K /usr/games
727M /usr/lib64
17G /usr
- mount 挂载 mount命令(用来挂载硬盘或镜像等)转载于ubuntu 挂载
用法:mount [-t vfstype] [-o options] device dir
1.-t vfstype
指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Windows网络文件共享:smbfs (默认的windows系统都支持的)
windows网络共享文件:cifs (cifs是smbfs的升级版,默认的windows系统都支持的,首先推荐)
光盘或光盘镜像:iso9660
UNIX(LINUX) 文件网络共享:nfs
2.-o options
主要用来描述设备或档案的挂接方式。常用的参数有
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
monut 远程或本机的windows分区之NTFS格式支持:
根据内核安装ntfs支持模块:http://sourceforge.net/projects/linux-ntfs/files/
具体的过程帮助:http://gerardmcgarry.com/blog/hacking-centos-ntfs-support
实例:sudo mount -t cifs //remotehostname/shared /mnt/myshared -o username=XXX,password=XXX
安装ntfs-3g—– yum install ntfs-3g(fuse-ntfs-3g)
参考:http://www.zzdushi.com/?p=30
参考:http://ntfs-3g.org/
具体过程帮助:http://wiki.centos.org/TipsAndTricks/NTFS
实例:mount -t ntfs-3g /dev/sda1 /mnt/windows(umount /mnt/windows)* 实例*
- 挂载本机的iso:
mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
- 挂载远程的fat32的共享目录:mount //10.167.20.20/shared /mnt/mywinshare
Windows 的C分区挂到Liunx的/mnt/winc目录下: mount -t vfat /dev/hda1 /mnt/winc ,如果中文显示有问题:#mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc。(要挂载本地的windows分区,在ubuntu下使用命令sudo fdisk -l 来查看磁盘分区情况。)
当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令:mount /dev/sda1 /usb
- 挂载本机的iso:
mount 后面什么都不接时,会列举出当前所有挂载信息
- fdisk -l 列举当前所有分区信息和物理分区信息;
linux中df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。from http://www.poluoluo.com/server/201011/98357.html
语法:df [选项]
说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以k字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T 显示文件系统类型。
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
例1:列出各文件系统的磁盘空间使用情况。
$ df
Filesystem 1 K-blocks Used Available Use% Mounted on
/dev/hda2 1361587 1246406 44823 97% /
linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的安装点。
例2:列出各文件系统的i节点使用情况。
$ df -ia
Filesystem Inodes IUsed IFree Iused% Mounted on
/dev/ hda2 352256 75043 277213 21% /
none 0 0 0 0% /proc
localhost:(pid221) 0 0 0 0% /net
例3:列出文件系统的类型。
$ df -T
Filesystem Type 1K-blocks Used Available use% Mounted on
/dev/hda2 ext2 1361587 1246405 44824 97% /
本例中的文件系统是ext2类型的
[root@rac1 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 3020140 2333952 532772 82% /
none 213320 0 213320 0% /dev/shm
/dev/sda2 4633108 1818088 2579668 42% /u01
/dev/sde1 524272 81104 443168 16% /ocfs
该条命令显示了服务器上所有分区的使用情况。它还包括了几个有用的参数来帮助格式化输出:
-a显示系统所有的分区,在平常默认情况下 不显示0块的分区
[root@rac1 ~]# df -a
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 3020140 2333952 532772 82% /
none 0 0 0 - /proc
none 0 0 0 - /sys
none 0 0 0 - /dev/pts
none 213320 0 213320 0% /dev/shm
/dev/sda2 4633108 1818096 2579660 42% /u01
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
configfs 0 0 0 - /config
ocfs2_dlmfs 0 0 0 - /dlm
/dev/sde1 524272 81104 443168 16% /ocfs
oracleasmfs 0 0 0 - /dev/oracleasm
-h更具目前磁盘空间和使用情况 以更易读的方式显示
[root@rac1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 2.9G 2.3G 521M 82% /
none 209M 0 209M 0% /dev/shm
/dev/sda2 4.5G 1.8G 2.5G 42% /u01
/dev/sde1 512M 80M 433M 16% /ocfs
-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换
[root@rac1 ~]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 3.1G 2.4G 546M 82% /
none 219M 0 219M 0% /dev/shm
/dev/sda2 4.8G 1.9G 2.7G 42% /u01
/dev/sde1 537M 84M 454M 16% /ocfs
-k以单位显示磁盘的使用情况
[root@rac1 ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on