Linux 系统发展史
- Linux 系统前身——
Unix
- Linux 系统的特点:开放性(开源)、多用户、多任务、良好的用户界面、优异的性能与稳定性(
Windows属于单用户多任务
) - Linux分支主要有:
ubuntu
、debian
、centos
、redhat
、suse
等
Linux 系统的文件
- Linux一切皆文件
重要目录结构介绍
bin目录
全称:binary
,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。dev目录
,主要存放的是外接设备,例如U盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载。mnt目录
,当挂载外接设备后,就需要在mnt目录下访问资源。etc目录
,主要存储一些配置文件。home目录
,表示“家”,表示除了root用户以外其他用户的家目录,类似于Windows下的User/用户目录proc目录
,全称:process
,表示进程,该目录中存储的是Linux运行时候的进程。root目录
,表示root用户自己的家目录。sbin目录
,全称:super binary
,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行,例如root用户tmp目录
,表示临时的,当系统运行时候产生的临时文件会在这个目录存着。usr目录
,存放的是用户自己安装的软件,类似于windows下的program files。var目录
,存放程序/系统的日志文件的目录。
Linux 基本指令
基础指令模型
- #指令 + 【选项】+ 【操作对象】(一个指令可以包含多个选项,多个操作对象)
相对路径与绝对路径
- 相对路径:相对首先有一个参照物,一般指当前所在路径
./
表示当前目录下,../
表示上一级目录下
- 绝对路径:绝对路径不需要参照物,直接从根“/”开始寻找对应路径
ls指令
含义:ls(list)
列出当前工作目录下的所有文件/文件夹名称
⚠️注意:蓝色表示文件夹,黑色表示文件,绿色表示其拥有所有权限
- 语法1: ls + 路径
- 选项:
-l
表示以详细列表的形式展示,-a
表示显示所有的文件或文件夹(包括隐藏文件/文件夹),-h
表示显示文档大小的时候以可读性较高的形式显示。
[root@localhost /]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
- 语法2: ls + 选项+ 路径
[root@localhost /]# ls -l /root
总用量 8
-rw-------. 1 root root 1890 6月 30 17:39 anaconda-ks.cfg
-rw-r--r--. 1 root root 1918 6月 30 09:41 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 6月 30 09:46 perl5
[root@localhost /]# ls -la /root
总用量 48
dr-xr-x---. 6 root root 256 7月 26 15:10 .
dr-xr-xr-x. 17 root root 224 6月 30 17:38 ..
-rw-------. 1 root root 1890 6月 30 17:39 anaconda-ks.cfg
-rw-------. 1 root root 5536 7月 26 15:13 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 295 7月 6 09:53 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
drwx------. 4 root root 31 6月 30 09:46 .cache
drwxr-xr-x. 4 root root 37 7月 5 23:09 .config
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
drwx------. 3 root root 25 6月 30 17:40 .dbus
-rw-r--r--. 1 root root 1918 6月 30 09:41 initial-setup-ks.cfg
-rw-------. 1 root root 253 7月 6 10:49 .mysql_history
drwxr-xr-x. 2 root root 6 6月 30 09:46 perl5
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
-rw-------. 1 root root 5037 7月 26 15:10 .viminfo
[root@localhost /]# ls -lh /root
总用量 8.0K
-rw-------. 1 root root 1.9K 6月 30 17:39 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.9K 6月 30 09:41 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 6月 30 09:46 perl5
pwd 指令
含义:#pwd(print working directory),打印当前工作目录
[root@localhost /]# pwd
/
cd 指令
含义:#cd (change directory),改变目录,切换目录
[root@localhost /]# cd /root
[root@localhost ~]#
mkdir 指令
含义:#mkdir(make directory),创建目录
语法:#mkdir 路径(路径可以是文件夹名称也可以是包含文件夹名称的完整路径)
[root@localhost ~]# mkdir 1234
[root@localhost ~]# ls
1234 anaconda-ks.cfg initial-setup-ks.cfg perl5
选项案例:#mkdir -p 路径,表示一次性创建多层不存在的目录,不添加-p则报错。
rmdir 指令
含义:删除空的目录
语法:#rmdir [-p] 目录名称
touch 指令
含义:#touch,创建文件
语法:#touch 路径(路径可以是文件名称也可以是包含文件名称的完整路径)
cp 指令
含义:cp (copy)复制,复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 + 文档被复制到的路径
⚠️注意:Linux在复制过程中是可以重新对新位置的文件进行重命名,但是如果不是必须的需要,则建议保持前后名称一致。
mv 指令
含义:mv (move),移动、剪切文件/文件夹。
语法:#mv 需要移动的文档路径 + 需要保存的位置路径
rm指令
含义:rm (remove)移除、删除。
语法:#rm 选项 需要移除的文档路径
vim 指令
含义:vim (vim是一款文本编辑器)
语法:#vim 文件路径
输出重定向
一般指令的输出都是显示在总端中,有些时候需要将一些指令执行结果保存在文件中,以便后续的分析和统计,这时候就需要使用到输出重定向技术。>
:覆盖输出,会覆盖掉原来的文件内容>>
追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行指令 + >
/>>
文件路径
cat 指令
1⃣️
含义:cat直接打开文件(读取文件并显示在总端界面)
语法:#cat 文件路径2⃣️
含义:cat对文件进行合并
语法:#cat 待合并的文件路径1 + 待合并的文件路径2 + … + 输出重定向指令
Linux 进阶指令
df -h 指令
含义:查看磁盘空间
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 10G 7.1G 59% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 180M 835M 18% /boot
tmpfs 183M 0 183M 0% /run/user/0
tmpfs 183M 44K 183M 1% /run/user/1000
free -m 指令
含义:查看内存使用情况
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1823 1075 102 7 645 522
Swap: 2047 32 2015
head 指令
含义:查看一个文件的前n行,如果不指定n,则默认显示前10行。
语法:#head -n 文件路径(n表示数字)
tail 指令
含义:查看一个文件的末尾n行,如果n未指定,则默认显示后10行。
语法:#tail -n 文件路径
#tail -f 文件路径 (查看一个文件的动态变化)
⚠️注意:变化的内容不能是用户手动增加的,该指令一般查看系统的日志比较多。
less 指令
含义:查看文件,以较少的内容输出,通过辅助按键查看更多
语法:#less 需要查看的文件路径
wc 指令
含义:统计文件内容信息(包括行数、单词数、字节数)
语法:#wc -lwc 需要统计的文件路径-l
:表示lines,行数-w
:表示words,单词数-c
:表示bytes,字节数
date 指令(重点)
含义:表示操作时间日期(读取,设置)
语法1⃣️:#date
输出效果:2020年 07月 27日 星期一 11:13:05 CST
语法2⃣️:#date +%F(等价于#date “+%Y-%m-%d”)
输出效果:2020-07-27
语法3⃣️:#date “+%F %T”(引号表示让“年月日与时分秒”成为一个不可分隔的整体,等价于#date “+%Y-%m-%d %H:%M:%S”)
输出效果:2020-07-27 11:18:41
cal 指令
含义:用来操作日历
语法1⃣️:#cal (等价于#cal -1,直接输出当前月份的日历)
语法2⃣️:#cal -3(表示输出上个月+本月+下个月的日历)
语法3⃣️:#cal -y 年份 (表示输出某个年份的日历)
clear/ctrl +L 指令
含义:清除总端中已经存在的指令和结果(信息)
语法:#clear (或者快捷键ctrl+L)
⚠️注意:该指令并不是真的清除了之前的信息,而是把之前的信息隐藏到了最上面,通过滚动条可以查看之前的信息。
管道(重要)
管道符:|
含义:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
语法:管道不能单独使用,必须配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
过滤:ls|grep 指令
含义1⃣️:以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入。
含义2⃣️:grep指令主要用于过滤。
特殊: cat|less 指令
含义:通过管道的操作方法来实现less的等价效果
语法:之前通过less查看一个文件,可以#less 路径;现在通过管道:#cat 路径 | less
扩展处理: ls|wc 指令
统计某个目录下的文档的总个数?
[root@localhost ~]# ls /root | wc -l
4
[root@localhost ~]# ls
1234 anaconda-ks.cfg initial-setup-ks.cfg perl5
[root@localhost ~]#