文章目录
多用户,多任务,支持多线程和多CPU的操作系统,linux的应用领域:免费,稳定,高效的, 一般运行在大型服务器上
常用目录介绍:
| 目录名 | 说明 |
|---|---|
| / 根目录 | 一般根目录下只存放目录,有且只有一个根目录 |
| /home 家目录 | 系统默认的家目录,新增用户账号时,用户的家目录都存放在此目录下 |
| /root | 系统管理员root的家目录 |
| /bin/usr/bin | 可执行二进制文件的目录 |
| /etc | 系统配置文件存放的目录 |
| /mnt /media | 光盘默认挂载点 |
| /tmp | 一般用户或正在执行的程序临时存放文件的目录 |
| /var | 这个目录中存放着不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件 |
[root@localhost ~]# 的含义:
linux的核心思想:一切皆为文件
linux命令的写法:
命令名 [选项] [参数]
linux注意事项:
功能: 显示用户当前所在的目录
格式:pwd
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
格式:ls [选项][目录或文件]
常用选项表:
| 选项 | 说明 |
|---|---|
| -a | 查看当前目录下的文件,包括隐藏文件 |
| -l | 长格式显示文件 |
| -lh | 以方便阅读的长格式显示 |
功能:改变工作目录。将当前工作目录改变到指定的目录下
格式:cd 目录名
常用命令:
| 命令 | 说明 |
|---|---|
cd .. | 返回上一级目录 |
cd ../.. | 返回上两级目录 |
| cd ~ | 切换到家目录 |
| cd / | 切换到根目录 |
| cd /home/lx/linux1/ | 绝对路径:从家目录出发,直到想要去的目录 |
| cd …/lx/ | 相对路径:从当前目录出发,直到想去的目录 |
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
格式:man 其他命令
功能:用于查找文件里符合条件的字符串
格式:grep [选项] '查找字符串' 文件名
常用选项:
| 选项 | 说明 |
|---|---|
| -a | 将binary文件以text文件的方式查找数据 |
| -c | 计算找到 ‘查找字符串’ 的次数 |
| -i | 忽略大小写的区别,即把大小写视为相同 |
| -v | 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行 |
功能:用来在指定目录下查找文件
格式:find [路径] [选项] 操作
常用选项:
| 选项 | 说明 |
|---|---|
| -name test | 查询指定目录下,命名为test的文件 |
| -size +100k | 查询指定目录下,文件大于100K的文件 |
| -ctime n | 查询指定目录下,在过去n天内被修改过的文件 |
[K’mɒud]
功能:控制用户对文件的权限的命令
格式:chmod [选项] 文件名
常用选项:
| 选项 | 说明 |
|---|---|
| -r | 赋予读取权限 |
| -w | 赋予写入权限 |
| -x | 赋予执行权限 |
| 777 | 赋予可读、可写、可执行权限(读:4,写:2,执行:1) |
权限说明:(例:-rw-r--r-x 的权限为645)
-表示为普通文件)rw-:4+2=6)-r--:4)r-x:4+1=5)功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
格式:ps [选项]
常用选项:
| 选项 | 说明 |
|---|---|
| -A | 列出所有的进程 (重要) |
| -ef | 查看全格式的全部进程 (重要) |
| -w | 显示加宽可以显示较多的资讯 |
| -au | 显示较详细的资讯 |
| -aux | 显示所有包含其他使用者的行程 |
功能:用于删除执行中的程序或工作
格式:kill [选项]/[信号] 进程号
常用选项:
| 选项 | 说明 |
|---|---|
| -l | 参数会列出全部的信息名称。 |
| -s | 指定要送出的信息。 |
常用信号:
| 信号 | 说明 |
|---|---|
| -1 (HUP) | 重新加载进程 |
| -9 (KILL) | 杀死一个进程。(重点) |
| -15 (TERM) | 正常停止一个进程。 |
功能:查看测试项目的日志
说明:一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
格式:tail [选项] 文件名
常用选项:
| 选项 | 说明 |
|---|---|
| -f | 实时读取 |
| -1000 | 查看最近1000行日志 |
功能:查看端口
格式:netstat -anp | grep 端口号
date '+%a' 星期几
+%A 星期几
+%b 月份
+%B 月份
+%c 直接显示日期与时间
+%d 日
+%D 直接显示日期
+%F 日期(yyyy-mm-dd)
显示今天是几年几月几号:date +%F
显示今天是星期几:date +%a
可以修改日期和时间
-s
只修改日期
date -s 年/月/日
只修改时间
date -s 时:分:秒
一起修改 格式
date -s “年-月-日 时:分:秒”
或者
date 月日时分年.秒
把日期修改成2021-4-2
把时间修改成早上八点
clock -w 保存修改后的时间和日期
打印常量 直接打印
打印变量 变量前加$
打印命令 用反引号把命令引起来
终端间传递信息 echo 内容>/dev/pts/终端号
echo -e "要打印的东西 \c"
格式:ping 地址
问答题:遇到一个不认识的命令式怎么办
1.man 命令名
2.命令名 – help
3.info cat 命令名 (查看命令的功能,来源,选项等)
4.whatis 命令名
5.通过网络途径
功能:创建空目录
格式:mkdir [选项] [路径] 文件名
常用选项表:
| 选项 | 说明 |
|---|---|
| -p | 层级创建 |
| -v | 显示创建顺序 |
功能:删除空目录 不能删除非空目录,不能删除文件
格式:rmdir [-p] [路径] 目录名
常用选项表:
| 选项 | 说明 |
|---|---|
| -p | 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除 |
功能:新建空文件
格式:touch [路径] 文件名 (可以多个)
功能:删除文件或目录
格式:rm [选项] 文件名
常用选项表:
| 选项 | 说明 |
|---|---|
| -f | 强制删除 |
| -r | 多级删除 |
| -rf | 强制删除给定目录下所有文件和目录 |
rm 和 rmdir 的区别:
功能:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录
格式:mv [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项:
| 选项 | 说明 |
|---|---|
| -f | force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 |
| -i | 若目标文件 (destination) 已经存在时,就会询问是否覆盖 |
注意:
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
格式:cp [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项表:
| 选项 | 说明 |
|---|---|
| -f 或 --force | 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
| -i 或 --interactive | 覆盖文件之前先询问用户 |
| -r | 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 |
| -R 或 --recursive | 递归处理,将指定目录下的文件及子目录一并处理 |
功能: 查看目标文件的内容
格式:cat [选项] 文件名
常用选项:
| 选项 | 说明 |
|---|---|
| -b | 对非空输出行编号 |
| -n | 对输出的所有行编号 |
| -s | 不输出多行空行 |

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last
line mode)。
三种模式的转换图:

用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
常用的几个命令:
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
在命令模式下按下
i就进入了输入模式。
在输入模式中,可以使用以下按键:
在命令模式下按下
:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
按ESC键可随时退出底线命令模式
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型
西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,
提供3种Ubuntu系统安装微信的方法,在Ubuntu20.04上验证都ok。1.WineHQ7.0安装微信:ubuntu20.04安装最新版微信--可以支持微信最新版,但是适配的不是特别好;比如WeChartOCR.exe报错。2.原生微信安装:linux系统下的微信安装(ubuntu20.04)--微信适配的最好,反应最快,但是微信版本只到2.1.1,版本太老,很多功能都没有。3.深度deepin-wine6安装微信:ubuntu20.04+系统deepin-wine6安装新版微信--综合比较好,当前个人使用此种方法1个月,微信版本3.4;没什么大问题,尚可。一、WineHQ7.0安装微信
Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好
文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分
如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack
我在LinuxMint17.2上。我最近使用apt-getpurgeruby删除了ruby。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,