Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115939
  • 博文数量: 38
  • 博客积分: 2111
  • 博客等级: 大尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-06 13:04
文章分类

全部博文(38)

文章存档

2012年(4)

2010年(34)

我的朋友

分类: LINUX

2010-05-17 17:01:46

Shell基本命令

 shell 不但是 Unix 的用户交互界面,还是一门程序设计语言,系统注册进入时就会执行一个shell命令文件 .profile ,下面对shell中的常用命令作简单介绍。 
  $n shell 程序命令行中的第个参数,n0-9,当0时表示命令名 
  $# 命令行中参数的个数 
  $$ shell 命令的进程号 
  $! 最后一个后台进程的代号 
  $* 所有命令行参数 
  $@ $*相似,但其值不同 
  $HOME 注册时进入的目录 
  $PATH 命令的搜索目录 
  $PS1 系统第一个提示符,一般为
  $PS2 系统第二个提示符,一般为>; 
  shift [n] 将命令行参数往左移一位,但$0不变 
  变量名=字符串 将字符串赋予变量名,以后可用$变量名引用该变量 
  export 变量名表 将变量名表所列变量传递给子进程 
  read 变量名表 从标准输入读字符串,传给指定变量 
  echo 变量名表 将变量名表指定的变量显示到标准输出 
  set 显示设置变量 
  env 显示目前所有变量 

  if 条件执行,语法是: 
   if 条件 
    then 指令 
   fi 

  case 分支执行,语法是: 
   case 字符串变量 in 
    值1) 指令... 
    值2) 指令... 
    ... 
    esac 

  while 条件为真时循环,语法是: 
   while 条件 
   do 
    指令... 
   done 

  until 条件为假时循环,语法是: 
   until 条件 
   do 
    指令... 
   done 

  for 变量在表中时循环,语法是: 
   for 变量名 in 字组表 
    do 
     指令... 
    done 

  break 从循环中退出,语法:break n 
  n 表示跳出循环的层数 

  continue 继续循环,语法:continue n 
  n 表示退到包含continue 语句的第层继续循环 

  exit 退出shell 
  func shell内部可定义函数,语法: 
  func 函数名() 
  { 
   指令... 
  } 

  expr 将其后的串解释为表达式并计算其值,运算符前后需有空格 
  trap 捕获信号,语法 trap n ,捕获信号 n (信号说明参见kill) 

  test 条件测试,语法 test [选项参数 
  选项 -f 文件 若文件存在且可读则真 
  -w 文件 若文件存在且可写则真 
  -x 文件 若文件存在且可执行则真 
  -f 文件 若文件存在且为普通文件则真 
  -d 文件 若文件存在且为目录文件则真 
  -p 文件 若文件存在且为fifo文件则真 
  -s 文件 若文件存在且不空则真 
  -z  若串长度为0则真 
  -n  若串长度不为0则真 
   若串不是空串则真 
  1=若串1等于串2则真 
  1!=若串1不等于串2则真 
  n1 -eq n2 n1n2数值相当则真 
  n1 -ne n2 n1n2数值不相当则真 
  n1 -lt n2 n1小于n2则真 
  n1 -le n2 n1小于等于n2则真 
  n1 -gt n2 n1大于n2则真 
  n1 -ge n2 n1大于等于n2则真 
  可用  -a  -o  ! 将条件表达式连接起来

几个基本的shell命令,用ssh管理主机必备。
  1.ls  列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件
  [root@restoretmp steph]# ls
  file.html public_html  test
  [root@restoretmp steph]#
  参数:
  ls -a 列出所有文件,包括隐藏文件
  [root@restoretmp steph]# ls -a
  .  ..  .bash_logout  .bash_profile  .bashrc  file.html public_html  test
  [root@restoretmp steph]#
  ls -l  列出所有者 size 文件权限 修改日期
  ls -R  递归列出所有子目录的内容
  2. cd  转移目录
  cd /home/steph 将转移到/home/steph
  cd ..  上移一个目录
  cd 回到根目录
  3. 建立新文件和文件夹
  touch new-filename  建立新文件
  mkdir new-directory  建立新目录
  4.删除文件和目录
  rm filename  删除名为 filename的文件
  rmdir foldername 删除名为foldername的目录
  5.修改文件夹权限
  chmod 755 foldername  将把名为foldername的文件夹的权限修改为755
  6.修改用户
  chown steph:steph file.html   file.html的用户修改为steph:steph
  2. 压缩和解压缩文件
  gzip gunzip
  压缩:
  gzip  filename
  文件即会被压缩,并被保存为 filename.gz
  解压缩:
  gunzip filename.gz
  filename.gz 会被删除,而继之以 filename
  可以通过命令man gip man gunzip获得命令的详细说明.
  zip unzip
  要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:
  zip -r filename.zip filesdir
  在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
  要解压缩 zip 文件的内容,键入以下命令:
  unzip filename.zip
  你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
  zip -r filename.zip file1 file2 file3 /usr/work/school
  上面的命令把 file1file2 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
  

阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~