【Linux】常用指令、热键与权限管理

CSDN 2024-06-12 16:37:07 阅读 63

一、常用指令

(1)ls

功能:列出指定目录下的所有子目录与文件

用法:ls + (选项) + (目录文件名)

常用选项:

-a:列出目录下的所有文件,包括隐藏文件-l:列出文件的详细信息(如创建时间,文件大小等)-r:对目录反向排序-t:按照时间排序-F:在每个文件名后添加一个字符用来说明该文件的类型-s:在文件名前输出该文件的大小-R:列出所有文件与所有子目录下的文件-1:将所有文件排成一列

例如:ls - l

(2)pwd

功能:输出用户当前所在的目录

用法:pwd

常用选项:无

例如:

(3)cd

功能:切换工作目录(类比windows双击进入文件夹或输入路径切换至指定目录

用法:cd + 目录名

例如:

(4)touch

功能:常用于新建一个文件,也可用于更改文档或目录的日期时间

用法:touch + (选项) + 文件名

例如:

(5)mkdir

功能:在当前目录下创建一个目录

用法:mkdir + (选项) + 文件

常用选项:

-p:后接一个路径,用于一次建立多个目录

例如:

(6)rmdir

功能:删除目录

语法:rmdir + (选项) + 目录名

常用选项:

-p:当子目录被删除后如果父目录变为空目录,则一并删除

例如:

(7)rm

功能:删除文件目录

语法:rm + (选项) + 文件名/目录名

常用选项:

-f:强制删除-i:删除前需要逐一确认-r:递归删除目录及其中所有文件

例如:

(8)man

功能:Linux联机手册

用法:man + (选项) + 命令

常用选项:

-k:根据关键字搜索手册num:只在第num章中找-a:若指定命令出现在多个章节,则全部显示

例如:man mkdir

(9)cp

功能:复制文件目录

用法:cp + (选项) + 文件/目录 + 目标文件/目录

常用选项:

-f:强行复制文件或目录-i:覆盖文件前先询问用户-R:递归复制指定目录与其中的所有内容

(10)mv

功能:将文件/目录重命名或将文件移动至某目录

用法:mv + (选项) + 文件/目录 + 目标文件/目录

常用选项:

-f:若目标文件存在,则强制覆盖-i:若目标文件存在,则询问是否覆盖

(11)cat

功能:查看目标文件的内容,适用于小文本

用法:cat + (选项) + (文件)

常用选项:

-b:对非空行前面加上行编号-n:对输出的所有行进行编号-s:将多行空行变为一行

例如:

(12)more

功能:类似cat,适用于较大文本,会以一页一页的形式显示,方便逐页阅读,按空白键(space)就往下一页显示,按b键就会往回一页显示,按q退出阅读,而且还有查找字符串的功能

用法:more + (选项)+ 文件

常用选项:

-num:一次显示的行数+num:从第num行开始显示-s:将连续空行变为一行

(13)less

功能:类似more,但是功能更加强大

用法:less + (选项)+ 文件

常用选项:

-i:忽略搜索时的大小写-N:显示每行行号-e:文件显示结束后自动退出-m:显示类似more命令的百分比-s:将连续空行变为一行

常用命令:

q:退出less/ + 字符串:向下搜索字符串?+字符串:向上搜索字符串b:向上翻一页d:向下翻半页空格键:滚动一页回车键:滚动一行pageup:向上翻一页pagedown:向下翻一页

(14)head

功能:显示文件开头部分的内容

用法:head + (选项)+ (文件)

常用选项:

-n + 行数:指定显示的行数

(15)tail

功能:类似head,显示文件结尾部分的内容

用法:tail + (选项) + (文件)

常用选项:

-f:循环读取-n + 行数:指定显示的行数

(16)date

功能:显示时间

用法:date + (选项)+ (格式)

常用选项:

-s:根据字符串设置系统时间

格式:

%H:小时%M:分钟%S:秒%X:相当于输入%H:%H:%S%d:日%m:月份%Y:完整四位数年份%F:相当于输入%Y-%m-%d

例如:

时间戳

Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

当前时间转时间戳:date +%s

时间戳转时间:date -d@时间戳

例如:

(17)cal

功能:查看日历

用法:cal + (选项) + (月份) + (年份)

常用选项:

-y:显示当前年份的完整日历-j:显示在当年的第几天-3:显示前一个月、当前月和下一个月的日历

(18)find

功能:在目录中查找文件

Linux下find命令的功能十分强大,提供给我们很多查找条件与选项

Linux find 命令 | 菜鸟教程 (runoob.com)

icon-default.png?t=N7T8

https://www.runoob.com/linux/linux-comm-find.html

用法:find + (路径...) + (匹配条件) + (动作)

(19)grep

功能:在文件中搜索字符串并打印

用法:grep + (选项)+ 目标字符串 + 文件...

常用选项:

-i:忽略大小写区分-n:在前面输出行号-v:反向选择,即输出所有不包含目标字符串的内容

(20)zip

功能:将目录或文件压缩成zip格式

用法:zip + 压缩文件名.zip + 目录/文件

常用选项:

-r:递归处理,将指定目录下的所有文件和子目录一并处理-d:从压缩文件内删除指定的文件-D:压缩文件内不建立目录名称

例如:

unzip:Linux unzip命令 | 菜鸟教程 (runoob.com)

(21)bc

功能:进行浮点运算

用法:bc + (选项) + (参数)

常用选项:

-i:强制进入交互式模式-l:定义使用的标准数学库

参数:指定包含计算任务的文件

例如:

(22)uname

功能:获取电脑和操作系统的相关信息

用法:uname + (选项)

常用选项:

-a:显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等-m:显示处理器类型-n:显示主机名-r :显示内核版本号-s:显示操作系统名称-v:显示操作系统的版本--help:显示帮助

例如:

(23)echo

功能:将传递的参数打印到标准输出中

用法:echo + (选项) + (参数)

例如:

(24)>、>>、<(重定向)

功能:>将内容重定向至目标文件(覆盖);>>将内容追加至目标文件;<将从标准输入改为从指定地方输入

例如:

(25)|(管道)

本质:一个操作方式为文件的内存缓冲区

功能:将 | 前后两个进程的输入输出用一个管道相连,以便达到进程间通信的目的

用法:使用 | 连接两个命令

例如:我们想打印出某文件的第6-10行

在这条命令中,我们先将cat输出的内容通过管道输入给head命令,再将head输出的内容通过管道输入给tail命令

(26)which

功能:用于查找命令所在路径

用法:which + 命令

例如:

(27)拓展命令

安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、exit、last...文件处理指令:file、dd、diff、ln...系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab...网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、mail、finger...系统安全权限相关命令:passwd、su、sudo、umask、chgrp、chmod、chown、who...其他命令:tar、gunzip、unarj、mtools、unendcode...


二、常用热键

tab:补全命令或路径ctrl+a:光标回到行首ctrl+e:光标回到行尾ctrl+c:终止终端正在进行的所有任务并开启新的命令行ctrl+r:搜索命令行使用过的历史命令记录ctrl+l:清空屏幕所有的内容ctrl+k:剪切(删除)光标处到行尾的所有字符ctrl+k:剪切(删除)光标处到行尾的所有字符ctrl+y:粘贴 ctrl+k、ctrl+u、ctrl+w删除的字符ctrl+d:退出当前shell命令行,如果是切换过来的用户,则执行这个命令回退到原用户ctrl+z:暂停在终端运行的任务,使用"fg"命令可以使暂停恢复


三、权限管理

3.1 Linux中的权限

Linux下有两种用户:超级用户(root)和普通用户

超级用户权限非常大,基本可以在Linux系统下做任何事,不受限制

普通用户就是我们用adduser创建出来的用户,会受到权限的约束,只能做有限的事情

我们可以用su命令从普通用户切换到root用户,也可以通过sudo命令暂时的将权限提升至root级别

3.2 文件类型与文件权限

像这样,第1位的字符代表了文件的类型,文件类型一共有如下几种:

d:目录文件-:普通文件l:软链接(类似windows的快捷方式)b:块设备文件p:管道文件c:字符设备文件s:套接口文件

第1位后面的9位字符代表了文件的基本权限,其中r代表可读,w代表可写,x代表可执行

9位字符分为三组:文件所有者权限、所属组权限和其他用户权限

如果一个用户不属于文件的所有者和所属组,那么就按照其他用户赋予权限

其中每组的3个字符分别为:读、写、执行

如果对应位置的字符是-,则说明不具有该权限

权限位后面分别是:连接数、文件所有者、文件所属组、文件大小、文件最近修改日期和文件名

3.3 文件权限值的表示方法

字符串表示方法:

r-- 只可读 -w- 只可写
--x 只可执行 rw- 可读可写
-wx 可写可执行 r-x 可读可执行
rwx 可读可写可执行 --- 无权限

我们将有对应权限规定为1,没有对应权限规定为0,就出现了二进制表示:

r-- 100
-w- 010
--x 001
rw-

110

r-x 101
-wx 011
rwx 111
--- 000

因为最多只有8种情况,我们还可以用八进制来表示:

r-- 4
-w- 2
--x 1
rw-

6

r-x 5
-wx 3
rwx 7
--- 0

3.4 文件访问权限的设置方法

(1)chmod

功能:设置文件的访问权限

用法:chmod + (参数) + 权限 + 文件名

常用参数:

+:增加对应权限-:取消对应权限=:赋予指定权限u:文件所有者g:所属组o:其他用户a:所有用户

例如:

还可以用3位八进制数字代替权限符号

例如:

(2)chown

功能:修改文件所有者

用法:chown + (参数) + 用户名 + 文件名

例如:

(3)chgrp

功能:修改文件所属组

用法:chgrp + (参数) + 用户组名 + 文件名

例如:

3.5 目录的权限

目录也是一种文件,其权限的构成和普通文件相同

区别在于,对应权限可以做的事情不同

可读:允许用ls等命令查看目录中的文件内容,反之则不允许可写:允许在目录中创建和删除文件,反之则不允许可执行:允许通过cd命令进入目录,反之则不允许

不过在具体使用中我们会发现,当多个用户共享一个目录时,只要用户拥有对目录的写入权限,则可以随意的删除目录中的文件,不管该用户是否具有被删除文件的写入权限,这似乎并不合理

为了解决这个问题,Linux引入了粘滞位

粘滞位(t)与其他用户的可执行权限(x)共用同一个位置,当一个目录被设置为粘滞位(chmod +t),则该目录下的文件只能被root用户、目录所有者和文件所有者删除,其他用户即使拥有目录的写入权限也无法删除别人的文件

例如:

完.



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。