鸟哥的linux私房菜学习笔记_linux文件与目录管理

发布时间:2020-08-03编辑:脚本学堂
本文是鸟哥的linux私房菜学习笔记的第六部分,有关linux文件与目录管理的内容,需要的朋友参考下。

在学习linux系统的管理过程中,接触更多的就是linux文件与目录的管理,因为说白了linux文件与目录是整个系统的核心,掌握了这部分的内容,相信你对linux已非常熟悉了。

本节《鸟哥的linux私房菜》就为大家分享linux文件与目录管理的一些基础知识,以及相关命令cp、rm、cat命令、lsattr、chmod命令等用法。

1、目录与路径
1.1 目录操作
cd - :回到上一级工作目录

示例:从下面的例子中体会cd -的含义,pwd命令输出当前工作命令
 

$pwd
/home/usrname/Document
$cd Manual/Latex
$pwd
/home/usrname/Document/Manual/Latex
$cd -
$pwd /home/usrname/Document

1.2 环境变量PATH
作用:在PATH指明的路径中依次搜索需要执行的命令
显示: $ echo $PATH /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
修改
path="$PATH":/xxx/xxx
注意:root和一般用户的PATH是不同的,所以它们可以执行的命令也不同

2、文件与目录管理
2.1 cp
 

功能:复制文件,目录,建立链接
cp a.c b.c
cp -s a.c as.c #建立软链接(符号链接)
cp -l a.c al.c #建立硬链接
注意:复制文件时要特别注意文件的权限是否需要变化
 

2.2 mv
2.3 rm
2.4 取得文件名或目录名
 

basename: basename ~/tmp/lab # 输出lab
dirname: dirname ~/tmp/lab # 输出/home/usrname/tmp

3、文件内容查询
3.1 cat/tac
3.2 head/tail
取文件10-20行:head -n 20 man.config | tail -n 10
3.3 more/less
less 可向上翻页哦
3.4 od
可读取非纯文本文档
3.5 文件的三个时间
3.5.1 时间
 

modification time (mtime)
status time (ctime)
access time (atime)
 

3.5.2 显示
 

ls -l –time=ctime
ls -l –time=atime
 

3.5.3 修改
touch

4、文件与目录的默认权限与隐藏权限
4.1 隐藏权限
查看与修改:lsattr/chattr
功能
atime不变
同步写入磁盘
只能增加数据,不能减少,不能修改
自动压缩
不删,不改,不连结
即使删除也还在硬盘上

4.2 默认权限
查看:
umask #0002
最后的002表示的是三种个体被去除的权限,0表示没有被去除,u=rwx
注意:文件是在rw-rw-rw-的基础上去除权限的,目录是在rwxrwxrwx的基础上去除权限
新建文件的权限是:-rw-rw-r--
新建目录的权限是:drwxrwxr-x
umask -S #u=rwx,g=rwx,o=rx
修改:
umask 022 #这样,再执行umask 时就会返回022

4.3 特殊权限:SUID,SGID,SBIT
SUID
作用:程序的权限中,如果x的位置显示的是s,那么这个程序有SUID权限,普通用户调用这个程序 可以暂时得到root权限,所以普通用户才能修改自己的密码,但密码文件却属于root用户。
设置:chmod 4755 filename
4:SUID,755:原来的rwx权限
2:SGID
1:SBIT
4.4 查看文件类型:file
 

file t.s # t.s: ASCII assembler program text

5、文件与命令搜索
5.1 which
功能:查找PATH路径下的命令
使用:which ls #/bin/ls
5.2 whereis/locate/find
注意:
whereis与locate按数据库查找,所以比较快,先用它们查,找不到再用find find 是在硬盘上找。

更新数据库:updatedb
find:可以指定时间,用户,大小,权限等等作为查找的依据