一篇熟悉 Linux 基本操作
上篇我们总结了Linux的登录方式,现在我们面对使用Linux的问题就是 如何操作?
在上期的内容中,有几条命令,让我们初步体验了命令行的交互方式。
现在我们就来深入了解它。 #建议:先阅读完内容,再进行操作
还是由问题出发,我们先来分析下这个问题。
我们在使用操作系统的时候,通常都会有哪些操作?
有同学该说了,我没使用过linux呀!
那你使用过windows和智能手机了呀,你拿到新电脑和新手机之后,都做了啥?
以我自己为例,我会:
随便看看,检查检查配置,看看有没有水分或是发错货
做些设置,如密码、主题
安装常用的应用
迁移资料 等等
那么,现在就来看看在CentOS系统中如何做这些操作。
1、检查配置
查看cpu,命令:lscpu
查看内存,命令:free
查看内存信息 这个返回结果大家看懂没,是不是看的是蒙的。这啥单位?我们来看下这个命令。
这里给大家介绍个使用Linux过程中,非常重要的参数: --help
我们输入:free --help
这样我们就知道这个命令的使用方式了。
除了指定单位,有个 -h 的参数是用人类可读的方式输出,我们来试下:free -h
可读性果然好了很多。
查看硬盘,命令:fdiskfree -h
需要加参数,看到 -l 可以列出分区表,我们试下:fdisk -l
看到结果返回了分区相关的信息。
大家看这个结果是不是也特别蒙,这磁盘怎么好像是个文件。
是的,你理解的没错儿,这里有个重要的概念,就是:
Linux下一切皆文件,就是Linux里面所有的内容都是以文件的形式保存和管理的。
这也是它和windows系统底层设计较大不同的地方。
这样的设计让它的目录形式比较统一,有一个统一的目录那就是根目录:/
也就是Linux里面所有的东西都在 根目录:/ 下的某个位置,
所以你看到的所有Linux目录都是以 “/” 开头的,
不像windows里面有 C盘,D盘、、之分。
但这样我们的分区磁盘是怎么访问的呢?
答案是挂载,就是将磁盘挂载到某个目录下。
如何查看当前磁盘挂载情况?
命令:df 或者 lsblk
温馨提示
Linux 下有很多命令可以达到你相同的目的,等你熟练后,就会深刻理解这些。
那么,问题了来了,如果我们插了一个U盘,在linux里面如何访问呢?
我们需要将它挂载到某个目录,具体操作为:
fdisk -l #查看U盘文件路径,如:/dev/sdb
mount /dev/sdb /mnt #将U盘挂载到/mnt目录
这样就可以访问/mnt 目录来访问U盘里的内容了。
我们日常管理很多东西时,都会将东西分门别类的来存放,
Linux 当然也是如此,以下为常用目录的用途:
/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放经常使用的命令
/boot:这里存放的是启动 Linux 时使用的一些核心文件
/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/media:linux 系统会自动识别一些设备,例如:U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt:这个目录是为了让用户临时挂载别的文件系统用的
/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
这些目录,先简单熟悉下有个印象就行,不用特别去背。后面使用多了,自然就记住了。
熟悉了Linux的目录文件结构,那么如何操作目录和文件呢?
下面我们来了解下操作目录的常用命令:
ls(英文全拼:list files): 列出目录下的内容
cd(英文全拼:change directory):切换到目录
pwd(英文全拼:print work directory):显示目前所在的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录 到指定目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
除了ls和cd,其他是不是和windows右键菜单里面的功能一样。下面我们就来练习他们,
请尝试以下操作:
a. 确定目前所在的目录
b. 切换到/tmp目录
c. 在/tmp目录下,创建3个新的目录:test1、test2、test3。
d. 查看当前目录的内容
e. 复制 test3目录到test1目录
f. 删除/tmp目录下的test3目录
g. 查看当前目录的内容
h. 移动test2目录到test1下面
i. 切换到/tmp/test1目录
j. 查看当前目录下的内容
k. 切换到/tmp目录
l. 删除test1目录
以下为我的操作过程,仅供参考:
了解如何管理和操作目录文件,下面我们来看看文件操作。
上面我们知道了操作文件移动、复制、删除的命令和操作目录是相同的,
那就还剩新建、查看、编辑和执行操作了。
我们先来看新建文件,一般新建文件有3种方式,分别是创建空文件、复制新文件和编辑新文件并保存。命令如下:
touch filename #创建空文件
cp filename filename_new #复制一个文件
vi filename #编辑文件
实践:
由于已经涉及编辑操作,我们下面先进行文件编辑的操作。
输入上面的vi命令,就进入了对test_file1文件的编辑界面了,如下
这时候,你输入可能会没有反应
这是因为Linux下编辑文件我们只有键盘可用
所以,对于编辑工具的设计也是基于键盘交互而设计的。
它有3种模式或状态,分别是:
- 命令模式(Command mode)
- 输入模式(Insert mode)
- 底线命令模式(Last line mode)
上面我们输入命令后,就进入了命令模式。
该模式是用来控制其他两种模式转换的,控制方式是:
- 按 i 键切换到输入模式,就可以输入字符了, 按 Esc 键退出输入模式,返回命令模式
- 按 : 键切换到底线命令模式,可以在最底一行输入命令,回车,执行命令,然后,就回到命令模式了,退出命令除外 所以,继续我们的文件操作就是按 i 键进入输入模式,输入要输入的内容。
然后,按 Esc 键,返回命令模式。
最后,按 : 键切换到底线命令模式,
输入wq,回车,我们编辑的新文件就保存并退出了。
其中,w是write的缩写,是写入磁盘(保存)的意思,q是quit的缩写,退出的意思
温馨提示:
vi基本是所有linux下默认都有的编辑器,一定要掌握。
具体使用方法参考:https://www.runoob.com/linux/linux-vim.html
不用急着一次性全部掌握,先掌握最基础的,比如上面的模式切换和保存退出。
了解其他可以进行的操作,在实际需要的时候,再查手册就是了,使用几次自然就掌握了
知道了如何新建和编辑文件,下面我们来看看如何查看文件,
其实,目前我们已经掌握了一种文件查看的方式,
如果你在思考的话,应该知道那是什么?
对,就是vi,既可以查看文件,又可以编辑文件
还有其他很多方式只是单纯的查看文件里的内容,如:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,所以 tac 是 cat 的结果倒着显示的
nl 显示的时候输出行号
more 一页一页的显示文件内容,不能往前翻页
less 与 more 类似,但是比 more 更好的是,他可以往前翻页
head 只看头几行
tail 只看尾巴几行
这里讲一下head 和 tail, 前面的命令大家自行尝试即可。
head和tail命令如果不加参数,默认都是显示10行内容。
注意
行是可以非常长的,一些内容是因为显示位置不够和显示设置才分两行或多行显示,但实际是一行。
这个和windows记事本开启自动换行类似。
tail命令在查看日志方面非常好用,所以常用于问题的定位、排查。比如:
tail -n 20 /var/log/messages #查看文件最后20行
tail -f /var/log/messages #持续查看文件最后的行 # ctrl+c退出查看
tail -f /var/log/messages | grep err #持续查看文件最后包含err字符的行
Ok,了解了如何查看文件,最后来看一下文件的执行。
截至到现在,我们已经接触了近30个命令了,
现在可以思考一下这些命令到底是什么?
为什么我们在命令行里面敲这个命令他就会执行这个操作?
其实,这些命令本身就是一个个文件。他们都在某个bin目录下,比如:/bin/
我们可以通过一个命令来查看命令在哪个位置。
which
比如查看 ls 命令的位置:
然后,我们来查看这个文件的内容:
cat /usr/bin/ls
出现了好多乱七八糟(乱码)的内容:
这是因为ls这个命令是用c语言写好编译后的执行文件,内容虽然可以查看,但基本没可读性。
由此,我们可以了解,Linux下面执行一个程序,就是在命令行里输入这个程序的执行文件的文件名。
那这里又有一个问题了?
这个 ls 文件不是在 /usr/bin/ 目录下面么,为啥子我们直接输入 ls 就可以执行呢?
这里就又涉及一个知识点了就是环境变量。
Linux下查看环境变量的命令是:
env
然后找到名为 PATH 的环境变量:
“:” 是衔接符号,我们可以看到PATH下包含的路径,包含了 /usr/bin 这个地址。
所以,我们就可以直接执行这个路径下的所有可以执行的命令文件。
甚至我们也可以把自己编写的脚本文件或编译后的程序执行文件也放在这个目录。
那环境变量可修改么?
名字叫变量当然就是为了可以修改,修改方式非常简单,大家自行搜索。
给个参考:https://www.cnblogs.com/qiuhong10/p/7815943.html
温馨提示:
环境变量的概念基本是所有操作系统下通用的,但写法会有所不同。
比如:windows下的衔接符号是“;”
Ok,本节内容就到这里了,主要让大家对linux下的基础操作有所理解。
如果仍有疑问,欢迎私信或在评论区留言。
下期进入Linux的应用安装和管理