Linux-基础快速入门

这是本人新手菜鸟在学习Linux中的一些总结,有不对的地方请指出来。谢谢。(学习视频来源于尚硅谷,白嫖yyds哈哈)

1. Linux的目录结构

1.1 目录基本介绍

	在Linux的文件系统采用了层级式的树状目录结构,在最上层的是根目录"/".
	![在这里插入图片描述](https://img-blog.csdnimg.cn/cba81390be2d4544a03cf885ad14733f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6buE6buE6buE6buE6buE5r2H5ZGA,size_13,color_FFFFFF,t_70,g_se,x_16#pic_center)

1.2 常用目录用途

	在这对于所有目录不做详细介绍,反正大家伙应该也跟我一样记不下来。在这一些重要目录进行介绍。

	 - /home:  home目录作为普通用户的主目录,每一个用户在此目录下都有一个子目录。
	 - /root:  该目录为系统管理员,也称作超级权限者的用户主目录。
	 - /etc:  所有系统管理所需要的配置文件和软件配置文件存放于此目录。
	 - /usr/local:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
	 - /opt:这是给主机额外安装软件所摆放的目录,如安装ORACLE数据库就可放到该目录下。于/usr/local的区别在于 前者存放需配置环境变量的软件。
	 - /var:这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件。

2. Linux的常用指令

2.1 关机 重启

 关机和重启主要有三个指令,分别为 shutdown ,halt,reboot。
			shutdown -h now : 立即关机 
	 		shutdown -h 1 : 一分钟后关机 
	 		shutdown -r now : 立即重启,同上
	 		halt : 关机 
	 		reboot : 重启系统

2.2 用户管理

2.2.1 基本用户管理

2.2.1.1 用户管理介绍
	Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
	用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令
2.2.1.2 用户管理基本指令(root权限)
查看当前用户:
	who is am

注销用户:
	logout

新增用户:
	useradd [参数] 用户名	 
		* -c : commoent 指定一段注释行描述
		* -d : 指定用户主目录,如果此目录不存在,则可以-m创建主目录
		* -g : 指定用户所属的用户组
		* -f :[缓冲天数] 指定用户密码过期后在多少天关闭该账号
		* -e : 指定账号的有效期限

删除用户: 
	userdel [参数] 用户名
			* -r :同时删除用户主目录

修改用户信息:
	usermod [参数] 用户名
		 参数同新增用户相同

用户口令管理:
	passwd [参数] 用户名
		* -l 锁定口令,即禁用账号。
		* -u 口令解锁。
		* -d 使账号无口令。
		* -f 强迫用户下次登录时修改口令。

2.2.2 组管理

2.2.2.1 组管理介绍
	每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
	用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
2.2.2.2 组管理基本指令
新增用户组:
	groupadd [参数] 组名
		* -g GID 指定新用户组的组标识号(GID)。
		* -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

删除用户组:
    groupdel [参数] 组名
    	* -g GID 为用户组指定新的组标识号。
    	* -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
    	* -n新用户组 将用户组的名字改为新名字

2.4 组管理和权限管理

2.4.1 Linux组介绍

	Linux中每一个用户都属于一个组,不能独立于组以外。所以在Linux中每一个文件都存在着文件/目录所有者和组的概念。一般文件的所有者都是文件的创建者,而当用户创建文件/目录时,默认文件所在组就是该用户。

2.4.2 文件属性介绍

  • ls -l中显示的内容如图所示
    在这里插入图片描述
    1. 在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
    - 当为[ d ]则是目录
    - 当为[ - ]则是文件;
    - 若是[ l ]则表示为链接文档(link file);
    - 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
    - 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
    2. 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

2.4.2 文件属性

2.4.2.1 rwx权限详解
	 - rwx作用到文件:
	 		- r: read 可读,能进行查看读取
	 		- w:write 可写,可以修改文件。不代表可以删除文件,删除一个文件意味着该用户对目录据有写的权限。
	 		- x:excute 可执行,该文件能被执行。
	 - rwx作用到目录:
	 		- r: read 可读,可ls查看目录内容
	 		- w:write 可写,目录内创建+删除+重命名目录
	 		- x:excute 可执行,可以进入该目录。
2.4.2.2 修改权限指令
更改文件属组:
	chgrp [参数] 属组名 文件名
		* -R: 递归更改
更改文件属主,也可以同时修改属组:
	shown[参数] 属主名:属组名 文件名
		* -R: 递归更改
更改文件9个属性:
	在Linux中有两种修改文件属性的方法。一种是数字法,一个种是符号。文件的基础权限只有九个,分别对应者read/write/execute权限。
	数字法:我们可以通过数字来代表各个权限。通过chmod -R 777 方式修改文件/目录的权限,这种情况是给read/write/execute加上读写执行的权限。可以灵活配置,记住下面的数值对应即可。
			- r:4
			- w:2
			- x:1
	符号法: 使用符号法的话,是通过	u(user), g(group), o(others) 来代表三种身份的权限!在此之前可以通过 a(all)来代表所有分钟。通过 +(加入)  -(除去) =(设定) 来设置权限。 
	例如: chmod u+rwx 文件/目录
	

2.5 常用指令

2.5.1 vi和vim

1. vi 或vim 编辑文件
2. i 编辑模式 / : 命令行模式
3. yy: 拷贝当前行  5yy:拷贝当前5行
4. dd: 删除当前行 5dd:删除当前行
5. 在文件中查询某个单词: 命令行输入 / (查询内容)  按n 查找下一个
6. 设置行号:set nu 取消行号:set nonu
7. 正常模式到末行:shift + g  到首行:gg
8. 撤销输入:正常模式输入u

2.5.2 文件剪贴删除复制重名等

  • pwd:Print Working Directory,显示当前工作目录的绝对路径。
  • ls:-a:显示当前目录所有的文件和目录,包括隐藏的;
    • -l:以列表的方式显示信息。
  • cd:cd ~:回到自己的家目录;cd …:回到当前目录的上一级目录。
  • mkdir:创建目录;-p:创建多级目录。
  • rmdir:删除空目录。rmdir不能删除非空的目录。如果需要删除非空的目录,需要使用rm -rf。
  • cp:拷贝文件到指定目录;
    • -r:递归复制整个文件夹。强制覆盖不提示的方法:
    • cp命令改为\cp
  • rm:移除文件或目录;
    • -r:递归删除整个文件夹;
    • -f:强制删除不提示。
  • mv:移动文件与目录或重命名,两种功能!
  • touch:创建空文件。可以一次性创建多个文件
  • ln 给文件创建一个软连接
    • 用法:ln -s源文件或目录

2.5.3 文件查看

  • cat:查看文件内容。只能浏览文件,而不能修改文件。
    • -n:显示行号。
    • 结尾加上 | more:分页显示,不会全部一下显示完。
  • more:是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more还内置了很多快捷键:
    • 空白键(Space):向下翻一页
    • Enter:向下翻一行
    • q:立刻离开more,不再显示该文件内容
    • Ctrl + F:向下滚动一屏
    • Ctrl + B:返回上一屏
    • = :输出当前行的行号
    • :f 输出文件名和当前行的行号
  • head:显示文件的开头部分。-n 5:看前面5行内容。
  • tail:输出文件中尾部的内容。
    • -n 5:看后面5行内容。
    • -f:时事追踪该文档的所有更新
  • echo:输出内容到控制台。
  • history:查看历史指令
    • ”!行数 “ 执行历史指令

2.5.4 文件查看

  • find:从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端。
    • find (搜索范围) -name (文件名):按照指定的文件名查找模式查找文件。
    • find (搜索范围) -user (用户名):按照指定的用户名查找模式查找文件。
    • find (搜索范围) -size (+多少/-多少/多少):按照指定的文件大小查找模式查找文件(大于多少/小于多少/等于多少)
    • 查询 /目录下所有.txt的文件:find / -name *.txt
  • locate:locate (搜索文件)
    • 可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
    • locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
    • 在第一次运行之前,必须使用updatedb指令创建locate数据库。
  • grep:过滤查找,表示将前一个命令的处理结果输出传递给后面的命令处理。经常跟管道一起使用。
    • grep [选项] 查找内容 源文件
    • -n:显示匹配行及行号。
    • -i:忽略大小写字母。
    • cat hello.txt | grep yes

2.5.5 压缩和解压类

  • gzip/gunzip:压缩文件/解压
    • gzip (文件):压缩为.gz文件,原来文件不保留。
    • gunzip (文件):解压缩,同样也不保留源文件。
  • zip/unzip:压缩文件/解压
    • zip [选项] (压缩后文件xxx.zip) (将要压缩的文件)
    • unzip [选项] (要解压的文件xxx.zip)
    • zip -r:递归压缩,即压缩目录
    • unzip -d (目录):指定解压后的文件的存放目录
  • tar:打包指令,最后打包后的文件是.tar.gz的文件
    • tar [选项] xxx.tar.gz (打包的内容)
    • -c:产生.tar打包文件
    • -v:显示详细信息
    • -f:指定压缩后的文件名
    • -z:打包同时压缩
    • -x:解压.tar文件
    • 压缩:tar -zcvf (压缩后文件名) (要压缩的文件)
    • 解压:tar -zxvf (要解压的文件)
    • 解压到指定目录:tar -zxvf (要解压的文件) -C (指定目录),指定解压到的目录要存在。

2.6 定时任务调度

**任务调度原理图:**	

定时任务原理:
任务调度常用指令

例如: 
使用方法:
		crontab [参数]
			* -e:编辑crontab定时任务
			* -i:查询crontab任务
			* -r:删除当前用户所有的crontab任务
			* -l:列出当前有哪些任务调度
			* service crond restart:重启任务调度
			* 当保存退出后就生效了

执行时间

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7(0和7都代表星期日)

2.7 磁盘查看

磁盘情况查询:df -h 或者 df -l
在这里插入图片描述

查询指定目录:du -h /目录,默认为当前目录

  • -s:指定目录占用大小汇总
  • -h:带计量单位
  • -a:含文件
  • –max-depth=1:子目录深度
  • -c:列出明细的同时,增加汇总值

2.8 进程管理

2.8.1 进程管理基础

  • 在Linux中,每一个执行的程序都称为一个进程。每一个进程都分配一个ID号。
  • 每一个进程,都会对于一个父进程,而这个父进程可以复制多个子进程。
  • 每个进程都可能以两种方式存在。前台和后台。
    • 前台进程是用户目前屏幕上可以进行操作的。
    • 后台进程是实际在操作的,由于屏幕上无法看到的进程,通常在后台方式执行。
      *一般系统的服务器都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

2.8.2 进程操作指令

查看进程:
ps [选项]:查看目前系统中,有哪些正在执行,以及它们执行的状况
	* ps -a:显示当前终端的所有进程信息。
	* ps -u:以用户的格式显示进程信息。
	* ps -x:显示后台进程运行的参数。
	* ps -axu | grep xxx:过滤得到xxx的信息。
	* ps -ef:以全格式显示当前所有的进程,查看进程的父进程。
	* -e:显示所有进程。
	* -f:全格式。
中止进程:
- kill [选项] 进程号:通过进程号杀死进程
  - -9:表示强迫进程立刻停止
- killall 进程名称:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用

2.9 包管理工具(npm和yum)

2.9.1 npm

RPM:RedHat Package Manager,红帽软件包管理工具。
Linuxd分发版本都有采用(suse,redhat,centos等)

常用指令

  • 查询指令:
    • RPM查询已安装的rpm列表:rpm -qa | grep xx
  • 卸载指令:
    • 卸载rpm包:rpm -e 软件包名称
    • 强制卸载(可能会导致软件无法运行): npm -e --nodeps 软件包名称
      安装指令:
  • 安装rpm包:rpm -ivh 软件包全路径名称
    • i=install:安装
    • v=verbose:提示
    • h=hash:进度条

2.9.2 yum

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

  • yum list | grep xx:查询yum服务器是否有需要安装的软件
  • yum install xx:安装指定的yum包
  • yum -y remove xx:卸载指定的yum包

2.9.3 rpm和yum的区别

npm是软件包管理器,核心功能是制作软件包.rpm ,安装,卸载,升级,查询,校验。而yum封装了npm ,拥有其所有功能。能通过网络对软件进行下载和安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值