【Linux lesson1】初识Linux系统
一、Linux基本指令
1.ifconfig
用于查看ip地址,在xshell下使用ssh [IP地址]可以登录。
2.ls
用于查看目录所有的子目录和文件,默认查看当前目录的。
语法:ls [选项] [目录]
常用选项:
在Linux中,前面带一个“-”的一般被称为选项,命令带上不同的选项会有不同的效果。
-l:列出文件的详细信息,ll是ls -l的简写方式
-a:列出所有文件,包含隐藏文件
(在Linux中,所有目录下默认会有两个隐藏文件,“.”和“..”,一个点代表着当前目录,两个点代表上级目录)
-R:列出子目录下的所有子文件和目录。(递归)
3.pwd
显示当前所在目录
4.cd
Linux路径知识补充:
Linux的路径结构是一棵多叉树,其中的叶子节点可能是目录,也有可能是文件,非叶子节点一定是目录。从根节点(/)一直到目标节点的路径被称为“绝对路径”,例如test.c的绝对路径为/home/bit/test.c。而从当前工作目录开始定位的被称为相对路径,由于目录中“..”的存在,相对路径也可以定位到任何一个文件或目录下。这样的设计使得每个文件或者目录都存在唯一标识的路径。
语法:cd [目录名]
目录名可以使用绝对路径,也可以使用相对路径。
5.touch
语法:touch [文件名]
创建一个文件,例如touch test.txt
6.mkdir
语法:mkdir [目录名]
创建一个目录,例如:mkdir bit,若带上-p,则可以创建一系列目录,例如mkdir a/b/c/d
7.rm
语法:rm [选项] [目录或文件]
用于删除目录或文件
常用选项:
-r:删除目录以及它的子目录或子文件
-i:删除前逐一询问确认
8.man
语法:man [选项] [命令]
man手册用于查找命令或者一些函数。例如 man 2 fork,这里说明一下,man手册一共有9章,这里列出一些常用章节:
1.普通命令
2.系统调用
3.库函数
8.一些只能由root执行的系统管理的命令
9.cp
语法:cp [源文件或目录] [目标文件或目录]
用于复制文件
-r:递归复制
-i:复制前逐一询问
-f:强制复制,如果有重名的则覆盖。
10.mv
语法:mv [源文件或目录] [目标文件或目录]
用于剪切文件,也可以给文件重命名。
-i:移动前逐一询问。
-f:强制移动,如果有重名的则覆盖。
11.cat
语法:cat [文件]
查看文件内容
-n:对输出内容加上行号。
12.find
语法:find [文件或目录]
查找文件
13.alias
语法:alias [别名]=[命令]
设置文件的别名。
14.grep
语法:grep [字符串] [文件]
搜索文件中的字符串
-i:忽略大小写
-v:反向选择
-n:同时输出行号
15.zip/unzip
用于压缩或解压文件
语法:zip [压缩包] [文件或目录]
unzip [压缩包]
16.rzsz
此工具用于windows和Linux通过Xshell传输文件,通过拖拽的方式方便传文件。
二、权限的概念
1.两种用户
Linux中的用户分为以下两种:普通用户和超级用户(root)。
普通用户:在Linux下只能进行有限的活动,权限就是限制普通用户的手段之一。
超级用户:在Linux下任何活动不受限制,权限也对超级用户没用。
利用su命令就可以切换用户。
2.权限的概念
权限是文件或目录的属性之一。
权限将用户分为三类:拥有者u,所属组g,其他o。
权限也分为读r,写w,执行x。
3.权限的表示方法
1.字符表示法
字符表示法用十个字符表示权限。其中,第一位代表文件类型,今天暂时不考虑。第2-4位表示拥有者权限,5-7位表示所属组的权限,8-10位表示其他的权限。
例如,“-rwxr-xr--”表示:
拥有者有读,写,执行权限,所属组有读和执行权限,其他拥有可读权限。
2.八进制数字表示法
八进制数字表示法用四位八进制数字表示权限。第一位代表特殊权限,今天暂时不考虑。第2位表示拥有者权限,3位表示所属组的权限,4位表示其他的权限。
其实,用八进制表示类似位图的思想,每个一位八进制数字可以转化成三位二进制数字,而三位二进制从左到右分别代表是否有读,写,执行权限,例如,010,也就是2,就代表只有写权限。
例如,4755,就表示:
拥有者有读,写,执行权限,所属组有读和执行权限,其他拥有可读和执行权限。
4.权限的改变方法
1.chmod
使用chmod命令即可改变文件或者目录的权限,只有root或者文件的拥有者才可以修改文件的权限。
chmod可以使用字符,也可以用八进制数字。
例如:
chmod o+w abc.txt 表示为其他追加写权限
chmod g-x abc.txt 表示为所属组去除执行权限
chmod o=r abc.txt 表示把其他的权限改为可读
chmod 640 abc.txt
2.chown
chown可以改变文件或者目录的拥有者。
格式:chown [拥有者名] [文件或目录]
3.chgrp
chgrp可以改变文件或者目录的所属组
chgrp [所属组名] [文件或目录]
4.umask
刚创建出的目录或文件的权限收到两个因素的影响,权限掩码和默认权限。
权限=默认权限 & (~权限掩码)
文件的默认权限是0666
目录的默认权限是0777
超级用户的权限掩码默认为0022普通用户默认为0002
权限掩码的意义:用于给用户提供修改文件或目录初始权限的方法。默认权限一般不能修改,而权限掩码我们可以修改。
umask命令用于查看和修改权限掩码,用法如下:
umask //查看
umask 0077//修改
5.权限的作用
不同的权限对于不同的文件类型有着不同的作用:
对于文件:
r:代表是否能查看文件内容
w:代表是否能修改文件内容
x:代表是否能执行文件。一个文件是可执行有两个条件,一是这个文件是可执行文件,二是用户拥有可执行权限。
对于目录:
r:代表用户是否能查看目录中的内容。
w:代表用户是否能在目录中创建或删除文件或目录。
x:代表用户是否能用cd命令或其他手段进入到目录中。
可是这样的设计会有一种奇怪的现象:
假如今天有一个a目录,目录中有一个test.txt文件,张三是other,对a目录有w权限,对test.txt没有任何权限,但是,张三却可以直接删除此文件。也就是说,我连文件的内容都看不到,也无法修改,却可以直接删除它,这不是很奇怪吗?因此,Linux引入了粘滞位的概念。
6.粘滞位
可以将其理解为一个独立的权限,用chmod +t [目录]为目录添加粘滞位。添加粘滞位的目录中的文件,只有文件拥有者,目录拥有者,root才可以删除或者重命名。