前言
- 本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。
下面内容来自维基百科
Linux是一种自由和开放源码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,再加上用户空间的应用程序之后,就成为了Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux 发行版,而不是自己选择每一样组件或自行设置。
- 别的概念我们就不介绍了,百度,bing都可以搜的到,感兴趣的同学可以可以自行搜索~~
- 接下来开始我们的正题~~
一、安装Linux
1.1 方法一:云服务器方式
- 我们可以使用云服务器购买或者
白嫖
,这个白嫖学生很好白嫖,我们可以打开阿里云学生权益官网进行学生认证,接下来大家懂吧~~ - 白嫖/购买好云服务器后,我们需要安装Centos7来进行学习~~
1.2 方法二:虚拟机方式
- 我们这里可以打开官网下载VMware Workstation 17 Pro,那秘钥大家都懂吧,网上…
- 接下来我们安装好了就开始安装我们的虚拟机,那么问题来了,镜像在哪?
- 这里就要打开清华大学开源软件镜像站,来找镜像了~~
- 我们一般下载这个就可以了
- 这里的安装方式不多赘述,网上方法众多~~
我们下面这里使用云服务进行学习,云服务比较方便嘛~~
- 接下来就开始我们的正题!
- 学习第一个指令~~
二、ls
语法: ls [选项][目录或文件]
功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
- 看到上面的那些,就很头痛,记不住怎么办?
- 不用记!后面用多了自然就记住了,我们先来用一用几个基本的指令~~
ls
- 我们运行后发现这里什么都没有显示,那是因为这个目录就没有文件或者文件夹,我们先来创建几个~~
- 注意命令之间是有空格的!!!
mkdir test touch test.txt
- 再进行
ls
一下,可以看到已经有文件显示出来了~~
- 那有的同学会说,这里的
test
问什么有颜色啊,是什么意思呢? - 我们先不管,继续往下看~~
2.2 ll
- 接下来我们就新学一个命令
ll
- 这里命令初学的时候比较特殊,与其不能说是一个命令,它是一个
ls -l
的别名,也就是说给ls -l
起了个名字叫ll
,那么口说无凭,怎么证明呢?
三、which
- 执行以下下命令
which ll
- 这里的这个which命令先不用管,一会我们再详细了解~~
- 这里的
alias
就是起别名的意思,ll='ls -l` 也就是ll等于ls -l~~
- 我们再来which一下ls,可以看到也是一样的~~
- 回到刚刚那个话题,为什么会有颜色呢?
- 注意看,我们这里ll=ls -l --color=auto 后面的
--color=auto
就是带颜色的,那么又怎么证明呢?
alias ls='ls'
- 我们这里像图片中的一样,给它起个别名,但是没有指定颜色,我一执行,它虽然也会打印出来,但是没有颜色
- 那我又想加回这个颜色怎么办呢?
- 很好办,直接再起别名改回去就可以了
alias ls='ls --color=auto'
- 再次进行ls查看,就会有颜色了~~
- 这里的ls还可以查看指定目录的文件夹,或者文件,我们来演示一下
- 我们这里创建了一个文件
a
,我们就可以使用下面这个命令来查看~~
3.1 ls -ld
ls -ld a
- 其中
-l
列出文件的详细信息,-d
将目录象文件一样显示,而不是显示其下的文件。 - 我们这里就可以直接写
ls -ld
就可以了~~
- 这里的
mkdir -p
我们后面会详细来说,这里先不用管~~
- 刚刚这里的which没有细讲,还有which后下面的路径也没有将,接下来我们就一一来道~~
四、pwd
语法: pwd
功能: 显示用户当前所在的目录
这个命令很简单,直接执行就可以了
pwd
- 那么这里的显示出来的是什么呢?
- 其实就是当前用户所在的绝对路径,那我进入到一个目录,再来看一下
- 可以看到发生改变了,这个命令就到这里,接下来我们学
cd
五、cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
- 如上图所示,我们这个linux系统就是一个树状文件系统,刚刚上面我们也使用了这个命令,
cd 文件夹
,就进入到了这个文件
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。
cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
5.1 cd ..
我们先来看第一个指令
cd ..
我们先来了解一下,每个文件夹都是有隐藏文件的,那么怎么看呢,我们可以通过ls -al
,来查看一下~~
5.2 ls -al
ls -al
- 当我们执行这个命令后,就会发现,这里的前面带
.
的文件也显示出来了~~ - 那么是不是前面带
,
的就是隐藏文件呢? - 我们来验证一下
- 我们这里创建一个文件和一个文件夹,但是前面分别带有
- 我们再进行
ls -l
一下,可以看到是打印不出来的,但是ls -al
可以打印出来的,再一次印证了这个命令是显示隐藏文件的~~
我们再来看第二个命令
cd /root/a/b/
- 这里
cd
后面跟着的是一个绝对路径,什么是绝对路径呢?
- 也就是从根目录上写路径
- 还有一个概念:相对路径,就是从相对位置写,那么怎么写呢?
cd c
- 这里直接进入了c目录,这些目录我们前面都创建过了,使用
mkdir -p a/b/c/d/f
,我们这里不再演示 - 这里不写
/
,就是默认从当前目录下找这个文件夹~~
5.3 重新认识命令
- 接下来我们再返回头再从新认识一下这些命令,我们前面学了which命令,可以查看起别名,但是它下面有这么一行,这个是什么呢?
- 其实这个就是一个路径,绝对路径,我们可以进入再bin目录下有这个命令我们来看一下
- 我们来找一下这个ls命令
- 可以看到这里是有的~~,其他命令也是有的,那它好像是一个文件啊,它其实就是一个可执行文件,我们可以直接输入这个路径进行执行
- 这里可以看到我们执行后也会显示出来,但是没有颜色
- 我们前面说了,这里其实是给起了个别名
- 我们也可以加上颜色~~
/usr/bin/ls --color=auto
- 也可以看到有颜色了,再一次证明了是起的别名~~
- 我们回过头来看这个相对路径
- 刚刚我们执行了
ls -al
命令,刚刚执行的是在一个空文件夹里,那为什么会有两个文件一个.
一个..
呢?
- 其实这个
.
就是代表当前路径,..
代表上一个路径
5.4 . 和 ..
- 这里的
.
代表当前路径,我们来看下面进行演示一下 - 这里涉及到命令的我们在后面章节会详细道来~~
- 这里可以看到我们通过这个
./
来执行这个可执行文件就是从当前路径来找到这个文件来执行~~ - 那么我进入到其他目录下能不能执行这个可执行程序呢?
- 当然是可以的~~
cd ../a.out
- 这个意思就是从上一级目录下找到这个
a.out
文件进行执行~~ - 那么
cd ..
是不是就可以回到上一级目录里了,我们来验证一下~~
- 我们可以看到已经回退了~~
- 我们继续回退,一直退到不能退位置
- 可以看到我们退到
/
位置就不能回退了,由此证明/
是系统的根目录~~
- 我们这里还要有一个概念就是用户的概念
- 我这里目前是使用的root用户,root用户是什么呢?>>>是超级管理员的意思~~也就是
最高
权限的意思 - 既然有用户就有普通用户,普通用户就是在
/home
目录下
- 这里我们切换到普通用户来看看~~
- 这里了解一下用户的概念,后面我们会详细讲~~
那么这个cd ~
是进入用户的家目录
5.5 whoami
- 这里再教大家一个查询当前是登录的哪个用户
whoami
- 在普通用户下执行:
- 在root用户下执行:
- 当我有一次进入到了一个很深的文件夹,我想一下回退到自己的家目录,怎么办呢,可以执行这个操作~~
- 我们进入了四次问价夹,我们就需要执行四次
../
cd ../../../../
- 那么有没有办法直接一次性回退到家目录呢?
- 那就是执行下面这个命令
cd ~
- 可以看到直接就到家目录了,是不是很方便~~
接下来还有一个
cd -
- 这个是什么呢?
- 如果我想在两个目录来回切换就需要手动敲目录,有一个好的办法来解决这个麻烦,这个其实就是直接回退到刚刚那个目录,一键回退
- 是不是很方便~~
有关
cd
的命令就到这里了~~
Linux | 创建 | 删除 | 查看 | 基本命名详解(二):https://developer.aliyun.com/article/1426918