Linux笔记
发布日期:2021-06-29 04:55:50 浏览次数:2 分类:技术文章

本文共 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
查看当前目录:pwd

ls命令选项

使用方法: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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Django的安装与Django项目的创建
下一篇:MySQL笔记

发表评论

最新留言

不错!
[***.144.177.141]2024年04月27日 18时30分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Atitit 效率提升法细则 v3 t028.docx Atitit 提升效率细则 目录 1. 目标 2 1.1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑 2 1.2. 统一接口 2019-04-29
Atitit 工程师程序员技术级别对应表与主要特征 P1--p6 说明 类别 职称 对应技术标志 P5 高级工程师 工程师类 一般四五年 P6 资深开发 工程师类 78年经历 P7 P7 2019-04-29
paip.activex控件在WEB中使用流程与工具 2019-04-29
paip.软件及网站项目开发效率低下的思索与改进 2019-04-29
Atitit 可移植性之道attilax著 2019-04-29
paip.截屏功能流程说明 2019-04-29
Atiitt uke兼wag集团2017年度成果报告总结 attilax著 1. 组织机构进一步完善 8大首席部门 1 2. 事业部进一步完善,以及一百多个事业部了 1 3. 企业文化进一步完善 1 2019-04-29
Atititi ui之道 attilax著 v3 s11.docx 1. 概览 2 1.1. 软件设计可分为两个部分:编码设计与UI设计 2 2. 用户界面设计的三大原则是:置界面于用户的控制之下; 2019-04-29
Atitit 集团与个人的完整入口列表 attilax的完整入口 1. 集团与个人的完整入口列表 1 2. 流量入口概念 2 3. 流量入口的历史与发展 2 1.集团与个人的完整入口列表 2019-04-29
Atitit 网络编程之道 2019-04-29
Atiitt attilax掌握的前后技术放在简历里面.docx 2019-04-29
Atiitt 文档处理之道 attilax著 2019-04-29
Atiitt 可视化 报表 图表之道 attilax著 Atitit.可视化与报表原理与概论 1. 信息可视化 1 2. Gui可视化 2 2.1. atitit 知识的可视化.docx 2 2019-04-29
paip.c#图片裁剪 2019-04-29
paip.html 及css调试工具---debugbar 2019-04-29
paip.项目开发效率提升之思索 2019-04-29
paip.项目开发效率提升之思索 2019-04-29
Atitit spring5 集成 mybatis 注解班 2019-04-29
Atitit springboot mybatis spring 集成 Springboot1.4 mybatis3.4.6 /springbootMybatis 目录 1.1. 设置map 2021-07-02
Atitit 模板引擎总结 目录 1. 模板引擎 1 2. 常见模板步骤 1 2.1. 1)定义模板字符串 1 2.2. 2)预编译模板 2 2.3. 渲染模板 2 3. 流程渲染 if el 2021-07-02