linux常用命令,看这一篇就够了

1.1 ls命令

ls,即list的缩写,用于列出指定目录或者文件。
在这里插入图片描述
常用的参数:
-a:列出当前目录下的文件和目录,包括隐藏文件。
在这里插入图片描述
-l:列出当前目录下除隐藏文件外的所有文件和目录的详细信息,包括权限、所有者、所属组以和文件创建的日期和时间。
在这里插入图片描述
-h:以人性化的方式列出文件,主要是文件的大小显示方式(B,KB,MB,G)
-i:列出文件的inode
在这里插入图片描述
-d:列出当前目录
在这里插入图片描述

1.2 文件类型

在Linux文件系统中,主要有以下几种类型的文件:
普通文件:即一般的文件。
目录:相当于windows中的文件夹。
链接文件:类似于windows中的快捷方式。
链接文件又分为硬链接和软链接,两者本质上的区别在于inode。

设备:即与系统周边相关的一些文件。

1.3 alias命令

alias,即命令的别名,在命令行中直接输入alias即可查看系统已设置的别名
linux常用命令,看这一篇就够了_第1张图片
如何自定义一个别名呢?
格式为alias 别名=’’,即可设置别名
linux常用命令,看这一篇就够了_第2张图片
可以用which命令查看详细信息:
在这里插入图片描述
取消别名的方法:unalias 别名
在这里插入图片描述

1.4 相对和绝对路径

路径:即文件存放的地方。
在Linux中,分为绝对路径和相对路径。
绝对路径:由根目录/开始写起的,比如: /etc/ssh
相对路径:不是由根目录/开始写起的,比如: cd test

1.5 cd命令

cd (change directory的缩写),用来切换用户所在目录。
cd :直接输入cd ,会进入当前用户的根目录下。
在这里插入图片描述
cd 后面加上目录名,则会切换到指定的目录下。
在这里插入图片描述
cd ~ 返回用户的家目录。
在这里插入图片描述
cd - :返回上一级目录。
在这里插入图片描述
cd . 表示当前目录,cd … 表示当前目录的上一级目录。
linux常用命令,看这一篇就够了_第3张图片

1.6 创建和删除目录mkdir/rmdir

mkdir (make directory的缩写),用于创建目录。
在这里插入图片描述
那么,如果我们想在/tmp/zhangjin/目录下再创建目录1/2/3呢?这时候直接创建会发现报错
在这里插入图片描述
这时候,我们再加参数-p就可以解决,-p,用于递归创建目录。
linux常用命令,看这一篇就够了_第4张图片
rmdir (remove diretory),用于删除空目录,该命令只能用于删除空目录,不能删除文件。
linux常用命令,看这一篇就够了_第5张图片
可以发现,此命令有很大的局限性,我们一般用命令rm来删除文件和目录。

1.7 rm命令

rm:用于删除目录mdir和文件,常用的参数有-r和-f
-r:删除目录,类似于rmdir,但比rmdir更强大,它可以删除非空目录。
linux常用命令,看这一篇就够了_第6张图片
-f:强制删除,如果后面跟一个不存在的文件或目录,也不会报错。
在这里插入图片描述

1.8 环境变量PATH

查看环境变量的命令:
在这里插入图片描述
将路径加入环境变量的方法:
在这里插入图片描述

1.9 cp命令

cp(copy的简写):复制。格式为:cp [参数] [来源文件] [目的文件],例如,把test1复制成test2,可以这样写:cp test1 test2。
常用参数:
-r:用于复制目录,如果不加此参数,则不能复制目录。
linux常用命令,看这一篇就够了_第7张图片
-i:复制时如果文件已经存在,则会询问是否覆盖。
linux常用命令,看这一篇就够了_第8张图片

2.0 mv命令

mv(move的缩写),该命令的格式为: mv [参数] [源文件或目录] [目标文件或目录]。
(1)、目标文件是目录,但该目录不存在时:会把源目录重命名为目标目录名。
linux常用命令,看这一篇就够了_第9张图片
(2)、目标文件是目录,且该目录存在时:会把源文件或目录移动到该目录中。
在这里插入图片描述
(3)、目标文件是文件,且该文件不存在时:会把源文件重命名为目标文件名。
在这里插入图片描述
(4)、目标文件是文件,但该文件存在时:会询问是否覆盖。
linux常用命令,看这一篇就够了_第10张图片

2.1 文档查看cat/more/less/head/tail

4个命令都是关于查看文件的。
cat: cat后面直接加文件名,可以查看文件内容。
linux常用命令,看这一篇就够了_第11张图片
加-n参数,可以显示行号:
linux常用命令,看这一篇就够了_第12张图片
tac: 和命令cat一样,不同的是显示结果和cat正好反过来,先显示最后一行,然后倒数第二行,最后才显示第一行。
linux常用命令,看这一篇就够了_第13张图片
more:当文件内容太多时,一屏不能全部显示,这时就可以用more,当看完一屏时,按空格键可以继续看下一屏,看完全部后就会退出,相关的快捷键:Ctrl+D向上翻屏 Ctrl+F向下翻屏 q退出。
less:功能和more一样,不同的是,less可以一行一行显示,而且可以用 /(在当前行向下搜索) ?(在当前行向上搜索)来查找字符串。
head:用于显示文件的前10行,如果加参数-n,则表示显示文件的前n行。
linux常用命令,看这一篇就够了_第14张图片
在这里插入图片描述
tail:和head类似,用于显示文件的最后10行,如果加参数-n,则显示文件的最后n行。
linux常用命令,看这一篇就够了_第15张图片
linux常用命令,看这一篇就够了_第16张图片

2.2 文件和目录权限chmod

文件的权限可以通过命令 ls -l 来查看。
linux常用命令,看这一篇就够了_第17张图片我们以文件123为例,从左至右可划分为9个部分:

1、- :表示普通文件,如果为d,则表示目录,此外还有l表示链接文件,b表示块设备等。rw-rw-r–:这部分又可以分为3部分,rwx为一组,共有3组,分别表示所有者(user),所属组(group)和其他人(other)的权限。其中,r表示可读,w表示可写,x表示可执行。由此可见123这个文件,所有者拥有的权限为可读可写(rw),所属组的权限为可读可写(rw),其他人的权限为可读(r)。

2、表示该文件占用的节点(inode),如果是目录,这个数值与该目录下是子目录数量有关。

3、该文件的所有者。

4、该文件的所属组。

5、该文件的大小。

6-8、表示该文件最后一次被修改的时间,格式为月份、日期和时间。

9、文件名。

2.3 更改所有者和所属组chown

chown(change ower) :更改文件的所有者。格式为: chown [-R] 账户名 文件名 或者 chown [-R] 账户名:组名 文件名。
linux常用命令,看这一篇就够了_第18张图片再查看目录dir3下的文件test3,可以发现test3文件的所有者还是root
在这里插入图片描述加上参数-R,可以发现,文件的所有者也改为user1了。
在这里插入图片描述chmod (change mode):改变用户对文件/目录的读写执行权限。格式为: chmod [-R] xyz(数字) 文件名。

为了方便更改文件的权限,Linux使用数字来代替rwx,r=4, w=2, x=1,-=0。例如,rwxrw-r–,用数字表示就是764(4+2+1=7,4+2+0=6,4+0+0=4)。
linux常用命令,看这一篇就够了_第19张图片chmod还支持使用rwx的方式来设置权限。一般用u、g、o来分别表示user、group和others的属性,a(all)则代表全部。
linux常用命令,看这一篇就够了_第20张图片
linux常用命令,看这一篇就够了_第21张图片

2.4 umask

默认情况下,目录的权限值为755,普通文件的权限值为644,这个值的规定便涉及umask了。

umask用于改变文件的默认权限,格式为:umask 3位数字。

查看umask的值,只要在命令行中输入命令umask即可。
在这里插入图片描述可以看到,umask的预设值是0022,那么这表示什么含义呢?我们先来看以下两条规则。

1、若用户建立普通文件,则预设没有可执行权限,只有r、w两个权限,最大值为666(-rw-rw-rw-)。

2、若用户建立目录,则预设所有权限均开放,即777(drwxrwxrwx)。

umask数值代表的含义为以上两条规则中的默认值(文件为666,目录为777)需要减掉的权限,所以:

目录的权限为rwxrwxrwx - ----w–w- = rwxr-xr-x

普通文件的权限为rw-rw-rw - ----w–w- = rw-r–r--

umask的值是可以自定义的,比如设定umask为002,在创建目录或文件时,默认权限分别为:

目录:rwxrwxrwx - -------w- = rwxrwxr-x

文件:rw-rw-rw- - -------w- = rw-rw-r–
linux常用命令,看这一篇就够了_第22张图片可以看到,创建的目录默认权限变为755,文件的默认权限变为664。

关于umask的计算方法,不应该直接单纯用数字相减,而应该换算成rwx来相减进行换算。

2.5 隐藏权限lsattr/chattr

lsattr(list attribute):读取文件或者目录的特殊权限,格式为: lsattr [-aR] [文件/目录名]。
linux常用命令,看这一篇就够了_第23张图片参数-a类似于ls的-a,列出隐藏文件。
linux常用命令,看这一篇就够了_第24张图片参数-R:将子目录的数据也列出。
linux常用命令,看这一篇就够了_第25张图片chattr(change attribute):修改文件的特殊属性。格式为: chattr [±=] [Asaci] [文件/目录名],其中,+、-、=分别表示增加、减少和设定。

A:表示文件或目录的atiime将不可修改。

s:会将数据同步写入磁盘中。

a:表示只能追加不能删除,非root用户不能设定该属性。

c:表示自动压缩该文件,读取时会自动解压。

i:表示文件不能删除、重命名、设定链接、写入以及新增数据。

以上参数,常用的有a和i。示例如下:
linux常用命令,看这一篇就够了_第26张图片linux常用命令,看这一篇就够了_第27张图片文件同样适用以上权限:
linux常用命令,看这一篇就够了_第28张图片

2.5 特殊权限set_uid

该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。例如passwd,当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码。

2.6 特殊权限set_gid

该权限可以作用在文件上,也可以作用在目录上。当作用在文件上时,其功能和set_uid一样,会使文件在执行阶段具有文件所属组的权限。当目录被设置这个权限时,任何用户在此目录下创建的文件都具有和该目录所属组相同的组。

2.7 特殊权限stick_bit

防删除位。文件是否可以被用户删除,主要取决于该文件所在的目录是否对该用户具有(w)写权限,如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件。

添加此权限的情景:如果希望用户能够添加文件但不能删除该目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,就算用户对目录具有写权限,也不能删除其他用户的文件。

我们分别查看passwd命令和/tmp/目录:
在这里插入图片描述可以发现,passwd显示的是rws,而不是rwx,用数字表示为4755。/tmp/显示的是rwt,而不是rwx,用数字表示为1777.这个4和1是怎样计算出来的?当有特殊权限时,第一位数字可以是0、1(–t)、2(-s-)、3(-st)、4(s–)、5(s-t)、6(ss-)或7(sst).

passwd是s–,所以是4;而/tmp/是–t,所以是1。

设置特殊权限的方法也用命令chmod。其格式为:chmod ±=[s/t] [文件/目录名]。

2.8 软硬链接文件

创建硬链接的命令ln(link),格式为:ln [源文件] [目的文件]。

系统读取一个文件时,会先读取inode信息,然后再根据inode中的信息到块区域将数据提取出来。创建硬链接,只是增加了一个指向该文件的inode,并不会改变该文件,也不会额外占用磁盘空间。

硬链接的限制:

(1)、不能跨文件系统,因为不同的文件系统有不同的inode table。

(2)、不能链接目录。
linux常用命令,看这一篇就够了_第29张图片而目录则可以做软链接。
linux常用命令,看这一篇就够了_第30张图片

2.9 find命令

find命令,其格式为: find [路径] [参数]。

常用的参数有:

-name filename:表示直接查找该文件名的文件。(常用)
linux常用命令,看这一篇就够了_第31张图片-type filetype:通过文件类型(f、b、c、d、l、s等)查找文件。
linux常用命令,看这一篇就够了_第32张图片
-atime +n/-n:表示访问或执行时间大于或小于n天的文件。

-ctime +n/-n:表示写入、更改inode属性(更改所有者、权限或链接等)的时间大于或小于n天的文件。

-mtime +n/-n:表示写入时间大于或小于n天的文件。(使用最多)
linux常用命令,看这一篇就够了_第33张图片
关于atime、ctime和mtime的说明:
在这里插入图片描述
由上表可见,更改文件的内容会更改mtime和ctime,但文件的ctime的更改则有可能不会更改mtime,例如更改了文件的所有者或权限,则不会更改mtime。

3.0 stat命令

stat命令用于查看文件的atime、ctime和mtime。
linux常用命令,看这一篇就够了_第34张图片

你可能感兴趣的:(Linux)