Linux系统及常用命令介绍

一.介绍

Linux一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux系统的说明可以自行百度,知道这几点即可:
1.Linux中一切都是文件;
2.Linux是一款免费操作系统;
3.Linux源码开放,可以任意修改其源代码;
4.Linux支持多用户,多任务;
5.Linux可以运行在多种硬件平台上,如具有x86、arm等处理器的平台;
6.Linux常见的流行系统:Ubuntu,Debian,CentOS,以及国产的统信UOS和银河麒麟等;

二.系统目录

1.Linux系统架构

Linux系统目录结构

2.Linux各目录说明

bin 目录:
存放最常用的命令的目录,比如as,bash,cat,cd,last,look,ls,rm,rpm 等命令都存放在该目录下
boot 目录:
用于存放启动Linux时使用的一些核心文件,比如efi,grub,vmlinuz等一些连接文件以及镜像文件
etc 目录:
存放所有的系统管理所需要的配置文件和子目录,比如各种以.conf或.cfg结尾的配置文件
dev 目录:
dev是Device设备的缩写,是存放Linux外部设备的目录,如 cpu,core,disk,sda等设备
home 目录:
用户的主目录,Linux中每个用户都有自己的家目录
lib 目录:
lib是library库的缩写,是存放系统最基本的动态链接共享库的目录,类似于Windows里的dll文件,如 cpp,kernel,locale,systemd等
media 目录:
这个目录适用于挂载一些外部设备的,比如U盘,光盘等
mnt 目录:
该目录是为了让用户临时挂载别的文件系统的,比如将光驱挂载在mnt上
opt 目录:
是optional的缩写,是给主机安装额外的软件所提供的目录,比如安装一些自己开发的软件或者外面下载的软件,就安装在这个目录
proc 目录:
processes进程的缩写,proc时一种伪文件系统(虚拟文件系统)存储当前内核运行状态的一系列特殊文件,他是一个虚拟的目录,时系统内存的映射,可以通过访问这个目录来获取系统信息。
root 目录:
不放置任何文件污染用户,为超级权限者的用户主目录
sbin 目录:
SuperUser的意思,该目录存放系统管理员使用的系统管理程序
tmp 目录:
tmp是temporary临时的缩写,用来存放一些临时文件的,比如自己开发的程序的临时日志文件,和一些临时产生的文件都可以放这里
usr 目录:
usr是unix shared resources共享资源的缩写,是非常重要的目录,类似Windows的program files目录,用户很多应用程序都放在这个目录下,比如Qt,GCC等都可以安装在这里
usr下又有类似系统目录的子目录:
/usr/bin是系统用户使用的应用程序存放目录;
/usr/sbin是超级用户的管理程序和系统守护程序存放目录;
/usr/src是内核源代码默认的存放目录
var 目录:
是variable变量的缩写,用于存放不断扩充的和修改东西,比如一些程序的日志文件就放在这里
run 目录:
是一个临时文件系统,用来存储系统启动以来的信息,当系统重启时,这个目录下的文件应该被删除,如果你的系统商有/var/run目录,应该让他指向run目录

三.常用命令

1.目录文件类命令
pwd:用于显示工作目录
	pwd  显示当所在目录如 /root/home/test/mytest

ls:显示指定工作目录所包含的文件及子目录,及文件的属性
ls
	ls -l testfile.txt

cd:用于切换到指定的路径
	cd /path/tofile/directory

cp:用于复制文件或者目录
	cp file.txt /path/to/destination
	cp -r test/  newtest
	cp -i file.txt  /path/to/destination

rm:用于删除一个文件或者目录
	rm -rf test.txt
	rm -r *
	rm -r test/

mv:将文件或者目录移动(或改名)到另一个位置
	mv /path/file.txt  /newpath/file2.txt
	
mkdir:用于创建目录
	mkdir -p newpath/test

rmdir:删除空目录
	rmdir -p AAA/BBB/test

mount:用于挂载Linux系统外的文件
	mount /dev/hda1 /mnt 将/dev/hda1挂在/mnt下
	mount -o ro /dev/hda1 /mnt 将/dev/hda1以只读方式挂在/mnt下

umount:用于卸除挂在Linux目录中的文件系统
	umount -v /dev/sda1 通过设备名卸载
	umount -v /mnt/mymount/ 通过挂载点卸载
2.文档操作类命令
touch:用于修改文件(文件不存在则创建文件)或者目录的时间属性
	touch testfile.txt

vim:是Linux系统中的一个文件编辑工具,常用一下命令:
	:wq 保存文件并退出Vim编辑器
	:q! 强制退出Vim编辑器不保存文件
	i 在当前光标位置插入文本
	x 删除当前光标所在位置的字符
	:w 保存文件
	:q 退出Vim编辑器

cat:用于连接文件并打印到标准输出设备上
	cat -n testfile1 > testfile2 把textfile1的文档内容加上行号后输入 textfile2文档里
	cat -b testfile1 testfile2 >> testfile3 把textfile1和textfile2的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
	cat /dev/null > /etc/test.txt 清空/etc/test.txt文档内容

more:按页方式显示文件内容
	more -s testfile 逐页显示文档内容
	more +20 testfile 从第20行开始显示testfile文档的内容

tail:查看文件末尾部分的内容
	tail file.txt 按默认显示file.txt文件的后10行内容
	tail -n 20 file.txt 显示file.txt文件的后20行内容
	tail -c 80 file.txt 显示file.txt文件后80个字节内容
	tail -f file.txt 监视file.txt文件的变化

head:查看文件开头部分的内容
	head file.txt 按默认显示file.txt文件前10行内容
	head -n 25 file.txt 显示file.txt文件前25行内容
	head -c 70 file.txt 显示file.txt文件前70个字节内容

diff:按行比较文件之间的差异
	diff file1.txt file2.txt 比较file1.txt和file2.txt之间的差异

echo:用于显示文本或回显命令
	echo -e "hello word" 在屏幕上显示"hello word"
3.系统进程类命令
sudo:以系统管理员身份执行指令
	sudo ls 以管理员权限执行 ls 命令
	sudo wechat 以管理员权限启动微信
	sudo !! 以root权限执行上一条命令

chmod:用来更改文件或目录的权限
	chmod +x wechat 为微信添加执行权限
	chmod g+w ./test.log 添加用户写权限
	chmod -R a=rw ./testdir/ 将目录下的文件都设置为所有用户拥有读写权限

useradd:用于建立用户账号
	useradd zhangsan 添加zhangsan用户
	useradd -g root lisi 为添加的lisi用户指定用户组为root
	useradd -r wangwu 创建一个wangwu的系统用户
	useradd -d /home/myd zhangsan 为新添加的zhangsan用户指定home目录

usermod:用于修改用户账号的各项设置
	sermod -d /home/hnminux root 更改登录目录
	usermod -u 777 root 更改用户的uid

userdel:用于删除用户账号
	userdel zhangsan 删除zhangsan这个用户账号

passwd:用来更改使用者的密码
	passwd zhangsan 设置zhangsan用户的密码
	passwd -d zhangsan 删除用户zhangsan的密码
	passwd -S zhangsan 显示账号密码信息

groupadd:创建一个新的工作组
	groupadd -g 344 robin 创建新的组robin,并设置组ID

grpopdel:删除群组
	groupdel robin 删除robin这个群组
4.网络应用类命令
ifconfig:配置和显示Linux系统网卡的网络参数
	ifconfig 显示网络设备信息
	ifconfig eth0 up 开启eth0这个网卡
	ifconfig rth1 down 关闭eth1这个网卡
	ifconfig eth0 hw ether 00:AC:04:86:CC:BB 修改MAC地址
	ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡配置IPV6地址

	ping:测试主机之间网络的连通性
	ping 192.168.10.25 测试本机与该IP对应设备的网络连通
	ping www.baidu.com 测试本机连接百度官网的连通性

netstat:显示网络状态
	netstat -a 显示详细的网络状态
	netstat -apu 显示UDP端口号的使用情况
	netstat -l 显示监听的套接口

scp:以加密的方式在本地主机和远程主机之间复制文件
	scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/ 从远程机器复制文件到本地目录

ssh:ssh是用于远程登录数据传输的工具
	ssh user@host 连接到用户名为user的主机名为host主机上
	ssh -p 8081 user@host 指定端口为8081的连接
	scp file.txt user@host:/remote/directory 复制本地的file.txt文件到远端主机的/remote/directory目录下
	ssh user@host "tar -czvf archive.tar.gz /path/to/directory" 使用tar命令在远端主机上打包文件

telnet:登录远程主机和管理(也用来测试IP端口释放连通)
	telnet 192.168.240.10 8082 测试本机是否连通远程机的IP和端口

wget:Linux系统中下载文件的工具
	wget www.baidu.com/testfile.zip 下载该地址对应的文件
	wget -O ceshi.zip www.baidu.com.testfile.zip 下载并以指定的文件名保存

rz:用来吧文件从Windows平台传到Linux平台上
	rz -by 上传文件,文件名相同并覆盖

sz:用来把文件从Linux平台传到Windows平台上
	sz -by file.txt 下载文件,文件名相同进行覆盖

tcpdump:Linux系统上的抓包工具和嗅探器
	tcpdump 启动tcpdump监视第一个网络接口上所有流过的数据包
	tcpdump -i rth1 监视rth1这个指定网络接口的数据包
	tcpdump host 210.27.48.12 截获该IP主机收发的所有数据包
5.程序编译类命令
gcc:在Linux环境下编译C代码的编译工具
	gcc -g main.c 生成调试信息,用于调试程序
	gcc test.c -o test 将test.c预处理,汇编,编译并连接形成可执行文件,并输出test可执行程序
	gcc -E test.c -o test  将test.c预处理输出test.i文件
	gcc -s test.s 将汇编输出文件test.s编译输出test.o文件
	gcc test1.c test2.c main.c -o test 多个文件一起编译生成test可执行程序
	
gdb:Linux下的调试工具GDB调试

man:用于查看Linux系统的帮助手册
	man ls 查看命令的帮助手册
	man printf 查看系统函数的帮助手册
	man -k open 查看open所属序号
	man 2 open 查看open对应文档
makefile:自动化编译解析文件的命令工具,详见makefile使用说明
	makefile组成三要素:目标,依赖,命令
	
CMake:跨平台的编译工具
	首先编写CMakeList.txt文件
	通过cmake命令将CMakeList.txt文件转化成对应平台可执行的make文件
	最后用make命令编译源码生成的可执行程序或库文件
6.其他操作类命令
grep:用正则表达式进行全局搜索的工具
	grep "L" test.txt 在test.txt中搜索包含“L”的行
	grep "^i" test.txt -i -n -o 在test.txt中搜索输出以“i”开头的行(不区分大小写)
	grep "^i" test.txt -i -n -o -c 统计以"i"开头的总行数
	grep "\.$" test.txt -n -o 输出以"."结尾的行
	
sed:启用行编辑器
	sed -n '3p' /etc/passwd 取出文件的第三行
	sed -n '2,5p' /etc/passwd 取出文件的第2到第5行
	
wc:用于计算文件的字节数,字数,行数
	wc myfile.txt 输出文件的行数,单词数,字节数
	wc file1.txt file2.txt file3.txt 输出多个文件的行数,单词数,字节数
	wc -l file.txt 输出文件的行数
	wc -w file.txt 输出文件的字数
	wc -c file.txt 输出文件的字节数
	
tar:压缩解压tar包命令工具
	tar -cvf test.tar file1.txt file2.txt file3.txt 将三个文件打包压缩成tar包
	tar -czvf test.tar.gz test1.cpp test2.cpp test3.cpp 将三个源文件打包压缩成tar.gz包
	tar -xvf test.tar 解压tar包
	tar -zxvf test.tar.gz 解压tar.gz包
	
gzip:压缩解压gz包命令工具
	gzip -rv /opt/myfiles/ 递归压缩files文件夹下的所有文件成gz包
	gzip -dv myfile.gz 解压缩myfile.gz包
	
yum:yum命令是包管理工具命令集,常用于安装卸载一些程序或工具
	yum update 更新系统上的软件包版本
	yum install nginx 安装nginx软件包
	yum remove nginx 删除nginx的软件包
	yum list installed 列出系统上已安装的所有软件包
	
apt-get:Debian系中管理软件包的命令集
	sudo apt-get update 刷新软件源
	sudo apt-get upgrade 更新软件包
	sudo apt-get install gcc 安装gcc工具包
	sudo apt-get remove gcc 卸载gcc工具包

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【for循环】最大跨度

【for循环】最大跨度 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 【参考代码】 #include <iostream> using namespace std; int main(){ int n;int max 0, min 100;cin>>n;for(int i1; i<n; i1){int a;cin>>a;if(a>max){max a;}i…

【Mysql】DQL操作单表、创建数据库、排序、聚合函数、分组、limit关键字

DQL操作单表 1.1 创建数据库 •创建一个新的数据库 db2 CREATE DATABASE db2 CHARACTER SET utf8;•将db1数据库中的 emp表 复制到当前 db2数据库 ** 1.2 排序** 通过 ORDER BY 子句,可以将查询出的结果进行排序 (排序只是显示效果,不会影响真实数据) 语法结构&#xff1a;…

MySQL进阶——SQL优化

目录 1插入数据 1.1 insert 1.2大批量插入数据 2主键优化 3 order by 优化 4 group by 优化 5 limit 优化 6 count 优化 6.1概述 6.2 count用法 7 update优化 1插入数据 1.1 insert 优化方案主要有3种 批量插入数据 Insert into tb_test values(1,Tom),(2,Cat)…

基于MATLAB仿真LFM线性调频信号

基于MATLAB仿真LFM线性调频信号 目录 前言 一、LFM信号简介 二、LFM信号基本原理 三、LFM信号仿真 四、代码 总结 前言 仿真中的接收信号&#xff0c;有时为了简单会直接用一个正弦波代替&#xff0c;但实际中接收到的信号极少是点频信号&#xff0c;一般都是PSK信号、OF…

6G时代,即将来临!

日前&#xff0c;由未来移动通信论坛、紫金山实验室主办的2024全球6G技术大会在南京召开。本次大会以“创新预见6G未来”为主题&#xff0c;在大会开幕式上发布了协力推进全球6G统一标准行动的倡议和紫金山科技城加速培育以6G技术引领未来产业行动计划。 在我国已开展第五代移动…

细说MCU的ADC模块单通道单次采样的实现方法

目录 一、工程依赖的硬件 二、设计目的 三、建立工程 1、配置GPIO 2、配置中断 3、配置串口 4、配置ADC 5、选择时钟源和Debug 6、配置系统时钟和ADC时钟 四、设置采样频率 五、代码修改 1、重定义外部中断回调函数 2、启动ADC 3、配置printf函数 六、运行并…

C++之模板(二)

1、类模板 2、使用类模板 类模板在使用的时候要显示的调用是哪种类型&#xff0c;而不是像函数模板一样能够根据参数来推导出是哪种类型。 Stack.h #include <stdexcept>template <typename T> class Stack { public:explicit Stack(int maxSize);~Stack();void …

基于Java实训中心管理系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

ciscn_2019_n_1

前戏--------checksec,运行查看 进入就可以发现这段代码 很浅显易懂 我们要得到的后面是 这里 我们要利用的漏洞是 get函数 0x30大小 加上8 exp: from pwn import * ghust remote("node5.buuoj.cn",28777) addr 0x4006BE payload bA * 0x30 bB*0x8 p64(addr…

Honeyview图片查看:从未如此流畅

名人说&#xff1a;一点浩然气&#xff0c;千里快哉风。 ——苏轼 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、软件介绍1、Honeyview2、核心特点 二、下载安装1、下载2、安装 三、使用方法1、图片打开2、自…

【字符串 状态机动态规划】1320. 二指输入的的最小距离

本文涉及知识点 动态规划汇总 字符串 状态机动态规划 LeetCode1320. 二指输入的的最小距离 二指输入法定制键盘在 X-Y 平面上的布局如上图所示&#xff0c;其中每个大写英文字母都位于某个坐标处。 例如字母 A 位于坐标 (0,0)&#xff0c;字母 B 位于坐标 (0,1)&#xff0…

Flask之模板

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、模板的基本用法 1.1、创建模板 1.2、模板语法 1.3、渲染模板 二、模板辅助工具 2.1、上下文 2.2、全局对象 2.3、过滤器 2.4、测试…

投票多功能小程序(ThinkPHP+Uniapp+FastAdmin)

&#x1f389;你的决策小助手&#xff01; 支持图文投票、自定义选手报名内容、自定义主题色、礼物功能(高级授权)、弹幕功能(高级授权)、会员发布、支持数据库私有化部署&#xff0c;Uniapp提供全部无加密源码。​ 一、引言&#xff1a;为什么我们需要多功能投票小程序&#…

AI+前端技术的结合(实现图片识别功能)

随着人工智能技术的不断发展&#xff0c;AI在前端设计页面中的应用变得越来越普遍。比如&#xff1a;在电商平台上&#xff0c;可以利用对象检测技术实现商品的自动识别和分类&#xff1b;人脸识别&#xff1b;车辆检测&#xff1b;图片识别等等......其中一个显著的应用是在图…

ArcGIS与Excel分区汇总统计三调各地类面积!数据透视表与汇总统计!

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 01 需求说明 介绍一下ArcGIS与Excel统计分区各地类的三调地类面积。 ArcGIS统计分析不会&#x…

SpringBoot测试实践

测试按照粒度可分为3层&#xff1a; 单元测试&#xff1a;单元测试&#xff08;Unit Testing&#xff09;又称为模块测试 &#xff0c;是针对程序模块&#xff08;软件设计的最小单位&#xff09;来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中…

Linux驱动开发笔记(十三)Sysfs文件系统

文章目录 前言一、Sysfs1.1 Sysfs的引入1.2 Sysfs的目录结构1.2 Sysfs的目录详解1.2.1 devices1.2.2 bus1.2.3 class1.2.4 devices、bus、class目录之间的关系1.2.5 其他子目录 二、Sysfs使用2.1 核心数据结构2.2 相关函数2.2.1 kobject_create_and_add2.2.2 kobject_put()2.2.…

视觉理解与图片问答,学习如何使用 GPT-4o (GPT-4 Omni) 来理解图像

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、引言 OpenAI 最新发布的 GPT-4 Omni 模型&#xff0c;也被称为 GPT-4o&#xff0c;是一个多模态 AI 模型&#xff0c;旨在提供更加自然和全面的人机交互体验。 GPT-4o 与 GPT-4 Turbo 都具备视觉功…

MySQL程序使用的选项文件

MySQL程序使用的选项文件如下&#xff1a; 显示帮助消息并退出。 在具有多个网络接口的计算机上&#xff0c;使用此选项可以选择用于连接MySQL服务器的接口。 安装字符集的目录。 如果可能&#xff0c;压缩客户端和服务器之间发送的所有信息。 从MySQL 8.0.18开始&#xff0c;…

【因果推断python】50_去偏/正交机器学习2

目录 Frisch-Waugh-Lovell on Steroids CATE Estimation with Double-ML Frisch-Waugh-Lovell on Steroids 双重/偏差 ML 其思想非常简单&#xff1a;在构建结果和治疗残差时使用 ML 模型&#xff1a; 是估计&#xff0c;是估计 我们的想法是&#xff0c;ML 模型具有超强的…