linux 常用命令详解_持续整理

一、文件管理命令

1、mv
2、cat
3、chmod
4、chown
5、cp
6、find
7、grep

一、文件管理命令

1、mv

1、修改文件名称或目录名称
2、将文件或目录移入其它位置

1.1、语法:

mv [options] source dest
mv [options] source... directory

1.2、参数说明

选项参数说明
-b当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n不要覆盖任何已存在的文件或目录。
-u当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

1.3、实例:

修改文件名称

mv 源文件名 目标文件名
# 将a文件重命名为b,如果b文件存在,则覆盖b文件
mv a.txt b.txt

2、cat

连接文件并打印到标准输出设备上

1、语法

选项参数说明
-n–number 由 1 开始对所有输出的行数编号
-b–number-nonblank 和 -n 相似,只不过对于空白行不编号
-s–squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

2、实例

  1. 一次输出整个文件内容,并附带行号

    cat -n cat.txt
    
  2. 创建文件,并把标准输入 输出到文件中

    cat<<EOF,以EOF为标准输入结束
    
    cat <<EOF > cat_1104.txt
    abcd
    
    efg
    EOF
    

    在这里插入图片描述

    cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束
    
    cat > cat_20201104.txt
    

在这里插入图片描述

  1. 把几个文件的内容,附加行号(空白行不加)合成一个文件

    cat -b cat.txt cat_20201104.txt > cat_all.txt
    

    在这里插入图片描述

    1. 反向输出,将文件从尾到头输出到标准输出上
    tac cat_all.txt
    

在这里插入图片描述

3、chmod

控制用户对文件的权限的命令
文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
只有文件所有者和超级用户可以修改文件或目录的权限

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
3.1、语法

chmod [-cfvR] [--help] [--version] mode file...

参数说明

mode : 权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

权限范围说明
u目录或文件的拥有者
g与该目录或文件的拥有者属于同一个群组(group)者
o表示其他以外的人
a所有的用户和群组
权限权限代号说明
r4表示可读取
w2表示可写入
x1表示可执行
-0表示删除
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

其他参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

3.2、实例:

  1. 给所有用户增加可执行权限

    chmod a+x while.sh
    

    在这里插入图片描述

  2. 当前用户仅保留读的权限

    chmod u=r while.sh
    

    在这里插入图片描述

  3. 删除所有用户和组的读写执行权限

    chmod a-rwx while.sh
    
  4. 为用户赋予读写权限,所属组赋予可读权限

    chmod u+rw,g+r while.sh
    

    在这里插入图片描述

  5. 为当前用户赋予读、写、可执行权限,为所属组和其他人赋予可读权限(通过权限代号)

    chmod 744 while.sh
    

    在这里插入图片描述

4、chown

设置文件所有者和文件关联组的命令

1、语法

chown [-cfhvR] [--help] [--version] user[:group] file...

参数说明:

参数说明
user新的文件拥有者的使用者 ID
group新的文件拥有者的使用者组(group)
-c显示更改的部分的信息
-f忽略错误信息
-h修复符号链接
-v显示详细的处理信息
-R处理指定目录以及其子目录下的所有文件
–help显示辅助说明
–version显示版本

2、实例

  1. 修改文件的所属用户和所属组

    chown lanlan:lanlan while.sh
    # 效果等同于chown lanlan: while.sh
    
  2. 仅改变文件的所属群组

    chown :root while.sh
    

    在这里插入图片描述

  3. 仅修改文件所属用户,并显示更改部分的信息(-c)

    chown -c bigdata while.sh
    

    在这里插入图片描述

5.cp

主要用于复制文件或目录

5.1、语法

cp [options] source dest
或者
cp [options] source... directory

参数说明:

参数说明
-a此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f覆盖已经存在的目标文件而不给出提示。
-i与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l不复制文件,只是生成链接文件。

5.2、实例:

  1. 复制一份当前目录下的文件,若目标文件存在,进行提示

    cp -i test.sh test2.sh
    

    在这里插入图片描述

  2. 拷贝文件夹下所有目录和文件到目标文件夹

    源文件夹在这里插入图片描述

    cp -r test/ mycopy/
    

    目标文件夹
    在这里插入图片描述

  3. 为相应文件创建软链接

    cp -s while.sh s_while.sh
    

    在这里插入图片描述

6、find

用来在指定目录下查找文件
任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

6.1、语法

参数说明
amin n在过去 n 分钟内被读取过
anewer file比文件 file 更晚被读取过的文件
atime n在过去n天内被读取过的文件
cmin n在过去 n 分钟内被修改过
cnewer file比文件 file 更新的文件
ctime n在过去n天内被修改过的文件
empty空的文件-gid n or -group name , gid 是 n 或是 group 名称是 name
ipath p, -path p路径名称符合 p 的文件,ipath 会忽略大小写
name name, -iname name文件名称符合 name 的文件。iname 会忽略大小写
size n文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
type c文件类型是 c 的文件。

按类型读取文件时的命令说明

命令说明
c字符设备文件
d目录
c字型装置文件
b块设备文件
p管道文件
f一般文件
l符号连结

6.2、实例:

  1. 过去一天内查询过的文件

    find -atime -1
    

    在这里插入图片描述

  2. 过去5分钟内查询过的文件

    find -amin 5
    

    在这里插入图片描述

  3. 过去一天内修改过的文件

    find -ctime -1
    

    在这里插入图片描述

  4. 查询当前目录下c开头的文件

    find ./ -name 'c*'
    

    在这里插入图片描述

  5. 查询权限为744的文件

    find -perm 744
    

在这里插入图片描述

7、grep

用于查找文件里符合条件的字符串
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

7.1、语法:

grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
或者grep [option] pattern file/dir

参数说明

参数说明
-a 或 --text不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数>除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数>除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count计算符合样式的列数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数>除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> 或 --directories=<动作>当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式>指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp将样式为延伸的正则表达式来使用。
-f<规则文件> 或 --file=<规则文件>指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp将样式视为固定字符串的列表。
-i 或 --ignore-case忽略字符大小写的差别。
-l 或 --file-with-matches列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number显示匹配内容所在行数。
-o 或 --only-matching只显示匹配PATTERN 部分。
-v 或 --invert-match显示不包含匹配文本的所有行。
-R递归查找文件
  1. 查找出后缀为sh的文件,且文件中包含t字符的当前行数据

    grep t *sh
    

    在这里插入图片描述

  2. 递归查找某目录下含有指定字符的当前行数据

    grep -r in loop/
    

    在这里插入图片描述

  3. 匹配指定范围内的字符

    匹配含有i和I的行数据

    grep [iI]  grep.txt
    

    在这里插入图片描述
    匹配含有a-f范围内字母的行数据

    grep [a-f] grep.txt
    

    在这里插入图片描述
    匹配含有不在a-f范围内字母的行数据

    grep [^a-f] grep.txt
    

    在这里插入图片描述
    匹配指定字符串

    grep '\(are\)' grep.txt
    

    在这里插入图片描述
    匹配L开头的单词的所在行数据

    grep '\<L' grep.txt
    

    在这里插入图片描述
    匹配iIL三个字母开头的单词的所在行

    grep '\<[iIL]' grep.txt
    

    在这里插入图片描述
    匹配含有以u结尾的单词的所在行数据

    grep 'u\>' grep.txt
    

    在这里插入图片描述
    含有连续的重复2次的l字母所在行数据

    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值