linux(CentOS版本)学习笔记1

前言:由于CentOS8版本刚出并且不太稳定,所以我CentOS选择的是7.7版本,使用virtualbox虚拟机软件来运行CentOS,具体方法请自行百度,其他博客有非常详细的介绍,在此不再赘述。
1.使用virtualbox虚拟机软件进入CentOS后,可以借助快捷键(Ctrl + AIt + F2 ~ F6)来进入tt1 ~ tt5这五个真正的全屏幕的tty终端,如果要退出tty终端,回到图形界面,用快捷键Ctrl + AIt + F1。
可以自定义快捷键例如Ctrl + AIt + T来快速进入终端。

2.在每次输入命令的前面,都会有类似[socarry8@localhost ~]$ 这样的字符,这个叫做命令行提示符。中括号没有特殊的含义,起一个分割作用,socarry8是当前用户的名字,linux是多用户的操作系统。@前面是用户名,后面是所在的域。localhost是电脑/主机的名注意字,是可以自行更改的,比如改成你的名字+nb等等。 ~当前所在目录的名字,会随着用户进入不同目录而改变。 $指示你所具有的权限。 $表示普通用户,有权限的限制,比如我的账户socarry8就是一个普通用户。 #表示超级用户,也就是root,root拥有的权限,是系统的大管家,想干什么就干什么。所以不建议初学者上来j就使用root,因为可能会误删除一些文件。

如果想从普通用户切换成root用户,则使用sudo su命令,此时命令行提示符变成[root@localhost socarry8]#。如果要退出root身份,可以用Ctrl + D组合键,或者用exit命令。

3.常用linux命令(举例)
a.date命令:date是日期的意思,用于显示当前时间。
b.ls命令:ls是list的缩写,list是列举列出的意思,所以ls命令用于列出当前目录下的文件和目录。

4.命令的参数:参数是写在命令之后的一些补充选项,命令和参数之间用空格隔开
格式:common(命令) parameters(参数)
参数里可以包含多个参数,由空格隔开,可以包含字母数字等等
a.短参数(一个字母):最常用的参数形式就是一个短横线后接一个字母,如command -p,也可以一次加好几个短参数,可以用空格隔开,如command -p -a -T -c,多个短参数是可以合并在一起的,如command -paTc。注意:字母的大小写有区别,大写T和小写t通常含义不同。
b.长参数:长参数是以两个短横线开始的
格式command --parameter
多个长参数是不能像多个短参数那样合并的,而是只能以空格隔开。例如,command --parameter1 --parameter2
c.可以组合使用短参数和长参数,例如command -paTC --parameter1 --parameter2
d.有时候同一个意义的参数有短参数和长参数两种形式,效果是一样的,例如ls -a和ls --all
e.有一些参数需要赋值,短参数和长参数的赋值方式不一样
短参数赋值:command -p 10
长参数赋值:command --parameter=10

5.如何找到一个命令:有时候会想不起来一个命令到底是如何拼写的,这时候可以用Tab来补全命令。Tab键还可以不全文件名,路径名:按两次Tab键。
命令的历史记录:向上键-按时间顺序向前查找用过的命令,每按一次就前进一个命令;向下键-按时间顺序向后查找用过的命令,每按一次就前进一个命令。Ctrl + R-用于查找使用过的命令。
history命令:用于列出之前使用过的所有命令,可以用!编号这样的格式来重新运行history输出中对应编号的命令。

6.一些实用的快捷键
a.Ctrl + L用于清理终端的内容,就是清屏的作用,同clear命令
b.Ctrl + D给终端传递EOF(End Of File,文件结束符)
c.Shift + PgUp用于向上滚屏,与鼠标的滚轮向上滚屏是同一个效果
d.Shift + PgDn用于向下滚屏,与鼠标的滚轮向下滚屏是同一个效果
e.Ctrl + A光标跳到一行命令的开头。Home键有相同的效果
f.Ctrl + E光标跳到一行命令的结尾。End键有相同的效果
g.Ctrl + U删除所有在光标左侧的命令字符
h.Ctrl + K删除所有在光标右侧的命令字符
i.Ctrl + W删除光标左侧的一个单词,单词指的是用空格隔开的一个字符串,例如-a就是一个单词
j.Ctrl + Y就是去粘贴之前用Ctrl + U,Ctrl + K或Ctrl + W删除的字符串,有点像剪切-粘贴

7.linux中两种类型的文件
a.普通的文件:文本类型的文件,包括文本类型的文件(.txt,.doc,.odt等等),声音文件(.wav,.mp3,.org),程序。这样的文件在windows中也有。
b.特殊的文件:其他一些文件是特殊的,因为他们表示一些东西,例如光盘驱动器。

8.linxu的根目录:linux有且只有一个根目录,就是/(斜杠)。linux中没有比根目录再高一阶的目录了,没有目录包含根目录。
linux中用斜杠/来标明目录与层级的包含关系,linux的目录形式是这的:/usr/bin,意思就是bin是usr目录的子目录,usr是/这个根目录的子目录。
一般在linux下命名目录时尽量不使用空格或者其他特殊的符号,而且尽量用小写英文字母,这样会省去很多不必要的麻烦。

在终端输入ls /可以获得根目录的直属子目录,下面对其进行说明:
a. bin:是英语binary的缩写,表示二进制文件(可执行文件就是二进制的),bin目录包含了所有会被用户使用的可执行程序。
b. boot:英语boot表示启动,所以boot目录包含与linux启动密切相关的文件。
c. dev:是英语device的缩写,表示设备。包含外设,它里面的子目录,每一个对应一个外设。比如代表我们光盘驱动器的文件就会出现在这个目录下面。
d. etc:etc目录包含系统的配置文件。
e. home:用户的私人目录,在home目录中,我们放置私人的文件。linux中每个用户都在home目录下有一个私人目录(除了大管家用户root),因为root用户拥有所有权限,比较任性,跟普通用户不住在一起。假如我的用户名是socarry8,那么我的私人目录就是/home/socarry8
f. lib:英语library的缩写,表示库。lib目录包含被程序所调用的库文件,例如.so结尾的文件。
g. media:表示可移动的外设(USB盘,SD卡等)插入电脑时,linux可以让我们通过media的子目录来访问这些外设中的内容。
h: mnt:英语mount的缩写,表示挂载,有点类似media目录,但一般用于临时挂载一些装置。
i. opt:表示可选的用用软件包,用于安装多数第三方软件和插件。
j. root:超级用户root的家目录,一般用户的家目录位于/home下,root用户是个例外。
k. sbin:英语system binary的缩写,表示系统二进制文件,sbin目录包含系统级的重要可执行文件。
l. srv: 英语service的缩写,表示服务,包含一些网络服务启动之后所需要取用的数据。
m. tmp:英语temporary的缩写,表示普通用户和程序存放临时文件的地方。
n. usr:usr目录里安装了大部分用户要调用的程序。
o. var: 英语variable的缩写,var目录通常包含程序的数据,比如log(日志)文件,log文件记录电脑中发生了什么事。

9.如果刚打开一个终端,将位于用户家目录~中,如果用户是socarry8,那么 ~这个目录就是/home/socarry8这个目录。通常来说,命令行提示符会告诉你目前位于哪个目录下,但是除了看命令行提示符,还有一个方法来显示当前目录的路径:pwd命令。使用方法:直接输入pwd,然后回车,就会执行此命令。

10.which命令:用于显示一个命令的对应的可执行程序的位置。linux下每一条命令其实对应了一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应的那个程序。一个命令,其实只不过是一个我们随时可以调用的程序罢了。which命令接受一个参数,是你想知道其可执行程序位于哪里的那个命令,例如pwd命令对应的pwd这个可执行程序位于/usr/bin目录中。

11 .重要的linux命令
a. ls命令:ls是list的缩写,是英语列出的意思,所以ls命令用于显示当前目录中的文件。
ls命令常用参数:
-a: 显示所有文件和目录,包括隐藏的(linux以点(.)开头的文件是隐藏文件,但是不包括点和点点)。

-l: 非常常用,-l参数使得ls命令列出一个显示文件和目录的详细信息的列表,每一个文件或目录都有对应的一行信息。输入这个命令,下面会有很多参数:
total 0:表示这个文件下目录的千字节
之后从左到右:
文件权限:drwxr-xr-x之类的
链接的数目:2,1之类的
文件所有者的名称:socarry8等
文件所在的群组:socarry8,vboxsf等
文件大小:文件是octet,也就是byte,是英语字节的意思
时间代表的是文件最后修改时间
最后一列是文件或目录的名称linux(CentOS版本)学习笔记1_第1张图片

-lh:以Ko,Mo,Go的形式显示文件大小(如果仅用ls -l,列出的文件详细信息中,文件大小是以字节为单位的)

-lt:按文件最近一次修改时间排序
ls的常用参数合并在一起,效果是叠加的:ls -lath

b. cd命令:是最常用的linux命令,表示切换目录
cd命令后面接的参数就是一个:你要去的那个目录的路径
要回到上一级目录(也叫父目录),用cd …(两个点)
cd …/…表示连续后退两个层级
相对路径:相对于当前目录的一个路径表示法 ,在根目录下直接cd games是找不到的,因为games在usr目录下,只能cd usr/games来找到games目录
绝对路径:绝对的,不因当前目录而改变的一个目录表示法。不管我们当前位于哪个目录,绝对路径的使用都是一样的。绝对路径很好辨认,因为它总是以/开头,/表示根目录。
例如我们现在cd ~回到家目录,想去到games目录。那么绝对路径下:cd /usr/games
linux(CentOS版本)学习笔记1_第2张图片
linux(CentOS版本)学习笔记1_第3张图片
相对路径下:cd …/…/usr/games
linux(CentOS版本)学习笔记1_第4张图片
linux(CentOS版本)学习笔记1_第5张图片
重回家目录的三种方法:比较笨的是 cd /home/socarry8(绝对路径方法)
然后是上文中用到的cd ~
最聪明的方法是cd,不加任何参数
Tab键不但可以进行命令的补全,还可以用于路径的补全,使用方法cd /(这里假设是要用根目录下的目录)之后按两下Tab键,就会显示出这个目录下的目录。

c. du命令:显示目录包含的文件大小。du可以让我们知道文件和目录所占的空间大小,相比ls-l命令,du命令统计的才是真正的文件大小
-h参数:以Ko,Mo,Go的形式显示文件大小,du -h
-a参数:默认情况下,du命令只显示目录的大小,如果加上-a参数,则会显示目录和文件的大小。 du-ah
-s参数:只想知道当前目录的总大小(不包含其他信息)du -sh

12.cat和less命令:显示文件内容
cat命令:一次性在终端中显示文件的所有内容。用法很简单:只需要在命令后加上想要显示的文件路径即可,如果想显示编号,就cat -n 文件路径 即可。也可以把多个文件内容合并在一起输出,只需要在cat后面加上文件路径即可。

less命令:分页显示文件内容。如果文件比较大,cat命令会使人猝不及防,这种时候就需要用到less命令了,它和cat命令最大的区别是:less会分一页一页的显示文件内容。
less命令中常用的快捷键:
a.空格键:文件内容中读取下一个终端屏幕的行数
b.回车键:文件内容读取下一行,也就是前进一行
c.d键:前进半页(半个屏幕)
d.b键:后退一页。
e.y键:后退一行
f.u键:后退半页(半个屏幕)
g.q键:停止读取文件,终止less命令
less命令中略高级的快捷键
a.=号,显示你在文件中的什么位置,会显示当前页面的内容是文件中第几行到第几行以及字符数。例如下图。1-29表示1到29行,304表示一共有304行,1839byte/20100byte,百分之九表示目前页内容占总内容比例。最后面的press return表示按下回车就不显示这个信息了
linux(CentOS版本)学习笔记1_第6张图片
b.h键:显示帮助文档,按q键退出帮助文档
c./(斜杠):进入搜索模式,/后面接的是你要搜索的内容,它就会列出所有有这个内容的字符串。要在搜索所得的结果中跳转,可以按n键(跳到下一个符合项目),按N键(shift键+n,跳到上一个符合项目)

13.head命令和tail命令:显示文件的开头和结尾
head命令用于显示文件的开头几行,tail用于显示文件结尾的几行
head:默认情况下,head会显示文件的头10行,想要改变行数可以head -n x 文件名,x代表你输入的行数
tail:默认情况下,tail会显示文件的尾10行,也可以指定显示行数,跟head类似
tail命令可以配合-f参数来实时追踪文件的更新,可以用快捷键Ctrl + c来终止tail -f命令。这里特殊说明一下:Ctrl + c可以终止大部分终端的命令。默认的,tail - f会每过一秒检查一下文件是否有新内容,可以指定间隔检查的秒数,用-s参数:tail -f -s 4 xxxx(每隔4秒)

14.touch命令和mkdir命令:创建文件和目录
touch命令:创建一个空白文件。touch 一个不存在的文件名
touch也可以同时创建多个文件,空格隔开就可以了
如果需要用touch创建的文件名有空格怎么办呢?很简单,加上双引号就可以了:touch “new file”,不过linux中文件或目录名字中尽量不要包含空格,这样可能带来麻烦。
mkdir命令:mkdir命令就是用于创建一个目录的,用法与touch一样
还可以用-p参数来递归创建目录结构:mkdir -p one/two/three

15.CentOS的终端默认是有颜色标注的,一般来说:
蓝色:目录
绿色:可执行文件
红色:压缩文件
浅蓝色:链接文件
灰色:其他文件

你可能感兴趣的:(linux(CentOS版本)学习笔记1)