【Linux】Linux基本常识以及常用命令
✨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)。
在Linux下常遇到权限不足等提示,此时需要使用chmod
命令改变文件权限
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
使用权限 : 所有使用者
语法
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安装软件
常用命令为apt
、apt-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
版权所有,如需转载请注明出处。