shell 命令笔记

Shell语法:

系统变量

$0这个程序的执行名字
$n
这个程序的第n个参数值,n=1...9
$*
这个程序的所有参数
$#
这个程序的参数个数
$$
这个程序的PID
$!
执行上一个背景指令的PID
$?
上一个指令的返回值

数据或程序控制使用的特殊字符

>(file)          输出重定向到文件
>>(file)        
输出重定向到文件,内容加到已存在的文件尾部
<(file)         
输入重定向到文件
;               
命令分隔符
|                
管道符,把一条命令的输出重定向为另一命令的输入
&               
放在命令之后强迫命令在后台执行
``              
命令替换,重定向一条命令的输出为另一命令的参数

1.6. 特殊字符

字符

含意

~

home目录

`

命令替代符(archaic)

#

注释

$

变量表达式

&

后台任务

*

字串通配符

(

shell的开始

)

shell的结束

\

引用下一字符

|

管道符

[

字符集通配符的开始

]

字符集通配符的开始

{

命令的开始括号

}

命令的结束括号

;

Shell 命令分隔符

'

Strong quote强引用

<">

Weak quote弱引用

输入重定向

输出重定向

/

路径目录分隔符

?

单个字符的通配符

!

逻辑管道符“非”

 

文件比较运算符

运算符                     描述                                示例

-e  filename                如果filename存在,则为真           [-e /var/log/syslog]
-d  filename               
如果filename为目录,则为真
        [-d /tmp/mydir]
-f  filename               
如果filename为常规文件,则为真
     [-f /usr/bin/grep ]
-L  filename               
如果filename为符号链接,则为真
      [-L /usr/bin/grep ]
-r  filename               
如果filename可读,则为真
             [ -r  /var/log/syslog ]
-w  ilename                
如果filename 可写,则为真
          [ -w /var/mytmp.txt ]
-x   filename              
如果filename可执行,则为真          [-L  /usr/bin/grep ]

group用户组的管理

groupadd 选项 用户组

可以使用的选项有:
-g GID
指定新用户组的组标识号(GID)。
-o
一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1
2
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101

groupdel 用户组

删除用户组

groupmod 选项 用户组

常用的选项有:
-g GID
为用户组指定新的组标识号。
-o
-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n
新用户组 将用户组的名字改为新名字
1
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102
2
# groupmod -g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3

newgrp用户组间切换

tar命令

格式: tar 选项 文件目录列表
功能
对文件目录进行打包备份

选项:

-c
建立新的归档文件
-r
向归档文件末尾追加文件
-x
从归档文件中解出文件
-O
将文件解开到标准输出
-v
处理过程中输出相关信息
-f
对普通文件操作
-z
调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩
-Z
调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

实例: tar -zvxf  *.taz
实例1 目的:用tar打包一个目录下的文件

命令:#tar -cvf /mnt/lgx/a1.doc
结果:产生一个以.tar为扩展名的打包文件

实例2 目的:用tar解开打包文件
命令:#tar -xvf /mnt/lgx/a1.doc.tar
附加说明:在通常情况下,tar打包与gzip(压缩)经常联合使用,效果更好。方法是:
首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)
然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)

实例3 目的:解压a1.doc.tar.gz文件
方法1
#gzip -dc /mnt/lgx/a1.doc.tar.gz
(产生a1.doc.tar文件)
#tar -xvf /mnt/lgx/a1.doc.tar
(产生a1.doc文件)
这两次命令也可使用管道功能,把两个命令合二为一:
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf
方法2:使用tar提供的自动调用gzip解压缩功能
#tar -xzvf /mnt/lgx/a1.doc.tar.gz

经过tar打包后,也可用compress命令压缩(注:gzipcompress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用uncompress 文件名格式解压,然后用tar -xvf 文件名解包。也可直接调用tar -Zxvf 文件名解包。

Locate命令

使用权限:所有使用者  
使用方式: locate
[-q] [-d ] [--database=]  
locate [-r ] [--regexp=]  
locate [-qv] [-o ] [--output=]  
locate [-e ] [-f ] <[-l ] [-c]  
<[-U ] [-u]>  
locate [-Vh] [--version] [--help]  
说明:
 
locate
让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。
 
在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用
 
# locate your_file_name  
的型式就可以了。 参数:
 
-u
-U
建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。
 
-e  
 
排除在寻找的范围之外。
 
-l  
如果 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
 
-f  
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值