Linux增删改查

Linux作者介绍

 林纳斯 托瓦兹(一个有头发的)(图片来源于网络)

linux 创始人: 林纳斯 托瓦兹
linux 诞生于: 1991年 作者上大学期间
诞生原因:

  1. 因为创始人 经常需要浏览新闻和处理邮件, 为了方便 读写 和 下载, 所以开发了 文件系统, 当时 21岁.
  2. linux是开源免费
  3. 后来经过全世界网友的支持, 现在能够兼容多种硬件

常用命令介绍

命令 对应英文 作用
ls list 查看当前目录下的内容
pwd print working derectory 查看当前所在文件夹
cd (空格) [目录名] change directory 切换文件夹
touch(空格) [文件名] touch 如果文件不存在, 新建文件
mkdir(空格)[目录名] make directory 创建目录
rm(空格)[文件名] remove 删除指定的文件名
clear clear 清屏

注意:Linux系统区分大小写,特别注意空格

文件夹和文件增删改查

增:

注:对文件夹和文件增删改查有一些命令是不同的

1创建文件夹的命令:

格式 mkdir 目录名
注意 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
示例 : 创建一个test01的目录 mkdir test01
-p 选项递归创建所有目录。(迭代创建)
示例: 在根目录下的tmp目录下创建一个test02目录 mkdir -p /tmp/test02
-m 选项用于手动配置所创建目录的权限,而不再使用默认权限 (权限创建)
示例:创建权限为777的目录 mkdir -m 777 test03(test03为目录名)

2创建文件的命令

创建空文件 格式:touch 文件名(文件存在、不存均可)
示例: touch test1.txt
示例:(一次性创建多个) touch test1.txt test2.txt test3.txt
创建有数据的文件 格式:echo ‘abc’ > 文件名(1.文件名若不存在,则创建一个新的文件 2.文件若存在且只有一个>符号 时则覆盖文件内容 3.若有两个>>符号时则追加’abc’在文件上)
示例: echo ‘abc’ > test4.txt

补充:创建一个空文件test.txt的其他方式

  1. ouch test.txt
  2. :> test.txt
  3. test.txt

  4. &>test.txt
  5. cat >test.txt

**不建议使用rm命令 可以把单独创建一个目录当作回收站把不需要的文件移动(改)至回收站目录里**
格式 rm 文件夹名或文件名
-r 递归地删除目录下的内容, **删除文件夹 时必须加此参数
示例:删除test文件夹 rm -r test
示例:删除test文件 rm -r test.txt
-f 强制删除,忽略不存在的文件, 无需提示
示例:删除test文件夹 rm -f test (若为文件夹只使用-f命令删除的话 系统会提醒: “rm: 无法删除"test02”: 是一个目录" 则必须配合-r命令才能删除掉
示例:删除test文件 rm -f test.txt
-i 和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。不使用-f参数时时系统默认-i命令

补充:rm -rf *.txt表示删除所有txt文件
rm -rf test.*表示删除所有test命名的,如文件夹 或者文件

格式: mv 旧文件夹名 新文件夹名
改变位置: mv 就路径 新路径(已经存在)
示例: mv /opt/dir1 /opt/dir111
格式: mv 旧文件名 新文件名
示例: mv /opt/dir111(路径) /opt/dir1/dir2/dir3

mv 命令参数介绍

选项 功能
-f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)。
-n 如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v 显示文件或目录的移动过程
-u 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级

1.查询文件夹的命令

格式: ls 文件夹名 (包含权限、日期等信息)
-a 显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。
-A 显示全部的文件,连同隐藏文件,但不包括 . 与 … 这两个目录。
-d 仅列出目录本身,而不是列出目录内的文件数据。
-f ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。
-F 在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,
-h 以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。
-i 显示 inode 节点信息。
-l 使用长格式列出文件和目录信息。
-n 以 UID 和 GID 分别代替文件用户名和群组名显示出来。
-r 将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
-R 连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。
-S 以文件容量大小排序,而不是以文件名排序。
-t 以时间排序,而不是以文件名排序。
–color=never never 表示不依据文件特性给予颜色显示。
–color=always always 表示显示颜色,ls 默认采用这种方式。
–color=auto auto 表示让系统自行依据配置来判断是否给予颜色。
–full-time 以完整时间模式 (包含年、月、日、时、分)输出
–time={atime,ctime} 输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。

补充

通配符 含义
* 代表 任意个数 的字符
? 代表任意一个字符, 且只能是一个
[abc] 匹配a、b、c中任意一个
[a-f] 匹配从a到f范围内的任意一个字符

2.查询文件的命令

查看文件前10行数据 head 命令参数介绍下面有补充!!!?
格式 : head 文件名 或 head -10 文件名 (查看前1行就把数字10 改成1)
示例 : head test1.txt 或 head -10 test1.txt
查看文件后10行数据 tail 命令参数介绍下面有补充!!!?
格式: tail 文件名 或 tail -10 文件名 或 tail -f 文件名
示例 : tail test1.txt 或tail -10 test1.txt((查看后1行就把数字10 改成1)
查看文件内容
格式: more 文件名
示例 : more test1.txt
查看所有
格式: cat 文件名
过滤查看
|格式:|**grep** 关键字 文件名|

|示例:| grep is profile|

常用补充内容:

1.cd 命令的特殊符号

格式:? cd 目标路径
特殊符号? 作 用?
~ 代表当前登录用户的主目录
~ 用户名 表示切换至指定用户的主目录
- 代表上次所在目录
. 代表当前目录
代表上级目录

2.复制文件夹

格式:? cp 原文件夹 目标文件夹
选项 ? 功能?
-d 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接。
-i 询问,如果目标文件已经存在,则会询问是否覆盖。
-l 把目标文件建立为源文件的硬链接文件,而不是复制源文件。
-s 把目标文件建立为源文件的软链接文件,而不是复制源文件。
-p 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。
-r 递归复制,用于复制目录。
-u 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

3.cat 命令参数介绍

格式:? cat [选项] 文件名 或者 cat 文件1 文件2 > 文件3
选项 ? 功能?
-A 相当于 -vET 选项的整合,用于列出所有隐藏符号;
-E 列出每行结尾的回车符 $;
-n 对输出的所有行进行编号;
-b 同 -n 不同,此选项表示只对非空行进行编号。
-T 把 Tab 键 ^I 显示出来;
-V 列出特殊字符;
-s 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。

4.more 命令参数介绍

格式:? more [选项] 文件名
选项 ? 含义?
-f 计算行数时,以实际的行数,而不是自动换行过后的行数。
-p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
-c 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。
-s 当遇到有连续两行以上的空白行时,就替换为一行的空白行。
-u 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。
+n 从第 n 行开始显示文件内容,n 代表数字。
-n 一次显示的行数,n 代表数字。

5.head 命令参数介绍

格式:? head [选项] 文件名
选项 ? 含义?
-n K 这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 “-K” 作为参数,则表示除了文件最后 K 行外,显示剩
-c K 这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 “-K”,则表示除了文件最后 K 字节的内容,显示剩余全部内容。
-v 显示文件名;

6.tail 命令参数介绍

格式:? tail [选项] 文件名
选项 ? 含义?
-n K 这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。
-c K 这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。
-f 输出文件变化后新增加的数据。

8.grep命令选项

格式:? less [选项] 文件名
命令 ? 含义?
-n 显示匹配行和行号
-i 忽略大小写
-v 显示 不包含关键字 的所有行
^a 行首,搜索以a开头的行
ke$ 行尾,搜索以ke结束的行

7.less 命令参数介绍

格式:? less [选项] 文件名
选项 ? 含义?
-N 显示每行的行号。
-S 行过长时将超出部分舍弃。
-e 当文件显示结束后,自动离开。
-g 只标志最后搜索到的关键同。
-Q 不使用警告音。
-i 忽略搜索时的大小写。
-m 显示类似 more 命令的百分比。
-f 强迫打开特殊文件,比如外围设备代号、目录和二进制文件。
-s 显示连续空行为一行。
-b <缓冲区大小> 设置缓冲区的大小。
-o <文件名> 将 less 输出的内容保存到指定文件中。
-x <数字> 将【Tab】键显示为规定的数字空格。

9.Linux中的硬链接和软链接的概念、区别及用法

ln 语法格式

注意: 链接的源文件路径要写绝对路径)
硬链接 : ln 源文件 链接名
软链接 ln -s 源文件 链接名

硬链接(hard link):

A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

软链接(soft link):

A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

主要区别、限制:

硬链接:
  a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的"…"除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
  b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
  c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接:
  a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
  b:可以跨文件系统
  c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了

10 其他命令 && 和 ||

&&

命令 作用
命令1 && 命令2 如果 命令1 执行成功了, 才执行 命令2
mkdir -p 正确目录 && echo “提示创建目录成功” 如果 创建 目录 成功, 就提示 创建成功

||

命令 作用
命令 ll 命令2 如果 命令1 执行失败了, 才执行 命令2
mkdir 错误目录

查阅命令帮助信息

因为一个命令有很多可选项, 死记硬背肯定不行, 所以需要借助手册查阅.
–help 帮助信息
说明: command --help
显示 command 命令的帮助信息
缺点: 虽然可以查询命令的帮助信息, 但是没有提供 翻页、搜索功能.

thank you for your watch

相关链接

相关练习连接:https://blog.csdn.net/weixin_45492179/article/details/102574959

猜你喜欢

转载自blog.csdn.net/weixin_45492179/article/details/102543873