Linux基础篇3-bash基础特性和目录文件类命令

学习linux记录:

  1. bash基础特性
    1. History:查看历史命令
      1. 环境变量
        1. HISTFILE:.bath_history
        2. HISTSIZE:1000
        3. HISTCONTROL:
          1. ignoredups:忽略连续重复
          2. Ignorespace:忽略空格开头命令
          3. ignoreboth:忽略连续重复和空格开头命令
          4. 没有意义字符串:不忽略命令
      2. History [optinon]
        1. -a,将缓存中的历史记录保存到磁盘文件中
        2. -d #,将#条命令删除,查看是缓存中删除还是文件中删除?
        3. -c,清除缓存中的history记录。
        4. #,显示最近n条指令
        5. 历史命令调用
          1. !#,调用第#条命令
          2. !!,调用上一个命令
          3. !string,调用上一个包含string的命令
        6. 调用上一条命令的最后一个参数
          1. !$
          2. Esc,.
    2. 命令补全
      1. 内部命令,shell内建命令,直接在shell中实现
      2. 外部命令,shell根据光标左侧的字符串在PATH路径中从左到右寻找,给出所有的选择,如果唯一则按tab直接补全,如果不唯一,双击tab会给出所有选择。
    3. 路径补全
      1. 按用户给的名称,在指定的上级目录下搜索以指定名称开头的字符串
      2. 如果唯一,则补全,否则双击tab给出所有选择。
    4. 命令行展开
      1. ~:展开为当前用户家目录
      2. ~USERNAME:展开为指定用户家目录
      3. 可承载以逗号分隔的列表:
        1. /tmp/{a,b}=/tmp/a /tmp/b
        2. /tmp/{a,b}/etc=/tmp/a/etc /tmp/b/etc
    5. 程序返回结果
      1. $?:0表示执行成功,1-255表示执行失败
  2. 目录管理类命令(ls pwd cd mkdir rmdir tree)
    1. 创建目录
      1. Mkdir [option] filePath(make directories)
        1. -m filePath:创建文件以指定的权限,例如mkdir 777 aa,mkdir a=rwxrwxrwx aa
        2. -p filePath:如果文件已存在不会报错,如果父文件不存在则创建父文件
        3. -v filePath:显示创建文件的详情
    2. 查看目录
      1. Ls [options] [file](list diractory contents)
        1. -a:列出指定目录所有文件
        2. -d:查看目录,ls -d */
        3. -l:列出指定目录下内容以长格式
          1. 示例:drwxrwxrwx. 20  501  501 4096 Oct 23 22:52 quagga-0.99.15/
          2. 最左侧表示类型
            1. d:目录
            2. -:文件
            3. l:软链接
            4. b:块文件
            5. c:字符设备文件
            6. p:管道文件
            7. s:套接字文件
          3. rwxrwxrwx:第2位到第10位表示权限,从左到右表示owner,group,other权限
          4. 20表示被硬链接次数
          5. 501 501表示owner group
          6. 4096表示大小,默认单位是字节
          7. Oct 23 22:52表示最后的修改时间
        4. -h:可读,搭配-l使用将单位转换成K,M,G
        5. -r:逆序展示
        6. -t:按时间顺序展示,越新约靠上。
        7. --author:搭配-l使用,展示文件的作者,实验看的是输出了owner,group,owner
        8. --color:一般是auto,还有always,never,never字体没颜色,初步测试always和auto一样
        9. centos系统中ls是有别名的,alias ls='ls --color=auto'
        10. 还有很多展示功能见man ls
      2. Pwd [options](输出当前工作目录)
      3. Cd [options] [dir] (切换当前目录到指定目录)
        1. Cd ~:切换到家目录
        2. 不加dir,cd默认切换到家目录,
        3. ..:上一级目录
        4. ./:当前目录
        5. -:上一次工作目录
        6. PWD:环境变量,存储当前工作目录
        7. OLDPWD:环境变量,存储上一次工作目录
        8. HOME:环境变量,存储cd默认切换目录和~表示目录
        9. /:根目录,dir以/开头,shell不会去寻找环境变量
      4. Tree [options] [dir](列出指定目录的所有内容并以树结构展示)
        1. -a:列出所有类型文件,包含隐藏文件
        2. -d:只列出目录
        3. -R:递归列出指定目录下所有类型文件,包含子目录,测试和tree没啥区别
        4. -L #:列出指定级别的文件,#>0
        5. -f:展示的树结构所有文件都展示绝对路径
        6. -P:只显示指定patter匹配到的路径
    3. 删除目录
      1. Rmdir [options][dir](删除空的目录)
        1. --ignore-fail-on-non-empty:忽略删除非空目录的报错,目录还存在
        2. -p:删除目录和他的父目录,目录必须为空
        3. -v:显示删除目录的详细信息
  3. 文件类命令(cat tac less more tail head file stat touch rm)
    1. 查看文件内容
      1. Cat [options] files 链接文件并输出
        1. 如果不指定文件则链接标准输入输出
        2. -n:输出所有行的行号
        3. -E:输出时每行行尾都带$
        4. tac,反顺序输出
        5. -b:输出行号,遇到空行则跳过编号
      2. Less [opeions] [filePath]查看指定路径文件,可以向前后翻页和搜索等功能。
        1. 向文件尾翻页:space,f,z
        2. 向文件首翻页:b,w,ESC+v
        3. 向文件尾翻半页:d
        4. 向文件首翻半页:u
        5. 向文件尾翻1行:向下,e,j
        6. 向文件首翻1行:向上,y,k
        7. 到指定行:#,G
        8. 跳转到文件尾部:g
        9. 跳转到文件首部:G
        10. 向文件尾搜索指定字符串:/string
          1. 向文件尾翻:n
          2. 向文件首翻:N
        11. 向文件首部搜索指定字符串:?string
        12. 设置环境变量使less带行号:export LESS="-N"
      3. More [options] [filePath]
        1. 向文件尾部翻页:space
      4. Tail [options] [filePath] 输出文件尾部
        1. -c:从尾部输出#个byte数据
        2. -n:从尾部输出#行数据
        3. -f:从尾部输出10行数据并持续输出
      5. Head [options][filePath]输出文件首部
        1. -c:从首部输出#个byte数据
        2. -n:从首部输出#行数据
    2. 查看文件元数据
      1. Stat [options] [filePath] 输出文件或者文件系统状态
    3. 创建文件
      1. Touch [options] [filePath]改变文件时间戳
    4. 删除文件
      1. Rm [options] [filePath]删除文件或目录
  4. 练习
    1. 创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b
      1. Mkdir -p /tmp/x/{y1,y2}/{a,b}
    2. 创建x_m,x_n,y_m,y_n
      1. Mkdir -p /{x,y}_{m,n}
    3. 创建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,/tmp/usr/sbin
      1. Mkdir /tmp/{bin,sbin,usr/{bin,sbin}}

  • 19
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值