Linux文件管理和编辑常用命令

mkdir 命令

  1. 功能说明

    mkdir 命令用于创建一个目录,mkdir是make directory的缩写

    格式:
mkdir [选项] 目录名

mkdir 命令的选项及说明

-m	对新建目录设置存取权限
-p 可以指定一个路径名称(一次创建多个目录)
  1. 简单示例

    在/home目录下创建user1目录,同时在user01目录下创建user2目录
[root@cinder01 ~]# mkdir -p /home/user1/user2
[root@cinder01 ~]# cd /home/user1/user2/
[root@cinder01 user2]# pwd
/home/user1/user2

mkdir 命令

  1. 功能说明

    more命令读取文本文件时,每次显示一屏,并且在每屏后暂停。

    格式:
more [选项] 文件名

more命令的选项及其说明

-d	在屏幕底部more提示符显示友好提示
-s 将输出文件中的多个空行减少为只有一个空行输出,以第一行为准
-p 先清除显示屏以前的信息,再显示文本信息
-c 显示文件时,每屏都清除屏幕先前的信息,然后从最顶端显示出来
  1. 简单示例

    分页显示yum.log文件内容
[root@cinder01 ~]# more yum.log

显示yum.log文件内容,每10行显示一屏,同时清屏

[root@cinder01 ~]# more -c -10 yum.log

cat 命令

  1. 功能说明

    cat 命令用来将文件内容输出到标准输出,同时cat可以用于连接合并文件

    格式:
cat [选项] 文件名

cat 文件1 文件2 > 文件3

cat选项及其说明

-A	将文件中的制表符显示为“^I”,同时在每行的末尾显示一下“$”符号
-b 将文件中的所有非空行按顺序编号,编号从1开始
-n 显示文件行号(包括空行)
  1. 简单示例

    查看config文件内容,同时将文件中的制表符显示为“^I”,并对非空行编号
[root@cinder01 ~]# cat -Ab /etc/selinux/config
$
1 # This file controls the state of SELinux on the system.$
2 # SELINUX= can take one of these three values:$
3 # enforcing - SELinux security policy is enforced.$
4 # permissive - SELinux prints warnings instead of enforcing.$
5 # disabled - No SELinux policy is loaded.$
6 SELINUX=disabled$
7 # SELINUXTYPE= can take one of three two values:$
8 # targeted - Targeted processes are protected,$
9 # minimum - Modification of targeted policy. Only selected processes are protected. $
10 # mls - Multi Level Security protection.$
11 SELINUXTYPE=targeted $
$
$
[root@cinder01 ~]#

将两个文档合并输出到第三个文件中

[root@cinder01 ~]# echo "This is file1.txt" > file1.txt
[root@cinder01 ~]#
[root@cinder01 ~]# echo "This is file2.txt" > file2.txt
[root@cinder01 ~]#
[root@cinder01 ~]# cat file1.txt file2.txt > file3.txt
[root@cinder01 ~]#
[root@cinder01 ~]# more file3.txt
This is file1.txt
This is file2.txt
[root@cinder01 ~]#

diff 命令

  1. 功能介绍

    diff 命令用于比较两个文件的差异。diff以逐行的方式比较文件的异同,如果指定的是目录,则比较目录中文件名相同的文件,不会比较子目录。

    格式:
diff [选项]文件1 文件2

diff 选项及其说明

-c	显示全部内容,并标出不同之处
-b 忽略尾行的空格,同时字符串中的一个或多个空格都视为相同
-r 当文件1和文件2为目录时,会比较子目录的文件
-s 当两个文件相同时,显示文件的相同信息
  1. 简单示例

    比较文件file1.txt file2.txt 的异同
    [root@cinder01 ~]# diff file1.txt file2.txt
1c1
< This is file1.txt
---
> This is file2.txt
[root@cinder01 ~]# diff file1.txt file3.txt
1a2
> This is file2.txt
[root@cinder01 ~]#
[root@cinder01 ~]# diff -c file1.txt file3.txt
*** file1.txt 2017-08-26 23:06:21.583437621 +0800
--- file3.txt 2017-08-26 23:07:01.678173298 +0800
***************
*** 1 ****
--- 1,2 ----
This is file1.txt
+ This is file2.txt
[root@cinder01 ~]#

grep 命令

  1. 功能说明

    grep命令是linux下文本过滤工具,grep根据指定的字符串,对文本的每一行进行搜索,如果找到这个字符串,就输出该行的内容

    格式
grep [选项] 需要查找的字符串文件名

grep 命令的选项的常用选项说明

-A NUM	除了列出符合条件的行外,同时列出每个符合条件的后NUM行
-c 只显示符合条件的行数,而不显示每行的具体信息
-f file 事先将要搜索的样式写入一个文件中,每行一个样式,然后以这个文件作为条件进行搜索
-i 搜索时忽略大小写
-n 在搜索结果中显示行号
-B 与选项“-A”相反,除了列出符合条件的行外,同时列出每个符合条件行的钱NUM行
  1. 简单示例

    列出config文件中含有disabled字符串的行
[root@cinder01 ~]# grep disabled config
# disabled - No SELinux policy is loaded.
SELINUX=disabled
[root@cinder01 ~]#

列出config文件中含有disabled字符串的行,并标识每行的具体行号

[root@cinder01 ~]# grep -n disabled config
6:# disabled - No SELinux policy is loaded.
7:SELINUX=disabled
[root@cinder01 ~]#

rm 命令

  1. 功能说明

    rm 命令用来删除某个目录及其下的所有文件及子目录,对于链接文件,只是断开链接,原文件不变

    格式
rm [选项] 文件或者目录

rm 命令的选项及说明

-r	告诉rm将选项中列出的全部目录以及子目录文件均递归删除,如果不指定"-r"选项,“rm”命令不能删除非空目录
-f 忽略不存在问题,也不给出提示
-i 交互式删除,即在删除前确认
  1. 简单示例

    删除 file3文件
[root@cinder01 ~]# rm -rf file3.txt

[注:]使用命令结合“rm -rf”时需小心,因为文件一旦删除,就不能不想恢复,建议使用“-i”选项,在删除时,再确认是否要删除文件


touch 命令

  1. 功能说明

    touch 命令用来改变指定文件的访问时间和修改时间,若指定文件不存在则创建此文件,若不指定时间,则使用当前时间
touch [选项] 设定的时间文件

touch命令的选项及其说明

-a	改变文件的访问时间为系统当前时间,无须设置时间选项
-m 改变文件的修改时间为系统当前时间,无须设置时间格式
-c 如果文件不存在,不创建也不提升
-d 或 -t 使用指定的日期或时间
-r<参考文件或目录> 把指定文件或目录的日期,时间都设定成和参考文件或目录的日期,时间相同
  1. 简单示例

    touch命令的操作实例,“#”号后面的内容为命令注释
[root@cinder01 ~]# touch test.txt  # 创建一个文件test.txt
[root@cinder01 ~]# ls -l test.txt # 显示文件创建时间
-rw-r--r-- 1 root root 0 Aug 27 00:49 test.txt
[root@cinder01 ~]# date # 系统当前时间
Sun Aug 27 00:50:06 CST 2017
[root@cinder01 ~]# ls -lu test.txt
-rw-r--r-- 1 root root 0 Aug 27 00:49 test.txt
[root@cinder01 ~]# touch -a test.txt # 改变文件访问时间为系统当前时间
[root@cinder01 ~]#
[root@cinder01 ~]# ls -lu test.txt
-rw-r--r-- 1 root root 0 Aug 27 00:50 test.txt
[root@cinder01 ~]#
[root@cinder01 ~]# touch -m test.txt # 改变文件的修改时间为系统当前时间
[root@cinder01 ~]#
[root@cinder01 ~]# ls -l test.txt
-rw-r--r-- 1 root root 0 Aug 27 00:50 test.txt
[root@cinder01 ~]#
[root@cinder01 ~]#

ln 命令

  1. 功能说明

    ln 命令用来在文件或目录之间创建链接

    linux 环境下有硬链接和软连接两种

    硬链接:是指通过文件的incode来进行链接

    软链接:是一个指向真正文件或者目录位置的符号连接(类似于windows系统的快捷方式)

    格式:
ln [选项] 源文件 目标链接名

ln命令选项及其说明

-f	如果在目标位置存在与链接名相同的文件,这个文件将被删除
-s 进行软链接
-d 允许系统管理员硬链接自己的目录
-b 对将在链接时会被覆盖或者删除的文件进行备份
  1. 简单示例

    将/etc/inittab文件进行硬链接到/opt/backup目录下(此时,backup目录下会生成一个inittab文件,与源文件内容相同)
[root@cinder01 ~]# ln /etc/inittab /opt/backup/inittab

将/etc/inittab文件进行软链接到/opt目录下

[root@cinder01 ~]# ln -s /etc/inittab /opt/
[root@cinder01 ~]# ls -l /opt/
total 4
lrwxrwxrwx 1 root root 12 Aug 27 01:08 inittab -> /etc/inittab
[root@cinder01 ~]#

file 命令

  1. 功能说明

    file命令用来显示文件的类型,对于长度为0的文件,将识别为空文件,对于符号连接文件,默认情况下将显示符号链接引用的真实文件路径

    格式
file [选项] 文件名

file命令的选项及说明

-b	显示文件类型结果,不显示对应文件名称
-L 直接显示符号链接所指向文件的类型
-z 显示压缩文件的信息
-i 如果文件不是常规文件,则不进一步对文件类型进行分类
  1. 简单示例

    显示/etc/init.d/network文件类型,显示结果为shell可执行文件
[root@cinder01 ~]# file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script, ASCII text executable
[root@cinder01 ~]#

显示/bin/sh文件的类型,显示结果为符号链接文件

[root@cinder01 ~]# file /bin/sh
/bin/sh: symbolic link to `bash'
[root@cinder01 ~]#

显示file1.txt文件类型。显示结果为ASCII文件文本

[root@cinder01 ~]# file file1.txt
file1.txt: ASCII text
[root@cinder01 ~]#

显示/dev/sda1文件类型,显示结果为块设备文件

[root@cinder01 ~]# file /dev/sda1
/dev/sda1: block special
[root@cinder01 ~]#

cp 命令

  1. 功能说明

    cp命令用来将给出的文件或者目录复制到另一个文件或者目录

    格式:
cp [选项] 源文件母子目录 目标文件或者目录

cp命令的选项及其说明

-a	在复制目录时使用,它保留所有信息,包含文件链接,文件属性,并递归地复制目录
-r 若给出的原文件是一个目录文件,此时cp将递归复制该目录下所有的子目录和文件
-d 复制时保留链接,这样不会失去链接文件
-p 保留文件的修改时间和存取权限
-i 如果已经有相同文件名的目标文件,则提示用户是否覆盖
  1. 简单示例

    将当前目录下的所有文件复制到/tmp目录下,“./*”表示当前目录下所有文件和目录
[root@cinder01 ~]# cp -r ./* /tmp

将/home目录下的目录及子目录全部复制到/tmp目录下

[root@cinder01 ~]# cp -r /home/ /tmp/

find 命令

  1. 功能说明

    find 命令用于在指定的路径下查找指定的文件

    格式:
find path-name[-options] [-print -exec -ok命令 {} \;]

选项说明:

    -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的子目录开始查找;
-expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号连接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help或——help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
-iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
-links<连接数目>:查找符合指定的硬连接数目的文件或目录;
-iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
-maxdepth<目录层级>:设置最大目录层级;
-mindepth<目录层级>:设置最小目录层级;
-mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mount:此参数的效果和指定“-xdev”相同;
-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-nogroup:找出不属于本地主机群组识别码的文件或目录;
-noleaf:不去考虑目录至少需拥有两个硬连接存在;
-nouser:找出不属于本地主机用户识别码的文件或目录;
-ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
-path<范本样式>:指定字符串作为寻找目录的范本样式;
-perm<权限数值>:查找符合指定的权限数值的文件或目录;
-print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
-print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
-prune:不寻找字符串作为寻找文件或目录的范本样式;
-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:将find指令的回传值皆设为True;
-type<文件类型>:只寻找符合指定的文件类型的文件;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-version或——version:显示版本信息;
-xdev:将范围局限在先行的文件系统中;
-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。
  1. 简单示例

    列出当前目录及子目录下所有文件和文件夹
[root@cinder01 ~]# find .

在/home目录下查找以.txt结尾的文件名

[root@cinder01 ~]# find /home -name "*.txt"

同上,但忽略大小写

[root@cinder01 ~]# find /home -iname "*.txt"

当前目录及子目录下查找所有以.txt和.pdf结尾的文件

[root@cinder01 ~]#  find . \( -name "*.txt" -o -name "*.pdf" \)

[root@cinder01 ~]# find . -name "*.txt" -o -name "*.pdf"

匹配文件路径或者文件

[root@cinder01 ~]#  find /usr/ -path "*local*"

基于正则表达式匹配文件路径

[root@cinder01 ~]# find . -regex ".*\(\.txt\|\.pdf\)$"

split 命令

  1. 功能说明

    split命令用于分割文档,将一个文档分拆成几个

    格式:
split [选项] [input_file] [output_file]

split命令选项说明

-b size	指定分割出来的文件大小,size可以加入单位,b表示512字节,k表示1KB,m表示1MB
-n 将“n”指定分割的每个文件的长度,默认为1000行
-d 将split命令生成的文件序列以数字形式命名
-a 指定split命令生成的文件序列的长度,默认长度为2
  • input_file: 需要分割的文件
  • output_file: 分割出来的文件序列,split命令分割后生成的文件序列依次排序
  1. 简单示例

    将messages-20170925文件分割,设定每个分割文件的大小为10KB
[root@cinder01 ~]# split -b 10k messages-20170925 messages

mv 命令

  1. 功能说明

    mv命令用来将文件或者目录改名或者将文件由一个目录移动到另一个目录下

    格式:
mv [选项] 源文件或者目录 目标文件或者目录

mv命令的选项及其说明

-i	交互式操作,在对已经存在的文件或者目录覆盖时,系统会询问是否覆盖
-f 禁止交互式操作,在mv将要覆盖文件或者目录时,不提示任何提示,默认覆盖
  1. 简单示例

    修改文件名,将12333.jpg重命名为1111.jpg
[root@cinder01 ~]# mv 12333.jpg 1111.jpg

Linux文件管理和编辑常用命令的更多相关文章

  1. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  2. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  3. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  4. Linux 文件夹相关常用命令

    Linux 文件夹相关常用命令 查看 ls -la -l 列出详细信息 -a 列出全部,包括.和.. 删除 rm <folder> -rf  -r  就是向下递归,不管有多少级目录,一并删 ...

  5. Linux系统管理和维护常用命令

    Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...

  6. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  7. [转帖]「日常小记」linux中强大且常用命令:find、grep

    「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...

  8. Linux 系统运维常用命令

    1 文件管理2 软件管理3 系统管理4 服务管理5 网络管理6 磁盘管理7 用户管理8 脚本相关9 服务配置==================================------------ ...

  9. Linux(Ubuntu)常用命令 & vim基本操作

    Linux先知: Linux历史: 关于这个我就不再多说了,其实是一个很有意思的故事串,网上找下一大堆. 类Unix系统目录结构: ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面 ...

随机推荐

  1. 时间序列分析工具箱——sweep

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/81977856 作者:徐瑞龙.量化分析师,R语言中文 ...

  2. what's the 套期保值

    出自 MBA智库百科(https://wiki.mbalib.com/) 什么是套期保值 套期保值是指把期货市场当作转移价格风险的场所,利用期货合约作为将来在现货市场上买卖商品的临时替代物,对其现在买 ...

  3. vue中filter的用法

    test() { var arr1 = ["A", "B", "C","C","A"]; var r ...

  4. 转换区别json

    private Date EndDate ; private Instant xxxxdate; private LocalDateTime localDateTime; public static ...

  5. git add 所有文件

    git add 多个文件的格式介绍 git提交修改之前要add然后commit,假如我用git clone远程服务器文件到本地,然后我如果修改了其中几个文件要提交,我必须一个个的如: $git add ...

  6. 【LeetCode每天一题】Longest Substring Without Repeating Characters(最长无重复的字串)

    Given a string, find the length of the longest substring without repeating characters. Example 1:    ...

  7. SQL简单操作

    删除表数据,保留表结构: delete from employee 将删除所有的记录 delete from employee where lastname = 'May' 这条语句是从emplyee ...

  8. MyBatis SpringMVC映射配置注意

    applicationContext.xml中要配置 <!-- MyBatis 的 sqlSessionFactory --> <bean id="sqlSessionFa ...

  9. JAVA编程思想学习笔记5-chap13-15-斗之气5段

    1.String对象不可变,一旦发生字符变换或者变长度,一定是新建了一个String private final char value[]; 2.字符串+与+=:唯二操作符重载 "aaa&q ...

  10. cocos2d-js 遮挡层(禁止触摸事件传递层)

    在游戏中,我们经常会碰到一些弹窗,这些弹窗禁止点透,也就是禁止触摸事件传递到底层,我们称之为遮挡层,这些遮挡层,需要开发遮挡层,我们首先得了解cocos2d-js的触摸传递机制,本文主要针对cocos ...