1、xargs

作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题

语法格式:

# xargs [-ni]

常用参数:

参数

参数说明

-n

分组输出,n个分为一组

-i

与大括号{}关联,使每一个输出的参数都会被执行一次

实践说明:

[root@ky01 ~]# find . -type f -name "123.txt"|xargs mv {} /tmp

mv: target `./123.txt' is not a directory

[root@ky01 ~]# find . -type f -name "123.txt"|xargs -i mv {} /tmp

[root@ky01 ~]# ls /tmp/

123.txt  etc01.tar.gz  etc.tar.gz  oldboy.txt  test.txt

2、wc

统计数字

语法格式:

# wc [-lwc]  文件

常用参数:

参数

参数说明

-l

计算行数

-w

计算字数

-c

计算字符数

实践说明:

[root@ky01 ~]# wc -l b.txt

4 b.txt

[root@ky01 ~]# wc -w b.txt

10 b.txt

[root@ky01 ~]# wc -c b.txt

52 b.txt

3、basename

只显示目录下文件的名称,shell脚本中会用到

语法结构:

# basename [文件]

实践说明:

只显示目录/root/01/02/03/04/05/123.txt的文件名

[root@ky01 ~]# basename 01/02/03/04/05/123.txt

123.txt

4、chattr

改变文件属性

语法结构:

# chattr [-R] [+-=] [属性] 文件

参数

参数说明

-R

递归处理

属性

参数说明

a

只需添加

i

不许更改文件属性

实践说明:

[root@ky01 ~]# ls -l 12.txt

-rw-rw-rw- 1 root root 1210 April 24 19:49 12.txt

[root@ky01 ~]# chattr +i 12.txt

[root@ky01 ~]# chmod 777 12.txt

chmod: changing permissions of `12.txt': Operation not permitted

[root@ky01 ~]# chattr -i 12.txt

[root@ky01 ~]# chmod 777 12.txt

[root@ky01 ~]# ls -l 12.txt

-rwxrwxrwx 1 root root 1210 April 24 19:49 12.txt

5、chgrp

修改文件或目录的用户组

语法结构:

# chgrp 用户组 文件

常用参数:

参数

参数说明

-R

递归处理

实践说明:

修改文件123.txt的用户和用户组

[root@ky01 ~]# ls -l 123.txt

-rwxrwxrw- 1 ky1 root 31 April 23 12:14 123.txt

[root@ky01 ~]# chgrp ky1 123.txt

[root@ky01 ~]# ls -l 123.txt

-rwxrwxrw- 1 ky1 ky1 31 April 23 12:14 123.txt

6、chkconfig

查看或更改开机自启动的运行级别的情况,chkconfig管理的服务是/etc/init.d/下的服务文件

原理:chkconfig和当前服务进程的运行情况没有关系,只是在开机时影响服务的启动

实现:

  • a.编写服务文件(如名字为oldboy)脚本时需要包含chkconfig管理的代码# chkconfig: 345 25 75(345代表的是启动级别,25代表服务开启顺序的号码,75代表服务关闭顺序的号码,号码默认是1-99号),再添加权限chmod +x oldboy
  • b.把脚本放到/etc/init.d/文件夹下面,并且希望开机时被chkconfig管理,需要添加chkconfig --add oldboy
  • c.添加进去的默认在哪个级别上启动要看开发脚本中chkconfig的配置,服务启动顺序和关闭顺序也是看脚本中chkconfig的配置
  • d.chkconfig --level 3  oldboy on/off的实质

开启实质:rm -f /etc/rc.d/rc3.d/K75oldboy(删除关闭顺序的文件)

ln -s /etc/init.d/oldboy /etc/rc.d/rc3.d/S25oldboy(建立开启顺序文件连接)

关闭实质:rm -f /etc/rc.d/rc3.d/S25oldboy(删除开启顺序的文件)

ln -s /etc/init.d/oldboy /etc/rc.d/rc3.d/S75oldboy(建立关闭顺序文件连接)

语法结构:

# chkconfig [--list、--level] [服务] [on/off]

常用参数:

参数

参数说明

--list

查看所有服务在所有级别的开启关闭状态(没有也显示)

--level

接级别,设置相应级别的某个服务的开启或关闭

实践说明:

[root@ky01 ~]# chkconfig --list netfs

netfs           0:off   1:off   2:off   3:off   4:off   5:off   6:off

[root@ky01 ~]# chkconfig --level 3 netfs on

[root@ky01 ~]# chkconfig --list netfs

netfs           0:off   1:off   2:off   3:on    4:off   5:off   6:off

[root@ky01 ~]# chkconfig --level 23 netfs on

[root@ky01 ~]# chkconfig --list netfs

netfs           0:off   1:off   2:on    3:on    4:off   5:off   6:off

查看或更改开机自启动的运行级别的情况,chkconfig管理的服务是/etc/init.d/下的服务文件

原理:chkconfig和当前服务进程的运行情况没有关系,只是在开机时影响服务的启动

实现:1、编写服务文件(如名字为oldboy)脚本时需要包含chkconfig管理的代码# chkconfig: 345 25 75(345代表的是启动级别,25代表服务开启顺序的号码,75代表服务关闭顺序的号码,号码默认是1-99号),再添加权限chmod +x oldboy

2、把脚本放到/etc/init.d/文件夹下面,并且希望开机时被chkconfig管理,需要添加chkconfig --add oldboy

3、添加进去的默认在哪个级别上启动要看开发脚本中chkconfig的配置,服务启动顺序和关闭顺序也是看脚本中chkconfig的配置

4、chkconfig --level 3  oldboy on/off的实质

开启实质:rm -f /etc/rc.d/rc3.d/K75oldboy(删除关闭顺序的文件)

ln -s /etc/init.d/oldboy /etc/rc.d/rc3.d/S25oldboy(建立开启顺序文件连接)

关闭实质:rm -f /etc/rc.d/rc3.d/S25oldboy(删除开启顺序的文件)

ln -s /etc/init.d/oldboy /etc/rc.d/rc3.d/S75oldboy(建立关闭顺序文件连接)

7、dd

磁盘管理命令

语法结构:

 dd if=input_file of=output_file
dd if=input_file of=output_file bs=#[b|k|m|g] count=n

实例说明:

1.将本地的/dev/hdb整盘备份到/dev/hdd

dd if=/dev/hdb f=/dev/hdd              hdb –> 内存 -> hdd

2.将/dev/hdb全盘数据备份到指定路径的image文件

dd if=/dev/hdb f=/root/image            hdb –> 内存 -> image文件

3.将备份文件恢复到指定盘

dd if=/root/image f=/dev/hdb             image文件 –> 内存 -> hdb

4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径

dd if=/dev/hdb | gzip> /root/image.gz

5.将压缩的备份文件恢复到指定盘

gzip -dc /root/image.gz | dd f=/dev/hdb

6.备份磁盘开始的512个字节大小的MBR 主引导记录信息到指定文件

dd if=/dev/hda f=/root/image count=1 bs=512   默认从硬盘0柱面0磁道1扇区读取512个字节

count=1指仅拷贝一个块;bs=512指块大小为512个字节。

恢复:dd if=/root/image f=/dev/hda

7.备份软盘

dd if=/dev/fd0 f=disk.img count=1  bs=1440k (即块大小为1.44M)

8.拷贝内存内容到硬盘

dd if=/dev/mem f=/root/mem.bin  bs=1024 (指定块大小为1k)

9.拷贝光盘内容到指定文件夹,并保存为cd.iso镜像文件

dd if=/dev/cdrom(hdc)   of=/root/cd.iso

10.增加swap交换分区文件大小

第一步:创建一个大小为256M的文件:

dd if=/dev/zero  of=/swapfile  bs=1024 count=262144

第二步:把这个文件变成swap交换分区文件:

mkswap /swapfile

第三步:启用这个swap交换分区文件:

swapon /swapfile

第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap交换分区文件:

/swapfile    swap    swap    default   0 0

11.销毁磁盘数据

dd if=/dev/urandom f=/dev/hda1

注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。

12.测试硬盘的读写速度

dd if=/dev/zero bs=1024 count=1000000 f=/root/1Gb.file    写速度

dd if=/root/1Gb.file bs=64k | dd f=/dev/null      读速度

通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。

13.确定硬盘的最佳块blocks大小:初始化硬盘

dd if=/dev/zero bs=1024 count=1000000 f=/root/1Gb.file    初始化硬盘

dd if=/dev/zero bs=2048 count=500000 f=/root/1Gb.file     初始化硬盘

dd if=/dev/zero bs=4096 count=250000 f=/root/1Gb.file     初始化硬盘

dd if=/dev/zero bs=8192 count=125000 f=/root/1Gb.file     初始化硬盘

通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。

14.修复硬盘:                 自初始化硬盘

dd if=/dev/sda f=/dev/sda  SCSI硬盘 或dd if=/dev/hda f=/dev/hda   IDE

当硬盘较长时间(一年以上)放置不使用后,磁盘上会产生magnetic flux point 电磁点现象,当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区即MBR(主引导程序446、硬盘分区表64、硬盘有效标识2字节)时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。并且这个过程是安全、高效的。

8、 mdadm 软raid 创建

硬raid:

主板直接实现raid控制。或者插在pci插槽上。硬盘在链接到主机之前就链接到一起了。 bios就能控制。

软raid:

在操作系统内核中实现,把一个驱动程序,将多个磁盘当一个用。由内核的一个模块的软件代码来实现的。软件代码由cpu实现。 cpu大量时间来处理存储了。占用了大量的cpu的使用周期,性能提升不明显。

md,mkdadm ,mdadm配置文件/etc/mdadm.conf
md:可以组合任何块设备做成raid,不限于磁盘。即多个分区都可以做成raid。但是同一个磁盘的不同分区做成raid没有任何意义
mdadm:监控raid,扩展raid空间,加一块盘进来。跟vim一样是模式化的工具

内核的模块是工作在内核空间的。而用户的命令是工作在用户空间,二者的空间是无法通信的,如果调用则需要通过系统调用。比如我们的软raid的内核模块md,要读取硬盘信息我们在用户空间是无法直接控制的,而是必须有专门的客户端命令mdadm调用专门的系统调用接口才能让内核模块md加载读取。

mdadm:
-A :装配模式
-C:创建模式
-F:监控模式
管理模式:
-f :标记Wie损坏
-r:模拟为拿掉坏的
-a:添加好的。
-D:显示阵列的详细信息
--detail

-S :停止raid
mdadm -S /dev/md2
--scan 扫描
mdadm --scan
mdadm --scam /dev/md2
-A :启动
mdadm -A /dev/md2 /dev/sda{1,2,3}

创建大小为12G的RAID0:
2*6G
3*4G
4*3G
6*2G

-C: 创建模式
options:
-n $num:用于创建raid设备的设备个数
-x $num:热备磁盘的个数
-l 级别:options are: linear, raid0, 0,
stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multi-
path, mp, faulty, container. Obviously some of these are synonymous.
-a yes: 自动为创建的raid设备创建设备文件
-c Chunck_size:指定分块大小,默认为512,单位KB

操作: #创建命令 但是首先需要下面一堆命令分区。
# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
# cat /proc/mdstat
#mdadm -D /dev/md0 #查看detail详情
=======================2==============================
练习 创建一个大小为12G的RAID1:
2*12G
# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{1,2}
#cat /proc/mdstat
#watch -n1 'cat /proc/mdstat'

watch 命令:
-n $num:多久执行一次指定的命令 单位为秒钟
1, .5

模拟损坏
mdadm /dev/md1 -f /dev/sdc3
mdadm -D /dev/md1
模拟移除:
mdadm /dev/md1 -r /dev/sdc3
添加:
mdadm /dev/md1 -a /dev/sdc3 会同步镜像盘。

raid 1 具有热备磁盘 如何设置
#设置带有热备的命令 -x参数
mdadm -C /dev/md2 -a yes -l 1 -n 2 -x 1 /dev/sda{1,2,3}

Linux常用命令(四)的更多相关文章

  1. linux常用命令(四)

    1.压缩解压命令 gzip命令 默认为.gz格式文件 1.只能压缩文件不可压缩目录 2.不保留源文件 压缩   giz 解压   gunip tar命令 -c产生打包文件 -v显示相信打包压缩过程 - ...

  2. Linux 常用命令四 rmdir rm

    一.rmdir命令 用于删除空目录: wang@wang:~/workpalce/python$ tree . ├── .txt ├── .txt ├── .txt ├── A │   └── B │ ...

  3. linux 常用命令(四)——(centos7-centos6.8)Vim安装

    centos是默认安装了vi编辑器的,vim编辑器是没安装或者未完全安装的,个人习惯用vim,所以记录一下vim编辑器的安装: 1.查看vim相关软件信息: yum search vim 2.在线安装 ...

  4. Linux系列教程(四)——Linux常用命令之文件和目录处理命令

    这个系列教程的前面我们讲解了如何安装Linux系统,以及学习Linux系统的一些方法.那么从这篇博客开始,我们就正式进入Linux命令的学习.学习命令,首先要跟大家纠正的一点就是,我们不需要记住每一条 ...

  5. Linux常用命令大全(四)

    Linux常用命令大全(四) shell的特点 ☆组合新命令 ☆提供了文件名扩展字符 ☆直接使用shell的内置命令 ☆灵活地使用数据流 ☆结构化的程序模块 ☆在后台执行命令 ☆可配置的环境 ☆高级的 ...

  6. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  7. Linux常用命令整理 - imsoft.cnblogs

    su 用户名 在不退出登陆的情况下,切换到另外一个人的身份如果用户名缺省,则切换到root状态会提示输入密码,密码不回显的. 在用su命令切换root用户时,使用“-”选项,这样可以将root的环境变 ...

  8. Linux常用命令速查备忘

    Linux常用命令速查备忘   PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...

  9. [置顶] linux常用命令手册

    前言:整理了一份linux常用命令手册,与大家分享.这是一些比较常用的命令. 我已经整理成一份PDF带书签的手册,可以到CSDN免费下载. 下载地址:http://download.csdn.net/ ...

  10. 转载Alpine Linux常用命令

    Alpine Linux常用命令 目录 一:Alpine Linux开启SSH远程登陆 1.简介: 2.配置 3.配置命令 4.重启服务 二:Alpine Linux源管理 1.简介 2.国内源简介: ...

随机推荐

  1. 论meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用

    一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...

  2. respond.js

    Respond.js,低版本浏览器也能够支持媒体查询 在之前有篇文章也是介绍IE6,7,8支持媒体查询的(查看),Respond.js这个比css3-mediaqueries更为强大一些,它可以支持l ...

  3. 讨论一下js获取响应中后台传回来的BigInteger类型的数字时,后几位会自动变为0的问题

    后台返回的json:{"data":12345678912345678912} 在js中获取该data得到的值为:12345678912345680000 后经过实验发现,只有数字 ...

  4. php有效的过滤html标签,js代码,css样式标签

    过滤html标签�php中太简单了,我们可以直接使用strip_tags函数来实现了,下面给各位整理了一些关于 strip_tags函数的例子. php过滤html的函数:strip_tags(str ...

  5. IOS第二天多线程-01-延时执行

    **********延时执行 #import "HMViewController.h" @interface HMViewController () @end @implement ...

  6. WPF 打开文件、文件夹

    打开文件代码: OpenFileDialog openFileDialog = new OpenFileDialog();            openFileDialog.Title = &quo ...

  7. ios-滚动视图滚动取消键盘

    _scroll.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;_SearchTable.keyboardDismissMode ...

  8. ecshop增加新字段及相应编辑器

    一.在数据库添加字段,会手写的就后台添加,不会就进入phpmyadmin默认的就行.      这是通用的写法:(这里是增加类似商品描述的字段,其他字段自行更改) ALTER TABLE `ecs_g ...

  9. Maven-010-maven 编译报错:Failure to ... in ... was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced.

    今晚在编译 maven 项目的时候,命令行报错,出现 Failure to ... in ... 类似错误,详细的错误信息如下所示: [INFO] -------------------------- ...

  10. jqzoom图片放大镜

    jqzoom是一个图片放大器插件.它功能强大,使用简便! 引入js与css: <script type="text/javascript" src="js/jque ...