【Linux】Linux基本常识以及常用命令

发布时间 2023-05-22 20:32:54作者: 双份浓缩馥芮白

✨Linux/类Unix基本常识

下文中所有${}意为通配符


基本常识

  • Linux/类Unix系统严格区分大小写
  • 请掌握vim基本使用
  • 善用搜索引擎

每个用户都有独立的shell

Linux/类Unix系统对于多用户的支持非常完善。

简单理解为每个用户都将拥有一个shell


所有的环境变量都写入shell对应的配置文件中

例如bash配置文件为.bashrc

zsh配置文件为.zshrc.zprofile

Linux默认shell为bash

macOS默认shell为zsh

个人推荐使用zsh + Oh My Zsh + zsh-autosuggestions + zsh-syntax-highlighting

美观且带有语法高亮以及自带补全提示

Linux/类Unix系统安装下实现该配置可参考如下博客

https://www.cnblogs.com/Flat-White/p/16370201.html


一般情况下每个用户都在/home目录下拥有一个文件夹,存放着该用户的文件

由于每个用户的.bashrc.zshrc.zprofile通常都存放在~目录(即用户目录详见下文)下,因此每个用户的shell相互独立


万物皆文件

某种意义上可以理解即使是Windows系统也是万物皆文件,只是在十六进制下具有不同的文件结构,扩展名只是表象,实质是十六进制下的文件头以及文件结构。


而对于Unix系统来说,万物皆文件更为具体。

对于Unix系统任何文件不需要扩展名,但是权限管理非常严格。


文件权限管理

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

img


在Linux下常遇到权限不足等提示,此时需要使用chmod命令改变文件权限

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

img

使用权限 : 所有使用者

语法

chmod [-cfvR] [--help] [--version] mode file...

参数说明

mode : 权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

八进制语法

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

例如, 765 将这样解释:

  • 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
  • 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
  • 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。

实例

例如赋予某文件最高权限可以使用如下命令

chmod 777 ${filename}

赋予所有用户对某文件的执行权限可以使用如下命令

chmod a+x ${filename}

文件系统

需要注意的一点是在Linux/类Unix系统中.开头为隐藏文件。

所有需要注意FTP服务器内的目录或者文件尽量不要以.开头

否则Mac用户需要在显示隐藏文件才能看到该目录。


常用命令

cd进入目录

cd ..进入上一级目录

ls显示当前目录下文件

ls -al显示当前目录下所有文件(包括.开头的隐藏文件)

cp复制文件

mv移动文件

rm不可恢复地删除文件

rm -rf不可恢复地强制递归删除文件


常用目录说明

仅仅列出想要说明的目录,不可能把所有常用目录都列出来,我也没完全搞清楚= =


根目录

/

有个段子sudo rm -rf /*删库跑路等着进去吧= =


用户目录

~

注意与根目录所区别,实际上例如我的用户名为Ubuntu。

那么~目录实际上等价于/home/Ubuntu

(其他类Unix操作系统~目录等价的目录绝对路径有可能有所出入)


此目录下存放着每个用户的用户目录

/home

✨Linux多用户使用

新建用户

sudo useradd -m ${username}
  • -m自动建立用户目录

${username}的意思是通配符,请修改为你想取的用户名称

由于使用sudo命令临时获取root权限,这一步请输入当前用户密码

(当前用户需要在sudoers内,否则无法使用sudo命令)


为新用户添加密码

su passwd ${username}

这里需要输入的是你新建用户的用户密码


切换用户

su ${username}

修改用户权限

不建议提权操作

如有需要请善用搜索引擎


多用户优势

理论上Linux多用户完全独立,互不干扰。


✨Linux安装软件

常用命令为aptapt-get

下载命令wget


apt-get实际上是类似与pip的包管理器

下面简要介绍apt-get


更新源(安装软件请先更新源)

(如果国内使用通常需要更换源)

apt-get update

安装软件

apt-get install ${sofewareName}

卸载软件

apt-get remove ${sofewareName}

当然作为Mac用户这里也很喜欢homebrew

同样对于Linux也很友好

具体可参考

https://www.cnblogs.com/Flat-White/p/14463793.html


⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/17421658.html

版权所有,如需转载请注明出处。