Linux常见操作和权限理解

1.Linux常见操作

ls指令

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。 (linux系统中隐藏文件以.开头)
-l 列出文件的详细信息。 (也可以简写为ll)
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。其实几条不同的命令也可以合并同时进行,比如ls -al
-d 不进入目录只显示目录本身

pwd命令

语法:pwd
功能:显示用户当前所在的目录。

cd指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
cd - 表示进入上次用户所在目录,可以在两个目录中来回切换

~表示家目录
cd ~表示进入家目录

…表示上级目录
cd …表示进入上级目录

.表示当前目录

touch指令

语法:touch 文件
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

stat

语法:stat 文件
功能:查看文件详细信息

mkdir指令

语法:mkdir [选项] name
功能:在当前目录下创建一个名为 name 的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录

mkdir -p a/b/c
rmdir && rm

rmdir只能删除空目录,一般目录需要用rm来删除。
rmdir
语法:rmdir name
功能: 删除空目录name

rm
语法:rm [-f-i-r][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
-r 递归删除目录及其下的文件
-f 强制删除
-i 删除前询问是否要删除

man指令

语法: man 命令 手册编号
功能:查询命令详解
如果你的man命令无法使用,那就需要下载,下载代码
yum -y install man-pages,(需要root用户进行操作)输入命令行即可。
man手册有很多个,比如:

  • 1.查询shell命令
  • 2.查询linux系统命令
  • 3.查询c语言命令

一般情况下man会自动匹配相应的手册

cp指令

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
选项:
-f 强制复制文件,不管文件是否已经存在
-i 若文件存在,询问是否复制
-r 递归复制目录即其下目录和文件

mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  • .当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  • .当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
cat指令

语法:cat [选项][文件]
功能: 查看目标文件的内容
选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

tac指令

语法:cat [选项][文件]
功能: 查看目标文件的内容(倒着看)
选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

more指令

语法:more [选项][文件]
功能:more命令,功能类似 cat,但是more大多数情况用来查看大文件,它可以按上下翻阅文件,
常用选项:

q 退出查询

less指令

语法:同more
功能:也用来查看大文件,但是他比more更有弹性,more查看的时候只能从向后翻阅,但是less向前向后都可以
此外,less里面还有更多的搜索功能,不仅可以向上搜还可以向下搜
-n 显示行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
-i忽略搜索时的大小写

head和tail指令

语法:head(tail)[选项] 文件
功能:显示文件的开头(末尾)默认为10行
-n<行号> 显示行数

它们俩还可以通过管道一起使用
如一个文件有很多行,我们要获取1000到1010行
在这里插入图片描述
图中 | 代表管道

date

语法:date [OPTION]… [+FORMAT]
功能:显示时间
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d
%s :显示时间戳:开始时间1970年一月一日00:00积累的秒数,各地区开始时间有所差异,因为每个地区时间有差异
如:
在这里插入图片描述
在这里插入图片描述

find指令

语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
由于要访问磁盘,进而导致效率低下。
常用选项:
-name 通过文件名查找

which指令

语法:which 指令
功能:只用来搜索指令

whereis指令

语法:which 指令/文档
功能:在特定的路径中搜索稳定或指令

alias指令

语法:alias 别名=指令
功能:给指令取别名

unalias指令

语法:unalias 别名
功能:取消别名

grep指令

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,输出没有出现该字符串的那一行
还可以结合管道使用
如wc -l 可以统计行数
在这里插入图片描述

sort指令

语法: sort 文本
功能:对文本排序

uniq指令

语法 uniq 文本
功能:使文本每行都不同,但是只有相邻行才能不同,也就是说有两个相同的行离的很远,uniq就不能判断他们相同了,
但是我们可以配合sort来使用,先把相同的行放在一块,然后再使合并使每一行都不同。

在这里插入图片描述

zip/unzip指令

zip
语法:zip 选项 压缩成的名字 要压缩的文件或目录
功能:将目录或文件压缩成zip格式
常用选项:
-r 递归处理:即把指定目录下的所有目录和文件一起打包压缩
unzip
语法:unzip 要解压zip文件 (-d 解压到的地方)
功能:解压到当前目录(或指定目录)

tar指令

语法: tar 选项 文件与目录 … 参数
功能:打包或解压,也可以查看打包后的内容(不解压)
常用选项:
-c 打包
-x 解压
-t 查看里面的内容
-z通过zip的方式打包/解压
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C 解压到指定目录

bc指令

bc命令可以很方便的进行浮点运算,不常用,windows下的计算器很好用。

几个重要热键

Tab]按键—具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键—让当前的程序『停掉』:当程序异常时使用。
[Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可
以用来取代exit
[Ctrl]-r按键—搜索历史命令

shutdown指令

语法: shutdown 选项
功能:关机
-h 将服务器停掉后立即关机
-r 即服务器停掉后重启
-t 后面加时间,表示过几秒后关机

补充

lscpu:查看cpu信息
lsmem:查看内存信息
df -h:查看磁盘使用情况

扩展

◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

Linux权限理解

Linux下有两种用户
超级用户:可以在系统下做任何操作,不受约束。
普通用户:受权限约束的用户,只能做有限的事
超级用户的命令行提示符是#,普通用户是$

用户切换

su (用户名)切换用户:
如果不加用户即切换到root用户(超级用户)
如果想要短暂的提权需要用sudo
语法 :sudo 命令
此时为了给信任的用户提供最少的执行障碍,只用输入当前用户的密码即可。
如果sudo失败出现以下的情况
在这里插入图片描述
表示当前用户没有被添加到信任名单,需要将当前用户添加到/etc/sudoer中

什么是权限呢?

权限是用来约束人的,以及目标对象本来具有的属性。
所以 权限:一件事情允许被谁做。
在Linux下的权限也是如此,文件权限 = 人 + 文件属性
人其实可以说是角色
Linux下有三种角色

  • 拥有者:u-User 即拥有个体,只能有一个
  • 所属组:g-Group 即拥有群体,然后只有u的话,只有一人拥有,所以才有了g
  • 其他人:o-Other 除去u和g的角色
    解释:他们就和两个小组一样,假如你是技术的开发人,你想让你团队的人看,你就要开放权限,但是如果没有group的话,你就只能开放other的权限,那么其他团队的人也可以看到了,所以Linux才有了group角色的产生。
    文件类型
    Linux系统下文件的类型和文件的后缀没有任何关系,但是也可以使用后缀,这个后缀其实也是名字的一部分。
    但是这不意味着工具不区分后缀,有些工具是看后缀的,比如gcc编译时,必须编译以.c结尾的文件。
    d:文件夹
    -:普通文件

    l:软链接(类似Windows的快捷方式)
    b:块设备文件(例如硬盘、光驱等)
    p:管道文件
    c:字符设备文件(例如屏幕等串口设备)
    s:套接口文件

文件权限

  • r:读(read)对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限
  • w:写(write)对于文件来说具有修改文件内容的权限;对于目录来说,需要修改或删除和移动该目录下文件的权限,所以删除文件是其所在目录的写权限
  • x:执行(execute)对于文件来说表示执行该文件的权限,对于目录来说指进入该目录的权限
  • ➖即没有权限

在这里插入图片描述
前面的一串字符,比如第一个drwxrwxw-x,第一个字符表示文件类型,d代表目录,所以a是一个目录,
它后面还有有个字符,它们三个三个一组,第一组为拥有者的权限,rwx即可以读可以写可以执行
第二组为所属组的权限,第三组为其他人的权限
后面的第一个blow表示拥有者,第二个表示所属组。

chmod指令

chmod
功能:设置文件的访问权限
格式:chmod 参数 权限 文件名
说明:只有文件的拥有者和超级用户root可以修改文件权限
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
权限:rwx
其实也可以通过二进制代表权限
在这里插入图片描述
在用chmod时候,需要把它们转化成10进制
如:r :4
w:2
x :1
rw : 6
rwx:7
rx:5
wx:3
—:0
再进行chmod时,有3个数字,第一个代码拥有者权限,第二个代码所属组权限,第三个代码other权限
在这里插入图片描述

chown

功能:修改文件的拥有者(也可以同时改变所属组)
格式:chown [参数] 拥有者(:所属组) 文件名
在系统中把东西给别人,还需要经过别人的同意,所以用户权限不足,所以通过root来更改,也可以sudo
改变拥有者:
在这里插入图片描述
改变拥有者和所属组:
在这里插入图片描述

chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
同chown,把权限给别人时候需要用root或sudo提权

file

功能说明:辨识文件类型。
语法:file [选项] 文件或目录…
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

umask

功能:查看或修改文件掩码
超级用户默认掩码值为0022,普通用
户默认为0002。
其实创建文件的默认权限是666
创建目录的默认全是是777
实际权限是 默认权限&(~umask)
如 目录 777写成二进制是 111 111 111 ,umask是0002,可以把第一当成无效数字,那么就是002,二进制是000 000 010,
~umask 即111 111 101,所以 111 111 111 & 111 111 101 为 111 111 101即776即拥有者和所属组拥有所有权限,其他人只有rx权限。如图所示:
在这里插入图片描述

粘滞位

Linux中有很多用户,有时我们需要在一个共同目录下进入操作,所以要把所有人的权限放开,
由于目录的w权限是修改,删除,移动目录内的文件或目录,但是这样的话,普通用户就可以随意删除其他人的文件了。
为了解决这种问题,就有了粘滞位,让大家在公共目录下禁止互删对方的文件-》给目录设置粘滞位
语法:chmod +t 目录名

权限总结

目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这
个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读
权限
所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

  • 32
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值