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

[经验分享] Linux基础(二)

[复制链接]

尚未签到

发表于 2019-2-17 11:16:45 | 显示全部楼层 |阅读模式
一. Linux上的文件管理类命令,及其常用的使用方法和相关示例演示

    1. 目录管理命令

      mkdir:make directory(创建目录)
                语法:mkdir [OPTION]... DIRECTORY...
                -p: 自动按需创建父目录;
                -v: verbose,显示详细过程;
                -m MODE:直接给定权限;
                 注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;              
                示例: mkdir -p /tmp/test/x/y    ----在/tmp目录下递归创建/test/x/y三个目录
                            mkdir -v /tmp/test/x/y    ----在/tmp目录下遍历看是否已经有了我们要创建的文件,有就不创建,没有就创建
                            mkdir -m 777 z             ----在当前目录下z目录同时指定目录z的权限为777
    rmdir:remove empty diectories (删除目录)
                 语法:rmdir [OPTION]... DIRECTORY...
                        -p: 删除某目录后,如果其父目录为空,则一并删除之;
                        -v: 显示过程;
                       注意:rmdir 只能删除空目录
  示例:[root@SilasSZL x]# rmdir -pv /tmp/x/y1/a/
                        rmdir: removing directory, ‘/tmp/x/y1/a/’
                        rmdir: removing directory, ‘/tmp/x/y1’
                        rmdir: removing directory, ‘/tmp/x’
                        rmdir: failed to remove directory ‘/tmp/x’: Directory not empty
        tree目录结构查看
                 语法:tree [options] [directory]
                        -d:只显示目录
                         -L level:指定要显示的层级;
                示例[root@SilasSZL x]# tree -d
  .
  ├── test3
  └── x2
  

  2 directories
  [root@SilasSZL x]# cd /tmp/
  [root@SilasSZL tmp]# tree -L 1
  .
  ├── Aegis-
  ├── mysql.sock
  ├── sess_gd1l4k5doad05sgsmgubcjnrkj0l9b4m
  ├── sess_r6db4ausbtqt9jhn5b2d2ra9vgas9317
  ├── systemd-private-f7cf3ddec7f649aaafdeb498d9de431c-ntpd.service-A3JkPQ
  └── x
  

  2 directories, 4 files
  

cd:change  directory (改变工作目录)
                语法:cd [/PATH/TO/SOMEDIR]
                示例:cd ..:切换到上级目录
                          cd ~:切换回自己的家目录
                          cd -:在上一次目录与当前目录直接来回切换
        pwd:显示当前目录

              示例[root@SilasSZL ~]# pwd
  /root
        ls:list 显示指定路径下的文件列表

                语法:ls [OPTION]... [FILE]...
                        -a: 显示所有文件,包括隐藏文件;
                        -A:显示除.和..之外的所有文件;
                       -l: --long, 长格式列表,即显示文件的详细属性信息;
                       -h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值;
                       -d:查看目录自身而非其内部的文件列表;
                       -r: reverse, 逆序显示;
                      -R: recursive,递归显示;
                    示例[root@SilasSZL ~]# ls -a
                                .   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .mysql_history  satools  .tcshrc   .vimrc
                                 ..  .bash_history    .bash_profile  .cshrc   install.log.syslog  .rnd            .ssh     .viminfo
                              [root@SilasSZL ~]# ls -R
                                  .:
                                  anaconda-ks.cfg  install.log  install.log.syslog  satools
                                  ./satools:
                                  black.txt  freemem.sh  iptables.sh  lnmp.sh  mysql  php502_check.sh  ssh_safe.sh
    2. 文件管理命令
  cp:copy(复制)
                语法:单源复制:cp [OPTION]... [-T] SOURCE DEST
                            注意:如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
                                       如果DEST存在:
                                                                如果DEST是非目录文件:则覆盖目标文件;
                                                                如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
                   多源复制:cp [OPTION]... SOURCE... DIRECTORY
                                     cp [OPTION]... -t DIRECTORY SOURCE...
                            注意:如果DEST不存在:错误;
                                       如果DEST存在:
                                                                如果DEST是非目录文件:错误;
                                                                如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;
  
                常用选项:-i:交互式复制,即覆盖之前提醒用户确认;
                                  -f:强制覆盖目标文件;
                                  -r, -R:递归复制目录;
                                  -d:复制符号链接文件本身,而非其指向的源文件;
                                  -a:-dR --preserve=all, archive,用于实现归档;
                                          --preserv=
                                                          mode:权限
                                                          ownership:属主和属组
                                                          timestamps: 时间戳
                                                          context:安全标签
                                                          xattr:扩展属性
                                                          links:符号链接
                                                          all:上述所有属性
                示例
                        
  mv:move(移动)
  
                语法:mv [OPTION]... [-T] SOURCE DEST
                           mv [OPTION]... SOURCE... DIRECTORY
                           mv [OPTION]... -t DIRECTORY SOURCE..
                常用选项:-i:交互式;
                                 -f:force  强制

                示例
                       
                       
        rm:remove  删除
                语法:rm [OPTION]... FILE...
                常用选项:-i:interactive   交互式;
                                 -f:force  强制
                                 -r: recursive  递归
                注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)
                示例删除目录:rm -rf /PATH/TO/DIR
                          危险操作:rm -rf /*
二. bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及示例演示
  
    1.命令执行状态返回值:
        bash通过状态返回值来输出此结果:
                成功:0
                失败:1-255
                命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
                示例
                       
    2. 命令行展开

                ~: 展开为用户的主目录
                ~USERNAME:展开为指定用户的主目录
                {}:可承载一个以逗号分隔的列表,并将其展开为多个路径
                示例/tmp/{a,b} = /tmp/a, /tmp/b
                          /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
. 使用命令行展开功能来完成以下练习。
    1.创建/tmp目录下的:a_c, a_d, b_c, b_d
                示例
                     
    2. 创建/tmp/mylinux目录下的:

  mylinux/
  I————bin
  I————boot
  II————grub
  I————dev
  I————etc
  I       I————rc. d
  I       I        I————init. d
  I       I————sysconfig
  I              I————network-scripts
  I————lib
  I       I————modules
  I————lib64
  I————proc
  I————sbin
  I————sys
                示例
                     
. 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
            1.文件的元数据包括文件名(File)、大小(Size)、数据块(Blocks)、IO块(IO Block)、设备(Device)、节点号(Inode)、硬链接(Links)、权限(Access)、文件所属主(Uid)、文件所属组(Gid)、最近访问时间(Access Time)、最近文件修改时间(Modify Time)、最近文件属性更改时间(Change Time)
           2.通过 touch 命令修改文件的时间戳信息:
                   -c:指定的文件不存在时不予创建(所有时间都会改变);
                  -a:仅修改access time(实际change time会随着改变);
                  -m:仅修改modify time(实际change time会随着改变);
                  -t:使用指定的日期时间,格式[[CC]YY]MMDDhhmm[.ss](access time和modify time为指定时间,change time为当前系统时间)
                示例
                     
. 如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
        1.通过 alias 命令可以查看所有命令的别名或者定义别名,取消别名可通过命令 unalias。
                定义别名格式:alias NAME='COMMAND'
                注意:定义的别名只对当前shell进程有效
                示例
                     
        2.引用命令的执行结果可通过 $(COMMAND) 或者 COMMAND 两种方式。
                示例[root@SilasSZL ~]#  echo $(date)
                             Sat Oct 6 09:43:05 CST 2018
. 显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
        # ls -d /var/l*[0-9]*[[:lower:]]
. 显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
        # ls -d /etc/[0-9]*[^0-9]
. 显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
        # ls -d /etc/[^[:alpha:]][[:alpha:]]*
. 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如: tfile-2016-05-27-09-32-22。
         [root@SilasSZL tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
         [root@SilasSZL tmp]# ll|grep tfile-2016-05-27-09-32-22
. 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytestl目录中。
        # cp -a /etc/p*[^0-9] /tmp/mytest1
十一. 复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
        # cp -a /etc/*.d /tmp/mytest2
十二. 复制/etc/目录下所有以1或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
        # cp -a /etc/[l,m,n]*.conf /tmp/mytest3




运维网声明 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.yunweiku.com/thread-673520-1-1.html 上篇帖子: linux中grep命令 下篇帖子: Linux基础操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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