Linux作者介绍
(图片来源于网络)
linux 创始人: 林纳斯 托瓦兹
linux 诞生于: 1991年 作者上大学期间
诞生原因:
- 因为创始人 经常需要浏览新闻和处理邮件, 为了方便 读写 和 下载, 所以开发了 文件系统, 当时 21岁.
- linux是开源免费
- 后来经过全世界网友的支持, 现在能够兼容多种硬件
常用命令介绍
命令 |
对应英文 |
作用 |
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的其他方式
- ouch test.txt
- :> test.txt
-
test.txt
- &>test.txt
- 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