目录
前言 关于linux的简介
代码开源
网络功能强大
系统工具链完整
一、Linux下的基本指令
1.ls指令
2.pwd指令
3.cd指令
4.whoami指令
5.touch指令
6.mkdir指令
7.rm指令
8.man指令
9.cp指令
10.mv指令
11.nano指令
12.cat指令
13.tac指令
14.more指令
15.less指令
16.head指令
17.tail指令
18.date指令
19.cal指令
20.find指令
21.which指令
22.grep指令
23.sort指令
24.uniq指令
25.echo指令
26.bc指令
28.uname指令
二、理解权限
1.root和sudo指令
2.什么是权限?(是什么)
1)身份
2)属性
Linux中的文件类型:
Linux中不同身份的权限:
3.为什么要有权限?(为什么)
4.怎么修改权限?(怎么办)
1)chmod指令改属性
①ugo +- rwx:
②八进制方案:
2)chown指令更改拥有者身份
3)chgrp指令修改所有组身份
三、一些书本上的衍生问题
1、文件或目录创建好后Linux是怎么为我们设置默认权限的?
2、进入目录需要哪个权限,是r,w还是x?
总结
前言 关于linux的简介
Linux,Linux Is Not UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
代码开源
Linux由众多微内核组成,其源代码完全开源。
网络功能强大
Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈。
系统工具链完整
Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性。
Linux_百度百科
Linux概念图
每日怪问:
1.进入目录需要哪个权限,是r,w还是x?
2.文件或目录创建好后Linux是怎么为我们设置默认权限的?
若是读者对上述问题感兴趣,可直接点击目录中第三部分查看说明。
一、Linux下的基本指令
首先,我们为什么要学习指令?指令(命令行)是学习Linux的重要手段,在系统看来如windows的图形化界面与Linux的命令行没有区别,都是与计算机交互的方法之一。
Linux下的指令已超过4位数,但常用的也就是几十位,下面就常见的指令给出基本使用方法。
1.ls指令
功能:该指令列出该目录下的所有文件与子目录。
常用选项:
-a:列出所有文件,包括隐藏文件。
-l:列出文件的详细信息。
-d:显示文件夹的详细信息,而不是其下的文件。
-R:递归列出所有子目录下的文件。
lscpu:查看目前机器的中央处理器规格
lsmem:查看目前机器的内存规格
使用方法:
补充:在ls -a列出的文件中看到有三个点:在Linux中,文件以 ' . ' 开始的一般是隐藏文件,比如这三个点,前一个点“.” 代表着本目录的路径,’. .‘代表着上级目录。
在日常使用中以“ll”指令居多,它是ls-l的简称,方便快捷。
2.pwd指令
功能:显示当前路径
使用方法:
3.cd指令
功能:切换路径,后跟目标文件的路径
常用选项:
~:进入当前用户的工作目录。
-:回到上一次的路径
使用方法:
补充:系统文件目录的组织是类似于倒立的树(不一定是二叉树),目录的本质是容器,除了叶子节点可以是文件,根及叶子节点只能是容器(文件是没法做容器的)。
补充:绝对路径,相对路径。路径具有唯一性!
4.whoami指令
功能:显示当前谁在使用系统
使用方法:
补充:who指令:查看当前主机在线用户
5.touch指令
功能:创建普通文件,更改文件的修改时间(前提是该文件已经被创建)。
使用方法:
补充:文件 = 内容 + 属性(如创建时间等)
6.mkdir指令
功能:创建一个空目录。
常用选项:
-p:创建一串目录。
使用方法:
7.rm指令
功能:删除文件或目录。
常用选项:
-r:递归删除(用于删除目录及其内子目录或文件)
-f:强制删除
-i:删除前询问是否删除
使用方法:
8.man指令
功能:查询指令或函数的使用方法,按q退出说明手册
使用方法:
9.cp指令
功能:拷贝文件或目录,cp src(源文件路径) des(目标路径)
这里体现了上述补充中的的路径具有唯一性
常用选项:
-r:递归复制(用于将目录中的文件或子文件递归复制到目的路径)
-rf:强制拷贝
-i:拷贝前询问(用于该路径已有同名文件或目录,是否覆盖)
使用方法:
10.mv指令
功能:剪切文件或目录到目的路径,更改文件目录名。
使用方法:
11.nano指令
功能:记事本,打开文件,ctlr + x退出。若有增删内容,ctlr + x后接y + enter。
使用方法:
12.cat指令
功能:查看文本
常用选项:
-n:同时打印行数
使用方法:
13.tac指令
功能:倒着打印文本(cat的倒转)
注意:tac指令无-n选项
使用方法:
14.more指令
功能:将文件打印在屏幕上,但之铺满屏幕(适合查看大文本),按下enter后继续打印
常用选项:
-n(数字):一次打印n行,方便查看
使用方法:
补充:more的搜索功能
15.less指令
功能:同more,但可用上下键翻动方便查看
16.head指令
功能:默认打印前10行内容
常用选项:
-n(数字):打印前n行
使用方法:
17.tail指令
功能:同head,但倒着打印
使用方法:
18.date指令
功能:打印日期
常用选项:
使用方法:
19.cal指令
功能:打印日历,后跟年份
常用选项:
-3:打印前后共三月日历
使用方法:
20.find指令
功能:搜索目标文件,若为找到还可能取硬盘找故效率可能较低。
find 路径 文件名。
常用选项:
-name:搜索文件
(find还有很多其他选项,一般常用的就-name,若有需要请查询相关文档)
使用方法:
21.which指令
功能:搜素指令
使用方法:
22.grep指令
功能:在文本中匹配关键字,将匹配上的行输出
常用选项:
-n:同时打印行号
-i:查找时忽略大小写
-v:将不匹配的行输出
使用方法:
23.sort指令
功能:按asccl码值对文本内容进行排序后打印
使用方法:
24.uniq指令
功能:将相邻行去重,是相邻行
使用方法:
补充:管道,多个指令一起执行
25.echo指令
功能:将后接的字符串输出
常用选项:
>>:将字符串定向写入目标文件
使用方法:
26.bc指令
功能:Linux下的计算器,输入quit停止
使用方法:
28.uname指令
功能:显示当前系统
常用选项:
-a:显示系统详细信息
-r:查看系统内核版本
使用方法:
补充:热键
ctlr + r:搜素历史指令
ctlr + C:终止当前指令或程序的运行
ctlr + d:退出当前用户
tab:自动补全指令
二、理解权限
1.root和sudo指令
root:超级管理员,root可通过su/su - 切换成普通用户
其余用户均为普通用户,普通用户切换为root需要密码。
sudo指令:在不切换用户的情况下,让普通用户以root方式运行指令。在指令之前添加sudo。
2.什么是权限?(是什么)
权限 = 身份 +属性
比如:
身份:你是名学生,你可以回宿舍躺着,但外面大街上的某人不行,因为他不是该校学生。
属性:腾讯视频可以看视频,但不能刷OJ,因为它没有那个功能属性。
1)身份
2)属性
文件的属性包括:r(读)、w(写)、x(执行)
还记得上面补充的:文件 = 内容 + 属性
Linux中的文件类型:
在Linux中,文件最前面有10个字符,他们分别表示:文件类型,三种身份的权限
补充:
①虽然Linux不认.txt等文件类型,但不意味着可以随便更改,因为Linux中的一些程序严格区分文件后缀名,典型如gcc编译时文件后缀名就必须是.c。使用文件名最好不要乱动。
②
Linux中不同身份的权限:
最前面的10列字符,出去第一列的文件类型后,还剩9列,每个身份各列分别对应:r、w、x,若有权限则显示r/w/x,无则显示_
3.为什么要有权限?(为什么)
答:便于系统进行安全管理。
4.怎么修改权限?(怎么办)
在知道了文件的权限后,是否可以修改权限?答案是可以的:
①是文件拥有者(onwer)可以修改文件权限;②是超级管理root可以修改权限
权限 = 身份 + 属性,也就是说可以改身份,也可以改属性
1)chmod指令改属性
功能:修改文件某身份的权限属性
①ugo +- rwx:
使用方法:chmod u/g/o +/- r/w/x 文件名
值得注意的是文件的权限修改是针对普通用户的,root没有权限一样访问。
②八进制方案:
前面提到每个身份各有3列,若是将有权限看作1,没有权限看作0,那么每个身份的权限可用一个八进制数表示。
使用方法:chmod 八进制数 文件名
2)chown指令更改拥有者身份
使用方法:chown 新用户名 文件名
注:唯有root或者sudo后的普通用户才可修改身份,否者是不被允许的,如下
3)chgrp指令修改所有组身份
使用方法:chgrp 新所有组 文件名
注意:同上chown,唯有root和sudo用户可修改所有组,否则失败
三、一些书本上的衍生问题
1、文件或目录创建好后Linux是怎么为我们设置默认权限的?
Linux规定:
目录 起始权限是 777
普通文件 起始权限是 666
但是但我们创建一个空目录或文件后,发现各身份权限与初始权限不同?
umask:权限掩码,有四位,第一位是八进制标识,只看后三位。umask的值系统是默认0002,我们也可按需更改。
我们创建一个普通文件看看权限是否一致:
除去第一列文件类型,后三位身份位权限一致。
2、进入目录需要哪个权限,是r,w还是x?
经过笔者实验:
x:进入目录所需权限;
r:进入目录后能“ls”查看目录中内容的权限;
w:进入目录后能创建文件或子目录的权限。
从该实验也侧面印证了目录的初始权限是777,因为目录被创建出来一般都要能进入。
总结
笔者水平浅薄,若有错误的地方还请大家指出批评,笔者看到马上就会更改的
文章较长,读者看完后能否给笔者一个赞呢,一个免费的点赞就能让笔者高兴很久很久哦~