本文共 4963 字,大约阅读时间需要 16 分钟。
Linux特点及哲学思想:
- 一切皆文件
- 组合目的单一的小程序完成复杂的任务
- 使用文本文件保存配置信息
- 尽量避免跟用户交互
- 由众多目的单一的应用程序组成:一个程序只做一件事,且做好
终端:人机交互的最后一个界面
shell:人机交互程序Linux目录层级:
- /bin 全局指令文件所在的路径
- /home 普通用户的家目录所在的路径
- /root 超级用户家目录所在的路径
- /boot 内核文件引导目录
- /sbin 超级用户才可以使用的指令文件所在的目录,非超级用户使用需要提权(sudo)
- /tmp 临时文件所在的目录,通常情况下30天自动清除
- /dev 设备文件所在的目录
- /lib /lib64 公共共享库所在路径
- /usr 第三方程序所在目录(相当于Windows的program files)
- /etc 程序配置文件所在的目录
- /var 可变文件的目录
Linux的文件类型:
- 普通文件:-,f —— 通常情况下无色显示,除了压缩文件(红色)、破损文件(红色)、可执行文件(绿色)
- 目录文件:路径映射 d —— 通常情况下以蓝色显示
- 链接文件(符号链接):软连接 I —— 相当于Windows快捷方式,通常情况下青色显示
- 设备文件:字符设备 c,块设备 b —— 通常情况下黄色显示
- 套接字问价:s —— 进程间通信的特殊文件,通常情况下为紫色
- 命名管道:p —— 颜色为黄褐色
Linux命令
Linux命令通用格式:命令字 【选项】 【参数】
- 方括号内的内容可写可不写
- 如果权限不够,可以在命令前加sudo提权
- 命令的参数位置可以使用绝对路径也可以使用相对路径,当前路径为"./",如果参数是文件且在当前路径下也可以省略路径直接写文件名
- 选项后如果没有参数则可以连着用,如 -rf 这种方式
- Linux里一切皆文件
三大基本命令
查看目录:ls
切换目录:cd 查看当前目录:pwdls命令选项:
使用方法:ls [选项] [路径或文件]
- -a:显示指定路径下的隐藏文件
- -l:查看文件的基本属性信息
- -d:查看目录本身相关属性信息
- -h:以易于阅读的方式查看文件占用的磁盘空间
- -R:递归显示目录及其子目录以及其下的文件
查看文本文件:(cat,more,less,tail,head)
- cat:查看文本文件;命令格式——cat [option] file (选项:-n 显示出每行的行号);使用方法——
cat [选项] [文本文件]
- more:分屏查看文本文件;命令格式——more [option] file (空格往下翻屏、B键往上翻屏、回车往下翻行、Q键退出);使用方法同上
- less:分屏查看,操作方法同上,区别是上下箭头翻行,"/"可以搜索相关内容;使用方法同上
- tail[-#]:查看文本文件尾部信息,默认10行,“#”为你要查看的行数;使用方法——
tail [-#] [文本文件]
- head[-#]:查看文本文件头部信息,默认10行,“#”为你要查看的行数;使用方法同上
复制:cp(copy)
使用方法:cp 源文件 目标路径
选项:-r —— 递归复制目录及其下面的内容;-f —— 强行复制。 注意:复制时也可以直接对复制完成后的文件改名,就是在目标路径后跟上文件名 移动:mv 相当于Windows里的剪切 (如果对目录进行移动,则会自动删除目录)
使用方法:mv 源文件 目标路径
选项:-f —— 强行移动,不提示 注意:可以使用mv命令对文件进行重命名,就是将文件原地移动,目标路径写上要重命名的名字;也可以在移动的同时修改文件名,就是在目标路径后加上要修改为的文件名 删除:rm (注意:不会触发回收站,也就是删了就找不着了)
使用方法:rm [选项] 要删除的文件
选项:-r —— 递归删除;-f —— 强行删除 创建空文本文件:touch(也可以更新时间戳)
使用方法:touch 要创建的文件名
创建空目录:mkdir
使用方法:mkdir [选项] [目录名]
(如果使用-p选项可以写多层目录,形如:目录名/目录名/目录名) 选项:-p —— 递归创建目录;-v —— 可视化(就是把创建过程输出) 查看元数据属性:stat
使用方法:stat 文件名
查看文件内容类型:file
使用方法:file 文件名
文本编辑器:gedit(只能在图形界面使用,字符界面不可使用)
使用方法:gedit 文件名
查看文件所占磁盘空间:du
使用方法:du -sh 文件名
查询指令文件所在的目录:which
使用方法:which 指令文件(如ls、cat等)
调用脚本服务启停:
systemctl —— 使用方法systemctl start/stop/restart/reload/status 服务名
service —— 使用方法service 服务名(如MySQL) start/stop/restart/reload/status
shell的快捷操作:
- 历史命令信息:history命令
- Ctrl+c:取消正在执行的命令
- Ctrl+l:清屏,相当于命令clear
- Ctrl+a:跳至命令行首,相当于Home键
- Ctrl+e:跳至命令行尾,相当于End键
- Ctrl+u:光标处删除至最左侧
- Ctrl+k:光标处删除至最右侧
- Ctrl+z:将当前命令传送至后台(调回命令fg)
- !!:执行上一次操作
- !加命令开头关键字执行之前的那条命令(也可以接数字,如!100)
- Tab:命令和参数关键字补全,有时候要按两下(前提条件是输入的关键字要唯一)
bash shell通配符(文件名通配):
- *:匹配任意长度的任意字符
- ?:匹配任意单个字符
- []:匹配指定范围内的任意单个字符,不区分大小写
- [[:upper:]]:大写字母,简化写法 —— [A-Z]
- [[:lower:]]:小写字母
- [[:elpha:]]:所有字母,简化写法 —— [a-z]
- [[:digit:]]:所有数字,简化写法 —— [0-9]
- [[:alnum:]]:说有字母和数字
- [[:space:]]:空格
- [[:punct:]]:标点符号,特殊字符
- [^]:匹配指定字符范围外的任意单个字符
用户
uid:用户标识号
gid:组标识号 默认情况下,用户uid和gid一样用户的分类:
- 超级用户(root):权限特别大,uid=0,gid=0,生产环境建议不要使用
- 普通用户:uid>=500,Ubuntu一般>=1000,一般权限系统管理,权限有限
- 程序用户:1<=uid<500,服务资源使用,不能登录系统,其shell为/usr/sbin/nologin
id命令
获取指定用户的uid、gid 默认为获取当前用户的uid、gid 使用方法:id [username]
/etc/passwd(用户账号文件)
作用:保存用户名称、宿主目录(家目录)、登录shell等基本信息,每一行对应一个用户的账号记录。 共七个字段,各字段代表的含义如下:- 第一字段:用户账号名
- 第二字段:密码占位符
- 第三字段:uid编号
- 第四字段:gid编号
- 第五字段:用户备注
- 第六字段:用户宿主目录(家目录)
- 第七字段:登陆的shell(若为/usr/sbin/nologin则不能登录)
/etc/shadow
作用:保存用户的账号、密码、有效期等信息,每一行对应一个用户名的密码和信息 一共九个字段,格式如下: 用户名:加密口令(密文):最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志用户:资源获取标识符,资源分配,安全权限模型的核心要素之一
密码:实现用户认证添加和删除用户
添加用户
命令格式:useradd [-u uid] [-g gid] [-d HOME] [-M] [-s] 用户名
注意:在Ubuntu版本里,默认不创建家目录,也就是默认-M选项,如果要创建家目录则加上-m选项 选项: - -m:强制创建用户家目录
- -u:自定义uid
- -g:自定义gid,前提是这个gid已存在
- -M:不要创建用户家目录(系统账号默认值)
- -s:自定义shell,若没有则默认为/bin/sh(Ubuntu系统) 例:创建一个名为abc的用户,要求创建家目录。
sudo useradd -m abc
删除用户
命令格式:userdel [-r] 用户名
选项:-r —— 同时删除用户的家目录 给用户设置密码(超级用户)
命令格式:passwd 用户名
添加、删除用户组
命令格式:groupadd [-g gid]
选项:-g —— 自定义用户组标识符gid,不加-g则按照系统默认创建组,从500开始 可以通过/etc/group文件查看用户组 权限管理
权限管理
属主 —— owner 属组 —— group 其它 —— other权限:
- read(读)—— r
- writer(写)—— w
- execute(执行)—— x
对于文件来说:
- r:可以使用内容查看类的命令来显示其相关内容
- w:可以使用编辑器修改其内容
- x:可以将其发起一个进程
对于目录来说:
- r:可以使用ls命令查看目录内容的文件信息
- w:可以创建、删除文件
- x:可以使用
ls -l
命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录
用户不拥有的某位权限使用-占位:如r-x —— 读和执行的权限;r-- —— 只读权限;rw- —— 读写权限;等等
使用数字来表示:r —— 4;w —— 2;x —— 1
修改文件的属主和属组
命令:chown(可以修改属主和属组);chgrp(修改属组) chown命令格式:chown [选项] 属主名[:属组名] 文件名
(可以单独修改属主,如果同时修改属主和属组要用’:‘或者’.'隔开) chgrp命令格式:chgrp [选项] 属组名 文件名
选项:-R —— 递归修改 修改文件权限
命令:chmod 操作三类用户的权限,使用8进制形式时命令格式:chmod [选项] 8进制数 文件
如:chmod 641 文件名
注意:三个数分别代表属主、属组、其它,最大为777,最小为000,读权为4,写权为2,执行权为1 操作指定类别用户的权限:使用u,g,o,a来赋权,基于=或者+/-来进行
- u:属主
- g:属组
- o:其他
- a:所有
- =:操作指定类型用户权限,例如:
chmod u=rw 文件名
(设置属主的权限为读写) - +/-:操作指定类型用户的单个权限,例如:
chmod u+r 文件名
(给属主增加读权) - 注意:可写多个,用逗号隔开。如:
chmod a=rw,u+x 文件名
归档和压缩
压缩
压缩:有两种方法gzip[-x]和bzip2[-x],x为压缩级别,取值为1-9默认为6,使用gzip的方式进行压缩,通常后缀名为.gz,使用bzip2的方式,通常后缀名为.bz2
解压缩:gunzip(或 gzip -d) bunzip2(或 bzip2 -d) 注意:压缩针对于文件,不能对目录进行压缩,压缩和解压缩不会保留源文件 使用方法,以gzip为例:压缩 ——gzip [选项] 文件 文件名
;解压缩 —— gunzip 压缩文件文件名
归档
归档命令格式:tar -选项 归档文件名 源文件名或目录
tar -选项 归档文件名 [-C 目标目录]
选项: - -f:必接选项,而且必须放在选项的最后面
- -c:创建一个新的归档
- -x:释放归档,不能和-c连用
- -z:归档的同时,可以使用gzip格式进行压缩或解压缩
- -j:归档的同时,可以使用bzip2格式进行压缩或解压缩
- -v:可视化
创建连接
ln命令
链接文件不会对源文件有任何影响,但源文件出现移动或破损或者删除,链接文件无效 命令格式:ln -sv 文件 连接
测试网络连通性
ping命令
选项:-c —— 指定次数;-W —— 指定超时时间 命令格式:ping [选项] 地址
例如:‘ping -c 3 -W 3 www.baidu.com’ 转载地址:https://blog.csdn.net/Zhang_Chao_1998/article/details/85239988 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!