Linux初识
操作系统:CentOS7.6
操作系统版本:3.10.0-1160.88.1.el7.x86_64
系统用户界面——Shell
当我们说起命令行时,实际上是指shell(系统用户界面),它是接受键盘命令并传递给信息系统的程序。几乎所有的Linux发行版都提供一个来自GNU项目的shell程序,叫做bash,它是bourne-again shell的首字母缩写,意味着bash是sh的增强替代品,它是由史蒂夫·伯恩编写的最初Unix shell程序。
终端模拟器——Terminal Emulators
- 当我们使用图形用户界面(GUI),我们需要另通过终端和shell“互动”。
键盘上的第一次敲击
当我们进入Linux操作系统后,会看到类似这样的一串字符[maxsun@VM-16-16-centos ~]$
,我们可以在其后进行键盘输入。
![](https://i-blog.csdnimg.cn/blog_migrate/7491039e68797abe661592c6af566af6.gif)
但当我们如动图所示进行键盘输入,按下回车会发生什么呢?
![](https://i-blog.csdnimg.cn/blog_migrate/0afb411c95815ed5bf1b35356229de5f.png)
command not found:指令未找到。
Linux常见的指令
如上所示,Linux并不认识我们随意输入的“指令”,那么Linux“认识”哪些指令呢?
ls指令
- 语法:
ls[选项][文件/目录]
- 作用:目录->列出该目录下的所有子目录和文件。文件->列出文件名以及其他信息。
- 常见选项:
- -a:列出目录下所有文件,包括以 . 开头的隐藏文件。
![]()
- -d:将目录像文件一样显示。
![]()
- -i:输出文件的i结点的索引信息。
![]()
- -l:列出文件的详细信息。
![]()
pwd指令
- 语法:
pwd
- 作用:显示用户当前所在的目录。
cd指令
Linux系统中,目录和文件组成了一颗“多叉树”。
-
语法:
cd 目录名
-
作用:改变工作目录。
-
cd .. # 返回上级目录 cd /home/max/code # 绝对路径 cd ../linux # 相对路径 cd ~ # 进入家目录 cd - # 返回最近访问目录
![](https://i-blog.csdnimg.cn/blog_migrate/3f8c4c7e028fce0e431f37b2ba9b6461.png)
touch指令
- 语法:
touch[选项] 文件
- 作用:touch指令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
![](https://i-blog.csdnimg.cn/blog_migrate/6c603bdd929d6c01a222ec45b74ae568.png)
mkdir指令
- 语法:
mkdir[选项] 目录名
- 作用:在当前目录下创建一个目录
- 常用选项:
- -p/-parents 创建一个多级目录。
![](https://i-blog.csdnimg.cn/blog_migrate/7214d4ffb9eee39353139f2c8e467798.png)
![](https://i-blog.csdnimg.cn/blog_migrate/12be2b50e44ceb18286cd9a24ff4519e.png)
rmdir指令
- 语法:
rmdir[-p] 目录名
- 使用对象:具有当前目录操作权限的所有使用者。
- 作用:删除空目录。
![](https://i-blog.csdnimg.cn/blog_migrate/f3682900e63df1b7bd4dab8053f7a804.png)
rm指令
-
语法:
rm[选项] 文件名/目录名
-
使用对象:所有使用者。
-
作用:删除文件或目录。
-
常用选项:
- -f:即使文件属性为只读(写保护),也是直接删除。
- -i:删除前逐一询问确认。
- -r:删除目录及其所有文件。
- -f选项:
- -i选项:
- -r选项:
![](https://i-blog.csdnimg.cn/blog_migrate/14bf6734e6671121d1752e3f3ccfd772.png)
man指令
- 语法:
man[选项] 命令
- 作用:访问Linux手册页的命令。
- 常用选项:
- -k:根据关键字搜索联机帮助。
- num:只在第num章节查找。
- -a:将所有章节都显示出来。
- q:退出手册。
man手册分为8章。
1:是普通命令。
2:是系统调用,如open,write之类的。
3:库函数。
5:文件的格式,如passwd。
6:留给游戏,由各个游戏自定义。
7:附件还有一些变量,如environ这种全局变量。
8:系统管理用的命令,这些命令只能由root使用,如ifconfig。
cp指令
- 语法:
cp[选项] 源文件或目录 目标文件或目录
- 作用:复制文件或目录。
- 常用选项:
- -f/–force:强行复制文件或目录,不论目的文件或目录是否已经存在。
- -i/–interactive:覆盖文件之前先询问用户。
- -r:递归处理,将指定目录西的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
- -R/–recursive:递归处理,将指定目录下的文件及子目录一并处理。
mv指令
-
语法:
mv[选项] 源文件或目录 目标文件或目录
-
作用:
- 当第二个参数类型是文件时,mv指令完成文件重命名。
- 当第二个参数是已存在的目录时,源文件或目录参数可以有多个,mv指令完成剪切指定源文件。
cat指令
- 语法:
cat[选项][文件]
- 作用:查看文件内容。
- 常用选项:
![]()
- -b:对非空输出行编号。
- -n:对输出的所有行编号。
- -s:不输出多行空行。
more指令
- 语法:
more[选项][文件]
- 作用:类似于cat指令。可翻页。
less指令
- 语法:
less[参数] 文件
- 作用:和more类似,但使用less可以随意浏览文件,more只能向前移动,不能向后移动,而且less在查看之前不会加载整个文件。
![](https://i-blog.csdnimg.cn/blog_migrate/cc64f0c348a4d2db9a1af979b6078c4a.gif)
head指令
- 语法:
head[参数] [文件]
- 作用:用来显示文件的开头到标准输出中,默认打印文件的开头10行。
- 选项:
- -n<行数>:显示的行数。
tail指令
- 语法:
tail[必要参数][选项][文件]
- 作用:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。
- 选项:
- -f:循环读取。
- -n<行数>:显示行数。
date指令
- date指令用于显示时间,默认格式为:
-
如果该格式不是你需要的,可以通过指定格式显示:
-
date +%Y:%m:%d # date[OPTION]...[+FORMAT]
-
%H # 小时
%M # 分钟
%S # 秒
%X # 相当于%H:%M:%S
%d # 日
%m # 月
%Y # 年
%F # 相当于%Y-%m-%d
时间戳
- 时间->时间戳:
date +%s
- 时间戳->时间:
date -d@时间戳
Cal指令
- 语法:
cal[参数][月份][年份]
- 作用:用来显示公历日历。
- 常用选项:
- -3:显示系统前一个月,当前月,下一个月的日历。
- -j:显示在当前年中的第几天。
- -y:显示当前年份的日历
find指令
- 语法:
find pathname [选项]
- 作用:用于在文件树中查找文件,并做出相应的处理。
- 常用选项:
- -name:按照文件名查找文件。
grep指令
- 语法:
grep[选项] 搜索字符串 文件
- 作用:在文件中搜索字符串,将找到的行打印出来。
- 常用选项:
- -i:忽略大小写的不同。
- -n:输出行号。
- -v:反向选择。
zip/unzip指令
- 语法:
zip 压缩文件.zip 目录/文件
- 作用:将目录或文件压缩成zip格式。
- 常用选项:
- -r:递归处理,将指定目录下的所有文件和子集一并处理。
- 语法:
unzip 压缩文件.zip -d 目录
- 作用:将压缩文件解压到指定目录中。
tar指令
- 语法:
tar [选项] 文件/目录...参数
- -c:建立一个压缩文件的参数指令。
- -x:解开一个压缩文件的参数指令。
- -t:查看tarfile里面的文件。
- -z:是否需要用gzip压缩。
- -j:是否需要用bzip压缩。
- -v:压缩的过程中显示文件。
- -f:使用档名,在f之后要立即接档名。
- -C:解压到指定目录。
![](https://i-blog.csdnimg.cn/blog_migrate/15a2c4a9c6cb3d8418e4ff28e7400e5d.png)
uname指令
- 语法:
uname[选项]
- 作用:uname用来获取电脑和操作系统的相关信息。
- 常用选项:
- -a/-all:详细输出所有信息,依次是内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。