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/mytestls:显示指定工作目录所包含的文件及子目录,及文件的属性
lsls -l testfile.txtcd:用于切换到指定的路径cd /path/tofile/directorycp:用于复制文件或者目录cp file.txt /path/to/destinationcp -r test/  newtestcp -i file.txt  /path/to/destinationrm:用于删除一个文件或者目录rm -rf test.txtrm -r *rm -r test/mv:将文件或者目录移动(或改名)到另一个位置mv /path/file.txt  /newpath/file2.txtmkdir:用于创建目录mkdir -p newpath/testrmdir:删除空目录rmdir -p AAA/BBB/testmount:用于挂载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.txtvim:是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用户指定用户组为rootuseradd -r wangwu 创建一个wangwu的系统用户useradd -d /home/myd zhangsan 为新添加的zhangsan用户指定home目录usermod:用于修改用户账号的各项设置sermod -d /home/hnminux root 更改登录目录usermod -u 777 root 更改用户的uiduserdel:用于删除用户账号userdel zhangsan 删除zhangsan这个用户账号passwd:用来更改使用者的密码passwd zhangsan 设置zhangsan用户的密码passwd -d zhangsan 删除用户zhangsan的密码passwd -S zhangsan 显示账号密码信息groupadd:创建一个新的工作组groupadd -g 344 robin 创建新的组robin,并设置组IDgrpopdel:删除群组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.mzph.cn/web/32270.shtml

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

相关文章

【CT】LeetCode手撕—42. 接雨水

目录 题目1- 思路2- 实现⭐42. 接雨水——题解思路 3- ACM实现 题目 原题连接:42. 接雨水 1- 思路 模式识别:求雨水的面积 ——> 不仅是只求一个比当前元素大的元素,还要求面积 单调栈 应用场景,需要找到左边比当前元素大的…

Vue82-组件内路由守卫

一、组件内路由守卫的定义 在一个组件里面去写路由守卫&#xff0c;而不是在路由配置文件index.js中去写。 此时&#xff0c;该路由守卫是改组件所独有的&#xff01; 只有通过路由规则进入的方式&#xff0c;才会调这两个函数&#xff0c;否则&#xff0c;若是只是用<Ab…

FastGPT部署

部署脚本 # 数据库的默认账号和密码仅首次运行时设置有效 # 如果修改了账号密码&#xff0c;记得改数据库和项目连接参数&#xff0c;别只改一处~ # 该配置文件只是给快速启动&#xff0c;测试使用。正式使用&#xff0c;记得务必修改账号密码&#xff0c;以及调整合适的知识库…

尚品汇-(四)

&#xff08;1&#xff09;商品的基本知识 1.1基本信息—分类 一般情况可以分为两级或者三级。咱们的项目一共分为三级&#xff0c;即一级分类、二级分类、三级分类。 比如&#xff1a;家用电器是一级分类&#xff0c;电视是二级分类&#xff0c;那么超薄电视就是三级分类。…

Android使用MPAndroidChart 绘制折线图

效果图&#xff1a; 1.导入依赖 1.1在项目根目录下的build.gradle文件中添加代码&#xff08;注意不是app下的build.gradle&#xff09;&#xff1a; maven { url https://jitpack.io } 1.2在app下的build.gradle中的依赖下添加&#xff1a; implementation com.github.PhilJa…

CentOS 7 内核 3.10 升级 6.5.2 (RPM 直装 + 源码编译)

方案一 直接基于 RPM 在线升级&#xff08;简单&#xff0c;速度快&#xff09; rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y # &#xff08;选项一&#xff09;升级最新版内…

昇腾Ascend上使用分布式训练

一、环境搭建 1、使用hccn_tool配置昇腾训练卡的芯片网络&#xff0c;包括ip地址和掩码 命令原型 hccn_tool [-i %d] -ip -s [address %s] [netmask %s] 使用样例(配置两张卡)&#xff1a; hccn_tool -i 0 -ip -s address 192.168.2.10 netmask 255.255.255.0 hccn_tool …

Magento1与Magento2的区别

本人接触magento有些年头了。。。 2012年开始用magento 1.7。2016年开始用magento2.0。 截止到目前。M1最新版本是1.9.3.3。 M2最新版本是2.2.2。 想当年第一次接触magento的时候&#xff0c;是跟同事一起&#xff0c;网上下载的Alan Storm的深入理解magento系统&#xff0c;…

【UML用户指南】-20-对基本行为建模-交互图

目录 1、概述 2、顺序图 2.1、两个不同于通信图的特征&#xff1a; 2.1.1、顺序图有对象生命线 2.1.2、顺序图有控制焦点 2.2、结构化控制 2.2.1、可选执行opt 2.2.2、条件执行alt 2.2.3、并行执行par 2.2.4、循环迭代执行loop 2.3、嵌套活动图 3、通信图 3.1、两…

Flutter第十二弹 Flutter多平台运行

目标&#xff1a; 1.在多平台调试启动Flutter程序运行 一、安卓模拟器 1.1 检查当前Flutter适配的版本 flutter doctor提供了Flutter诊断。 $ flutter doctor --verbose /Users/zhouronghua/IDES/flutter/bin/flutter doctor --verbose [✓] Flutter (Channel master, 2.1…

【硬件开发】电阻

电阻精度 电阻封装和功率的关系 裕度 50%的裕度&#xff0c;0603封装的功率为0.1W的情况下&#xff0c;实际只能使用0.05W的功率。 精度 温漂 零欧电阻 用法 1.跳线 如果不用某条线路&#xff0c;直接不焊零欧电阻就行 2.预留 后期调试看看需不需要更换为其他阻值例如33R的…

Docker 下载与安装以及配置

安装yum工具 yum install -y yum-ulits配置yum源 阿里云源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装Docker 17.03后为两个版本&#xff1a; 社区版&#xff08;Community Edition&#xff0c;缩写为 CE&#x…

2024/06/21--代码随想录算法10-12/17| 子序列问题

300.最长递增子序列 力扣链接 动规五部曲 dp的定义 dp[i]表示子序列答案以nums[i]结尾的最长递增子序列的长度 为什么一定表示 “以nums[i]结尾的最长递增子序” &#xff0c;因为我们在 做 递增比较的时候&#xff0c;如果比较 nums[j] 和 nums[i] 的大小&#xff0c;那么两…

【机器学习 复习】第9章 降维算法——PCA降维

一、概念 1.PCA &#xff08;1&#xff09;主成分分析&#xff08;Principal ComponentAnalysis&#xff0c;PCA&#xff09;一种经典的线性降维分析算法。 &#xff08;2&#xff09;原理&#xff0c;这里以二维转一维为例&#xff0c;原来的平面变成了一条直线 这是三维变二…

荷兰与法国战平,双方能携手出现?

就在昨天晚上&#xff0c;荷兰队经历了90分钟的鏖战&#xff0c;最终0-0与法国队握手言和。此役&#xff0c;哈维-西蒙斯为荷兰队打进一球&#xff0c;但进球被判无效。从目前的积分形势来看&#xff0c;双方基本上确定携手晋级16强赛。本场比赛&#xff0c;荷兰队后卫内森-阿克…

GPT 模型简史:从 GPT-1 到 GPT-4

文章目录 GPT-1GPT-2GPT-3从 GPT-3 到 InstructGPTGPT-3.5、Codex 和 ChatGPTGPT-4 GPT-1 2018 年年中&#xff0c;就在 Transformer 架构诞生⼀年后&#xff0c;OpenAI 发表了⼀篇题 为“Improving Language Understanding by Generative Pre-Training”的论文&#xff0c;作者…

告别卡顿,迎接流畅!你的mac电脑清洁利器CleanMyMac一键轻松解决所有问题!

亲爱的CSDN家人们&#xff0c;今天要安利的是一个让无数Mac用户从“抓狂”到“惊喜连连”的小神器—CleanMyMac&#xff01;&#x1f4ab; 如果你还在为电脑的缓慢启动、存储空间告急和莫名其妙的卡顿烦恼&#xff0c;那请跟我一起看看它如何成为你的数字世界里的救星&#xff…

VC++学习(5)——文本编程,插入符的初始化,图形插入符;文字始终在窗口;字符输入功能,回车换行,删除,左键定位;字体修改,字体平滑变色

目录 引出第五讲 文本编程新建项目输入线的初始化根据字体大小定义插入符大小创建图形插入符文字始终保存在窗口中CString类通过字符串资源 路径层字符输入的功能键盘输入消息鼠标左键消息保存点击位置的坐标 输入回车键的处理删除文字的实现 字符输入功能代码字体的修改模拟卡…

Android翻转动画(卡片翻转效果)

前言 最近好友问计蒙翻转动画&#xff0c;恰好在大二那年看Android Api Demo时记了笔记&#xff0c;由此写一篇文章。 需求 屏幕右滑事件触发卡片的翻转效果 &#xff0c;为了方便&#xff0c;在例子中将右滑事件改成按钮点击事件 老规矩&#xff0c;最后有源码 一、先介绍三…

PCL 三次样条插值(二维点)

一、简介 在插值计算中,最简单的分段多项式近似应该是分段线性插值,它由连接一组数据点组成,仅仅只需要将这些点一一用直线进行顺序相连即可。不过线性函数插值的缺点也很明显,就是在两个子区间变化的比较突兀,也就是没有可微性(不够光滑)。因此我们需要更为符合物理情况…