余姚网站建设yyshj,html简单网页代码课程表,想做网络推广如何去做,番禺网站建设开发文章目录vi和vim常用的三种模式vi和vim快捷键Linux开机#xff0c;重启用户管理用户信息查询管理who和whoami用户组信息查询管理用户和组的相关文件实用指令集合运行级别帮助指令manhelp文件管理类pwd命令ls命令cd命令mkdir命令rmdir命令rm命令touch命令cp指令mv指令文件查看类…
文章目录vi和vim常用的三种模式vi和vim快捷键Linux开机重启用户管理用户信息查询管理who和whoami用户组信息查询管理用户和组的相关文件实用指令集合运行级别帮助指令manhelp文件管理类pwd命令ls命令cd命令mkdir命令rmdir命令rm命令touch命令cp指令mv指令文件查看类cat命令less命令more命令head 指令tail命令文件输入输出类echo 指令指令指令指令软硬链接ln 指令硬链接history 指令时间日期类date 指令—显示时间date 指令—设置日期cal 指令管道搜索查找类find指令locate 指令which 指令grep指令压缩解压类gzip/gunzip 指令zip/unzip 指令tar 指令vi和vim
常用的三种模式
一般模式在这个模式可以使用上下左右按键进行移动光标也可以使用删除字符或者删除整行进行处理档案内容也可以通过复制粘贴来处理文件数据 以vim打开一个文档就直接进入到一般模式按esc是从编辑模式回到一般模式 按下 i o a r 等任何一个字母就能进入编辑模式一般来说按i命令行模式 在这个模式可以提供你相关指令完成读取存盘替换离开vim显示行号等动作 输入esc 然后输入:
vi和vim快捷键
vim 文件xxx(包括文件类型) 没有文件则创建有该文件就进入修改
命令行模式输入
:wq(保存退出):q(退出):q!(强制退出不保存)查找关键字 / 所需的字段 n键用来切换:set nu 显示行号 :set nonu 关闭显示行号
一般模式下输入 拷贝当前行 yy 然后按p表示粘贴当前行 拷贝当前行向下五行 5yyp 删除当前行 dd 删除当前行向下五行 5dd 快速到达文档的最后一行和第一行 G gg 撤销操作 一般模式下 按 u 光标跳转到 指定行数 输入行号 shift g
Linux开机重启 shutdown -h now 立刻进行关机 shutdown -h 1 “hello,1分钟后会关机了” shutdown -r now 现在重新启动计算机 halt 关机作用和上面的shotdown -h now 一样 reboot 现在重启 sync 内存同步到磁盘
不论重启还是关闭系统首先要运行sync指令同步内存至磁盘
目前的shutdown/reboot/halt命令均已经在关机前进行了sync 建议还是先运行sync命令
用户管理
Linux系统是一个多用户多任务的操作系统任何一个要使用系统资源的用户都必须首先向系统管理员申请一个账号然后通过这个账号的身份
所在首先进入Linux我们要知道的就是我是谁
用户信息查询管理
who和whoami
who表示当前登录系统的所有用户whoami 我们是以哪个用户登录上了的
用户创建
useradd xx 创建一个用户名为xx的用户 在我们的/home 目录下会创建一个与用户名相同的目录称作这个用户的家目录也可以通过useradd -d [指定目录] [用户名] 给该新创建的用户指定家目录的名称
用户的登录和退出
su 用户名 为切换用户 一般root的权限太大我们一般登录普通用户需要用到root的权限才使用su 来切换用户权限高的用户切换到权限低的不需要输入密码反之需要 logout在图形级界面运行级别是无效的 在运行级别3下有效 关于运行级别在后面会介绍比如我们的先登录的lsc然后通过su进行切换到root,我们再输入logout就会退到我们的lsc返回到原来的用户 exit/logout
指定/修改用户密码
passwd 用户名 如果不写用户名则是给当前登录的用户修改密码
删除用户
userdel 用户名 删除用户也是一件大事所以肯定是需要root权限对应的命令的程序是在/user/sbin下也肯定不能出现自己删自己的情况userdel -r 用户名 操作慎重 这样删除会把对应用户家目录所有内容删除 不加-r是不会删除家目录
查询用户信息
id 用户名
用户组信息查询管理
用户组类似于角色系统可以对有共性/权限的多个用户进行统一的管理
新增组
groupadd 组名
删除组
groupdel 组名
添加用户时指定组
useradd -g 用户组 用户名我们在添加一个用户的时候如果没有对应的组那么会自动生成一个与用户名称相同的组并加入
修改用户的组
usermod -g 用户组 用户名
用户和组的相关文件
/etc/passwd 文件
用户的配置文件
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
/etc/shadow 文件
口令配置文件
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间标志
/etc/group 文件
组配置文件
组名:口令:组标志号:组内用户列表
实用指令集合
运行级别
基本介绍
0关机1单用户【找回丢失密码】2多用户状态没有网络服务3多用户状态有网络服务4系统未使用保留给用户5图形界面6系统重启
切换运行级别的指令
init 运行级别
常用运行级别为3和5也可以指定默认运行级别
在centos7之前,/etc/inittab文件中指定
简化为
multi-user.target:analogous to runlevel 3graphical.target:analagous to runlevel 5
查看当前运行级别
systemctl get-default
修改当前运行级别
systemctl set-default TARGET.target
帮助指令
man
man 命令或配置文件
Linux的命令有很多参数我们不可能全记住我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man比如man ls 就是查看ls的帮助信息
help
help 命令
获取shell内置命令的帮助信息 所谓 Shell 内建命令就是由 Bash 自身提供的命令而不是文件系统中的某个可执行文件。例如用于进入或者切换目录的 cd 命令虽然我们一直在使用它但如果不加以注意很难意识到它与普通命令的性质是不一样的该命令并不是某个外部文件只要在 Shell 中你就一定可以运行这个命令可以使用 type 来确定一个命令是否是内建命令 比如help cd
文件管理类
因为我们的Linux大多时候都是命令行所以我们必须知道我在哪我的周围有什么
pwd命令
查看当前工作目录的完整路径(绝对路径)命令格式pwd [选项]常用参数一般情况下不带任何参数 如果目录是链接时pwd -P显示出实际路径而非使用连接(link)路径
ls命令
命令格式ls [选项] [目录名] 列出目标目录中所有的子目录和文件 如果ls指定目录那么默认就会显示指定目录下的文件和目录也就是知道我的周围有什么的功能 通过ls命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)、查看目录信息等等
常用参数
-a 列出目录下的所有文件包括以 . 开头的隐含文件。 linux中隐藏文件是以.开头的 -l 列出文件的详细信息。h h表示文件大小用km之类表示选项可以组合使用没有顺序的要求 可以写成 ls -la,等价于 ls -l -a
cd命令
作用切换当前目录至指定目录命令格式cd [目录名]路径可以是绝对路径也可以是相对路径…表示父目录.表示当前目录 cd… 回到当前目录的上一级目录 cd ~ 表示回到当前登录用户的家目录 未切换目录时显示的是波浪号(~)表示当前位于主目录中(为用户目录不是根目录)比如root的家目录是/rootlsc的家目录是/home/lsc
mkdir命令
mkdir [选项] 目录名功能就是创建一个目录不是普通文件
常见选项
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录; 因为mkdir默认是只创建一个目录
rmdir命令
rmdir [选项] 要删除的目录 这个命令默认要删除的目录必须是空目录如果目录下有内容是无法删除的
rm命令
作用删除一个或多个文件或目录命令格式rm [选项] 文件1 文件2…
常见选项
-f 即使文件属性为只读(即写保护)亦直接删除,也就是强制删除不提醒-i 删除前逐一询问确认交互式-r 删除目录及其下所有文件 如果没有使用-r选项则rm不会删除目录。如果使用rm来删除文件通常仍可以将该文件恢复原状
注意
rm是一个危险的命令使用的时候要特别当心否则整个系统就会毁在这个命令。比如在/(根目录)下执行rm -rf *
所以我们在执行rm之前最好先确认一下在哪个目录到底要删除什么东西操作时保持高度清醒的头脑
touch命令
功能 1如果一个文件不存在创建一个新文件普通文件文件内容是空的2如果一个文件存在修改这个文件的last modified上一次的修改时间/最后修改时间 语法:touch [选项] 文件
cp指令
cp指令将文件拷贝到指定目录基本语法cp [选项] source dest\cp 表示强制覆盖不提示
常用选项
-r递归复制整个文件夹 我们把一个目录下的内容拷贝过去肯定就需要-r
mv指令
mv命令是move的缩写可以用来移动文件或者将文件改名move (rename) files是Linux系统下常用的命 令经常用来备份文件或者目录。两种用法 重命名mv oldNameFile newNameFile两个文件在同一个目录移动mv 文件 新目录且这个目录是存在的移动一个文件或目录时指令最后一个参数肯定是一个路径
常用选项
-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖
文件查看类
cat命令 cat主要有三大功能 一次显示整个文件cat filename从键盘创建一个文件cat filename 只能创建新文件不能编辑已有文件 是输出重定向cat oldname newName 就可以实现我们的cp的功能 将几个文件合并为一个文件cat file1 file2 file 命令格式cat [选项] [文件]…
常见命令参数
-n对输出的所有行编号,由1开始对所有输出的行数编号-b对非空输出行编号-s 不输出多行空行
cat命令是一次性显示整个文件内容(不能编辑)一般用于查看不会实时变更的文件内容而tail命令一般用于查看会实时变更的文件内容如日志文件等
less命令
功能分屏查看文件内容功能与more类似但比more更加强大支持各种显示终端。less指令在显示文件内容时并不是一次将整个文件加载之后才显示而是根据显示需要加载内容对于大型文件具有更高的效率。 less 工具也是对文件或其它输出进行分页显示的工具应该说是linux正统查看文件内容的工具功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候我们并没有办法向前面翻 只能往后面看但若使用了 less 时就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻页翻看文件更容易用来查看一个文件的内容除此之外在 less 里头可以拥有更多的搜索功能不止可以向下搜也可以向上搜。 /字符串 向下查询字符串的功能 n向下查找 N向上查找 q 离开less这个程序 基本语法 less 要查看的文件
more命令
语法more [选项][文件]功能more命令功能类似 cat
注意 在使用more的过程中只能使用回车键进行向下查看 同时也可以使用/内容来搜索并查看相关的内容。
head 指令
功能 head 用来显示档案的开头至标准输出中默认情况下head 指令显示文件的前10 行内容语法 head [选项] 文件名
选项
-n行数 表示显示多少行
tail命令
功能tail 命令从指定点开始将文件写到标准输出默认情况下tail 指令显示文件的前10 行内容。语法 tail [选项] 文件名
常见选项
-f 循环读取 -f选项可以方便的查阅正在改变的日志文件,tail - f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容.我们使用tail -f 这个命令的程序会一直执行ctrlc退出 -n行数 显示行数
文件输入输出类
echo 指令
echo 输出内容到控制台基本语法echo [选项] [输出内容]
应用实例
使用echo 指令输出环境变量, 比如输出 $PATH $HOSTNAME, echo $HOSTNAME 输出本机名称使用echo 指令输出hello,world!
指令 输出重定向 功能本来应该写入到显示器的内容修改进程的标准输出 会清空原始文件的内容进行重新写入。如果文件不存在就会自动创建文件并写入 语法 文件
某些场景
ls -l 文件 将当前所在目录下的详细文件信息写入到指定文件中以覆盖的模式ls -al 文件cat 文件1 文件2echo “内容” 文件(追加)
指令
追加输出重定向语法 文件功能将本来应该写入到显示器的内容把它追加到文件的后面 不会清空原始文件中的内容会在原来文件内容的末尾进行追加如果文件不存在就会自动创建
指令
语法 文件功能把本来应该从键盘文件中读取数据的方式修改进程的标准输入
软硬链接
ln 指令 link软链接也称为符号链接类似于windows 里的快捷方式主要存放了链接其他文件的路径 因为在实际开发的时候可能某些文件在多处使用我们不可能在每个地方都拷一遍利用这种软链接来实现文件的共享 基本语法ln -s [原文件或目录] [软链接名] 功能描述给原文件创建一个软链接
实例
在/home目录下创建一个软连接 myroot链接到/root目录 ln -s /root/ /home/myroot 删除对应的软链接 rm myroot Linux的软链接类似与我们的Windows的快捷模式比如我们cd /home/myroot 使用pwd查看当前目录仍然看见的是我们的软链接所在的目录
硬链接
在硬链接创建的过程中并不是数据被复制粘贴而是系统构造了一个新的指针来访问原本数据。所以无论操作哪个都是在源数据上操作自然会映射到另一个文件上去新文件和旧文件删了哪个都不会影响到数据本身这是因为仍有指针指向这段数据只有全删了才会导致原本的数据段地址被判断为废弃而被释放。
在linux中新的硬连接和旧的硬连接在不同的目录位置指向同一个node他们之间不存在说哪个和哪个是副本关系当新的硬连接生成就不存在谁是“源文件”了指向同一个node的硬链接之间不存在直接的交互关系。 操作系统知识 基于索引结点的共享方式——硬链接 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tyfY19j2-1678113302294)(C:\Users\lsc07\Desktop\学习资料\19typora笔记\13Linux\第二章Linux操作语法1.assets\b8d8928c961319dc29a340ae8d6ab145.png)] 我们的索引结点因为查找文件只需要文件名因此把文件名之外的其他信息放到索引结点中这样目录项就只需要包含文件名和索引结点指针可以让我们的相同大小的目录表装入更多的目录项让我们的让不同的目录项指向同一个文件的索引结点实现文件的共享当我们的count0的时候才会由系统负责删除文件 history 指令
查看已经执行过历史命令,也可以执行历史指令基本语法history
应用实例
案例1: 显示所有的历史命令
history
案例2: 显示最近使用过的10 个指令。
history 10
案例3执行历史编号为5 的指令
!5
时间日期类
date 指令—显示时间
基本语法
date 功能描述显示当前时间date %Y 功能描述显示当前年份date %m功能描述显示当前月份date %d 功能描述显示当前是哪一天date “%Y-%m-%d %H:%M:%S”功能描述显示年月日时分秒
应用实例
案例1: 显示当前时间信息
date
案例2: 显示当前时间年月日
date “%Y-%m-%d”
案例3: 显示当前时间年月日时分秒
date “%Y-%m-%d %H:%M:%S”
date 指令—设置日期
基本语法 : date -s 字符串时间
cal 指令 功能查看日历指令cal 基本语法cal [选项] 功能描述不加选项显示本月日历
应用实例
案例1: 显示当前日历cal案例2: 显示2020 年日历: cal 2020
管道
进程之间通信的方式
1信号量2管道3信号4共享内存5文件6网络 Linux中使用|来表示使用管道
实例
获得hello.txt的78910四行内容
head -10 hello.txt | tail -4
搜索查找类
find指令
find 指令将从指定目录向下递归地遍历其各个子目录将满足条件的文件或者目录显示在终端。基本语法find [搜索范围] [选项]Linux下find命令提供了相当多的查找条件功能很强大。由于find具有强大的功能所以它的选项也很多其中大部分选项都值得我们花时间来了解一下。 在运行一个非常消耗资源的find命令时很多人都倾向于把它放在后台执行因为遍历一个大的文件系 统可能会花费很长的时间(这里是指30G字节以上的文件系统)
选项说明
-name文件名 按照指定文件名查找模式查找文件-user用户名 查找指定用户名所有文件-size文件大小 按照指定的文件大小查找文件
应用实例 案例1: 按文件名根据名称查找/home 目录下的hello.txt 文件 find /home -name hello.txt也可以支持模糊查询 案例2按拥有者查找/opt 目录下用户名称为nobody 的文件 find /opt -user nobody 案例3查找整个linux 系统下大于200M 的文件n 大于-n 小于n 等于, 单位有k,M,G find / -size 200M
locate 指令
locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统查询速度较快。为了保证查询结果的准确度管理员必须定期更新locate 时刻基本语法locate 文件名
特别说明
由于locate 指令基于数据库进行查询所以第一次运行前必须使用updatedb 指令创建locate 数据库。
which 指令
可以查看某个指令在哪个目录下比如ls 指令在哪个目录which ls 查看ls在哪个目录
grep指令
grep表示过滤查找 在文件中搜索字符串将找到的行打印出来。一般都是与管道符|配合使用表示将前一个命令的处理结果输出传递给后面的命令处理基础语法 grep [选项] 查找内容 源文件
常用选项
-n 显示匹配行及行号-i 忽视字母大小写-v 反向选择亦即显示出没有 ‘搜寻字符串’ 内容的那一行
应用实例
案例1: 请在hello.txt 文件中查找yes 所在行并且显示行号
写法1: cat /home/hello.txt | grep “yes”写法2: grep -n “yes” /home/hello.txt
压缩解压类
gzip/gunzip 指令
gzip 用于压缩文件 gunzip 用于解压的基本语法 gzip 文件功能描述压缩文件只能将文件压缩为*.gz 文件gunzip 文件.gz 功能描述解压缩文件命令
应用实例 案例1: gzip 压缩 将/home 下的hello.txt 文件进行压缩
gzip /home/hello.txt
案例2: gunzip 压缩 将/home 下的hello.txt.gz 文件进行解压缩
gunzip /home/hello.txt
zip/unzip 指令 zip 用于压缩文件 unzip 用于解压的这个在项目打包发布中很有用的 基本语法 zip [选项] XXX.zip 将要压缩的内容功能描述压缩文件和目录的命令 unzip [选项] XXX.zip 功能描述解压缩文件
zip 常用选项
-r递归压缩即压缩目录
unzip 的常用选项
-d目录 指定解压后文件的存放目录
实例
将/home下的所有文件进行压缩成myhome.zip
zip -r myhome.zip /home/
将myhome.zip解压到/opt/tmp目录下
unzip -d /opt/tmp myhome.zip
tar 指令 tar 指令是打包指令最后打包后的文件是.tar.gz 的文件。 基本语法: tar [选项] XXX.tar.gz 打包的内容(功能描述打包目录压缩后的文件格式 .tar.gz)
选项说明
-c或–create 建立新的备份文件 也就是产生.tar文件-C目的目录 切换到指定的目录。-v 显示详细信息-f 指定压缩后的文件名-z通过gzip指令处理备份文件-x 解包.tar文件
应用实例 案例1: 压缩多个文件将/home/pig.txt 和/home/cat.txt 压缩成pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例2: 将/home 的文件夹压缩成myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例3: 将pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例4: 将myhome.tar.gz 解压到/opt/tmp2 目录下
tar -zxvf myhome.tar.gz -C /opt/tmp2