【linux学习】linux的一些奇怪知识,方便日常使用

我是程序员小青蛙,下面介绍关于linux的知识。


前言

一些基本知识,方便利用,比如热键[tab],[ctrl]-c,[ctrl]-d,粘滞位,权限等;

xshell中的复制粘贴,Ctrl+insert,复制

shift+insert->粘贴


一、 重要的几个热键[Tab],[ctrl]-c, [ctrl]-d,关机

Tab\]按键---具有『命令补全』和『档案补齐』的功能 \[Ctrl\]-c按键---让当前的程序『停掉』 \[Ctrl\]-d按键---通常代表着:『键盘输入结束(End Of File, EOF戒End OfInput)』的意思;另外,他也可以用来取代exit 语法:shutdown \[选项\] \*\*常见选项:\*\* -h:将系统的服务停掉后,立即关机。 -r:在将系统的服务停掉之后就重新启动 -t sec:-t后面加秒数,亦即『过几秒后关机』的意思 **以下命令作为扩展:** 安装和登录命令: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。 shell命令以及运行原理: Linux严格意义上说的是一个操作系统,我们称之为"核心(kernel)",但我们一般用户,不能直接使用kernel。而是通过kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel? 从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含: 将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。 对比windows GUI,我们操作windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。 shell对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。 bash就是一种媒介,对我们的操作进行解释传输。 ## 二、Linux权限的概念 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是"#",普通用户的命令提示符是"$"。![](https://i-blog.csdnimg.cn/direct/198c2a95253a4b349c14e480eaddab08.png) 命令:su \[用户名

功能:切换用户。

例如,要从root用户切换到普通用户user,则使用su user。要从普通用户user切换到root用户则使用su root(root可以省略),此时系统会提示输入root用户的口令。

Linux权限管理

01.文件访问者的分类(人)
文件和文件目录的所有者:u---User(中国平民法律问题)
文件和文件目录的所有者所在的组的用户:g---Group(不多说)
其它用户:o---Others(外国人)

02.文件类型和访问权限(事物属性)

切割

a)文件类型
d:文件夹
-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

b)基本权限

读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

"---"表示不具有该项权限

03.文件权限值的表示方法

a)字符表示方法

|---------|---------|---------|-------|
| linux表示 | 说明 | linux表示 | 说明 |
| r - - | 只读 | -w- | 仅可写 |
| --x | 仅可执行 | rw- | 可读可写 |
| -wx | 可写可执行 | r-x | 可读可执行 |
| rwx | 可读可写可执行 | --- | 无权限 |

b)8进制数值表示方法

|------------|-----|-----|
| 权限符号(读写执行) | 八进制 | 二进制 |
| r | 4 | 100 |
| w | 2 | 010 |
| x | 1 | 001 |
| rw | 6 | 110 |
| rx | 5 | 101 |
| wx | 3 | 011 |
| rwx | 7 | 111 |
| --- | 0 | 000 |

04.文件访问权限的相关设置方法

a)chmod

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

格式:chmod [参数]权限文件名

常用选项:

R ->递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

chmod

①用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限

-:向权限范围取消权限代号所表示的权限

=:向权限范围赋予权限代号所表示的权限

用户符号:

u:拥有者

g:拥有者同组用

o:其它用户

a:所有用户
chmod a=x /home/abc.txt(全部)

②三位8进制数字

bash 复制代码
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

直接修改

b)chown

功能:修改文件的拥有者

格式:chown [参数]用户名文件名

bash 复制代码
chown user1 f1

c)chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数]用户组名文件名

常用选项:-R递归修改文件或目录的所属组

bash 复制代码
chgrp users /abc/f2

d)umask

功能:

查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & (~umask)计算方式

格式:umask权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

file指令:

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

使用sudo分配权限

(1)修改/etc/sudoers文件分配文件

bash 复制代码
# chmod 740 /etc/sudoers
# vi /etc/sudoer

格式:接受权限的用户登陆的主机=(执行命令的用户)命令

(2)使用sudo调用授权的命令

bash 复制代码
$sudo --u用户名命令

目录的权限

可执行权限:如果目录没有可执行权限,则无法cd到目录中.
可读权限:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容.
可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件.

这时就出现问题了:换句话来讲,就是只要用户具有目录的写权限,用户就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限.

为了解决这个不科学的问题, Linux引入了粘滞位的概念.

三、粘滞位

bash 复制代码
[root@localhost ~]# chmod +t /home/#加上粘滞位
[root@localhost ~]# ls -ld /home/
drwxrwxrwt. 3 root root 4096 9月19 16:00 /home/
[root@localhost ~]# su - litao
[litao@localhost ~]$ rm /home/abc.c#litao不能删除别人的文件
rm:是否删除有写保护的普通空文件"/home/abc.c"?y
rm:无法删除"/home/abc.c":不允许的操作

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除

二、该目录的所有者删除

三、该文件的所有者删除

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


总结

对linux中一些注意点进行介绍,还有权限的用法。

相关推荐
魔法阵维护师7 小时前
从零开发游戏需要学习的c#模块,第十三章(rpg小游戏入门,下篇,地图敌人与战斗触发)
学习·游戏·c#
. . . . .7 小时前
业务知识学习
学习
_Evan_Yao7 小时前
如何搭建属于自己的技术博客(CSDN / GitHub Pages)
后端·学习·github
炽烈小老头7 小时前
【每天学习一点算法 2026/05/21】课程表
学习·算法
Harm灬小海8 小时前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
魔法阵维护师8 小时前
从零开发游戏需要学习的c#模块,第十七章(显示真正的图片——精灵绘制)
学习·游戏
婷婷_1728 小时前
JTAG (IEEE 1149.1)学习记录
学习·程序人生·debug·芯片·jtag·phy·eth/pcie
ygkl96988 小时前
未完待续 模拟题
学习
几司8 小时前
OpenISP 模块拆解 · 第1讲:坏点校正 (DPC)
笔记·学习·isp