发表于 2018-8-21 10:55:07

Shell复习

  1. wc -l client.c 查看文件行数
  2.ls --help查看帮助与man ls
  3.ls --author -l显示所属者
  4.关机 sudo shutdown now(-r 重启) 只有超级用户可以使用
  5type ls 显示类别
  $ type cd
  cd 是 shell 内嵌
  $ type who
  who 已被哈希 (/usr/bin/who)
6 花括号$ ls *{m,e}.cMainForm.cservice.c 7 $ ./eclipse & 结尾加入&后台运行 8 mv lib.t lib.txt 修改文件名 移动文件 9 ln lib.txtlk创建链接文件 10$ stat client.c显示文件状态 File: "client.c" >Device: 700h/1792d Inode: 656336      Links: 1Access: (0600/-rw-------)Uid: ( 1000/ssj234)   Gid: ( 1000/ssj234)Access: 2012-02-12 18:58:49.309045671 +0000Modify: 2012-02-10 18:56:06.214830648 +0000Change: 2012-02-10 18:56:06.338830654 +0000 11touch client.c更新时间/创建新文件$ touch client.c $ stat client.c   File: "client.c" >Device: 700h/1792d Inode: 656336      Links: 1Access: (0600/-rw-------)Uid: ( 1000/ssj234)   Gid: ( 1000/ssj234)Access: 2012-02-12 19:53:21.041120324 +0000Modify: 2012-02-12 19:53:21.041120324 +0000Change: 2012-02-12 19:53:21.041120324 +0000 12cat lib.txt| tr l ctr 将字符l 替换为c 13tee定向到文件并继续传递到下一个管道cat lib.txt| tee c.dat |sort14df 显示已挂载文件系统到可用容量fdisk 分区 15tar本身没有压缩能力 调用其他程序来处理tar -czvf myarchive.tar.gz mydir将mydir中文件压缩为 myarchive.tar.gz tar -tzvf myarchive.tar.gz mydir列出myarchive.tar.gz中文件 tar -xzvf myarchive.tar.gz mydir解压 16uptime 查看系统负载程度20:14:28 up1:32,1 user,load average: 0.05, 0.14, 0.15 17free显示内存情况top显示进程占用资源情况 18 users 当前登录的用户who 每个终端上到用户 19 uname显示系统信息-a 所有 -r 内核信息 -p cpu型号 20 host www.baidu.com 查询主机名称,IP地址和DNS信息$ host www.baidu.comwww.baidu.com is an alias for www.a.shifen.com.www.a.shifen.com has address 119.75.217.109www.a.shifen.com has address 119.75.218.70 21watch 每隔一段时间运行命令watch -n 1 echo $PATHat安排某工作于未来时间执行一次crontab 安排某工作于未来时间定期执行 crontab minute hour day month week commancrontab 0,30 18-23 * * * /aap/bin/da.sh每天18-23点间隔30分钟 执行一次22  du 查看文件占用磁盘信息
  

  --------------20120303
  1.大小比较
  -eq 等于-gt 大于-lt小于
  -ne 不等于-ge 大于等于-le 小于等于
  

  2.参数到获得
  var=0
  while [ "$#" -gt 0 ]
  do
  echo "var=$var,parameter is $1"
  shift
  let var++
  done
  运行
  ssj234@ubuntu:~/shell_tch$ sh1.sh sjd jdsjd
  var=0,parameter is sjd
  var=1,parameter is jdsjd
  -----------------------------
  参数到切换使用shift 参数自增使用let var++
  3.字符串比较用 =
  #!/bin/bash
  #some info
  read user
  if [ "$user" = "" ]
  then
  echo "You did not enter any info"
  else
  echo "$user"
  fi
  4.获取所有命令行参数
  for var in $*
  do
  echo "this var is $var"
  done
  $sh1.sh 1 2
  this var is 1
  this var is 2
  ===
  $@和$*功能相同
  "$@"和"$*"功能不同
  "$@"将获取参数列表,并进行分隔
  “$*”将整个参数列表作为一个参数
  5

页: [1]
查看完整版本: Shell复习