linux学习记录(三) 鸟叔第六章:linux文件与目录管理/大量量相关命令

目录

1. 关于执行文件的路径变量:$PATH

2. 目录相关操作

2.1 cd(切换目录)

2.2 pwd(显示目前所在的目录) 

2.3 mkdir(建立新目录)

2.4 rmdir(删除空目录)

3 文件与目录管理

3.1 ls(查看文件命与目录)

3.2 cp(复制)

3.3 rm(删除文件或者目录)

3.4 mv(移动文件与目录,或者重命名)

3.5 basename与dirname(获取完整文件名的文件与目录名)

4 文件内容查看

4.1 cat(将一个文件内容连续打印在屏幕上)

4.2 tac(反向列示)

4.3 nl(添加行号打印)

4.4 more(一页一页翻动)

4.5 less(一页一页翻动,可以往上)

4.6 head(取出前面几行)

4.7 tail(取出后面几行)

4.8 od(读取非文本文件)

5 文件时间修改与创建 touch

6 默认权限与隐藏权限

6.1 umask(默认权限)

6.2 隐藏属性

6.2.1 chattr(配置隐藏属性)

6.2.2 lsattr(显示文件隐藏属性)

6.3 文件的特殊属性

6.3.1 SUID

6.3.2 SGID

6.3.3 SBIT

6.3.4 特殊权限表示

6.4 file(观察文件类型)

7 命令与文件查找

7.1 which(查找执行文件)

7.2 whereis(由特定的目录中去查找文件)

7.3 locate(在数据库中查找)

7.4 find(在实际的硬盘中查找)


1. 关于执行文件的路径变量:$PATH

        系统会根据所设置的PATH(一定是大写)路径去寻找文件名为命令的可执行文件。这也就是为什么我们可以在任何地方使用命令。注意,所有的命令都要放到PATH中,否则需要将命令的完整路径写出才能执行。例如:如果有一命令abc,在/root路径下,使用时需要完整写出绝对路径/root/abc或者相对路径来使用。

echo $PATH
显示PATH中的路径

PATH = “${PATH}:绝对路径”
将某路径加入到PATH中

2. 目录相关操作

2.1 cd(切换目录)

     进入目录可以用cd命令。

cd 目录路径             进入指定目录
cd ..                  返回上一级目录
cd -                   代表前一个工作目录
cd ../..               返回上两级目录
cd或cd ~               返回home目录

★注意两个特殊的目录:

  • . :代表当前目录,也可以用./来代表
  • .. :代表上一层目录,也可以用../来代表

2.2 pwd(显示目前所在的目录) 

pwd [-P]
-P:显示出真正的路径而非使用链接的路径

2.3 mkdir(建立新目录

mkdir [-mp] 目录名称
选项与参数:
-m:设置目录的权限(若果不加就默认使用umask设置的权限)
-p:帮助直接对所需要的目录进行递归

例:
mkdir -m 711 test2
mkdir -p test1/test2/test3  (不建议使用,如果输错名字会导致目录乱七八糟)

2.4 rmdir(删除目录)

rmdir [-p] 目录名称
-p:连通上层的空目录也删除

3 文件与目录管理

3.1 ls(查看文件命与目录)

ls [选项、参数] 文件名或者目录名称
选项与参数:
-a:显示出包括隐藏文件在内的所有文件
-d:仅列出目录本身,而不是目录内的文件数据
-l:显示出信息显示包含文件的属性与权限

ls还可以用--color={never,auto,always}控制显示的颜色{无,自动,显示}
--full-time 以完整的时间格式输出
--time={atime,ctime} 输出atime或者ctime

3.2 cp(复制)

       cp有很多用途:

  1. 复制
  2. 建立链接文件(快捷方式)
  3. 对比两文件的新旧予以更新
  4. 复制整个目录
cp [options] 源文件 目标文件
cp [options] 源文件1 源文件2 源文件3 .... 目录
选项与参数
-i:若目标文件存在则覆盖前询问
-p: 连同文件的属性(权限、用户、时间)一起复制
-r:递归复制
--perserve=all: 除了-p的权限外还加如SELinux的属性,以及links,xattr
-a:相当于 -dr --perserve=all
-l: 硬连接
-s:符号链接(快捷方式)
-d: 若源文件为链接文件则复制链接文件属性而非文件本身


例 建立链接
cp -l bashrc bashrc_slink

        cp复制后的目标文件通常是操作者本身所有。一些配置文件必须要加上-a,-p完整复制权限才可以。

3.3 rm(删除文件或者目录

rm [] 文件或者目录、
-f: 忽略不存在的文件,不会出现警告信息
-I: 删除前询问
-r: 递归删除,非常危险

例
通过通配符*,删除特定文件名
rm -i bashrc*             删除bashrc开头的文件

删除一个-开头的文件可能会被系统误判成选项,需要用相对路径来删除
rm ./-aaa-    或者    rm -- -aaa-

3.4 mv(移动文件与目录,或者重命名)

mv [] 源文件 目标文件
mv [] 源文件1 源文件2 源文件3 .... 目标文件
选项与参数
-u: 若目标文件已经存在,源文件较新的时候才会更新
-i: 覆盖前询问
-f:强制覆盖

3.5 basename与dirname(获取完整文件名的文件与目录名)

basename /etc/sysconfig/network         获取到文件名network
dirname  /etc/sysconfig/network         获取到目录名/etc/sysconfig

4 文件内容查看

4.1 cat(将一个文件内容连续打印在屏幕上)

cat [] 完整文件名
选项与参数
-n:打印出行号,空白行也会有
-b:打印出行号,但是不包括空白行
-A:列出一些特殊字符

4.2 tac(反向列示)

        一行一行反向打印在屏幕上。

4.3 nl(添加行号打印)

        与cat -n 有点不太一样,nl可以将行号进行较多的显示设计。

nl [] 文件
选项与参数:
-b: 指定行号方式,有两种:
    -b -a:空白行显示行号(类似于cat -n)
    -b -t:空白行不显示行号(默认)
-n:列出行号表示方法,有三种:
    -n -ln:行号在屏幕最左边显示
    -n -rn:行号在自己栏位最右方显示,不加0
    -n -zn:行号在自己栏位最右方显示,加0
-w:行号栏位占用的字符数

4.4 more(一页一页翻动)

more 文件
一些按键
空格键向下翻一页
enter向下翻一行
/字符串查找这个关键词
:f立刻显示文件名以及目前显示行数
q离开
b 或者ctrl+b往回翻页,只针对文件,管道不可以

4.5 less(一页一页翻动,可以往上)

less 文件

        相比于more更加的有弹性

一些按键
空格键向下翻一页
pagedown向下翻一页
pageup向上翻一页
/字符串向下查找这个关键词
?字符串向上查找这个关键词
n重复前一个查找(与? / 有关)
N反向重复前一个查找(与? / 有关)
g前进到这个数据第一行
G前进到这个数据最后一行
q离开

4.6 head(取出前面几行)

head [-n 数字] 文件
-n :后面接数字代表显示几行的意思

4.7 tail(取出后面几行)

tail [-n 数字] 文件
-n:取出几行
-f:持续刷新后面所接文件的内容,ctrl+c才会结束(用于检测持续被写入数据的文件)

4.8 od(读取非文本文件)

od [-t 类型] 文件
选项与参数:
-t: 
    a:默认字符输出
    c: 使用ASCII输出
    d: 十进制输出
    f:浮点输出
    o:八进制输出
    x:十六进制输出

5 文件时间修改与创建 touch

三种时间
修改时间(mtime)内容数据出现变化的时间
状态时间(ctime)文件的状态(属性,权限等)出现变化的时间
读取时间(atime)文件内容被读取的时间
touch [] 文件
选项与参数:
-a: 自定义atime
-c:修改文件时间,若不存在不创建新文件
-d:自定义日期 也可以使用--date=“日期”
-m: 修改mtime
-t:自定义日期 格式【YYYYMMDDhhmm】

6 默认权限与隐藏权限

6.1 umask(默认权限)

umask
直接显示默认权限所减去的权限数字 (目录默认权限777 文件默认权限666)
umask -S
以符号类型显示

例如:创建一个文件,umask是022,则666-022 为644 所以文件权限是-rw-r--r--。注意数字最好是4,2,1分别对应xwr来做权限相减,不要出现6-3即rw- - -wx = -wx这种错误的权限变换。

6.2 隐藏属性

6.2.1 chattr(配置隐藏属性)

chattr [+-=][参数] 文件或者目录名称

+:增加某一个参数
-:删除某一个参数
=:直接设置
参数:
a:只能增加数据不能删除和修改数据
i:不能被删除、改名、设置链接、也无法写入或者新增数据。

6.2.2 lsattr(显示文件隐藏属性)

lsattr [] 文件或者目录
选项与参数:
-a:显示隐藏文件的属性
-d:仅列出目录本身的属性而非目录内的文件名
-R:连同子目录的数据也列出来

6.3 文件的特殊属性

6.3.1 SUID

        文件具有SUID的特殊权限时,当用户执行此二进制程序时会暂时获得拥有者的权限。

6.3.2 SGID

        文件具有SGID的特殊权限时,当用户执行此二进制程序时会暂时获得程序用户组的支持。

        目录具有SGID的特殊权限时,当用户在这个目录下面新建的文件的用户组与该目录组相同。

6.3.3 SBIT

        目录具有SBIT的特殊权限时,当用户在这个目录下面新建的文件只有自己和root能删除。

6.3.4 特殊权限表示

        若一个文件的权限是-rws rws rwt,在user权限上的s是SUID,在group权限上的s是SGID,在others权限上的是t是SBIT。

        用chmod可以来设置特殊权限。

例
chmod 7755 test
后三个数字755代表一般的权限
第一个数字7 代表所设置的特殊权限
其中:
SUID 4 
SGID 2
SBIT 1
所以例子中设置的权限设置了所有特殊权限

6.4 file(观察文件类型)

        查看某个文件的基本数据,例如查看是数据文件或者是二进制文件或者是ASCII文件等信息

7 命令与文件查找

7.1 which(查找执行文件)

        根据PATH这个环境变量来找所规范的路径去找执行文件的文件名。

which [] 命令
-a:找出PATH中所有可以找到的命令,而不是第一个被找到的命令名称

7.2 whereis(由特定的目录中去查找文件)

whereis [] 文件名目录名

7.3 locate(在数据库中查找)

locate [] 关键词

7.4 find(在实际的硬盘中查找)

find [路径] [参数] [额外动作]

        find的参数及其多,具体的参数可以用man或者查找书203页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值