啃书——《Linux就该这么学》——linux基本命令
前言
我本不是爱读书,只是单纯的要学知识,更直白点来说是学技能,因为不想再看那些几重积分什么的,计算计算,从头到尾都是计算。我不想以后回想起我的大学,都是跟别人一样——“我学会了这个怎么算,三重积分、隐函数……”,这不是我想学的,我的专业嘛,入学的几个月里,从学长那里得知这个专业学的非常杂,可以说是什么都学。所以在不想学其他的东西的时候,看这些书,枯燥无味,所以就记录下读书笔记和感悟。多少可以支撑我继续下去。
原本想看鸟哥的书来着,看好多人都推荐,看了几十页,实在懵,啃不动,所以换目标了。
开始读这本书,我看到了作者写的前言。抄下来激励一下自己。
“工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能
尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不像糖果那样—放进嘴里就甜味十足, 而是需要从苦劳与艰辛中渗出,因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世 上没有哪种喜悦可以类比”。
“更何况人类生活中工作占据了较大的比重,如果不能从劳动中、工作中获得充实感, 那么即使从别的地方找到快乐,最终我们仍然会感到空虚和缺憾”
get知识
第一章
一、VM虚拟机的三种网络模式:
- 桥接模式
相当于在物理主机与虚拟机网卡之间架设了一座桥梁,从而可以通过物理主机的网卡访问外网。
- NAT模式
让VM 虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟 的主机可以通过物理主机访问外网,在真机中 NAT 虚拟机网卡对应的物理网卡是 VMnet8。
- 仅主机模式:
仅让虚拟机内的主机与物理主机通信,不能访问外网,在真机中仅主机 模式模拟网卡对应的物理网卡是VMnet1。
虚拟机是了解过的,本身也安装过多台虚拟机,对于虚拟机的安装已经可以说不常出错了。在第一章仍然学到了知识,就是下面这些。以前关于网络模式只知道有桥接、NAT模式,仅主机模式这些模式,但是不知道具体是什么作用,因为没有遇到错误,就没有学习,这里作者解释了这个,让我可以学习到这些知识。
二、常见的Yum命令
Yum是Linux系统的软件包管理仓库
第一章复习题:
问:使用虚拟机安装 Linux 系统时,为什么要先选择稍后安装操作系统,而不是去选择 RHEL 7 系统镜像光盘?
答:在配置界面中若直接选择了 RHEL 7 系统镜像,则VMware Workstation 虚拟机会使用 内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境 会不一样。
注:这个问题也是我之前进行安装虚拟机时所不明白的地方,记录下来。
第二章
- Shell 是一个命令行工具,也被称为“终端或壳”,是一个“翻译官”,让系统执行用户输入的命令。
- 通过上下方向键来调取过往执行过的 Linux 命令;
- 命令或参数仅需输入前几位就可以用 Tab 键补全;
- 具有强大的批处理脚本; 具有实用的环境变量功能。
- echo命令,很像PHP中的打印命令。
像这样。 - date命令。可以查看当前时间
做实验前,我将虚拟机拍摄了快照。可以随便玩。
这个是root用户才可以进行的操作,所以加个sudo - reboot命令
重启系统。 - poweroff命令
关闭系统 - wget命令
在终端下载网络文件
栗子:下载书籍。
应该是书上给的url的问题,证书未生效,只要在后面加上--no-check-certificate
就可以了。
使用 wget 命令递归下载www.linuxprobe.com 网站内的所有页面数据以及文
件,下载完后会自动保存到当前路径下一个名为 www.linuxprobe.com 的目录中。执行该操作 的命令为 wget -r -p http://www.linuxprobe.com,
就能看到在目录下有这么个文件(同样需要加--no-check-certificate
)
- ps命令
- top命令
任务管理器,这个我用windows系统的时候也不怎么用,只作了解。 - pidof命令,
查询指定服务进程的PID值。使用方法:pidof [进程名称] - kill命令
终止指定PID的服务进程,用上个命令查出来的PID可以通过这条命令来终止服务。 - who命令
查询当前登入主机的用户的信息。
- history命令
history 命令用于显示历史执行过的命令,格式为“history [-c]”。
执行 history 命令能显示出当前用户在本地计算机
中执行过的最近 1000 条命令记录。 - ls命令
这个命令我之前有了解过的。所以书上有些不是很完整的,我还在百度上找了几条扩展的用法,都记录在我的印象笔记上。
含义:ls(list)
用法:ls
ls通配符的使用
用法2 : ls 路径
如:ls /root
用法3:ls 选项 路径
含义:列出路径下所有文件夹/文件,并以指定格式进行显示
常见语法
ls -l 列出各文件的详细信息,如创建者、创建时间、文件的读写权限
ls -a 列出文件下所有文件,包括以 “.” 开头的隐藏文件(linux中以“.”开头的是隐藏文件,如果存在"…"代表存在父目录)
用法4
ls -lh 路径
含义:列出文件指定路径下的所有文件,并以可读性较高的形式显示文件大小
- cd命令
用法: 切换当前工作目录
语法:cd 路径
当前如果在"/"下,需要使用绝对路径
如: 切换到/目录下的usr下的etc目录下
cd /usr/etc - tar命令
tar命令直接对压缩包进行解压或对普通文件进行压缩。
命令大部分都记在印象笔记上,这里只记几个。
第三章
- 管道符,🙄🙄🙄刚开始没看懂什么意思。可能跟我的看书习惯有关系。
可以结合两个命令成一个命令来执行,先执行管道符前面的命令,然后再执行后面命令。
比如:命令1 | 命令2
还可以这样:命令1 | 命令2 | 命令3
- 通配符,好像跟正则表达式差不多(哈,这么理解好像也还可)。
- 环境变量
第四章
- vim编辑器,看过一篇文章是写的关于vim编辑器的。感觉很好。
放上大佬写的博客,有关vim编辑器的,Linux——vi命令详解
书上介绍的仅仅只有创建一个文本文件的介绍,其他的需要自己拓展。这里用到了再说,看一点算一点。
2.然后根据Yum配置软件仓库,这里书里写的非常详细。跟着做了一遍。
3.编写一个简单的shell脚本。
输入vim test.sh
名字随意。
然后在里面编辑如下内容
#!/bin/bash
#For example by https://zxcv0221.github.io
pwd
ls -al
第一行是脚本声明,为了告诉系统使用哪一种Shell解释器来执行这个脚本。
第二行是注释信息,我在这里放上了我的个人博客地址。可以随便加东西。
第三行,第四行才是linux命令。
写完后:wq!
进行保存退出就可以了。
然后执行一下
bash test.sh
然后就能看到结果了。
我也模仿了一遍,看下效果。
4. 逻辑运算符:与、或、非
&&
逻辑与,它表示当前面的命令执行成功后才会执行它后面的指令,判断一个文件是否存在,如:/dev/cdrom
输入命令:[-e /dev/cdrom ] && echo "Exist"
如果存在则输出Exist。
||
逻辑或,表示前面的语句执行失败才会执行后面的语句,书上用的“栗子”是判断当前登录的用户是否为非管理员身份。
!
逻辑非,表示把条件测试中的判断结果取相反值,如果判断结果是true,那么就返回false。反之类似。
综合:将三种逻辑语句简单的放一起,效果:
5. 流程控制语句
if条件语句的多分支结构由 if、then、else、elif、fi 关键词组成,它进行多次条件匹配判
断,这多次判断中的任何一项在匹配成功后都会执行相应的预设命令,相当于口语的“如 果……那么……如果……那么……”。
举个栗子:
[root@linuxprobe ~]# vim chkhost.sh #!/bin/bash
ping -c 3 -i 0.2 -W 3 $1 &> /dev/null if [ $? -eq 0 ] then
echo "Host $1 is On-line." else
echo "Host $1 is Off-line." fi
for循环语句
while循环语句
小游戏:
第五章
用户身份与文件权限
- useradd命令用于创建新的用户。
- 其他的书上非常详细,我好像暂时不用这些,再看这个命令:chmod,这个比较熟悉,是提权的,之前看到大佬的博客的什么教程来着,忘了,不过这个命令印象很深,耳熟能详的词语:提权
书上的介绍是这样:
除了设置文件或目录的权限外,还可以设置文件或目录的所有者和所属组,这里使用的命令为 chown,其格式为“chown [参数] 所有者:所属组 文件或目录名称”。在针对目录进行操作时需要加上大写参数-R 来表示递归操作。
不过,我的linux系统,有点奇怪,我之前做实验的时候发现的,但是没有在意,就是我删除文件的时候,像这样:
“一点都不留情啊,问都不问直接给我删了。”跟书里的操作不一样啊。这个我去查了一下,然后发现有人问了这个问题,而且下面有人回答,我就直接用了。
在普通用户下,是没有提示的,而在root用户下,就会提示:
解决办法,可根据百度找到和自己情况类似的,我已经更改过了,但是没留图。所以就放一个链接吧。linux用rm命令删除文件为什么没有提示? - SBIT特殊权限位
这个权限是为了防止误删一个用户误删其他用户的文件,这个特殊权限可以确保用户只能删除自己的文件,而不能删除其他用户的文件。默认已经设置了SBIT特殊权限位,因此除非是该目录的所有者,否则无法删除这里面的文件。
如果想要对其他目录来设置SBIT特殊权限位,用chmod命令就可以了,对应的参数o+t
代表设置SBIT粘滞位权限
chmod -R o+t 文件名/
栗子:
chmod -R o+t lxj/
- 文件的隐藏属性
4.1、chattr命令
设置文件隐藏权限,格式为:chatter [参数] 文件
可以看出这个已经不能删除了,其他的命令自行尝试。
4.2、lsattr命令
lsattr命令用来显示文件的隐藏权限,格式为lsattr [参数] 文件
在linux系统中,文件隐藏权限必须使用lsattr命令来查看。使用ls是看不出来什么问题的。
[lxj@wkx 桌面]$ lsattr lxj
-----a---------- lxj
- su命令与sudo服务
su命令可以顺利解决切换用户身份的需求,是当前用户在不退出登录的情况下,顺利切换到其他用户。这个在使用root权限的时候经常用到。
使用过程中有个细节,以前没注意。就是在使用su切换用户时,尽量添加一个(-)这个就是代表完全切换到新的用户,还把环境变量信息也变更为新用户的信息。是个好习惯吧,记一下。
su - root
su - lxj
而sudo就是给普通用户提供额外的权限完成root用户才能进行的操作。
#格式
sudo [参数] 文件名称/某个命令
sudo 的功能如下:
亮点:
在书的小角落里有这么一段内容:每次使用sudo命令都要输入一次当前用户的登录密码,可能费时间什么的。有些人会觉得比较麻烦,作者给我们提供了一种方法,可以节省大量时间。
然后配置完了,可以试试这个命令
sudo poweroff
嗯😁这个一眼没看清就关机了。
Linux基础
下面是我学习过程做得笔记,都是最基础的linux命令,常用的。
基础指令(重点)
command [-options] [parameter]
command 命令名 ,相应功能的英文单词或单词的缩写。
[-options] 选项,可以用来对命令进行控制,也可以省略
[parameter] 传给命令的参数,可以是零个、一个、或多个。
查阅命令信息
command --help
显示command的命令帮助信息
man command
查阅command命令使用手册
按q退出
常用命令分类
- 创建和删除目录(文件夹)
touch
作用:- 如果文件不存在,创建文件
- 如果文件存在,修改文件的末次修改时间
如:在桌面创建一个文件名为网安的txt文件
可以用touch同时创建多个文件
- rm(删除功能)
作用:删除文档/文件
语法:rm 需要移除的文档路径
删除一个普通文件
强制删除一个文件夹
删除文件夹需要用 -r
强制删除用-rf
删除一个目录下有公共特性的文件
Linux中 * 表示通配符,表示任意字符,h * 表示以h开头的文件后续字符不管。
- mkdir
语法一: mkdir 路径 (路径可以是文件夹名称也可是完整的路径)
在当前目录下创建一个目录:
语法二:mkdir -p
如:在指定路径建一个文件夹 在桌面上吧
一次性创建多层目录时需要-p
,否则会报错。
语法三: mkdir 路径一 路径二 路径三 (表示创建多个文件)
- 拷贝和移动文件
cp 拷贝
作用:复制文件/文件夹到指定的位置
语法:cp 被复制的文档路径 被复制的路径
注意:Linux在复制过程中可以对文件进行重命名 格式: cp 被复制文件路径 被复制到的路径/新文件名 注意复制文件为文件夹时
cp后要加-r【-r表示递归复制】否则目录将被忽略
-
mv 移动
作用:移动文档到新的位置
语法:mv 需要移动的文档路径 移动到的文档路径
重命名的语法和移动是一样的 -
查看文件内容
cat指令
功能:cat 有直接打开文件的功能
语法1:cat 文件路径
作用2:合并文件
语法2:cat待合并文件1 待合并文件2 >合并后文件路径 -
more
适合查看文件内容较多的文件
-
grep
grep是强大的文本搜索工具
允许对文本进行模式查找
常用的两种模式查找
感觉这个跟正则表达式很像啊。 -
pwd指令
用法:打印当前工作目录
-
tree
- tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY。树已经被移植和报道以下操作系统下工作:Linux,FreeBSD,OS X操作系统,Solaris,HP UX,Cygwin,HP NonStop OS / 2。
- tree命令安装
CentOS7:yun install tree
在root权限
测试安装:tree
tree命令使用
格式: tree 参数
OK,目前就学这些,发现这些命令用多了真的好用,很有意思。虽然看书无聊,但是学到东西了。
文末寄语:
每个人都会经过这个阶段,看见一座山,就想知道山后面是什么。我很想告诉他,可能翻过去山后面,你会发觉没有什么特别。——《东邪西毒》