设为首页 收藏本站
查看: 1210|回复: 0

shell入门1

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-8-23 09:25:21 | 显示全部楼层 |阅读模式
  字都是一个一个敲打的,进度也不会太快:
  每天我都对自己说:现实很残酷,努力!!!!
Shell入门1
  文件名通配
  *:为任意长度通配符
  ?:为单字符通配符
  []:括号内内容单个匹配;
  例如:
  以123开头的任意文件名:[123]*;
  [:alpha:]代表任意字母alpha希腊语的第一个字母
  [:digit:]代表任意数字digit数字;手指,足趾;
  [:lower:]代表小写字母
  [:upper:]表示大写字母
  [:space:]代表空格
  Eg: 以字母开头的紧接着是数字的文件
  [[:alpha:]][[:digit:]]*
  显示/etc目录下的字母数字开头的文件
  ls/etc/[[:alpha:]][[:digit:]]*
  命令行和路径补全功能:
  输入命令时补全键位TAB键,若无法补全连续两次TAB,显示与当前字符匹配的所有命令。
  命令行展开
  ~:对应用户的家目录。
  {}:mkdir –pv {z,p}_{1,2,3}则在当前目录下生成
  命令行扩展
  $()或者``反引号
  [root@localhost /]# export
  [root@localhost /]# ls
  abootdevhomelib64mediaoptp_2procsbinsrvtmpvarz_2
  bindetcliblost+foundmntp_1p_3rootselinuxsysusrz_1z_3
  [root@localhost /]# mkdir zl-`date +"%y-%m-%d-%H-%M-%S"`
  [root@localhost /]# ls
  adhomelost+foundoptp_3sbinsysvarz_3
  bindevlibmediap_1procselinuxtmpz_1zl-13-06-28-05-29-58
  bootetclib64mntp_2rootsrvusrz_2
  [root@localhost /]#
  其中``为命令替换符,其作用是将`…`中的指令执行,并返回结果。
  $变量:返回变量的值;
  ‘’:强引用,单引号内不会发生变量替换;
  “”:弱引用,双引号内会发生变量替换。
  ls-ldh /home/centos 列出/home/centos目录,并且查看格式化方式显示其大小;
  nano
  nano是一种单文本编辑器,你可以直接输入文字。如果你要编辑一个像/etc/fatab一样的配置文件,请使用-w参数,例如:
  警告:如果在编辑配置文件时,忘加了-w参数,可能会导致系统无法启动或产生别的异常。
  如果你要保存所做的修改,按下ctrl+o.想要退出,请按下ctrl+x.如果你退出前没有保存所做的修改,它会提示你是否要保存。如果不要,请按N,反之,则按Y。然后它会让你确认要保存的文件名,确认或修改后按Enter即可。
  如果你没有修改好而不小心按了保存键,您可以在请求确认文件名时按CTRL+c来取消。
  剪切和粘贴
  要剪切一整行,请用CTRL+k。光标所在的行便消失了。粘贴它,只需把光标移动到您所要粘贴的位置,然后按CTRL+U即可。要移动多行,只需多按几次CTRL+k把需要移动的内容都剪切下来,然后按一次CTRL+u就可以把刚剪切的内容全部粘贴上来。
  如果你想使用更精确地剪切控制,则需要给文本做标记。移动光标到需要剪切的文本的开头,按下CTRL+6(或者Alt+A).然后移动光标到待剪切文本的末尾:被做了标记的文本便会泛白,要撤销文本标记只需再按一次Ctrl+6.
  用CTRL+K来剪切被标记的文本,用Ctrl+u来粘贴。
  搜索特定文字
  当你想搜索某特定文字时,只要想成“where is ”而不是“search”,事情就简单了。只要按下Ctrl+W,键入你要搜索的字符串,再按Enter键就可以了。想再次搜索相同的字符串,可以直接按Alt+W.
  注意在nano帮助文档里,CTRL-键被表示成为一个脱字节(^),因此CTRL+w被写成了^W,等等。ALT键被表示成一个M(从“Meta”而来),因此ALT+w被写成了M-W。
  [root@localhost ~]# ls -ldh /etc/
  drwxr-xr-x. 58 root root 4.0K Jun 28 12:03 /etc/
  ls-lh /home/centos 列出/home/centos下面的目录,并且显示其大小。
  [root@localhost ~]# ls -lh /etc/
  total 1.2M
  -rw-r--r--.1 root root 4.4K Apr 282010 DIR_COLORS
  -rw-r--r--.1 root root 5.1K Apr 282010 DIR_COLORS.256color
  -rw-r--r--.1 root root 4.1K Apr 282010 DIR_COLORS.lightbgcolor
  drwxr-xr-x.3 root root 4.0K Dec82011 NetworkManager
  drwxr-xr-x.4 root root 4.0K Jun 26 20:57 X11
  -rw-r--r--.1 root root45 Jun 292013 adjtime
  Finger 显示一个账户的详细信息
  简单脚本的编写:
  实例:
  写一个脚本:
  复制/etc/skel目录至/home,并且重命名为centos
  设定此目录及其内部文件或子目录的属主属组为redhat用户,redhat组
  设定此目录及其内部文件或子目录的权限为属组和其它用户没有任何权限
  修改redhat用户的家目录为/home/centos
  切换至redhat用户,验正其家目录是否正常可用
  写一个脚本:
  via.sh
  cp –r /etc/skel /home/centos
  ls –ldh /home/centos
  chown redhat:redhat /home/centos –R
  ls-lh/home/centos
  usermod –d /home/centos redhat
  finger redhat
  su – redhat
  写一个脚本:
  1、显示当前系统日期和时间,而后创建目录/tmp/lstest
  2、切换工作目录至/tmp/lstest
  3、创建目录a1d, b56e, 6test
  4、创建空文件xy, x2y, 732
  5、列出当前目录下以a、x或者6开头的文件或目录;
  6、列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录;
  [root@localhost scripts]# cat e.sh
  #!/bin/bash
  d=`date +"%y-%m-%d-%H-%M-%S"`
  echo $d
  e=/tmp/lstest
  a=a1d
  b=b56e
  c=6test
  f=xv
  g=x2y
  h=732
  if [ -e $e ]
  then
  cd $e
  pwd
  mkdir $a $b $c
  touch $f $g $h
  ls [ax6]*
  ls [[:alpha:]][[:digit:]]*
  else
  mkdir $e
  pwd
  ls –d 显示目录自身的属性,而不是目录中的文件。
  Eg:
  1、不加-d
  [root@localhost scripts]# ls -l /tmp/lstest
  total 12
  drwxr-xr-x. 2 root root 4096 Jun 28 16:42 6test
  -rw-r--r--. 1 root root0 Jun 28 16:42 732
  drwxr-xr-x. 2 root root 4096 Jun 28 16:42 a1d
  drwxr-xr-x. 2 root root 4096 Jun 28 16:42 b56e
  -rw-r--r--. 1 root root0 Jun 28 16:42 x2y
  -rw-r--r--. 1 root root0 Jun 28 16:42 xv
  2、加-d之后
  [root@localhost scripts]# ls -ld /tmp/lstest/
  drwxr-xr-x. 5 root root 4096 Jun 28 16:42 /tmp/lstest/
  两者本质如下:
  [root@server55 ~]# ls -ld /tmp/lstest
  [root@server55 ~]# ls -l /tmp/lstest
  两者的本质区别是,由于ald是目录文件,所以不加-d就是查看其目录下的内容了。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-555383-1-1.html 上篇帖子: 写shell的事情 下篇帖子: shell命令小记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表