Linux系统及常用命令介绍

news2025/3/12 23:10:55

一.介绍

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.coloradmin.cn/o/1851110.html

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

相关文章

云资源管理系统-项目部署

云资源管理系统-项目部署 大家好,我是秋意零。 今天分享个人项目同时也是个人毕设项目,云平台资源管理系统。该系统具备对OpenStack最基本资源的生命周期管理,如:云主机、云盘、镜像、网络。 该篇主要介绍,项目在Li…

STM32读取芯片内部温度

基于stm32f103cbt6这款芯片,原理部分请参考其他文章,此文章为快速上手得到结果,以结果为导向。 1.基础配置 打开stm32cubemx只需要勾选中 ADC1 Temperature Sensor Channel 2.代码分析 /** 函数名:float GetAdcAnlogValue(voi…

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the software development process and lea…

开启数字新纪元:全球首款开源AI女友,你的私人数字伴侣

在这个数字化飞速发展的时代,人工智能已经不再是科幻小说中的幻想,而是实实在在走进了我们的生活。今天,我们要介绍的,不仅仅是一项技术革新,更是一场关于陪伴的革命——全球首款开源AI女友,DUIX,已经横空出世! 🚀 革命性的开源平台 DUIX,由硅基智能精心打造,不…

GLM-4V模型学习

智谱AI引领技术前沿,推出了新一代预训练模型GLM-4系列,其中的GLM-4-9B作为开源版本,展现了其在人工智能领域的深厚实力。在语义理解、数学运算、逻辑推理、代码编写以及广泛知识领域的数据集测评中,GLM-4-9B及其人类偏好对齐的版本…

慎投!新增7本期刊被“On Hold“,14本影响因子下降!

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…

大学生须知~~毕业行李太多,怎么拿回家

一年一度的暑假来临了,大学生们又该放假了,可是回家行李这么多,怎么邮寄才便宜呢?? 记得找惠发快递呀!因为我们平台是跟快递总部合作的,不管你寄大件还是快递都很便宜,而且没有单量…

转--Hadoop集群部署案例

模块简介 本模块主要练习Hadoop集群部署。 模块知识 ● 使用Linux基础命令 ● Hadoop集群搭建部署知识 环境准备 三台CentOS7操作系统的虚拟机 可以是3个Docker容器,也可以是三个VMWare/VirtualBox的虚拟机。三台虚拟机的最低配置为1核1G 20G。如果是虚拟机中…

20分钟攻破DISCUZ论坛并盗取数据库(web安全白帽子)

20分钟攻破DISCUZ论坛并盗取数据库(web安全白帽子) 1 快速搭建discuz论坛1.1 攻击思路1.2 快速搭建实验环境1.2.1,漏洞概述1.2.2,在centos7虚拟机上搭建LAMP环境1.2.3,上传到discuz_X2_SC_UTF8.zip 到Linux系统/root下…

Android 添加自己的时钟小部件

小部件,也叫微件, 它的介绍参考官网 应用 widget 概览 https://developer.android.google.cn/develop/ui/views/appwidgets/overview?hlzh-cn 直接上图,原生系统上,时钟应用的小部件效果。 我也整一个。 1.创建小部件布局文…

C#使用轻量级深度学习模型进行车牌颜色识别和车牌号识别

看到这个文章时候请注意这个不涉及到车牌检测,这个仅仅是车牌颜色和车牌号识别,如果想涉及到车牌检测可以参考这个博客:[C#]winform部署yolov7CRNN实现车牌颜色识别车牌号检测识别_c# yolo 车牌识别-CSDN博客 【训练源码】 https://github.…

已解决java.rmi.activation.ActivationException异常的正确解决方法,亲测有效!!!

已解决java.rmi.activation.ActivationException异常的正确解决方法,亲测有效!!! 问题分析 java.rmi.activation.ActivationException 是与Java RMI(远程方法调用)的激活机制相关的一种已检查异常。这个异…

【面试干货】Hashtable 与 HashMap 的区别

【面试干货】Hashtable 与 HashMap 的区别 1、线程安全性2、对null值的处理3、遍历方式4、遍历示例5、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,Hashtable和HashMap都是基于哈希表实现的Map接口。然而&#…

代码随想录算法训练营第31天| 134. 加油站、135. 分发糖果、860.柠檬水找零、 406.根据身高重建队列

134. 加油站 题目链接:134. 加油站 文档讲解:代码随想录 状态:so easy 思路:每次遍历时,如果当前的油量差(currTank)小于0,说明从当前起点无法到达下一个加油站。此时,将…

Python --- 如何修改Jupyter Notebook保存文件的路径?

如何修改Jupyter Notebook在本地保存文件的默认路径? 一直以来都比较喜欢jupter notebook,自从用了以后就爱上了。平时用的时候,因为大多都是临时调用,每次在界面里直接new一个新的file就开干。 曾经也想过我创建的这些python文件…

代码随想录第31天|贪心算法

134. 加油站 参考 思路: 以每个油站相差作为判断, 比如: gas [5 8 2 8]cost [6 5 6 6] [-1 3 -4 2]错误 : 把相差最大点当作起点判断能否绕一圈 : 相加数组是否小于0局部最优: 当前累加rest[i]的和curSum一旦小于0,起始位置至少要是i1,因为从i…

初识 SpringMVC,运行配置第一个Spring MVC 程序

1. 初识 SpringMVC,运行配置第一个Spring MVC 程序 文章目录 1. 初识 SpringMVC,运行配置第一个Spring MVC 程序1.1 什么是 MVC 2. Spring MVC 概述2.1 Spring MVC 的作用: 3. 运行配置第一个 Spring MVC 程序3.1 第一步:创建Mave…

免费开源的地图解析工具【快速上手】

视频学习地址 这篇文章和【Nominatim】是相呼应的,在尝试了OSM数据一直有问题之后,通过别人的指点是不是可以换个思路,我的数据只需要精确到市级别,也可以不用OSM这样全的数据(主要原因还是OSM太过庞大了) …

Mybatis(根据id查找这一行的数据)

首先在查询之前,我们先要做些基础的工作先创建一个以你的数据库命名的model类 我的数据库的名字叫admin 我就创建了一个Admin的类 用来方便数据的访问 然后我们就要创建一个接口来声明我们要写的方法 我创建的接口命名为AdminDao 在创建一个xml的类用来实现声明的…

NSSCTF中的[WUSTCTF 2020]朴实无华、[FSCTF 2023]源码!启动! 、[LitCTF 2023]Flag点击就送! 以及相关知识点

目录 [WUSTCTF 2020]朴实无华 [FSCTF 2023]源码!启动! [LitCTF 2023]Flag点击就送! 相关知识点 1.intval 绕过 绕过的方式: 2.session伪造攻击 [WUSTCTF 2020]朴实无华 1.进入页面几乎没什么可用的信息,所以想到使用dis…