关于Linux的介绍想必大家都了解的,这里就不再啰嗦了。简单地说Linux是一个开源,免费的操作系统;安全,高效,稳定,处理高并发非常强悍;特点是多用户,多任务。

一、先来了解一下磁盘分区的概念

*盘片上细分出扇区(Sector)和柱面(Cylinder)两种单位,其中每个扇区为512bytes那么大。
整个磁盘的第一个扇区特别重要,因为它记录了整块磁盘的重要信息。
1)主引导分区(Master Boot Record ,MBR):可以安装引导加载程序的地方,有446bytes。
2)分区表(partition table):记录整块硬盘分区的状态,有64bytes。

1、1 磁盘分区表

由于分区表只有64bytes而已,最多只能容纳4个分区,这四个分区被称为主或扩展分区。

扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。

1、2 总结:
1)主分区与扩展分区最多可以有4个(硬盘的限制);
2)扩展分区最多只能有1个(操作系统的限制);
3)逻辑分区是由扩展分区持续切割出来的分区;
4)能够被格式化后作为数据访问的是主分区和逻辑分区;扩展分区无法格式化。

二、Linux的主要发行版

Ubuntu,centOS,Red hat……

三、Linux的目录结构

Linux的文件系统采用级层式的树状目录结构,在此结构的最上层是根目录/。
在Linux世界里,一切皆文件。

1、1 Linux的目录树

1、/bin :这个目录存放着用户最经常使用的命令,用户二进制文件,二进制可执行文件;
2、/sbin :s就是super user的意思,存放的是系统管理员使用的系统管理程序;
3、/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账户命名的;
4、/root:系统管理员(root用户)的家目录;
5、/lib:系统开机时会用到的函数库;
6、/etc:所以的系统管理所需要的配置文件和子目录;
7、/boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件和镜像文件;
8、/dev:任何设备与接口设备都是以文件形式存储在这个目录中(类似Windows的设备管理器);
9、/media:Linux系统会自动识别一些设备,如U盘,光驱等,识别后挂载到这个目录下;
10、/usr:存放用户安装的应用程序和文件(类似Windows的program files);
11、/tmp:存放一些临时文件;
12、/mnt:让用户临时挂载别的文件系统,,可以将外部的存储挂载到/mnt上;
13、/opt:给主机额外安装软件所摆放的目录(给第三方软件放置的目录);
14、/var:存放系统数据文件,不断扩充着的东西;习惯将经常被修改的目录放在这里,包括各种日志文件;
15:/lost+found:一般为空的,目的是当文件系统发生错误时,将一些丢失的片段放置在这里(系统非法关机等……);
16、/pro:是一个虚拟文件系统,是系统内存的映射访问这个目录来获取系统信息;它放置的数据都是在内存中,所以不占用硬盘空间;
17、/sys:也是一个虚拟的文件系统,主要存放记录与内核有关的信息;
18、/srv:是service的缩写,存放一些服务启动之后需要提取的数据;
后三个(/pro,/sys,/srv)与内核有关,一般别动。。。

1、2几种常见的设备在Linux中的文件名

1、SCSI/SATA/USB硬盘: /dev/sd[a-p];
2、U盘: /dev/sd[a-p];
3、软驱: /dev/fd[0-1];
4、当前CD ROM/DVD ROM: /dev/cdrom;
5、当前鼠标: /dev/mouse;
…………

四、远程登陆

一般情况下,公司只有一台主Linux服务器或者在很远的机房,此时你只能通过远程登陆该Linux系统来操作。

如果希望XShell可以远程登陆Linux服务器有一个前提:该Linux服务器启用了SSHD服务,该服务会监听22号端口

五:VMtools的安装与使用

使用虚拟机来安装centOS时,若希望windows和centOS可以相互复制粘贴的操作,需要先安装VMtools。
步骤:
1、在虚拟机界面上点击虚拟机选项,有个install vmware tools
2、点击之后,在centOS会出现一个VM的安装包
3、解压,执行安装即可
4、需要重启才能生效。

六、Linux的常用命令

1、关机、重启、用户登陆注销

1)poweroff :关机

2)shutdown
shutdown -h now : 表示立即关机
shutdown -h 1 : 表示1分钟后关机
shutdown -r now : 现在 重启
shutdown -k now “xxxxxxxx” : 不是真的要关机,只是将发送警告消息

3)halt :立即关机

4)reboot :重启

6)sync :把内存的数据同步到磁盘

注:当我们关机或重启时,都应先执行sync指令,把内存的数据写入磁盘,防止数据丢失。
7)su - 用户名 :切换用户
8)logout :注销用户

2、用户管理

1)Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都要先创建一个用户。
2)Linux的用户需要至少属于一个组。

3)创建用户:useradd 用户名
当用户创建成功后,会自动创建和用户同名的家目录。

4)useradd -d 指定目录 用户名。
给新创建的用户指定家目录,指定的家目录不需要先创建,创建了反而会出错

5)删除用户:userdel 用户名
参数:-r :连用户的主目录一起删除
userdel -r 用户名
(在删除用户时,一般不建议连家目录一起删除)

6)查询用户:id 用户名
若有此用户则返回此用户的信息。

7)切换用户:su -用户名

a、从高权限的用户切换到低权限的用户,不需要输入密码;反之,需要输入密码。
b、返回到原来的用户:exit
c、查看当前用户:whoami 或者 who am I

8)给用户指定密码
用法:passwd 用户名

3、几个与用户相关的文件

1) /etc/passwd 文件:用户的配置文件,记录用户的各种信息;
用户名 :用户id :组id :注释性描述 :家目录 :shell 。

2) /etc/shadow 文件:口令的配置文件(密码和登陆信息是加密的);
登录名 :加密口令……

3) /etc/group 文件:组的配置文件,记录Linux的组信息;
组名:口令:组id :组内用户列表(不可见)。

4、帮助指令
当我们对某个指令不熟悉,可使用帮助指令,简单方便。

1)man : 获取帮助信息
语法:man [命令或配置文件]


注:在返回的数据的后面的数字:
1:用户在shell环境下可使用的命令;
5:配置文件或某些文件的格式;
8:系统管理员可用的管理命令;

2)info 指令。

5、目录类指令

1)进入目录:cd
基本语法:cd [目标路径]
绝对路径:即从根目录/开始定位;
相对路径:从当前工作目录开始定位到需要的目录去;
. 表示当前路径;

2)显示当前路径:pwd
3)查看目录
a、ls :只显示目录文件;
b、ls -l : 列表形式显示目录详细信息;
c 、ll :同 ls -l ;
d、-a :包括隐藏文件;

6、mkdir :创建目录(文件夹)
基本语法:mkdir 目录名
mkdir -p 目录/子目录1/子目录2 :可一次创建多个目录及子目录。

7、rmdir : 删除目录
基本语法:rmdir 目录名 (删除的是空目录,如果目录中有内容,无法删除,此时可用:rm -rf 目录

8、touch:创建文件
基本语法:touch 文件名(空文件,可一次性创建多个文件:touch 文件名1 文件名2 ……)

(补充)8、8查看文件时间与修改时间
8.8.1 touch --fulll-time 文件名
可查看到秒更为精确的文件时间
8.8.2 stat 文件名
显示文件的更多信息

这里有三个时间:
1、访问时间:文件被访问的时间,当文件被读取时会更新这个时间,但使用more、less、tail、ls等访问时文件访问时间不变;
2、修改时间:这里指文件内容的修改;
3、改动时间:表示文件属性改变的时间,比如使用chmod更改文件属性时会更新文件改动时间。

8.8.3 touch修改文件时间
touch -d “时间” 文件名

9、rm :删除文件
参数:
-r :强制删除
-f : 陆续删除目录
-v :显示删除过程
-i :删除前提示

10、cat :查看文件内容
基本语法:cat 文件名(只能浏览,不能修改)
带参数 -n:显示行号

11、cp :复制
基本语法:cp 文件名 目标位置
带参数:cp -r 目录 目标位置(复制整个目录)
强制覆盖:\cp 文件名 目标位置

12、mv :移动剪切/重命名
移动剪切语法:mv 文件 目标位置
重命名语法(同级目录):mv 文件/文件夹 新名字

13、时间日期类

1)date 指令:显示当前日期时间

基本语法:date :显示当前时间
date +%Y :显示当前年份
date +%m :显示当前月份
date +%d :显示当前月的哪一天
date “+%Y-%m-%d %H:%M:%S” :显示当前年月日时分秒

2)设置日期:date -s 字符串时间
例:date -s “2019-08-05 10:10:00”
修改后需将系统时间写入RTC中,不然重启会失效:
hwclock -w --systohc

3)cal 指令:显示日历

基本语法:cal [选项](不加选项,显示本月日历)
cal 指定某年 (显示指定的年日历)
cal 月 年 (显示指定某年中的某月日历)

14、搜索查找类

1)find 指令(支持通配符)

基本语法:find [搜索范围] [选项]
选项:
-name <查询方式>:按指定文件名查找;

-user<用户名> :查找属于指定用户名的所有文件;
-size<文件大小>:按指定文件大小查找:
+n:大于n的
-n:小于n的
n:等于n的

2)locate 指令

基本语法:locate [搜索文件名]

locate指令可以快速定位文件路径。locate利用事先建立的系统中所以文件名称和路径的locate数据库实现快速定位给定的文件。locate无须遍历整个文件系统,查询速度较快
locate使用的数据库是通过 crondaemon 周期性建立来更新的,一般是一周更新一次,所以在近今天内新建的文件会查找不到,或者会查找到已经删除了的文件。那么,可以通过 updatedb 命令手动更新数据库,或者自己再重新调整更新周期。
特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
注:update命令执行需要较长时间。

locate常见用法
locate “文件名”
搜索目录下所有以 sh 开头的文件:locate /etc/sh
忽略大小写(搜索包含open字段的文件):locate –i open

find和locate命令都查找不到tmp目录下的文件。

3)grep 指令和管道符号 |

grep : 过滤查询;
管道符号 | :表示将前一个命令的处理结果输出传递给后面命令处理;

基本语法:grep [选项] 查找内容 源文件
常用选项:
-n :显示匹配行及行号
-i :忽略字母大小写

例:cat ok.txt | grep -ni ok (在ok.txt中查找ok,显示行号且忽略大小写)

4)which命令
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

例如,查看ls命令执行的位置:which ls

15、压缩解压类

1)gzip /gunzip 指令

基本语法:gzip 文件(压缩)
gunzip 文件.gz ( 解压)

细节说明:使用gzip对文件进行压缩后,不会保留原来的文件。

2)zip/unzip 指令

基本语法:zip [选项] 压缩后的文件名.zip 将要压缩的文件(压缩)
unzip [选项] 压缩后的文件名.zip

zip的常用选项: -r 递归压缩,即压缩目录
unzip的常用选项:-d <目录> 指定解压后文件的存放目录

3)tar 指令(用得比前两种多)

基本语法:tar 参数 文件名.tar.gz 源文件(打包压缩)
tar 参数 文件名.tar.gz (解压缩)
参数:
-c:创建新的文件,相当于打包
-x:释放新的文件,相当于解包
-z:同时启用gzip工具进行压缩或解压
-v:打包过程中显示被打包的文件
-f:使用档案名字


16、ln 指令
软链接,也叫符号链接,类似Windows里的快捷方式,主要存放了链接其他文件的路径。
基本语法:ln -s [源文件或目录] [软链接名] (创建一个软链接)

rm -rf 软链接名(删除软链接)

细节说明:当我们用pwd指令查看目录时,仍然看到的是软链接所在的目录。

17、history 指令

查看已经执行的历史指令,也可以执行历史指令。
基本语法:history
history n (n:显示n条记录)
执行历史指令: ![历史编号]

18、与文件显示有关的指令类

1)tail 指令
tail命令用途是依照要求将指定文件的最后部分输出到标准设备,通常是终端;通俗地说就是把某个文件的最后几行显示在终端上。假设该文件有更新,tail会主动刷新,确保你看到的是最新的文件内容。

基本语法:tail 文件名(默认显示最后10行)
tail -n 行数 文件名(指定显示最后的多少行)

tail -f 文件名监视文件的尾部内容,默认10行,实时追踪文件的所以跟新)

2)head指令
用于显示文件的开头部分内容
基本语法:head 文件名 (默认显示前10行)
head -n 行数 文件名(指定显示多少行)

3)more 指令
是一个基于vi编辑器的文本过滤器,以全屏的方式按页显示文本文件的内容

快捷键:
空格(space):代表向下翻一页
enter :向下翻一行
ctrl +F :向下滚动一屏
ctrl +B :返回上一屏

4)less 指令
用来分屏查看文件内容,功能与more类似,但比more强;less在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容。对于显示大型文件具有较高的效率

基本语法:less 文件名

19、> 指令和>>指令

> 输出重定向:会将原来的文件内容覆盖
>> 追加:不会覆盖原来文件内容,而是追加到文件的尾部

基本语法:
ls -l >文件 (将列表的内容重定向到指定文件中,会覆盖)
ls -l >>文件 (将列表内容追加到指定文件中)
cat 文件1 >文件2 (将文件1 的内容覆盖到文件2 )
echo “内容” >> 文件(将内容追加到文件中)



echo指令:输出内容到控制台
基本语法:echo [选项][输出内容]

六、Linux组管理

1、Linux组基本介绍
前面说了在Linux中的每一个用户必须属于一个组,不能独立与组外。在Linux中每个文件有所有者,所在组,其他组的概念。

1)创建用户组:groupadd 组名
2)删除用户组:groupdel 组名
3)增加用户时直接加上组 :useradd -g 组名 新用户名
4)查看用户属于哪个组:groups 用户名

5)修改用户所在组:
在添加用户时,可以指定该用户添加到哪个组,同样的用root的管理权限可以改变某个用户所在的组:usermod -g 新组名 用户名

2、文件/目录所有者
一般为文件的创建者,谁创建了该文件,就自然成为该文件的所有者。

查看文件的所有者:ls -ahl 文件名

修改文件所有者:chown 用户名 文件名

3、文件/目录所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

查看文件的所有组:ls -ahl 文件名
修改文件所在组:chgrp 组名 文件名

4、其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。

七、权限详解

1、0-9位说明:

第0位:确定文件类型(- ,d , l ,c ,b)
– : 表示普通文件
d : 表示目录
l : 表示链接文件
c :表示设备文件中的串行端口设备(比如鼠标,键盘等)
b :表示设备文件中可供存储的端口设备

第1-3位:确定该文件所有者拥有该文件的权限—user
第4-6位:确定所在组拥有该文件的权限—group
第7-9位:确定其他组用户拥有该文件的权限—other

文件大小项:若位目录则是4096。

2、rwx权限详解

1)rwx 作用到文件

[r] : 可读
[w] : 可写,可修改,但不代表可以删除该文件。删除一个文件的前提是对该文件所在的目录有写的权限,才能删除文件;
[x] : 可执行(execute)

2)rwx 作用到目录

[r] : 可读,ls 可以查看目录内容
[w] : 可写,可修改,目录内创建,删除,重命名目录
[x] : 可执行(execute),可以进入该目录

3、修改权限 :chmod

第一种方法:使用 + ,- ,= 变更权限
u:所有者
g :所在组
o : 其他人
a : 所以人

例:1) chmod u=rwx,g=rx, o=x 文件目录名
2)chmod o+w 文件目录名
3)chmod a+rwx 文件目录名(让所有人有该文件的所有权限)

第二种方法:通过数字变更权限

语法:chmod [选项 参数] 文件目录名
参数:
-R :连同目录下所以文件及子目录都进行变更。
r ,值=4
w,值=2
x,值=1

例:chmod 777 文件目录名 (修改文件目录的权限为:rwx rwx rwx )

八、vi和vim使用

1、三种模式:正常模式 、插入模式 、命令行模式。

2、三种模式间的转换

3、常用快捷键

1)拷贝当前行 yy ,拷贝当前行向下5行 5yy ,并粘贴 p ;

2)删除当前行 dd ,删除当前行向下5行 5dd ;

3)在文件中查找某个单词【命令行模式下 /关键字,回车,输入n就是查找下一个】;

4)设置文件的行号【命令行模式下 :set nu】; 取消行号【:set nonu】;

5)使用快捷键到达文档最末行 G最首行 gg

6)在一个文件中输入“内容……”,后又想撤销这个动作 u

7)在一个文件中,一下将光标移动到20(某一行)行:
第一步:首先显示行号:set nu ;
第二步:输入20(某一行);
第三步:G

4、vim的多窗口功能
1)在命令行模式下输入:sp [文件],即可打开另一个文件
2)可利用crtl +w +上下箭头,即可在多个窗口之间切换

例:先打开a.txt文件,再在命令行模式下输入 :sp b.txt。即可打开如下窗口

九、Linux系统的运行级别

1、7个级别

0:关机
1:单用户(找回丢失密码特有用)
2:多用户状态无网络
3:多用户状态有网络
4:系统未使用,保留
5:图形界面
6:重启
常用级别:3 、5.

2、设置级别:在 /etc/inittab (配置文件)中设置级别。

3、切换到指定运行级别的指令:init [0,1,2,3,5,6]
也可用init指令来关机init 0),重启 (init 6)

小菜鸟的Linux(centOS 6)学习之基础篇相关推荐

  1. Linux CentOS 系统实战笔记-基础篇

    CentOS 日常笔记 1.Linux基础命令1 2.Linux基础命令2 3.输入输出重定向 4.Linux下目录分类与作用 5.虚拟机与物理机时间同步 6. VIM 神之编辑器 7. Linux ...

  2. 运维小菜鸟随笔Linux入门级操作命令(更新中。。。)

    运维小菜鸟随笔&Linux入门级操作命令 从事实施运维行业已三年有余,却从未系统的学习过Linux,一直停留在有问题找百度的境界.近日终于痛下决心,系统的梳理一下Linux相关知识,顺便看看, ...

  3. 小菜鸟的C++游戏编程学习日记(一)

    小菜鸟的C++游戏编程学习日记(一) 作者:杨帆参考书籍:Beginning Game ProGramming(中文版)学习时间:2016.7.26 以下附所敲源代码与部分注释: //编译环境 vis ...

  4. 【SQL基础学习】----基础篇(1)

    前言: 存储数据的容器 在内存中(数据存在易失性,断电即数据没了):         数组         集合 磁盘(永久存储):         文件(不易管理)         数据库(持久化, ...

  5. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

  6. Redis学习笔记①基础篇_Redis快速入门

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...

  7. C++ 学习 ::【基础篇:17】:C++ 类与对象:运算符重载介绍、运算符重载函数(类内与类外区别)写法及简单设计实现

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...

  8. 计算机视觉面试宝典--深度学习机器学习基础篇(四)

    计算机视觉面试宝典–深度学习机器学习基础篇(四) 本篇主要包含SVM支持向量机.K-Means均值以及机器学习相关常考内容等相关面试经验. SVM-支持向量机 支持向量机(support vector ...

  9. 【Kotlin】学习小记-基础篇

    Kotlin学习小记-基础篇 Kotlin的介绍 入门基础篇 属性声明 关于val和final的小Tips 参数 1.可变参数 2.命名参数 函数返回值 1.默认返回Unit值 2.返回Nothing ...

  10. C++ 学习 ::【基础篇:13】:C++ 类的基本成员函数:类类型成员的初始化与构造函数问题

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...

最新文章

  1. 剑指offer:面试题32 - III. 从上到下打印二叉树 III
  2. 博客园 cnblogs博客添加Google Analytics统计
  3. php内核总结_深入理解PHP内核(一)
  4. Java设计模式(3 / 23):装饰者模式
  5. 如何快速的学习html5,高效快速学习HTML5的技巧
  6. 命中注定码农路[一. 重新开始]
  7. ora-00054:resource busy and acquire with nowait specified
  8. oracle .net 中文,asp.net查出 oracle数据库中的中文乱码问题
  9. PG 数据库表备份方案
  10. 安卓逆向及JavaScript实战
  11. 2021 IDEA最新版安装教程(可激活)
  12. Linux 英文版命令窗口,在LINUX命令行中翻译英文
  13. 计算机管理员账户停用,win10系统提示“你的账户已被停用,请向系统管理员咨询”如何解决...
  14. 在立创商城上快速制作PCB原理图库
  15. word编辑中空格变成灰点
  16. linux 小括号 中括号 双小括号 双中括号
  17. Mysql——》三星索引
  18. 2018年区块链十大发展势头
  19. 3D游戏建模布线方法
  20. BFF在SoundCloud中的实践(翻译)

热门文章

  1. 基于区块链的nft盲盒游戏开发
  2. 51单片重要外设系列
  3. Elasticsearch启动时,出现Permission denied,权限不足报错
  4. Python随机数、随机序列生成
  5. html设计登黄鹤楼怎么搞,《登黄鹤楼》教学设计.docx
  6. OpenDDS踩坑(2)-DCPSInfoRepo ERROR add_domain_participant returned invalid id
  7. 32岁已是清华博导的他,单篇论文引用量接近1.1万次!
  8. 高性能 DP1.2转MIPI/DSI/CSI,DP转MIPI国产芯片:龙迅LT7911D, USB Type-C VR/AR专用芯片
  9. 辅助工具:圆柱体绘制
  10. fdk-aac 编译配置