本文内容仅作者学习的课堂笔记,主要是LINUX系统命令的一些基础知识,有兴趣的小伙伴可以观看或者当查找表使用
一、课程使用软件
1、VMware :
虚拟机软件用于创建虚拟机,实现不同系统运行
2、LINUX unbutu版本20.04
特点:开源免费、可移植
文件结构:树状结构
系统默认首地址:home/hqyj(这里是用户名)
终端操作解释:
hqyj@ubuntu:~shqyj:用户名@:分隔符ubuntu:版本号: :分隔符
以下是对这些目录的解释:
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。 /etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。 /lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。 /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。 /opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 /proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all /root: 该目录为系统管理员,也称作超级权限者的用户主目录。 /sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。 /selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 /srv: 该目录存放一些服务启动之后需要提取的数据。 /sys: 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 /tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。 /usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 /usr/bin: 系统用户使用的应用程序。 /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。 /usr/src: 内核源代码默认的放置目录。 /var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。 /run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
LINUX复习:
基础指令
指令码 对应英文 作用
ls list 查看当前文件夹(不包含隐藏文件)
ls-a 查看当前目录的所有文件(包括隐藏文件)
ls_l 以列表形式显示出所有文件的详细信息(包括权限)
ls-h 配合-l以人性化方式显示文件大小(在-l后用) 没啥用
补充:{
. :当前路径
.. :上一级路径
通配符:
字符 使用方法
* ls *1 :显示子目录下所有有*1组合的文件 ls **1* 显示有**1*组合的文件名 *表示任意一个或多个字符(数字字母都可以)不限制格式
? ls 1?1 :显示所有固定格式的1?1组合,111,1a1都可。?只表示一个字符
[] ls []可用于显示括号内任意一个字符匹配的组合 ,如a-f,123,134等但是只能严格显示括号内格式的组合且只能显示一个出来。这个不求掌握
文件七大类型:
1、l :链接文件 2、s :套接字文件
3、P :管道文件 4、- :普通文件
5、b :块设备文件 6、c :字符设备文件
7、d :目录文件
}
drwx r-x r-x :文件权限 ( 可读、可写、可执行权限) -表示没有 ,比如上面就是r-x表示没有可写权限
d表示文件类型,rwx表示属主文件 后面两个表示属组文件 以及其他用户文件权限
pwd print wrok directory 查看当前所在文件夹(文件位置)
cd[目录名] change directory 切换文件夹(地址切换 ./下的文件(./表示当前文件目录))
cd ~ 切换到当前用户目录下的主目录(根目录)
cd . 切换至当前目录
cd .. 切换至上级目录
cd - 切换至之前的目录
touch[文件名] touch 如果文件不存在,新建文件(创建普通文件)如果存在,则更改时间
mkdir[目录名] make directory 创建目录(文件名自取)
mkdir -p 创建递归目录(文件名自取可嵌套创建)
rmdir remove directory 删除空目录(只能删除空目录删除其他的会失败)
rm[文件名] remove 删除指定的文件名
rm-r 以递归方式删除文件,删除非空目录(慎用已删过一次库)
rm-f 强制删除
clear clear 清屏
echo 内容输入字符,可以将内容输入至所传文件中
echo "" > />> 文件名 > 与>>,>会覆盖原内容输入,>>是在原内容末尾输入
gedit 以gedit编辑器打开文件
vi 以Vi编辑器打开文件(命令行(默认模式)、插入、底行三个模式)详细见文件末尾
shutdown shutdown 关机 重启(shutdown-r)
Ifconfig configure a network interface 查看网络配置及相关网卡信息
高阶指令复习
指令码(格式) 英文 作用
tree[目录名] tree 以树状结构图列出文件目录结构
cp 源文件 目标文件 copy 复制文件或者目录
cp -i 覆盖文件内容前弹出提示
cp -r 如果给出的源文件是文件目录,则直接cp,将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
mv 源文件 目标文件 move 移动文件或者目录
mv -i 覆盖文件前提示
cat[文件名] concatenate 查看文件内容、创建文件、文件合并、追加文件内容等功能
cat -b 给文件所有行内容进行标序
cat -n 给文件所有非空行标号(空行指回车行不算空格)
more 文件名 more 分屏显示文件内容
操作符号格式 功能
”空格“ 下一屏(页)
”回车“ 滚动一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串
grep 文件名 grep 搜索文本文件内容
grep -n 显示匹配及行号
grep -v 显示不包含匹配文本的所有行(相当于求反)
grep -i 忽略大小写
grep ^a 行首,搜寻以a为开头的行
grep ke$ 行尾,搜以ke为结束的行
快捷键 作用
ctrl+shift+= 放大终端字体
ctrl+- 缩小终端字体
02.终端命令格式
command [-options] [parameter]
command:命令名,指令码
[-options]:选项,可有可无,详细可参考本文文件后段
[parameter]:指令参数,可以是0或者1或者更多个
[]代表可选,即可有可无
常见格式:
command:1.光指令格式,如:ls(列表清单) ; pwd(当前目录);clear(清屏);
command [parameter]:2.指令带参数式:如: touch 文件名(创建文件); cd 目录名(切换当前主目录)
mkdir 目录名(创建新目录);rm 文件名(删除目录)
03指令搜索帮助
方法1: command --help :系统会显示此commdand的相关信息
方法2:man command :man是manual的所写,是linux中的指令手册,包含大部分指令的使用方式
使用man的操作键
键位 功能
空格 显示手册页的下一屏
回车 一次滚动手册页的一行,下翻一行
b 回滚一屏
q 退出
05、tab的自动补全以及ctrl+c取消进程曾使用过的命令
偷懒时可以只输入 指令或目录名或文件名+tab键,系统会自动给您补全操作代码!
注意,这里的终端代码是可以用上下键选择之前使用过的代码,如果不想执行你选的代码,
可以直接 ctrl+c 会取消当前选中的代码从而继续编译新代码
说明:
ls指令集
(
ls-l,ls-l-h(-H要与-l一起用)
)
l
s
命令说明:
·ls 是英文单词tist的简写,其功能为列出目录的内容,
是用户最常用的命令之一,类似于
DOS 下的dir命令
Linux 下文件和目录的特点:
Linux文件或者目录名称最长可以有256)个字符以
.开头的文件为隐藏文件,
需要用
-a参数才能显示
列:(以空白桌面为当前根目录)
touch .123.txt (创建隐藏文本123)
touch 123.txt(创建文本123--显性)
ls ->(运行后)
123.txt(只显示您创建的显性文件)
ls -a(全性显示指令,加了-a就可以找出目录中的隐藏文件)
-> . .. .123.txt(你创建的隐藏文件现在可以被查出来) 123.txt(原创的显性文件)
通配符使用方式如下:(看不下去就照着打一遍)
相对路径和绝对路径
相对路径:在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
绝对路径:在输入路径时,最前面是/或者~,表示从根目录/家目录开始的具体目录位置
cp指令集
:cp命令是用于将给出的文件或者目录复制到另一个文件或者目录中,相当于DOS下的copy命令
选项 功能
cp-i 覆盖文件内容前弹出提示
cp-r 如果给出的源文件是文件目录,则直接cp,将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
格式:
cp [文件地址(包含文件名)] [复制到的地址(包含文件名)]
1、
Cp -i:
2、Cp-r:用tree表示出来的cp-r指令
mv指令集
作用:移动文件或者目录也可以用于给文件重命名
指令格式 功能
mv -i 覆盖文件前提示
通过
mv指令可以移动文件,如上,可以将多级子目录中的123.txt 直接移动到当前目标目录 桌面上。顺便回顾下上期的rm删除指令,rm-r才可以删除文件夹,rm-f强制删除文件。。。
这里是移动文件并重命名指令(两张图)
(图1)
(图2)
cat与more指令集
cat:
查看文件内容、创建文件、文件合并、追加文件内容等功能
cat 会一次显示所有的内容、适合查看内容较少的文本文件
代码 功能
cat-b 给文件所有行内容进行标序
cat-n 给文件所有非空行标号(空行指回车行不算空格)
more:
more命令可以用于分屏显示文件内容,每次只显示一页文件内容,适合用于查看多页的文本文件
操作符号格式 功能
”空格“ 下一屏(页)
”回车“ 滚动一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串
注
:
Cat 与 more:功能是一样的,区别在于,cat是一次性显示出文件所有内容适合用于观看短内容文件,如果文件内容多,建议使用more,
因为她的显示更加人性化
。
示例:cat-b cat-b
Cat与more:
grep指令集
使用格式:
Grep +[^ +(一个字母)]+文件名:表示以此字母开头的内容
Grep+ [(一个字母表示以此字母开头的内容)+ $]+ :表示以此字母结尾的内容
grep指令集:LINUX搜索工具 允许对文本文件进行模式查找,又被称为正则表达式
grep -n 显示匹配及行号
grep -v 显示不包含匹配文本的所有行(相当于求反)
grep -i 忽略大小写、
常用两种查找模式
grep ^a 行首,搜寻以a为开头的行
grep ke$ 行尾,搜以ke为结束的行
可以使用此指令来搜寻你想查找的具体数据
示例:
Grep -vn 显示不包含所搜字母的所有行
Grep -in显示所搜内容以及行数(i代表无视大小写)
两指令也可以加
-n 来显示行号
管道
管道可以理解成承接上一任务后的任务继续(基于上一个任务的结果)
符号 |
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
补充区:rwx
vi:进入编译器的默认模式为命令行模式
命令行模式
yy :复制该行
dd:剪切该行
p :粘贴
nyy:复制n行(n为自己输入的数字) (需要按两次 第一次光标位于第二次光标位的行数只差就是n 比如2yy,则第二次跟第一次行数只差为2)
ndd:剪切n行(操作同上)
gg :光标跳转到第一行
GG :
光标跳转到最后一行
gg=G:自动缩进
按键i、a、o进入插入模式
a : 从光标下一个位置进入插入模式
i : 从光标所在位置进入插入模式
o : 从光标下一行位置进入插入模式
s : 删除光标位,进入插入模式
插入模式:文本编辑的模式,按esc退回命令行模式
底行模式:由命令行输入"shift";==;进入底行模式
输入命令按回车执行
{
w:保存文件
q:退出文件
wq:保存并退出(文件没有改变,则会更改文件修改时间初)
q!:不保存退出
wq!:强制保存退出
x:保存退出(文件没有改变,则不会修改时间)
n: 将光标转移到n行
/字符串:查找指定的内容
set nonu:取消行号
set nu:显示行号
set mouse =a;光标随鼠标移动
set mouse-=a;光标不随鼠标移动,但可以鼠标选中内容复制粘贴
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------