Linux手册---基本了解基本指令(1)

前言

环境

作为程序员的我们,当我们拥有一台云服务器的时候,那一定是激动不已的。这也许和每个程序员怀揣着改变世界的梦想有关,有了一台云服务器,意味着我们离世界更近了一步,不再是孤单的alone代码。
这里我使用的是阿里云的服务器,让我们来开始Linux的学习生涯吧!

Linux背景

简述发展史

要说Linux,首先一定要提到UNIX 。
1970年上下,一位大佬用汇编语言写下了C语言,然后用C语言写下了UNIX,当然这个大佬是为了赚钱啦。
这件事发生在当时大名鼎鼎的贝尔实验室。
然而有一天,一个芬兰的大学生和我们现在大学生一样,秉持着能白嫖就白嫖的精神,在1991年仿造了unix,写下了一万多行的linux,并把它开源。这里就是当今linux的雏形。这位学生叫做托瓦兹。
UNIX一般都是实验室等地方使用的大型机器。在那一段时期,mac os 和 windows 作为面向普通用户的操作系统和unix一起在发展。其中mac os 和windows 都是非常巨大的公司,也有许多的竞争对手,这时候会有很多有实力的研究人员,黑客,工程师都加入了开源的linux社区,免费为了linux做贡献,还为了避免两大头进行垄断。linux的代码量从一万多行的小体量,变到现在的千万行级别,从而被我们现在所使用。
这里参与编写linux的人中,有愿景驱动型,为了改造世界,实现人生价值。而且大家都知道,把你的代码开源出来,可以更好的进步呀,有人给你看错误。
所以开源就意味着稳定性高,更安全,当然还有免费。
linux发展起来,开源的是linux内核,也就是操作系统源代码。
同时这样诞生了很多基于linux内核的发行版本,centos ubuntu debain kail 红旗 redhat。。。
这些版本不是开源的人做的,是企业组织个人等做的。他们有部分是为了赚钱的。但不一定所有的发行版都是为了赚钱,我们使用的centos是免费的。
他们使用linux内核是一样的,这些叫做各种应用发行版。相反的还有内核版本。每一种发行版还有自己的细节版本,centos7 、8。
linux、windows都是桌面的操作系统,也就是必须用pc。慢慢的我们产生了手机,并有一家美国小公司把linux内核移植到手机上,并进行基础开发。但之后被google收购了,google并把这些打包的软件进行了开源,为了对抗当时的苹果。
行了小故事就讲到这里吧!让我们开始真正的系统学习。


学习linux之前,我们首先要了解os,来看看基础的架构
在这里插入图片描述

我们学习的os,本质上是使计算机更好用。

一、基础指令

ls

说一下重要的,
ls-d :显示目录相关信息
ls-l :显示文件细节信息
这个不多说了,一般我直接使用 ll,给大家一个表参考一下:
在这里插入图片描述

pwd

显示当前路径

cd

这里多说一点,linux系统中,磁盘上的文件和目录是一棵多叉树,每个节点都是目录或者文件
在这里插入图片描述
为什么选择多叉树呢?
答案是显而易见的,每一个结点只有唯一的父节点,这样一来,每一条路径都是唯一的,便于查找。
cd+目录名可以直接改变到指定目录下。
这里有一个概念,叫做绝对路径和相对路径。

在这里插入图片描述
这几个命令是比较常用的。cd - 来回切换很好用;cd~ 进入家目录,也就是用户的工作目录;
cd … 放回上一级目录。当我们显示出linux的隐藏文件时候,ls -a,我们可以发现每一个文件中都有一个点和两个点这样文件,这里一个点为当前目录,两个点为上级目录。
我们在win中的双击就相当于 cd + ls了。

我们来看一下一般普通用户登陆后的默认路径为:/home/xxx
这里的/,为路径分隔符,比较有意思的是,windows下的路径分隔符是,刚好是相反的,如果我们点开一个网址,
可以根据正反符号来判断这个网页是用什么系统写的。当然目录中的第一个/ 为根目录的标志,之后的才是路径分隔符。
还有一条指令:whoami可以查看当前用户。

touch

touch可以用来创建文件
在这里插入图片描述

mkdir

这个指令是比较重要的指令,用来建立一个文件夹。一般我们建立多个目录的时候,都需要带上 -p 选项
递归的建立多个目录。
像是这样:mkdir -p test/test1/test2 ,可以建立一整条路径。p是parents的意思。

rmdir 和 rm 指令

rmdir是一个与mkdir相对应的指令,只是用来删除空目录的指令。不过我们一般不使用,我们用下面的rm。
我们使用一般带上 -p ,递归的删除这一整条路径。子目录删除后,如果父目录也空了,也把父目录一起删掉。
rm命令可以同时删除文件或目录
rm -f 即使文件只读(写保护),也直接删除,强制删除
rm -i 删除前逐一询问
rm - r 递归的删除其下所有文件。

这里要提醒大家一点,rm -rf 很好用,但是一定要慎重,不要做删库跑路的那个人。删了就没了。
当然还有一个种常用的删除方式
rm *
这里的 * 是通配符 ,可以匹配当前目录下的任何内容
rm ./*
这就是清空当前目录。

man

man就是用来查命令、参数以及库函数的工具。
比如 :
man whoami
man printf,如果要查printf 那仅仅是这样写是不够的,我们要带上手册编号。
默认是查看1号
正确的查找方法是: man 3 printf
在这里插入图片描述
一般linux系统中会自带这8本手册。
在这里插入图片描述

cp

cp的功能是复制,常用的几个参数

-f,-i,-r ,分别是强制、询问、递归

还可以cp -fr * . .
这句指令的意思是,强制递归把当前所有文件 拷贝到 上级目录中。
还可以cp -rf *.txt . .
强制递归把当前所有.txt后缀文件 拷贝到 上级目录中。

mv

mv是移动文件夹,相当于剪切

同理 mv也可以 这样
mv *.txt . .
mv . ./ *.txt .

还可以重命名
mv dir .
mv dir1 dir2

-f -i,都是些常用的指令。

cat

查看目标文件的内容,一般我们使用的参数有三个

-b 对非空行进行编号,
-n 对输出的所有行编号
-s 不输出多行空行。

more指令

和cat类似

less

这个less和以上两个也一样,但是它是最强大也是推荐大家使用的查看器。
more无法向前翻,只能向后。less就可以使用上下键来回翻看。
而且less在查看之前不会加载整个文件。
在这里插入图片描述

head和tail

显示文件开头或者结尾几行的文字区域,
-n显示行数。
其中tail将文件写到标准输出,使用tail -f 可以方便查阅正在改变的日志文件。因为我们一般看日志都是从最新的开始看。


看了这么多东西,我来问一个有趣的问题

?:有一个文件有10000行,我想看50-100行的信息该怎么办?

这里我们需要简单介绍一下管道和重定向的概念

echo “hello world ” 会打印到屏幕上
echo “hello world ” > temp.txt 会重定向到temp.txt文件中。
这叫输出重定向,每次都要清空文件重新写入。
echo “hello world ” >>temp.txt
这是追加重定向,不会清空文件了,会补到后面。

那当然还有输入重定向喽
cat < temp.txt
它的效果是把文件里的东西写入。不重定向的话,那显然是从键盘输入。现在从文件输入了。重定向了。

那么究竟什么是重定向呢?
首先我们可以这样理解,linux下一切皆文件,显示器是文件、磁盘是文件、键盘网卡显卡都可以看作文件,这是一种设计哲学。文件之间怎么交互呢?

C程序会默认打开三个文件
stdin 标准输入 (键盘)
stdout 标准输出 ( 显示器)
stderr 标准错误 (显示器)
他们分别对应的文件指针
extern FILE * stdin;
extern FILE * stdout;
extern FILE * stderr;
他们都可以r,w,a,读、写、追加。
那么重定向就是改变了文件的方向。本来要输出到显示器,结果输出到temp.txt,本来要从键盘输入,现在从文件输入。
这是大概感性的理解,至于到底是为什么,我们以后再谈。

来到管道的概念

什么是管道,现实生活种管道是传输某种资源的,其中计算机上最重要的资源是什么?
那一定是数据,
所以管道的意思就是把一个数据传到另一个入口种。
没错,就是这个 |
我们用一命令来看
head -1010 file.txt | tail - 10
|之前生产数据,通过|传输数据,再给后面tail -10 读取数据。这样就把数据充分的利用了起来。效率很高。


接下来继续看看基础的指令吧

date

指定格式显示时间,如果有机会当我们一个进入机房,不允许带手机电脑手表,我们只能对着服务器操作,那我们没有时间了?常常工作到晚上三点了还不知道呢?
我们用date来看时间吧!
在这里插入图片描述
在这里插入图片描述
提到时间那就不得不提一下时间戳了

时间戳是从1970年1月1日北京时间早上八点开始到现在所经历的秒数,不考虑闰秒。
我们总会提问到,这个数字会一直大下去,那总有一天计算机会存不下,就会导致有关时间的严重问题,航班延误,起飞降落,火车进站出站,导弹飞行时间,卫星轨迹等等。这样的问题是存在的,这就叫做千年虫问题。我们要时刻注意着,更新存时间戳的设备。

date + %s 可以把时间变成时间戳
date -d@ 秒数 可以把时间戳变成正常时间。

cal

说完时间,就有日历了
阳历-太阳历-西历,地球绕太阳一周为一年
在这里插入图片描述
上面几个不太重要,我们再来一个重要的

find

搜索任何文件
find的功能非常强大,由于它的功能非常多,我们暂时先介绍一个
-name,按文件名查找。
find 真正的要在文件系统中进行查找直接访问磁盘,并且效率比较低。
which 可以查看命令文件的路径
alias 可以封装自己的指令

grep

在文件中搜索字符串,将找到的行打印出来
-i,忽略大小写
-n,输出行号
-v,反向选择


有关用户的操作

adduser
passwd
这两个为创建用户
su - 切换到root输入root密码
userdel -r 删除用户

我们想要把普通用户加入到新人列表中:
切换到root
vim /etc/sudoers
在这里添加上用户名就好了。

zip和unzip

zip压缩文件成zip格式
-r递归处理

zip test.zip test2 / * 将test2目录压缩
unzip test.zip -d /tmp 解压到tmp中
-d是指定目录的参数
默认情况况下只进行本层目录的压缩,-r可以递归压缩

热键
  1. ctrl d
  2. ctrl c
  3. 上下
  4. tab自动补全
  5. ctrl r
file

查看文件的更多属性信息。

tar

tar很重要,打包和解包,不打开文件直接看内容
在这里插入图片描述
我们比较常用的
tar -cvf 仅打包不压缩
tar -zcvf 打包后以gzip压缩
tar -jcvf 打包后以bzip2压缩
我们需要注意一下,参数f后的文件名要自己取,我们习惯上.tar命名
如果加z,文件名一般为.tar.gz或者.tgz
如果加j,则.tar.bz2

tar -ztvf 查看gzip内的文件内容

tar -zxvf 解压

还有多种多样的操作。

bc指令

这就是一个计算器

uname -r

在这里插入图片描述

这里有一个小tips,我们看系统的版本信息
x86:32位机器
x86_64 :64位机器
一般x86是指intel的处理器

关机

shutdown
-h 立即关机
-r 重启
-t sec 几秒后关机
注意我们云服务器是不关机的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值