shell 编程(一)

来源:互联网 发布:矩阵列向量归一化公式 编辑:程序博客网 时间:2024/06/05 20:11
1 shell命令的语法分析
      1.1 shell 的命令格式
         command [options]  [arguments];
         command : 命令名称
         [options] : 命令选项
         [arguments] : 命令参数
在命令中,选项是包含一个或多个字母的代码,主要是用于改变命令的执行方式,一般情况用"-"区别开来的
例如:  ls -a;
在shell中可以输入多条命名,用分号分割开来的
     1.2 shell的通配符
         *  : 匹配任意一个或者多个字符
              例如:  ls *.txt
         ? : 匹配任意单一字符
         []: 匹配括号内的单子符
               例如: ls /dev/sda[12345]
               /dev/sda1  /dev/sda2 /dev/sda3
     1.3 shell的重定向
         标准输入: 键盘 
         标准输出: 屏幕
         可以更具需要修改标准输入和标准输出
     1.4 管道
    管道可以把很多命令链接起来,可以把第一个命令的输出当作第2个命令的输入,第2个命令的输出当作第3个命名的输入,依次类推。管道的作用就是把一个命令的输出参数当作下一个命令的输入。  “|” 符号建立起管道
例如:ls -al /etc/* |more   表示将/etc下的文件分屏幕显示
     1.5 引用
      在bash中有很多特殊字符,这些字符本身就具有特殊的含义可使用转意字符“\” ,单引号"''",双引号““””,来处理
   (1) 转意字符“\” 
    将“\” 放到特殊字符的前面,shell就会忽略这些字符的原有含义,当作普通字符对待
例如:
   mv abc\?\* abc   
   (2) 单引号‘’
  将字符串放到单引号之间,那么字符串中所有的字符的特殊含义都将被忽略
例如: mv    'c:\backup'  backup

(3) 双引号“”
 基本用法与单引号相同,但是有一些字符仍然保持原有的特殊含义,如:  “$”  , "\"  ,"'"
       1.6 shell 自动补全命令行
      按tab建即可

2 系统管理和维护
      2.1  ls  显示文件
       ls   [选项]  [路径或者文件]
   例如:lcc@lcc:~$ ls -l /home
总用量 20
drwxr-xr-x 41 lcc  lcc   4096  7月  9 09:45 lcc
drwx------  2 root root 16384  5月 15 13:01 lost+found
     2.2 pwd 显示当前工作目录的命令
      语法: pwd
例如:

lcc@lcc:~$ pwd
/home/lcc
     2.3 cd 改变当前工作的目录命令
  语法:  cd   [目录名]
 常用格式:
              cd  .. 或 cd ../ 返回上级工作目录下
              cd  / 返回更目录下
例如: 
lcc@lcc:~$ cd /usr/bin
lcc@lcc:/usr/bin$ pwd
/usr/bin

   2.4 显示系统时间与日期的命令 date 
     语法 :  date [选项]  显示时间格式

    选项 :  -s -set 设置系统时间
               -d  -date 显示描述日期
  2.5 显示指定的帮助信息
   man  [命令名称]
  man  ls
  2.6 显示目前登录到的系统的用户命令
  who 
 语法: who[选项]  [file]
一般输出格式如下:
 名称  【状态】 线路  时间  【活动】  【进程标识】(主机名)
例如:

who -r
         运行级别 2 2013-07-09 09:45

  2.7 显示登录到系统的用户信息命令 w
 语法:  w  [选项]  [用户]
  例如:

lcc@lcc:~$ w
 10:55:24 up  1:10,  2 users,  load average: 0.19, 0.29, 0.34
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
lcc      tty7     :0               09:45    1:10m  5:34   0.44s gnome-session -
lcc      pts/0    :0.0             10:51    4.00s  0.09s  0.01s w

    2.8 显示操作系统相关信息的命令uname
   语法: uname 【选项】
lcc@lcc:~$ uname
Linux
lcc@lcc:~$ uname -a
Linux lcc 3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

3文件管理与编辑
       1 创建目录命令mkdir
       语法: mkdir [选项]  目录名
       2 逐屏幕显示内容命令 more 
       more [选项]  文件名
       3 将文件内容打印到标准输出的命令cat
      root@lcc:/home/lcc# cat aa
      zhe shi yi ge ce shi 
      4 删除某个目录及其所有文件及子目录的命令 rm
     语法:  入门 [选项]   文件或者目录
     5 再文件或目录之间创建链接的命令  ln
     该链接相当于Windows里面的快捷方式
   语法: ln  [选项]   源文件  目标链接名
     6 显示文件类型的命令file
      file 命令用来显示文件的类型,对于长度为0的文件,将识别为空文件;对于符号链接文件,缺省情况下将显示符号链接引用的真实文件路径
     file  [选项]   文件名
   例如:
root@lcc:/home/lcc# file aa
aa: ASCII text

   7 拷贝文件或者目录的命令cp
     语法: cp  [选项]  源文件或目录  目标文件或目录
  8 在指定的路径下查找制定文件的命令find
    语法: find  path-name  [-options]   -print -exec -ok
     path-name : 命令查找的目录路径
    -options :  find 命令的这个选项主要用来控制搜索方式。
    -print : 将结果输出到标准输出
    -exec : 对搜索出符合条件的文件执行所给出的LINUX 命令,而不是询问用户是否需要执行改命令
    -ok : 对搜索出符合条件的文件执行所给出LINUX 命令
   9 文件/目录改名或变更存储位置的命令mv
    mv 是用来将文件或目录改名或将文件由一个目录移到另一个目录中。如果源类型和目标类型都是文件或者或者目录,mv将进行目录重命名;如果源类型为文件,而目标类型为目录,mv将进行文件移动;如果源类型为目录,则目标类型只能是目录,不能是文件。
语法:  mv [选项] 源文件或者目录   目标文件或者目录

原创粉丝点击