关注【郑大钱呀
】【公】【众】【号】,我们一起交流,一起学习。
文章目录
linux系统介绍
Linux是一个免费
、开源
、基于Posix和Unix的多用户、多任务、支持多线程和多CPU的操作系统
。以继承Unix以网络为核心思想,是一个性能稳定的多用户网络操作系统。值得注意的是Linux并没有包括Unix源码,它是按照公开的POSIX标准重新编写的
。Linux大量使用了由麻省剑桥免费软件基金的GNU软件
,同时Linux自身也是用它们构造而成。
发展史
1991年
,芬兰大学生Linux torvalds(Linux之父)
,在赫尔辛基大学时开发了该系统,并将这项成果通过互连网与其他同学共享,主要用于学术领域;1993年
,约百余名程序员参与了Linux内核代码编写、修改工作;1994年3月
,Linux 1.0发布
,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议;1995年1月
,Bob Young创办了RedHat(小红帽),以GNU、Linux为核心,集成了400多个源代码开放的程序模块,即RedHat Linux,称为Linux发行版
;1996年6月
,Linux 2.0内核发布
,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段;
Linux的主流的版本
Linux从狭义上来说,Linux只是一个kernel(内核),但是内核,一般的普通用户很难使用,于是就公司、团体以及个人,在内核的基础上,开发出适合用户使用的Linux版本,形成了一个个Linux的发行版本
,目前主流的linux版本如下:
Debian
:是一款历史很悠久的系统,属于祖先级别,几乎一半以上的发行版都是基于Debian来衍生出来的。Deepin
:深度操作系统(deepin),是一个致力于为全球用户提供美观易用、安全稳定服务的Linux发行版,同时也一直是排名最高的来自中国团队研发的Linux发行版,适合于国人的操作系统。Ubuntu
:基于Debian开发,历史也比较悠久,系统也很成熟,社区的支持很完善,就是稳定性可能不是很好。Kali
:Kali Linux也是基于Debian的Linux发行版,该版本中预装了很多的渗透软件,在渗透测试中使用较多。CentOS
:社区企业操作系统,是企业Linux发行版领头羊Red Hat Enterprise Linux的再编译版本,开源免费,且相对于其他 Linux 发行版,其稳定性很好。
除了上面的,还有其它很多的Linux发行版,这里就不逐一叙述了。
为什么要学习Linux?
Linux最初的时候,是面向专业的计算机人员的,它没有可视化的图形界面,所有的操作全部都是靠命令执行完成的,也就意味着,你不需要使用鼠标,扛着键盘就可以走天下
,目前大量的公司服务器都是使用的Linux系统,所以不管是作为运维、开发还是软件测试的人员,了解并掌握Linux系统的使用,是很有必要的。
Linux目录结构
在我们正式学习Linux的命令前,我们先学习一下Linux的目录结构
,Linux与Windows系统不同,在Windows的系统中将硬盘划分成不同的盘符,如C盘、D盘等等,但是在Linux的系统中,是没有盘符的概念的,就只有一个根目录/
,所有的文件都是在根目录的下面,在根目录下面有很多的子目录,子目录下面又可以很多的子目录,Linux的目录结构有点像一棵树
。在Linux的目录系统中,有一些常用的目录是需要了解并掌握的,他们有着特殊的作用和意义,具体如下:
目录 | 作用 |
---|---|
/bin | 存放二进制文件,所谓二进制文件就类似于Windows系统中的可执行文件,比如*.exe *.msi文件 |
/sbin | 管理系统相关的目录,超级管理员使用 |
/boot | 系统引导程序所需文件目录 |
/dev | 设备软件目录,比如磁盘、光驱等 |
/etc | 配置文件存放目录 |
/lib | 共享库文件和内核模块存放目录 |
/home | 在Linux的系统中,有两种角色一种为管理员用户(root),另一种为普通用户,此目录就是普通用户默认数据存放的目录 |
/root | Linux超级权限用户root的家目录 |
/mnt | 临时挂载存储设备的挂载点 |
/tmp | 临时文件目录 |
/opt | 一般在是第三方软件的安装目录,比如在Linux系统装一个微信,就可以选择安装在该目录,当然也可以安装在其他目录,这里只是建议将第三方软件安装在opt目录 |
/proc | 操作系统运行时,进程信息和内核信息存放目录 |
/usr | 用户或系统软件应用程序目录 |
/var | 存放系统日志目录 |
Linux提示符
当我们登录Linux服务器,或者使用其他Linux连接工具(如 Final Shell、Xshell等)连接到Linux服务器时,我们会看到屏幕上有一个提示符,如下:
[root@VM-0-6-centos ~]#
我们来解释一下其中的意义
root:
表示当前登录的用户名@:
为分隔符VM-0-6-centos:
表示Linux服务器的计算机名~:
表示当前所在目录#:
表示当前用户是一个超级管理员用户。
开关机命令
学习第一步,先得学会关机,友情提示,谨慎操作,非必要不要对服务器开关机。
关机机命令
关机命令,一般有如下几个,halt
、poweroff
、shutdown
,值得注意的是:shutdown
的命令只有拥有root权限才能使用。
halt
: 立刻关机,停掉系统,但是主板还是通电的poweroff
: 掉电关机,过程是先关闭系统,然后掉电的shutdown -h now
:立刻关机,如果将now换成一个数字,则表示在几分钟后关机,如在10分钟后自动关机,命令可以这样写shutdown -h 10
,当你在关机前又想要取消关机时,可以执行如下命令:shutdown -a
取消关机。
重启命令
reboot
: 重启shutdown -r now
: 立刻重启shutdown -r 10
: 10分钟后重启shutdown -r 20:35
: 在时间为20:35时重启
文件显示命令(ls)
作用:查看当前目录内容,如果什么参数不加,表示显示非隐藏文件,隐藏的文件是不显示的,ls命令常用的参数如下:
选项 | 参数对应英文 | 含义 |
---|---|---|
-a | all | 显示置顶目录下所有子目录与文件,包含隐藏文件 |
-l | list | 以列表方式显示文件的详细信息 |
-h | human | 配合-l选项,以人性化的方式显示文件大小 |
示例1:直接使用ls命令
ls
运行结果如下:
abc def
从上面的运行结果我们得知,显示了两个非隐藏的文件,但是我此时想看到所以的文件,包括非隐藏的文件怎么办呢,此时就需要加上-a
选项。
示例2:显示所有的文件
ls -a
运行结果如下:
. .. abc .bash_history .bash_logout .bash_profile .bashrc .cshrc def **.pip** .pydistutils.cfg .ssh .tcshrc .viminfo
从上面的运行结果,我们看出,所有的文件都显示出来了,这里我们说一下,文件名称前带.
的表示隐藏文件,文件名称加粗的,并且显示成蓝色的表示目录。上面我们虽然显示出了所有的文件,但是看不到文件的一些详细信息,比如文件的大小啊、权限啊等等,这个时候我们就可以通过-l
命令来以列表的方式,显示文件的详细信息。
示例3:以列表的形式显示文件的详细信息
方式1:ls -l
方式2(简写):ll
运行结果如下:
总用量 8
-rw-r--r-- 1 root root 4 7月 24 14:14 abc
-rw-r--r-- 1 root root 4 7月 24 14:14 def
从上面的运行结果我们看出,显示的信息更全,具体如下:
- 第一部分(
-rw-r--r--
) :表示该文件的权限, 第一部分的首个字符表示文件的类型,d是目录
,-表示是文件
。后面是权限以3个字母为一个单位
,第一个是使用者
,第二个是同组
,第三个是其他组
。rwx表示使用者有:读,写,执行权限。r-x表示没有写权限。 - 第二部分(
1
):表示链接个数,有3,4,2 - 第三部分(
root
):表示所有者 - 第四部分(
root
):表示所有者的组 - 第五部分(
4
):表示文件的大小,默认为字节 - 第六部分(
7月 24 14:14
):表示最后修改的时间 - 第七部分(
abc
):表示文件的名称
我们从上面的结果看出,虽然显示出了文件的详细信息,但是只是显示了非隐藏文件的详细信息,但是如果我们既要显示出所有的文件,也要显示出它们的详细信息,我们需要怎么做呢?此时我们可以通过将两个参数组合起来使用。
示例4:参数组合使用,显示出所有文件及其详情
ls -al
运行结果如下:
总用量 60
dr-xr-x---. 4 root root 4096 7月 24 14:14 .
dr-xr-xr-x. 24 root root 4096 7月 24 15:36 ..
-rw-r--r-- 1 root root 4 7月 24 14:14 abc
-rw-r--r-- 1 root root 497 7月 24 14:28 .bash_history
-rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 5月 20 2009 .bash_profile
-rw-r--r--. 1 root root 176 9月 23 2004 .bashrc
-rw-r--r--. 1 root root 100 9月 23 2004 .cshrc
-rw-r--r-- 1 root root 4 7月 24 14:14 def
drwxr-xr-x 2 root root 4096 7月 22 21:26 .pip
-rw-r--r-- 1 root root 73 7月 22 21:26 .pydistutils.cfg
drwx------ 2 root root 4096 3月 13 2018 .ssh
-rw-r--r--. 1 root root 129 12月 4 2004 .tcshrc
-rw------- 1 root root 669 7月 24 14:14 .viminfo
从上面我们的显示结果我们发现,文件大小的单位是字节
,不太人性化,不太直观,此时我们可以通过添加"h"参数让他更加的人性化显示
示例5:人性化显示文件详情
ls -alh
运行结果如下:
总用量 60K
dr-xr-x---. 4 root root 4.0K 7月 24 14:14 .
dr-xr-xr-x. 24 root root 4.0K 7月 24 15:42 ..
-rw-r--r-- 1 root root 4 7月 24 14:14 abc
-rw-r--r-- 1 root root 571 7月 24 15:42 .bash_history
-rw-r--r--. 1 root root 18 5月 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 5月 20 2009 .bash_profile
-rw-r--r--. 1 root root 176 9月 23 2004 .bashrc
-rw-r--r--. 1 root root 100 9月 23 2004 .cshrc
-rw-r--r-- 1 root root 4 7月 24 14:14 def
drwxr-xr-x 2 root root 4.0K 7月 22 21:26 .pip
-rw-r--r-- 1 root root 73 7月 22 21:26 .pydistutils.cfg
drwx------ 2 root root 4.0K 3月 13 2018 .ssh
-rw-r--r--. 1 root root 129 12月 4 2004 .tcshrc
-rw------- 1 root root 669 7月 24 14:14 .viminfo
ls默认显示的是当前的目录,我们也可以在使用的时候指定目录位置.
示例6:ls 显示指定目录下的文件
ls -l /etc
显示结果如下:
总用量 1428
drwxr-xr-x. 3 root root 4096 6月 16 2020 abrt
drwxr-xr-x. 4 root root 4096 12月 7 2017 acpi
-rw-r--r--. 1 root root 44 7月 22 21:28 adjtime
-rw-r--r--. 1 root root 1512 1月 12 2010 aliases
-rw-r--r-- 1 root root 12288 3月 13 2018 aliases.db
drwxr-xr-x. 2 root root 4096 12月 7 2017 alsa
drwxr-xr-x. 2 root root 4096 6月 16 2020 alternatives
-rw-------. 1 root root 541 8月 24 2016 anacrontab
-rw-r--r--. 1 root root 148 1月 12 2016 asound.conf
...
清屏命令(clear)
当我们在终端输入很多命令的时候,整个终端看上去不清爽,这个时候我们可以使用清屏命令,清空整个终端。
clear
历史命令(history)
有的时候,我们想去执行之前使用过的命令,但是我们又记不起来了,这个时候,我们可以使用历史命令,用来查看我们之前使用的命令有哪些。
history
执行结果如下:
[root@iZ8vb15btme7rdyvwu43dyZ study]# history
43 ls
44 clear
45 pip3 install pymdown-extensions
46 pip3 install python-markdown-math
47 pip3 list
48 ps -ef|grep uwsgi
49 uwsgi --stop /root/finance/Finance/uwsgi.pid
50 ps -ef|grep uwsgi
51 ps -ef|grep nginx
[root@iZ8vb15btme7rdyvwu43dyZ study]#
帮助命令(man)
Linux中有众多的命令,有很多的用法,我们有时候会忘记了一个命令怎么使用,有哪些参数,这个时候就可以使用man
命令来查询,用法如下:man 命令名称
,比如我们想要查询ls
命令的用法,man ls
,执行结果如下:
User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters
--block-size=SIZE
with -l, scale sizes by SIZE when printing them; e.g., '--block-size=M'; see SIZE format below
-B, --ignore-backups
do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first
-C list entries by columns
--color[=WHEN]
colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below
-d, --directory
list directories themselves, not their contents
-D, --dired
generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -ls --color
结尾
本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,感谢卓尔不凡
的文档整理,谢谢。