鸟哥的Linux私房菜基础学习篇(第三版)之第七章:Linux档案与目录管理

本文详细介绍了 Linux 操作系统中的常用命令行操作,包括目录与路径管理、文件查看与编辑、文件权限设置等内容,并提供了实用的例子帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 目录与路径 
      1.1 相对路径与绝对路径
      1.2 目录的相关操作:cd,pwd,mkdir,rmdir
          cd:cd~,cd /,cd ../,cd ./,cd -,cd ~username
          pwd [-P]:显示路径(passwd :配置账户密码)
               -P:显示出确实的路径,而非使用链接路径
          mkdir [-mp] diretoryname:创建目录
               -m:配置权限,mkdir -m 755 diretoryname
               -p:递归建立多级目录。
          rmdir [-p] diretoryname:只能删除没有文档的一级或多级目录
                -p:删除多级目录
      1.3 关于执行文件路径的变量:$PATH
          查看:echo $PATH
          编辑:PATH="$PATH":/root
  2. 档案与目录管理
        2.1 档案与目录检视:ls
          ls [-aAdfFhilnrRSt] 目录名
      -a 隐藏文件
      -A 不包括.与..
      -f 不进行排序
      -l 显示权限
      -F 给予附加数据结构
      -d 如果是目录,不显示目录下的具体
      -h 容量易读
      -i 列出inode号码
      -n 列出UDI与GID
      -r 将排序结果反向
      -R 连同子目录一起列出来
      -S 以档案容量大小排序
      -t 依据时间排序


          ls [--color={never,auto,always}]
          ls [--full-time]
          ls [--time={atime.ctime}]
          ll=ls -l
          全部  ls -aAdfFhilnrRSt --color=never --full-time --time=ctime
      2.2 复制,删除与移动:cp,rm,mv
          cp [-adfilprsu]  src_filename tar_filename
      -a =-pdr
      -d 复制链接的源文件
      -f force
      -i 询问是否覆盖
      -l hard link
      -p 连同属性权限一起复制
      -r 递归,目录
      -s 复制成快捷方式
      -u 更新才复制
          [\]rm [-fir] 文档或目录
      -f force
            -i 询问删除
            -r 递归
          mv [-fiu] 原文档或目录,目标文档或目录
            -f force
            -i 询问覆盖
            -u 更加新才复制
      2.3 取得路径的文件名与目录名 
          basename  取得文档名
          dirname   取得目录名
  3. 文档内容查阅
      3.1 直接检视档案内容:cat,tac,nl
          cat/tac [-AbEnTv] filename
    -A -vET
            -b 列出行号
    -E 断行字符$显示出来
            -n 列出行号,包括空行
            -T 显示[tab]键
            -v 列出以下看不出的特殊符号
           nl [-bnw] filename
          -b [at] a:不管是否为空行,仍然列出行号,t:如果有空行就不列出(默认)
      -n [ln/rn/rz] ln:行号在左边;rn:行号在右边不加0,;rz:行号在右边加0.
    -w n 行号字段的占用位数
      3.2 可翻页检视:more,less
          more filename
          less filename
    查看时输入指令
      3.3 资料攫取:head,tail
          head [-n number] 只看头几行
          tail [-n number] 只看尾巴几行
          head -n 20 /etc/man.config|tail -n 10:取出10-20行
      3.4 非纯文本档:od
          od   [-t TYPE] 用二进制方式读取
          TYPE:
      a 默认字符
    b ASCII字符
    d[size]
    f[size]
    0[size]
    x[size]
      3.5 修改档案的时间与建置新档:touch 
          档案的三个时间:
        mtime 内容变更时间
        ctime 权限与属性变更时间
        atime 内容被取用的时间
          touch [-acdmt] filename
      -a 修改 atime
        -c 修改 ctime
        -d --tate==""
        -m 修改mtime
        -t [YYMMDDhhmm]
          实例:ll a.txt;ll --time=atime a.txt;ll --time=ctime a.txt
  4. 档案与目录的默认权限与隐藏权限
       4.1 档案预设权限:umask
          umask [-S] 查看修改预设权限
        目录(777):drwxrwxrwx 对应000
        文档(666):-rw-rw-rw- 对应000
    通常是0022:表示对于目录只是644(666-022),对于目录是755(777-022)
      4.2 档案隐藏属性:chattr,lsattr(只对ext2/ext3生效)
          chattr [+-=][ASacdistu] 档案或目录
      -A 访问时间不会被修改
      -S 同步写入,一般磁盘是异步
    -a 只能增加数据,不能删除与修改
    -c 自动压缩与解压缩
    -d 不会被dump备份
    -i 让一个文档不能被删除、改名、设定连结
    -s 删除时完全移除硬盘
    -t 
    -u 与s相反
          lsattr [-adR] 档案或目录
          -a 显示隐藏文件
    -d 不显示目录内的
    -R 列出子目录
          关键属性:+a +i
      4.3 档案特殊权限:SUID,SGID,SBIT,权限设定
          档案特殊权限:SUID,SGID,SBIT(在权限的三个数字前面,分别是4,2,1)
        在rwx的x位上,还有:
        s:
          A(SUID),在owner权限位置上:仅对文件有效,非owner执行时,包含x的权限,同时,仅对二进制程序文件在执行时拥有owner的权限,实例:ls -ld /tmp;ls -l /usr/bin/passwd
          B(SGID),在group权限位置上:
      对文件时 other执行时,包含x的权限,同时,仅对二进制程序文件在执行时拥有group的权限,实例:ll /usr/bin/locate /var/lib/mlocate/mlocate.db
    对于目录 other执行时,在此目录下的有效群组将变为该目录的群组,如能新建,新建的档案的群组与此目录的群组相同
            t:(SBIT),仅对目录,在other的位置上,只有自己和root,有权限删除在该目录建立的目录或文件,实例:ls -ld /tmp
    大写的SST表示,表示没有x权限,比如chmod 7666 filename   
      4.4 观察文件类型:file
          file ~/.bashrc ;file /usr/bin/passwd 查看文件类型,属性等
  5. 指令与档案的搜寻
       5.1 脚本文件名的搜寻:which
          which [-a] command  查找PATH路径下的指令路径,-a 表示所有由PATH目录中可以找到的指令全部列出来,which cd是特例,例如 which -a which
      5.2 档案档名的搜寻:whereis ,locate,find
          查找文件命令优先级:whereis,locate,find(前面两个是在一个记录所有档案的数据库中查找,很快,后者是硬盘查找很慢)
    whereis [-bmsu] 文件名或目录名
       -b 只找binary格式
       -m 只在manual路径下找
       -s 只找source来源文件
       -u 其他
    locate [-ir] (部门)文件或目录名,在数据库/var/lib/mlocate/里面搜索,用updatedb命令去根据/etc/updatedb.conf更新
       -i 忽略大小写
       -r 正则表达式的显示方式
    find [PATH] [option] [action]
       A:
       find / [-mtime/-ctime/atime] [n,+n,-n]
       find /etc -newer /etc/passwd
       B:
       -uid n,-gid n,-user name,-group name,-nouser,-nogroup
       find / -nouser
       find /home -user ckt
       C:
       -name filename                 find / -name *passwd*     
       -size [+-]SIZE(k,c)            find / -size +10k
       -type TYPE(f,b,c,d,l,s,p)      find /var -type s
       -perm [+-]mode(4755)           find / -perm +7000 只要包含s或t就列出来,find / -perm -7000要包含---s--s--t所有三个权限
       D:额外的动作
       -exec command                  find /bin -perm +6000 -exec ls -l {} \; 
       -print
  6. 指令与指令间的关系
      
  7. 提及的重要指令
      passwd 修改电脑账户密码
      ipconfig eth0
      rename
      du 计算文件或目录占用磁盘大小
      passwd 修改电脑账户密码
      两次tab查看所有可用的命令,su - ckt切换账号,而adb shell 用 su id adb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值