Linux-相关操作

2.2.2 Linux目录结构
/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。
/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。
/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d。
/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,edu 表示用户 edu 的家目录。
/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/opt:给主机额外安装软件所摆放的目录。
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。
/root:系统管理员root的家目录(宿主目录)。
/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。
/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。/usr/include:存放头文件。
/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

绝对路径: 从根目录开始,指定一个位置、文件

相对路径:从当前进程工作目录位置开始,指定一个位置、文件。

shell:命令解析器。默认运行在终端当中的程序(进程)。 —— unix —— born

bash:born again shell。 Linux版的shell。命令解析器。

文件:
在Linux操作系统中,所见皆文件。

用户:
Linux 是一款多用户多任务的分时复用操作系统。

家目录:宿主目录。

每个用户不同。—— cd 回车  所到的目录。

ls -l 命令:

文件属性 :10 个字符,分为 2组。第一组: 第一个字符。 代表文件类型: 7种 —— Linux下不以文件后缀名,作为区分文件类型的依据。普通文件: -目录文件:d软链接文件:l		—— 相当于  windows 快捷方式。字符设备文件:c		—— 伪文件(不占用磁盘存储)块设备文件:b		—— 伪文件套接字文件:s		—— 伪文件管道文件:p		—— 伪文件unknown 文件。第一组: 9 个字符。分3组。—— 文件所有者、文件所属组、其他人 : r、w、x		硬链接计数: 有多少个 文件公用同一个 inode 编号创建硬链接:ln 旧文件名  新硬链接文件。特征:文件和硬链接文件之间,除文件名不一样以外,其他信息完全一致。并能实时同步。文件所属用户: 谁创建默认属于谁文件所属用户组: 谁创建默认属于该用户所在用户组。 	用户——同名用户组文件所占存储空间大小(字节):文件:实际大小。 目录文件:4k整数倍文件创建、最后一次修改时间:	初创文件:实际创建时间。修改过的文件,修改时间。文件名。

ls 常用参数:

-a :常隐藏文件。 —— 以 “.”开头的文件或目录-d:查看目录本身属性。--help:查看帮助信息。TAB键:自动补齐。histroy:历史命令。man 帮助手册。

重定向:
> 重定向到指定文件,文件不存在自动创建。存在覆盖源文件。

>> 将内容追加到指定文件,文件不存在自动创建。存在不覆盖

分屏读取大文件:

more、 less、cat、tac

管道:
“|” 将 左边的命令执行结果,写给右边。再执行右边的命令。

ps aux | grep xxx	—— 筛选系统中,所有正在运行的 xxx 进程。

cd: change directory —— 进入某个目录。

cd /bin  绝对路径 cd .. 上一级目录cd ./ 当前目录cd ~ 回用户宿主目录(家目录)cd 回车	回用户宿主目录(家目录)cd - : 切换到上一次工作过的目录中。

pwd: 查看当前进程工作目录位置

终端提示符的语法规则:

 用户名@主机名:当前shell进程工作目录$/#	—— $:普通用户、#:管理员。

创建目录:

mkdir 目录名  -p: 递归一次性创建多个目录

删除文件和目录:

rm -r 		r: 递归删除目录子内容。★ rm 命令删除的文件、目录不易恢复 !!!!!!!!!!

ln命令:
硬链接: ln 源文件 连接文件

	不能给目录创建硬连接。软连接:	ln  -s  源文件   连接文件等同于windows下的快捷方式。建议使用“绝对路径创建软链接”可以给目录创建软连接。

目录文件、拷贝:

-r:	递归拷贝目录内容。以执行命令时,创建新文件、目录-a:	递归拷贝目录内容。保留文件原有属性。

mv命令:
移动文件: mv 待移动文件名 目录位置。

改名文件: mv 待改名文件名  不存在的文件、目录名

压缩命令:

gzip:不能打包压缩!不能保留源文件。不能压缩目录		
bzip2:不能打包压缩!不能压缩目录
tar:打包。====结论:压缩: tar -zcvf  xxx.tar.gz  打包压缩材料。		 tar -jcvf  xxx.tar.bz2  打包压缩材料。	z: gzip格式压缩				j: bzip2 格式压缩c: 创建压缩文件v: 输出压缩详细f: 指定压缩后的文件名.tar.gz :	.tar.bz2: 不具有语法强制性。但是推荐使用!解压缩:tar -zxvf  xxx.tar.gz 			 tar -jxvf  xxx.tar.bz2 。zip:压缩:zip -r  压缩包名(没有.zip后缀)	打包压缩材料。解压缩: unzip -d 解压缩位置目录   xxxzip(待解压缩文件) 	
rar:压缩:rar a -r 压缩包名.rar(后缀可加可不加) 打包压缩材料。解压缩: rar  x  待解压缩包名.rar

切换用户:

su 用户名:	切换到指定用户登录,不修改工作目录位置。su - 用户名:	切换到指定用户登录,修改工作目录位置到 该用户的 宿主目录。su - root:切换root用户登录,修改工作目录位置到 root 的 宿主目录。su  root:切换root用户登录,不改变工作目录位置  等价于( sudo  su )sudo关键字:临时获得一次root用户权限。执行完后续命令,该权限失效。

添加新用户:
sudo adduser 新用户名

删除新用户:
sudo deluser 用户名

修改文件所有者:
chown 新用户名 待修改用户的文件名

添加新用户组:
sudo addgroup 新组名

删除新用户组:
sudo delgroup 组名

修改文件所属组:
chgrp 新组名 待修改组名的文件名

chmod:
修改文件、目录访问权限。

r、w、x : 4/2/1  示例: r-x-w-r--: 	5 2 4

chmod:
修改文件、目录访问权限。

r、w、x : 4/2/1  示例: r-x-w-r--: 	5 2 4

r、w、x 对于目录、文件的含义是否相同??

	文件				目录

r: 查看文件内容 目录的内容(目录项)可以被查看
cat、more、less、tac ls、vim(读)
vim(读) gedit(读)

w: 修改、删除 文件内容 目录的内容(目录项)可以被修改、删除、增加
cat> / can >> mv、cp、rm、rmdir、mkdir、touch。。。
vim(写、删) /gedit(写、删除)

x: 该文件可以运行。 该目录可以被进入
cd

进程信息查看:

ps aux | grep xxxxtop —— Linux下的 任务管理器。

终止进程:

kill  -9   欲终止的 进程ID (可以通过 ps aux | grep 获取)		9 —— SIGKILL

前台、后台:

是否能与用户完成交互。& : 将进程放置到后台执行。jobs: 查看后台运行的进程fg:恢复后台一个进程到前台执行。  + 优先级高。 指定 某一个进程恢复到前台来。  用 jobs查看的 “进程编号”

多终端热键:
Ctrl + Alt + ↓ 或 ↑ —— 虚拟一块新桌面

Ctrl + Alt + T —— 唤醒一个新终端(独立)Ctrl + shift + T —— 在一个终端里,创建多个shell标签。

ifconfig:
查看当前网卡相关信息: —— IP地址。

临时设置IP地址:sudo ifconfig ens33  新IP系统重启失效。sudo ifconfig ens33 up/down   使用命令 网卡启动、关闭永久设置IP地址:图形: 设置——网络——有线连接 + —— IPv4 —— 手动 —— 填入地址、子网掩码 、网关 —— “添加”网址: 网段。IP里面倒数第二字段。子网掩码: 255. 255.255. 0网关:网段确定后,网关即为该网段的 第一个ip地址。192.168.xxx.1  —— 192.168.xxx.255 (广播地址)命令:—— 通过修改配置文件,达到永久修改IP的目的。修改  /etc/network/interfaces 文件。 添加 网址、子网掩码、网关。  指定DNS服务器

ping :
发送一个测试数据包,到指定的 IP地址。测试是否 畅通。

Ctrl + c 终止。 -c  参数 指定发数据包的 次数。

虚拟机网络设置:

桥接模式:路由器给 虚拟 Linux 单独分配一个 IP地址。与 windows 所在同一网段。NAT模式:Linux 虚拟机借助 windows 网卡,访问外网。linux 和 windows 公用 访问外网的iP。

find 命令:

格式: find  待搜索目录     参数    “关键字”/ '关键字'-name:find  /home/itcast/go_1 -name "*.soft" 	—— 在目录中找 .soft 结尾的文件。-type:f(普通文件)、d、l、c、b、p、sfind /run/  -type "s"	—— 在目录中找 socket 文件。-size:区范围时: 两个范围 之前都有加  -size 关键字。+ : 大于、 - : 小于单位:M 只支持大写。k 只支持小写。无单位——默认单位是 512B。
-maxdepth:指定搜索层级深度。  放置于其他参数之前。find -maxdepth 1 -type 'f' -name "*.go" 	—— 只在当前目录下,搜索 .go 文件、目录。-exec:对搜索结果执行命令find -maxdepth 1 -type 'f' -name "*.go"  -exec  ls -l {} \;-xargs:对搜索结果执行命令find -maxdepth 1 -type 'f' -name "*.go" | xargs ls -l 特例:如果文件名中含有空格, 如:文件名:‘abc xyz’find -maxdepth 1 -type 'f'  -print0  | xargs -0 ls -l 

grep:
grep -r/-R “love” 目标目录位置。

递归的在指定目录中,找寻包含某字符串的 文件。

结合find、xargs、grep:

find -maxdepth 1 -type 'f' -print0 | xargs -0 grep "love" -n找寻当前目录下,包含 “love”的文件,并显示在 多少行出现 (-n 行号)。

vim(vi)编辑器: shell – bash vi —— vim

三种工作模式:命令模式: 默认进入vim的工作模式。该种模式下,用户所有输入均被当成命令。编辑模式: 编写模式。写代码、文本内容。。。末行模式: 在 命令模式下, 按“:”进入末行模式。该种模式下,用户所有输入均被当成  末行命令。光标移动(命令模式);h:左j:下k:上L:右转换编辑模式:i:向光标所在位置的 “前面”插入数据!a:向光标所在位置的 “后面”插入数据!o:向光标所在位置的 “下一行”插入数据!s:以删除光标位置一个字符为代价,修改工作模式 —— 文本编辑模式。O:向光标所在位置的 “上一行”插入数据!I:向光标所在位置的 “行首”插入数据!A:向光标所在位置的 “行尾”插入数据!S:以删除光标位置一整行为代价,修改工作模式 —— 文本编辑模式。复制、粘贴:yy:复制光标所在行。Nyy:复制光标所在往后的N行(包含本行)。p:粘贴至光标所在位置,下一行。P(大写):粘贴至光标所在位置,上一行。yw:将光标放置于单词的首字符上, 复制一个单词。区域复制:将光标放置于待复制区域的首字符上, 按“v”(左下角出现 “可视”提示)使用 h,j,k,l 选择复制区域。剪切、粘贴:dd:剪切光标所在行。Ndd:剪切光标所在往后的N行(包含本行)。p:粘贴至光标所在位置,下一行。P(大写):粘贴至光标所在位置,上一行。dw:将光标放置于单词的首字符上, 剪切一个单词。区域剪切:将光标放置于待剪切区域的首字符上, 按“v”(左下角出现 “可视”提示)使用 h,j,k,l 选择剪切区域。d0:从光标所在位置,删除到 行首。d$(D): 从光标所在位置,删除到 行尾。	删除:同剪切。字符操作:x:删除光标选中字符r:光标选中字符, 按“r”, 按目标字符。 可以将 原字符,替换为 目标字符。跳转到指定行:命令模式:gg:第一行G:最后一行gg=G  自动排版。NG:跳转到 第 N 行vim hello.go  + 56 —— 打开文件同时,跳转到 56 行末行模式::N 回车。 —— 跳转到 第 N 行	查找:1. 想象一个单词查找。 输入“/”(显示在末行的位置), 再输入要查找的单词。  2. 查找一个已经看到的单词。将光标放在该单词任意一个字符,“*”向后找, “#”向前找。 “n”代表下一个。撤销:“u”反撤销:ctrl - r替换:—— 末行模式。1. 单行替换: 	:s/旧单词/新单词。 	一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。2. 通篇替换:	:%s/旧单词/新单词。	一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。3. 指定区域替换:	:n,ms/旧单词/新单词。替换从n行开始,到m行结束,出现的“旧单词”, 一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。vim的配置:用户配置: 用户宿主目录下,创建 .vimrc (隐藏文件),写入 配置项。系统配置:sudo vi  /etc/vim/vimrc (非隐藏文件)。写入 配置项。测试某软件是否安装:sudo aptitude show 软件名	——   “未安装”:根据提示安装。—— “已安装”。
Linux 远程 登录 Linux:ssh -l  目标主机用户名  目标主机 iP地址。  ( 或  ssh itcast@127.0.0.1 )——  输入目标主机 密码。登录到,目标主机的 “家目录”Linux 远程 发送文件给 Linux:scp -r  目标用户名@目标主机名:目标存储的绝对路径   (例子: scp -r  ./test123.mp3  zhangsan@192.168.35.221:/home/zhangsan/test )—— 输入目标主机 密码。文件 直接存在在目标主机的指定目录下。		( test123.mp3  存储在 zhangsan用户的/home/zhangsan/test目录下。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2239 [NOIP2014 普及组] 螺旋矩阵

题目链接&#xff1a; 找到矩阵元素与 n , i , j \rm n, i, j n,i,j之间的关系&#xff0c;然后直接输出 #include <bits/stdc.h>using namespace std;int find(int n, int i, int j) {if (i 1) return j;if (j n) return i n - 1;if (i n) return 3 *n - 1 - j;if …

广州xx策划公司MongoDB恢复-2023.09.09

2023.09.08用户的MongoDB数据库被勒索病毒攻击&#xff0c;数据全部被清空。 提示&#xff1a; mongoDB的默认端口为27017&#xff0c;黑客通常通过全网段扫描27017是否开放判断是否是MongoDB服务器。一旦发现27017开放&#xff0c;黑客就会用空密码、弱密码尝试连接数据库。黑…

Mojo-SDK详细安装教程

Mojo-SDK安装 运行环境&#xff1a;windows11wsl2&#xff08;ubuntu1804&#xff09; 官方推荐&#xff1a;wsl2&#xff08;ubuntu2204&#xff09;&#xff0c;我下面是wsl2&#xff08;ubuntu1804&#xff09;&#xff0c;发现有些问题&#xff0c;不知道是不是ubuntu版本问…

opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

博客【opencv dnn模块 示例(3) 目标检测 object_detection (2) YOLO object detection】 测试了yolov3 及之前系列的模型&#xff0c;有在博客【opencv dnn模块 示例(15) opencv4.2版本dnn支持cuda加速&#xff08;vs2015异常解决&#xff09;】 说明了如何使用dnn模块进行cuda…

kafka 3.5 主题分区ISR伸缩源码

ISR(In-sync Replicas)&#xff1a;保持同步的副本 OSR(Outof-sync Replicas)&#xff1a;不同步的副本。最开始所有的副本都在ISR中&#xff0c;在kafka工作的过程中&#xff0c;如果某个副本同步速度慢于replica.lag.time.max.ms指定的阈值&#xff0c;则被踢出ISR存入OSR&am…

(1)输入输出函数:cin和cout(2)数学函数:sqrt、pow、sin、cos、tan等

输入输出函数&#xff1a;cin 和 cout 在C编程语言中&#xff0c;为了与用户进行交互和显示程序的结果&#xff0c;我们使用了两个非常重要的函数&#xff1a;cin 和 cout。这两个函数分别用于输入和输出。 cin是C中的标准输入流对象&#xff0c;它用于从键盘接收用户的输入。…

SQL12 高级操作符练习(2)

描述 题目&#xff1a;现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研&#xff0c;请你取出相关数据&#xff08;使用OR实现&#xff09; 示例&#xff1a;user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…

六、不root不magisk不xposed lsposed frida原生修改定位

前言常用风控APP检测1.Aida64检测2.momo检测3.微霸检测4.cellular-z检测 厂商测试总结 前言 不root不戴面具 不xposed lsposed frida&#xff0c;不分身&#xff0c;不多开&#xff0c;最完美的原生修改定位。 常用风控APP检测 先看效果再说原理&#xff0c;先过一遍环境 1.Ai…

聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化

聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化 目录 聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于自组织特征映射聚类算法(SOM)的数据聚类可视化 可直接运行 注释清晰 Matlab语言 1.多特征输入&…

Python 可迭代对象、迭代器、生成器

可迭代对象 定义 在Python的任意对象中&#xff0c;只要它定义了可以返回一个迭代器的 __iter__ 魔法方法&#xff0c;或者定义了可以支持下标索引的 __getitem__ 方法&#xff0c;那么它就是一个可迭代对象&#xff0c;通俗的说就是可以通过 for 循环遍历了。Python 原生的列…

爬虫 — 正则案例

目录 一、需求二、页面分析三、代码实现 一、需求 目标网站&#xff1a;http://www.weather.com.cn/weather/101010700.shtml 需求&#xff1a;获取日期&#xff0c;天气&#xff0c;温度&#xff0c;风力数据 二、页面分析 1、确定 url&#xff0c;静态加载 url&#xff1a;ht…

Mybatis的mapper.xml批量插入、修改sql

今天要有个功能&#xff0c;要进行一批数据的插入和修改&#xff0c;为了不频繁调用数据库&#xff0c;所以想到了批量插入和修改&#xff0c;因为从毕业后&#xff0c;就没写过批量插入和批量修改&#xff0c;所以在这里记录一下&#xff0c;避免后续再遇到忘记怎么写了 批量…

【小记录】jupyter notebook新版本

手欠升级 &#x1f605;今天手贱&#xff0c;在anaconda navigator里面更新了最新版本的spyder&#xff0c;然后莫名奇妙地jupyter notebook就打不开了&#x1f605;&#xff0c;报错说缺少模块”ModuleNotFoundError: No module named jupyter_server.contents“&#xff0c;…

Python分享之对象的属性

Python一切皆对象(object)&#xff0c;每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义&#xff0c;叫做类属性(class attribute)。类属性可能来自类定义自身&#xff0c;也可能根据类定义继承来的…

docker挂载目录权限问题

虽然是root身份进入docker但是依然有些权限是没有的&#xff01; 一、docker权限参数 可以解决挂载目录操作权限低 使用–privilegedtrue和-u参数来给Docker容器授权 docker run -it --privilegedtrue -uroot --namemysqlTest -v /root/data:/root/data_container mysql:5.7…

从0到1学会Git(第三部分):Git的远程仓库链接与操作

写在前面:前面两篇文章我们已经学会了git如何在本地进行使用&#xff0c;这篇文章将讲解如何将本地的git仓库和云端的远程仓库链接起来并使用 为什么要使用远程仓库:因为我们需要拷贝我们的代码给别人以及进行协同开发&#xff0c;就需要有一个云端仓库进行代码的存储和同步&a…

常见的HTTP请求方式

目录 GET 请求 POST 请求 PUT 请求 DELETE 请求 PATCH 请求 HEAD 请求 OPTIONS 请求 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于传输数据的协议&#xff0c;它在互联网中扮演了至关重要的角色。HTTP请求方式定义了客户端与服务器之间的通信方式…

【数据结构】C++实现AVL平衡树

文章目录 1.AVL树的概念2.AVL树的实现AVL树结点的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋插入代码 AVL树的验证AVL树的查找AVL树的修改AVL树的删除AVL树的性能 AVL树的代码测试 1.AVL树的概念 二叉搜索树虽然可以提高我们查找数据的效率&#xff0c;但如果插…

错误码:spark_error_00000004

错误码&#xff1a;spark_error_00000004 错误码&#xff1a;spark_error_00000004 问题原因&#xff1a;这个报错与Spark执行器&#xff08;executor&#xff09;的内存不足有关&#xff0c;程序运行时所需内存 > memory。一般是因为处理数据量或者缓存的数据量较大&#x…

模拟实现链式二叉树及其结构学习——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 之前我们实现了用顺序表完成二叉树(也就是堆)&#xff0c;顺序二叉树的实际作用就是解决堆排序以及Topk问题。 今天我们要学习的内容是链式二叉树&#xff0c;并且实现链式二叉树&#xff0c;这篇博客与递归息息相关&a…