一,Linux指令讲解
1. ls 指令(查看文件)
功能:展现出文件的信息,如果是目录展现出该目录下的目录及文件
语法: ls [选项][目录或文件]
选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
2. pwd命令(展现当前工作目录)
功能:展现当前工作目录
3. cd 指令(改变当前所处工作目录)
功能:改变当前所处的工作目录
语法:cd 目录名
cd . //一个点(.)代表当前目录 cd .. //两个点(..)代表上一级目录 cd ~ //返回家目录 cd - //返回最近访问的目录
4. touch指令(创建文件)
功能:创建一个新的文件或者改变当前文件的可更改文档或目录的日期时间,包括存取时间和更改时间
语法::touch [选项]... 文件...
5.mkdir指令(创建目录)
功能:创建目录,
语法:mkdir [选项] 目录名字
-p:如果路径不存在会一次创建多个目录,目录就是那个不存在的目录
6.rmdir指令 && rm 指令(删除)
功能:删除
区别:单独的rmdir只能删除空目录,rm能删除文件和目录,包括里面的文件或者目录
rmdir语法:rmdir [-p] 文件路径
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm语法:rm 文件路径
-f 即使文件属性为只读(即写保护),亦直接删除 -i 删除前逐一询问确认 -r 删除目录及其下所有文件
7.man
功能查找指令的功能和使用方法
语法:man 指令
8.cp指令(复制)
功能:复制文件或者目录
语法:cp [选项] 源文件或目录 目标文件或目录
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理 08mv指令(重要):
9.mv指令(移动文件或者目录)
功能:如果移动目标是目录就是移动文件,如果移动目标是文件就相当于重命名
语法:mv 源文件 目标文件
f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
10.cat(查看文件内容)
功能:查看文件内容
语法:cat 文件
11.more(查看文件内容)
功能:查看文件,但不推荐使用,因为查看不方便,只能向下移动查看文件,下一个指令是它的升级版
语法:more 文件
-n 对输出的所有行编号
q 退出查看
12.less(查看文件内容)
功能:支持向上向下移动查看文件
语法:less 文件
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:退出查看
13.head(指定查看)
功能:查看文件的前n行,默认十行
语法:head 文件
-n<行数>: 显示的行数
14.tail(指定查看)
功能查看文件末尾n行,默认十行
语法:tail 文件
-n<行数>: 显示的行数
15. |(管道)
功能:将管道左边的输出当作右边的输入
语法: head -n 100 | tail -n 10
上面的意思就是输出前100行的倒数10行
16. > (输出重定项)
功能:将>左边的输出当作右边的输入
语法:head -n 50 test > tmp
上面的意思是将前50行输入tmp文件
17.cal(查看日历)
功能:输出一个日历
语法 cal -[参数]
默认输出当前月份的日历
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
18.find(查找文件或者目录)
功能:查找
语法:find 文件名或者目录名或者指点路径下某个文件
19.grep(在文件中查找字符串)
功能:在文件中查找字符串
语法:grep "字符串" 文件
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
20.zip/unzip(压缩/解压)
功能:压缩文件/解压文件
语法:zip 新文件名字.zip 原文件或者目录
unzip 新文件或者目录名字 原文件或者目录.zip
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
21.tar(查看未解压文件)
功能:在不解压的情况下查看文件或者目录内容
语法:tar 文件
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
21.uname -r(查看电脑或者系统信息)
功能:显示电脑或者操作系统的相关信息
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称
二,权限
1)权限类别
Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制,因为所有的一切都是他的,相当于主人
普通用户:在linux下做有限的事情,是主人赋予一定的权限帮忙做事打工。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
命令:su [用户名] 功能:切换用户。 例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令
2)文件目录权限
每一个文件或者目录都可以设置权限,一般由创建者创建权限,但是root可以随意更改,但普通用户受到权限的约束,大致分为三种
1. u -user 拥有者
拥有者可以可以改变文件的读写执行权限
2. g -group 所属者
无法改变文件的权限,只能接受并使用已有的权限(root用户除外)
3. o -other 其他组
无法改变文件的权限,只能接受并使用已有的权限(root用户除外)
思考:仔细观察我们会发现文件的初始权限,不是777,这个是为什么呢?
原因:Linux中有文件掩码,在设置权限的时候要把文件权限减去掩码(不是算数加减法,只有权限的消除),超级用户默认掩码值为0022,普通用 户默认为0002(这个是八进制),当然我们可以提供unmask改变系统默认掩码
语法:unmask 权限 //设置掩码
unmask //查看掩码
3)权限的具体类型
4)chmod(改变权限)
语法:chmod [改变权限的成员,u或者g或者o] +/- [权限] 文件名
5)chown(改变文件拥有者)
语法:chown 用户名 目标文件
6)chgrp(改变文件所属组)
语法:chgrp 用户名 目标文件
注:文件的删除于文件本身的拥有者无关,只和文件所处的目录拥有者有关,也就是只有文件所处目录的拥有者或者root才能删除文件7)。如果将文件的拥有者给别人需要那个用户的账号密码,或者
7)temp目录
这个是Linux提供的一个目录,专门用来文件中的共享操作,因此每个用户都拥有这个目录的w权限,但这个会带来一个问题每个人都能随意的删除文件,但如果去掉这个文件那么又无法创建共享文件,于是Linux引入了一个新的权限 -t (粘滞位)代替w写权限,这个权限能够创建文件但是无法删除非自己创建的文件(root和目录的拥有者除外)