蓝桥Linux 基础入门提炼总结

第一章----基本概念及操作

最基本操作

0–help
–help其实是Linux中的一个命令.
在开发的时候,开发者通常就将可以使用的命令与参数写入操作过程中.我们只需要用–help这个命令就可以得知这个命令的大概的用法.
语法:$ 命令 --help 实例:$ date --help
1touch
#创建一个名为 file 的文件,touch是一个命令
touch file 时间戳指的就是我们系统中文件(夹)的创建时间、修改时间、访问时间等属性
若当前目录存在一个 test 文件夹,则 touch test命令,则会更改该文件夹的时间戳而不是新建文件。
2cd
文件系统层次结构标准 (FHS) 定义了在类Unix系统中的目录结构和目录内容。它由Linux基金会维护,最新版为2015年六月三日发布的3.0版,仅用于Linux的各类发行版中。
FHS_3.0 标准重要部分如图(更详细请看FHS_3.0 标准文档):
在这里插入图片描述
#进入一个目录,cd是一个命令,绝对路径参考上图,要记得以 / 为根目录。
cd /etc/
3pwd
#查看当前所在目录
4
使用Tab键来进行命令补全 ,提示:在进行目录切换的过程中请多使用 Tab 键自动补全,可避免输入错误,连续按两次 Tab 可以显示全部候选结果
当然不止补全命令,补全目录、补全命令参数都是没问题的:
5
Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)。虽然这个按着很方便,
但不要随便按,因为有时候,当你看到终端没有任何反应或提示,也不能接受你的输入时,
可能只是运行的程序需要你耐心等一下,就不要急着按Ctrl+c了。
shell的中文名为壳,shell的性质是命令解析器
6通配符中的*匹配 0 或多个字符
可以给文件随意命名,假如过了很长时间,你已经忘了这两个文件的文件名,现在你想在一大堆文件中找到这两个文件,就可以使用通配符ls *.txt。但是得知道在哪个目录下。
6终端复制粘贴
在Linux终端中,只能用鼠标选中字符串。注意选中一行以上在终端复制是不行的,当然一般也不会这么用,因为终端是命令行。只能一行一行来。
在Linux终端中,没有通用的复制粘贴的快捷键。这就是为什么!
复制粘贴的按键绑定取决于您使用的终端仿真器(通常称为终端)。如果您不知道终端已经只是一个应用程序,你可以安装其他终端,例如Guake或Terminator。
不同的终端应用程序可能有自己的复制和粘贴键绑定,如Alt+C/V或Ctrl+Alt+C/V。大多数Linux终端都使用Ctrl+Shift+C/V键,但如果对你不起作用,你可以尝试其他的组合键
绝招是从终端模拟器的偏好设置中配置键。
7
每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。
属主:所属主人,即所属用户
属组:所属用户组
在这里插入图片描述
从左至右用 0-9 这些数字来表示。
(1)第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
(2)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,
(3)第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
(4)第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,
如果用 - 字符表示没有写权限;
(5)第 3、6、9 位表示可执行权限,
如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

其他一些常用快捷键

按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
↑ 使用键盘上的方向上键↑,恢复你之前输入过的命令。

Shell 常用通配符:

字符 含义
“*” 匹配 0 或多个字符
“?” 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[^list] 匹配 除 list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9][a-z]
{string1,string2,…} 匹配 string1 或 string2 (或更多)其一字符串
{c1…c2} 匹配 c1-c2 中全部字符 如{1…10}

第二章----用户及文件权限管理

终端的概念

1
Terminal n.[ˈtɜːr mɪ nl] 终端
通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统提供了一个终端模拟器程序Terminal)。 所以运行程序Terminal就会产生一个窗口,这个窗口就是用于在图形界面下完成用户输入和显示输出
下面是几个比较常见的终端模拟器: gnome-terminal,Konsole,xterm,rxvt,kvt,nxterm 和 eterm 。
不过要注意的是这里所说的终端(Terminal)和控制台(Console)是有区别的。
2
终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登录就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”,准确的说这里应该是 6 个虚拟控制台( virtual consoles)来让用户登录。
在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。
tty是Teletype的缩写,代表各种类型的终端设备.
tty1-tty6 是 虚拟终端 的意识, 分别代表6个虚拟终端。
tty0 就是 当前正在使用的虚拟终端的别名。这样,系统发送信息,只要发送到tty0上,此时你不管在哪个虚拟终端下 ,都可以看见信息了。

伪终端

所谓伪是相对于 /dev/tty 设备而言的,前面讲得终端时,那七个使用 [Ctrl]+[Alt]+[F1]~[F7] 进行切换的 /dev/tty 设备,这是“真终端”,伪终端就是当你在图形用户界面时,此时使用得是 /dev/tty7 ,每打开一个终端就会产生一个伪终端
在这里插入图片描述
who am i 或者who mom likes是一样的
输出的第一列表示打开当前伪终端的用户的用户名
第二列的 pts/0 中 pts 表示伪终端,pts/0 后面那个数字0就表示打开的伪终端序号0
第三列则表示当前伪终端的启动时间
还有一点需要注意的是,在某些环境中 who am i 和 who mom likes 命令不会输出任何内容,这点看实验,这里只提一下。

Linux 用户管理

Linux 是一个可以实现多用户登录的操作系统,比如“李雷”和“韩梅梅”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件
userconf命令用于用户帐号设置程序。
参数说明:
–addgroup<群组>  新增群组。
–adduser<用户ID><群组><用户名称>  新增用户帐号。
–delgroup<群组>  删除群组。
–deluser<用户ID>  删除用户帐号。
–help  显示帮助。

查看用户

要查看当前登录用户的用户名,指针、可直接使用 命令whoami +enter即可

who 命令其它常用参数
参数	    说明
-a	        打印能打印的全部
-d      	打印死掉的进程
-m	        同am i,mom likes
-q	        打印当前登录用户数及用户名
-u	        打印当前登录用户登录信息
-r	        打印运行等级

创建用户

在这里插入图片描述
执行 sudo通常此处需要按照提示输入当前用户密码。
然后是给 lilei 用户设置密码,后面的选项的一些内容你可以选择直接回车使用默认值。
这个命令不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录:

ls /home

在这里插入图片描述
现在你已经创建好一个用户,并且你可以使用你创建的用户登录了,使用如下命令切换登录用户:

su -l lilei

输入刚刚设置的 lilei 的密码,然后输入如下命令并查看输出:

who am i
whoami
pwd

在这里插入图片描述
你发现了区别了吗?这就是上一小节我们讲到的 who am i 和 whoami 命令的区别。
退出当前用户跟退出终端一样,可以使用 exit 命令或者使用快捷键 Ctrl+D
在这里插入图片描述

用户组

在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多,你的兄弟姐妹(不同的用户)属于同一个家(用户组),你们可以共同拥有这个家(共享资源),爸妈对待你们都一样(共享权限),你偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如你既属于家庭,又属于学校或公司。
$表示普通用户
#表示超级用户,也就是root用户
id命令用于显示用户的ID,以及所属群组的ID
id //显示当前用户ID
id -g//显示所有群组的ID
id lj//显示指定用户信息
su username 【username是你的用户名哦】 切换用户的命令(开机以客人会话开机是切换不了的)

whoami 查看当前登录用户名
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员

更具体的看实验

Linux 文件权限

文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。
在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录

查看文件权限(查看文件权限 ls -l )

ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
参数 :
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R 若目录下有文件,则以下之文件亦皆依序列出
具体的看实验和菜鸟

变更文件所有者

su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令
具体的看实验和菜鸟

修改文件权限

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令
具体的看实验和菜鸟

第三章----Linux 目录结构及文件基本操作

进入上一级目录:

cd …/

进入你的 home 目录:

cd ~
或者 cd /home/<你的用户名>

绝对路径

关于绝对路径,简单地说就是以根" / "目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。

相对路径

相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。
你可能注意到,我们表示相对路径实际并没有加上表示当前目录的那个 . ,而是直接以目录名开头,因为这个 usr 目录为 / 目录下的子目录,
是可以省略这个 . 的(以后会讲到一个类似不能省略的情况);如果是当前目录的上一级目录,则需要使用 … ,
比如你当前目录为 /home/shiyanlou 目录下,根目录就应该表示为 …/…/ ,表示上一级目录( home 目录)的上一级目录( / 目录)。所有/也是一级目录。
下面我们以你的 home 目录为起点,分别以绝对路径和相对路径的方式进入 /usr/local/bin 目录:
绝对路径
cd /usr/local/bin
相对路径
cd …/…/usr/local/bin

新建目录

使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。
创建名为“ mydir ”的空目录:
mkdir mydir
使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):
mkdir -p father/son/grandson
这里使用的路径是相对路径,代表在当前目录下生成,当然我们直接以绝对路径的方式表示也是可以的

新建文件

touch filename 以当前时间作为访问和修改时间属性值创建一个文件。
touche -r existfilename filename 根据existfilename的访问和修改时间属性确定filename的访问和修改时间属性。

复制文件

使用 cp 命令(copy)复制一个文件到指定目录。
将之前创建的 test 文件复制到 /home/shiyanlou/father/son/grandson 目录中:
cp test father/son/grandson
复制目录
如果直接使用 cp 命令复制一个目录的话,会出现错误:
要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制,就是说有点“株连九族”的意思:

cd /home/shiyanlou   //进入目录/home/shiyanlou
mkdir family         //创建一个空目录family
cp -r father family  //复制目录father到空目录family

删除文件

1使用 rm(remove files or directories)命令删除一个文件:
rm test
2有时候你会遇到想要删除一些为只读权限的文件,直接使用 rm 删除会显示一个提示,如下:
你如果想忽略这提示,直接删除文件,可以使用 -f 参数强制删除:
rm -f test
3删除目录
跟复制目录一样,要删除一个目录,也需要加上 -r 或 -R 参数:
rm -r family
4遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数:
rm -rf family

移动文件

使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录。
例如将文件“ file1 ”移动到 Documents 目录:
mkdir Documents
touch file1
mv file1 Documents

重命名文件

mv 命令除了能移动文件外,还能给文件重命名。命令格式为 mv 旧的文件名 新的文件名。
例如将文件“ file1 ”重命名为“ myfile ”:
mv file1 myfile

搜索文件

grep test *file
在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行

批量重命名

要实现批量重命名,mv 命令就有点力不从心了,我们可以使用一个看起来更专业的命令 rename 来实现。
不过它要用 perl 正则表达式来作为参数,关于正则表达式我们要在后面才会介绍到,这里只做演示,你只要记得这个 rename 命令可以批量重命名就好了,
以后再重新学习也不会有任何问题,毕竟你已经掌握了一个更常用的 mv 命令。
rename 命令并不是内置命令,若提示无该命令可以使用 sudo apt-get install rename 命令自行安装。
cd /home/shiyanlou/
使用通配符批量创建 5 个文件:
touch file{1…5}.txt
批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
rename ‘s/.txt/.c/’ *.txt
批量将这 5 个文件,文件名和后缀改为大写:
rename ‘y/a-z/A-Z/’ *.c
简单解释一下上面的命令,rename 是先使用第二个参数的通配符匹配所有后缀为 .txt 的文件,
然后使用第一个参数提供的正则表达式将匹配的这些文件的 .txt 后缀替换为 .c,这一点在我们后面学习了 sed 命令后,相信你会更好地理解。
在这里插入图片描述
有的同学可能在输入时出现命令未闭合的状态,命令行会出现 quote> 开头的提示符。这是因为上述命令中的 ’ 未输入完成,这时按下 ctrl+c 即可退出该模式。
还有就是注意 ’ 必须为英文符号(半角),若输入的是中文符号(全角)也会报错。

查看文件

使用 cat,tac 和 nl 命令查看文件

cat,tac 都是用来打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。

cd /home/shiyanlou   //进入目录/home/shiyanlou
cp /etc/passwd passwd//复制文件/etc/passwd到/home/shiyanlou/passwd
cat -n passwd           //查看文件/home/shiyanlou/passwd,即打印文件passwd的内容到标准输出(终端)且添加行号  (除n以外其他的命令这里不管了)
使用 more 和 less 命令分页查看文件

这里只介绍 more 命令的使用
使用 more 命令打开 passwd 文件:

more passwd

打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用 Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按下 h 显示帮助,q 退出。

使用 head 和 tail 命令查看文件
tail /etc/passwd   //在终端显示文件/etc/passwd的最后几行(默认10行,可以改)
 tail -n 1 /etc/passwd//在终端显示文件/etc/passwd的最后一行

关于 tail 命令,不得不提的还有它一个很牛的参数 -f,这个参数可以实现不停地读取某个文件的内容并显示。这可以让我们动态查看日志,达到实时监视的目的。不过我不会在这门基础课程中介绍它的更多细节,感兴趣的用户可以自己去了解。
head 与tail 差不多

查看文件类型

我们可以使用 file 命令查看文件的类型:

file /bin/ls

在 Linux 中文件的类型不是根据文件后缀来判断的。当你在文件里输入内容后才会显示文件类型。

编辑文件

在 Linux 下面编辑文件通常我们会直接使用专门的命令行编辑器比如(emacs,vim,nano,gedit)
vim的权限比gedit高。有时候在vim中可以正常编辑,而在gedit中则不能正常编辑

交换文件cmd.swap

在用vim打开一个文件时,其会产生一个cmd.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件
解决方法如下:
此时你可以恢复文件:
vim -r nginx.conf
恢复以后把.swap文件删掉,在打开时就不会用提示良,注意.swap文件是个隐藏文件。可用:la查看。以.开头的是隐藏文件。

第四章----环境变量与文件查找

环境变量

1
环境变量是 Shell 变量
shell的中文名为壳,shell的性质是命令解析器
Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。
常见的 Shell 有 sh、bash、csh、tcsh、ash 等。
Shell 变量跟平常的程序中的变量一样有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定
2
批处理:对批量(很多)的文件通过简单的操作进行处理,这样省时、省力。
脚本的特点:
(1)脚本就是剧本
(2)脚本是普通的文本文件,是批处理文件
(3)脚本导演了一个序列事件的发生
(4)脚本让一个例行任务效率大幅提升

文件查找

与搜索相关的命令常用的有 whereis,which,find 和 locate。
一、whereis:该指令会在特定目录中查找符合条件的文件
二、which:该指令会在环境变量$PATH设置的目录里查找符合条件的文件。
三、find . -name “*.c”:将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
在这里插入图片描述

四、locate:该命令用于查找符合条件的文档

第五章----文件打包与解压缩

一、Linux下常用的压缩格式
Linux下常用的压缩扩展名有:.tar、.tar.bz2、.tar.gz。
二、Windows下7ZIP软件的安装
因为Linux下很多文件是.bz2,.gz结尾的压缩文件,因此需要在windows下安装7ZIP软件。

二、gzip压缩工具
.gzip工具负责压缩和解压缩.gz格式的压缩包。
gzip xxx //压缩
gzip -d xxx.gz //解压缩
gzip对文件夹进行压缩
gzip -r xxx //对文件夹进行压缩
gzip -rd xxx.gz //对文件夹进行解压缩
gzip虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。

二、bzip2压缩工具
和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。
bzip2 -z xxx //压缩
bzip2 -d xxx.gz //解压缩

三、tar打包工具
tar工具参数:
-f,使用归档文件或 ARCHIVE 设备
-c:创建新归档,创建压缩文件
-x:从图档中解出文件,解压缩
-j:使用bzip2压缩格式。
-z:使用gzip压缩格式
-v:打印出命令执行过程。

tar工具提供打包服务,就是将多个文件打包,比如
tar -vcf test.tar test //将test打包成test.tar
tar -vxf test.tar //解包

上面的tar命令只提供了打包和解包的功能,tar在提供打包和解包的同时使用gzip/bzip2进行压缩,实现类似windwos下winRAR软件的命令。
1、对.tar.bz2进行压缩和解压缩
tar -vxjf xxx.tar.bz2 解压缩
tar -vcjf xxx.tar.bz2 xxx 压缩
2、对.tar.gz进行压缩和解压缩
tar -vxzf xxx.tar.gz //解压缩
tar -vczf xxx.tar.gz xxx //压缩

四、其他格式的压缩和解压缩
1、.rar格式
需要先安装rar:sudo apt-get install rar
rar x xxx.rar //解压缩
rar a xxx.rar xxx //压缩
2、.zip格式
zip格式压缩使用“zip“命令:
zip -rv xxx.zip xxx
zip格式解压缩使用“unzip”命令:
unzip -v xxx.zip

第六章 其他

sync命令用于数据同步,

sync命令是在关闭Linux系统时使用的。
Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中

软件拆卸

一般ubuntu软件是安装在opt目录下,
进入安装目录下:sudo /opt/软件名/MaintenanceTool
如果不在就需要找找了:sudo /xx/xx/MaintenanceTool

软件的卸载
1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:
rpm -q -a
即可查询到当前系统中安装的所有的软件包。
2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件:
rpm -e [package name]

deb文件格式安装的卸载命令格式:sudo dpkg –r 安装包名
apt-get 方式安装后的卸载命令格式:sudo apt-get remove 安装包名

配置编译安装的软件,要在源文件根目录下
安装:sudo make install
拆卸:sudo make uninstall

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值