网站的建设和编程,中企动力邮箱app,图片制作视频,射阳做网站多少钱前言#xff1a; 你是否也曾经为Linux所困扰过#xff0c;在网上找的资料零零散散#xff0c;是否学完Linux后还是懵懵懂懂#xff0c;别怕#xff0c;这篇博客是博主精心为你准备的#xff0c;现在#xff0c;就让我们一起来走进Linux的世界#xff0c;决战Linux…前言 你是否也曾经为Linux所困扰过在网上找的资料零零散散是否学完Linux后还是懵懵懂懂别怕这篇博客是博主精心为你准备的现在就让我们一起来走进Linux的世界决战Linux
1.历史
Linux是一个类Unix的操作系统在1991年Linus从Unix的衍生版本Minix的基础上进行修改设计出了Linux的第一个版本0.01
Linus把Linux发布到论坛上其他开发者觉得这个系统设计得不错越来越多的人参与到Linux的开发和修改中Linux操作系统变得越来越完善和强大最终形成了今天的Linux生态。
目前Linux内核属于GNU计划的一部分源代码遵循GPL开源协议要求修改发布者也必须开源。
2.Linux操作系统的组成 Linux系统指的是使用Linux内核的操作系统使用标准Linux内核的系统叫做Linux的发行版
Linux内核完全免费开源可以在www.kernel.org上下载 mainline最新开发主线
6.10-rc6 ------------------ 6.10版本的第6个开发板
stable最新稳定版
6.9.7
longterm长期支持维护的版本
6.6.36 .... 4.19.316 注:EOF表示即将从官方维护列表中删除
Linux内核版本号
主版本号.次版本号.维护版本号
主版本号修改:内核架构进行大幅重构 次版本号修改:内核某些模块进行了更新 维护版本号:修正BUG
Linux的发行版
通常所说的Linux系统包括Linux内核和外部组件库应用程序组成的一个可以直接使用的操作系统一般叫做Linux发行版
Debian: Ubuntu RedHat: centos Fedora
3.Linux内核的子系统
任务管理和调度
内存管理
设备驱动
网络子系统
虚拟文件系统
4.Linux文件系统的组成
bin:所有用户都可以使用的命令
sbin:系统命令(管理员命令)
usr:用户命令和相关文件
dev:设备文件
etc:配置文件
home:用户目录
lib:库文件
media:存储设备挂载目录
mnt:目录挂载点
opt:应用程序和服务
proc:proc文件系统挂载点
sys:sysfs文件系统挂载点
root:超级管理员用户目录
tmp:存放临时文件
var:存放日志文件
5.Linux命令
打开终端 ------------------- ctrl alt t
ls --------------------------- 查看指定目录下的内容
用法ls 目录
-l:详细信息
-a:包括隐藏文件
ls -l 压缩与解压命令
Linux下最常用的压缩包格式是
gzbz2zipxz
其中gz和bz2格式一般都是通过tar命令来控制的xz和zip格式各自由它们的同名命令控制。
tar
释义归档、释放、压缩、解压
常用选项
-c 创建归档文件或压缩文件
-x 释放归档文件或解压文件
-t 用于查看压缩或归档文件中的数据
-f 用于指定目标操作的文件 在选项f后面必须紧接需要操作的归档或压缩文件
-v 用于输出压缩或解压的过程
-z 指定解压或压缩的目标类型是 gz 格式
-j 指定压缩或解压的目标类型为 bz2 格式
-J 指定【解压】的目标文件格式为 xz 格式
-C 指定解压的目标路径
常见用法
第一归档与释放
gecubuntu:~$ tar cf a.tar dir/* 将目录dir中的所有文件归档成a.tar
gecubuntu:~$ tar tf a.tar 查看归档文件a.tar
gecubuntu:~$ tar xf a.tar 释放归档文件a.tar第二压缩与解压
gecubuntu:~$ tar czf a.tar.gz dir/* 将目录dir中的所有文件归档并压缩为gz格式
gecubuntu:~$ tar tf a.tar.gz 查看压缩文件a.tar.gz
gecubuntu:~$ tar xzf a.tar.gz 解压压缩文件a.tar.gzgecubuntu:~$ tar cjf a.tar.bz2 dir/* 将目录dir中的所有文件归档并压缩为bz2格式
gecubuntu:~$ tar tf a.tar.bz2 查看压缩文件a.tar.bz2
gecubuntu:~$ tar xjf a.tar.bz2 解压压缩文件a.tar.bz2第三指定路径
gecubuntu:~$ tar -xf a.tar -C /tmp 将文件释放到/tmp
gecubuntu:~$ tar -xzf a.tar.gz -C /tmp 将文件解压到/tmp
注意 归档只是简单的将文件归拢到一起不涉及压缩算法文件不会变小压缩会用到压缩算法文件总体会变小。
xz
释义压缩与解压 压缩操作 先使用tar对所需文件进行归档然后再使用 xz命令进行压缩解压操作 先使用 xz命令进行解压然后再使用tar对所需文件进行释放归档
常见用法
gecubuntu:~$ xz a.tar 将文件a.tar压缩成a.tar.xz
gecubuntu:~$ xz --decompress a.tar.xz 解压a.tar.xztar -Jxvf test.tar.xz 使用tar的J选项直接解压xz格式文件
注意 xz只能压缩单个文件因此xz一般与tar配合使用即先用tar将要压缩的若干文件或目录归档成一个tar包然后用xz将tar包压缩成xz格式压缩包。
zip
zip不是系统自带的命令一般需要自己手工安装
gecubuntu:~$ sudo apt install zip
释义压缩与解压
常见用法
gecubuntu:~$ zip a.zip file dir/ 将指定的文件和目录压缩成a.zip
gecubuntu:~$ unzip a.zip 解压a.zip cd ---------------- 切换当前路径
相对路径以当前位置作为起点.表示当前位置..表示上一级目录
绝对路径以根目录作为起点 ~ 代表是home目录也就是家目录 / 代表的是根目录
~ 表示当前登录用户的家目录而
/home 目录则是存放所有用户家目录的目录。您可以使用
~来表示当前用户的家目录无论他们实际上的家目录是在
/home 目录下的哪个子目录中。
问root超级用户是存储在/home/目录之下吗答在大多数Linux系统中超级用户的主目录一root般是 /root而不是 /home 目录下的某个子目录。/root 目录是 root 用户的家目录类似于普通用户的家目录 /home/username
普通用户的家目录一般存储在 /home 目录下然后在其下创建对应的用户名目录(例如/home/username )来存储普通用户的文件和配置。而root用户的家目录 /root 则是位于根目录下。
总结就是:
/home目录通常存储普通用户的家目录。
/root是 root 超级用户的家目录。
因此root超级用户一般的家目录并不存储在/home目录之下。 问普通用户如gec存储在/home/之下那为什么gec可以往回遍历到/之下不是最多到home吗
答在Linux文件系统中普通用户的家目录通常位于/home/username下比如您提到的username是gec则它的家目录一般是 /home/gec。
在Linux中每个用户都有一个用户名和一个用户ID普通用户在登录时会被分配一个特定的(UID)用户ID用于识别和管理其对文件系统的访问权限。当普通用户登录系统后它的当前工作目录会是其家日录 /home/gec这是其默认启动位置。
尽管普通用户的家目录是 /home/gec但在Linux中任何用户(包括普通用户)都可以查看整个文件系统的目录结构只要对相应的目录有足够的访问权限。也就是说虽然普通用户的家目录是/home/gec但它仍然可以通过绝对路径或相对路径访问整个文件系统包括/根目录。
总结一下普通用户的家目录仅仅是其默认的工作目录可以确保用户在登录后能够直接访问到自己的文件和目录;但是用户仍然可以通过绝对路径或相对路径访问整个文件系统只要对相应的目录有权限。
cd 切换工作路径 跳转到指定的文件夹下
常见用法
cd 直接切换到当前用户的家目录
cd ~ 同上~ 波浪号就是当前用户的家目录的缩写
cd / 切换到系统的根目录 / 就是指根目录
cd - 切换到上一次所在的路径方便在两个路径之间相互切换
cd .. 切换到上一层路路径 .. 指的是上一层路径
cd ../Even/Dir 切换到上一层路径的Even里面的Dir 中 使用的是相对路径
cd /home/even/Dir 切换到根目录中的home 里面的even 里面的Dir (使用的是绝对路径)
cd /mnt 切换到根目录的mnt 中 在子系统或虚拟中 mnt 用于挂载Windows 共享进来的文件夹
pwd --------------- 显示当前所在路径
clear -------------- 清屏命令
man -------------- 帮助手册
用法man 命令/函数man -f *** ----------- 显示所有有关指定内容的帮助信息man 3 *** ----------- 查阅第3章中有关指定内容的帮助信息
mkdir ------------- 创建目录
mkdir 目录路径创建的目录必须不存在创建目录的上一级必须存在,如果要同时创建上一(几)级目录可以加选项-p
rmdir ------------- 删除空目录
rmdir 目录路径
注如果要删除非空目录使用rm -rf,慎用
//sudo rm -rf /* ---------- 删库跑路
touch ---------------- 创建空文件
touch 文件名
rm ---------------- 删除文件
rm 文件路径
cp -------------- 拷贝命令 cp 用于复制指定的文件到指定的路径下
cp abc.c 123.c 把当前目录下的文件 abc.c 复制为 123.c
cp ../123.c ./Dir/456.c 把上一级目录中的123.c 复制到当前目录的Dir里面 并且名字为 456.c
cp ./Dir/456.c ../../ 把当前目录下的Dir 中的456.c 复制到 上一层目录的上一层目录中并保持名字不变
mv --------------- 剪切命令
用法mv 原文件路径 目标目录
sudo 临时使用超级用户的权限做某事
我们在Ubunt中默认是以普通用户登录的因此在非本用户的家目录中进行增删改查大概率会由于没有权限而被拒绝Permission denied 因此需要临时使用超级用户去做
比如 touch /123.c 出现问题 则可以改为 sudo touch /123.c
6.共享文件夹
使用共享文件夹互通windows和Ubuntu文件是最简易的方法方法如下
1.在windows创建一个空目录
2.点击虚拟机菜单的设置按钮在选项页面使能共享文件夹添加创建的目录
3.共享文件夹在Ubuntu的路径为 /mnt/hgfs/共享文件夹名 7.文件操作命令
1查看文件内容 ---------------- cat/head/tail/more/less/hexdump
cat用法(查看文件所有内容)cat 文件名(当前路径无需加路径,其他路径要加路径)
如 cat main.c cat ../main.chead用法(查看文件开头的内容,默认10行,用-n指定行数)head 文件名(当前路径无需加路径,其他路径要加路径)
如head main.c (默认显示文件前10行)head -15 main.c (表示显示文件前15行内容)tail用法(查看文件末尾的内容,默认10行,用-n指定行数) tail 文件名(当前路径无需加路径,其他路径要加路径)
如 tail main.c (默认显示文件后10行) tail -15 main.c (表示显示文件后15行内容) more用法(按页显示文件内容,回车/空格翻页,q退出浏览)more 文件名(当前路径无需加路径,其他路径要加路径)
如 more main.c more ./main.cless用法(按页显示文件内容,上下键/翻页键/回车/空格翻页,q退出浏览)less 文件名(当前路径无需加路径,其他路径要加路径)
如 less main.c less ./main.c
less是more的加强版,可以方向键滚动支持搜索跳转等功能hexdump用法(用16进制显示文件内容) hexdump 文件名(当前路径无需加路径,其他路径要加路径)
如 hexdump main.c hexdump ./main.c
2修改文件权限 ------------------------- chmod
1.chmod 目标用户(或者-)权限 文件名(当前路径无需加路径,其他路径要加路径)u:文件所有者g:同组用户o:其他用户a:所有用户:添加权限-:去掉权限r:读权限w:写权限x:执行权限 比如chmod ux byebye.c ----------- 为文件所有者添加执行权限chmod 777 hello.c --------为所有用户添加读写执行操作权限2.chmod 权限数字 文件路径权限数字用三位8进制表示 rwx
比如chmod 644 hello.c ----------- 改为rw-r--r--权限 - chmod 777 hello.c
- 777 是一个三位数的八进制octal表示法用于指定新的权限设置。在这个上下文中每一位数字都代表了一组不同的用户或用户组的权限。
- 第一位数字7代表文件所有者的权限。
- 第二位数字7代表与文件所有者同组的用户的权限。
- 第三位数字7代表其他所有用户的权限。
每个数字0-7都是对读r4、写w2和执行x1权限的二进制和表示。因此
- 7 4读 2写 1执行
所以chmod 777 hello.c 的意思是将文件 hello.c 的权限设置为所有用户文件所有者、与文件所有者同组的用户、其他所有用户都可以读、写和执行该文件。
3创建链接文件 ------------------ ln
如果多个文件在磁盘中使用同样的存储位置就叫做链接文件
链接文件分为软链接和硬链接 硬链接相当于原文件的别名不依赖于原文件硬链接的创建命令
ln 原文件名 硬链接文件名 如: ln main.c man 硬链接相当于创建了一个原来文件的别名通过硬链接文件可以对原文件内容进行 访问并更改原文件位置更改对硬链接文件无影响删除了硬链接文件对原文件 无影响
软链接相当于快捷方式依赖于原文件软链接的创建命令
ln -s 原文件名 软链接文件名 如: ln -s main.c man 软链接相当于创建了一个快捷方式指向原文件通过软链接文件可以对原文件内容 进行访问并修改原文件位置更改则软链接文件失效删除了软链接文件对原文件 也无影响。
4查看文件和文件夹所占磁盘空间大小 ------------------ du
du -sh 文件名文件名(当前路径无需加路径,其他路径要加路径)
如: du -sh ../main.c
(终端输出:)88K ../hello(88K为88KB)5比较文件内容的命令 ------------------- cmp/diff
cmp 文件1 文件2 //提示第一个不同内容的位置
如: cmp man.c hello.cdiff 文件1 文件2//提示所有不同内容的位置
如: diff man.c hello.c
6显示文件部分内容 ------------- cut
cut -b 1-5 文件 --------------- 显示每行指定位置内的字节内容
如 cut -b 1-5 main.c
cut -d -f 1-3 文件 -------- 以空格作为分隔符
如 cut -d -f 1-3 main.c
7统计文件中行 单词 字符个数 ------------- wc
wc 文件名(当前路径无需加路径,其他路径要加路径)
输出结果文件总行数 文件单词数(空格分单词) 总字符数 文件名
加以下命令可单独显示
-l显示行数
-w显示单词数
-c显示字符数//注可以使用管道将一个命令的结果传递给另一个命令作为参数
如ls -l | wc
将ls的输出结果作为参数给wc命令统计
8查看文件属性信息 -------------- file
file 文件名(当前路径无需加路径,其他路径要加路径)
如:file main.c
输出:
gecubuntu:~/hello$ file main.c
main.c: C source, ASCII text9查看磁盘空间信息 ------------------ df
df 磁盘设备文件名(当前路径无需加路径,其他路径要加路径)输出
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda5 30268356 16987560 11717916 60% /10查找命令文件的路径 -------------- whereis
whereis 命令名 如whereis ls
11文件查找命令 ------------------ find/grep
1.根据文件属性(文件名 大小 属主...)查找文件find 要查找的目录 -name 文件名;
如find /home -name *.c(查找/home目录下的所有.c文件)
2.根据文件内容查找文件grep 内容 多个文件grep -R 内容 目录
如grep int main.c man.c(查找文件中包含int的文件) grep -R int /home(查找/home目录中包含int的文件)
在查找时可以使用通配符进行模糊查找
* - 代表任意个任意字符
? - 代表1个任意字符
如find /home -name *.c(查找/home目录下的所有.c文件)
12树状显示目录的结构 ---------------- tree
tree 目录路径 如: tree hello
13压缩和解压命令 --------------- tar
tar是一个打包和解包的命令
tar命令允许在打包时同时进行压缩常见的压缩格式bz2 gz xz
打包tar -cvf 包名.tar 要打包的文件和目录tar -cjvf 包名.tar.bz2 要打包的文件和目录tar -czvf 包名.tar.gz 要打包的文件和目录tar -cJvf 包名.tar.xz 要打包的文件和目录
eg: tar -cjvf hello.tar.bz2 main.c man.c解压tar -xvf 包名.tartar -xjvf 包名.tar.bz2tar -xzvf 包名.tar.gztar -xJvf 包名.tar.xz
eg: tar -xjvf hello.tar.bz2c - 打包
x - 解包
v - 显示过程
f - 文件操作
j - bz2格式
z - gz格式
J - xz格式
14挂载和卸载命令 --------------------------- mount/umount
mount -t 类型 挂载设备 挂载点
umount 挂载点比如sudo mount -t vfat /dev/sdb1 /media/gec/U
8.linux用户命令
1使用系统权限 --------------- sudo
sudo 命令
2切换用户 ------------------ su
su 用户名
3修改密码 ------------------ passwd
4查看当前登录用户 ---------- whoami
5添加用户/用户组 -------- adduser/addgroup
adduser 用户名 addgroup 组名
6删除用户/用户组 ------- deluser/delgroup
deluser 用户名 delgroup 组名
7设置用户信息 ------------- usermod
usermod -d 新的用户目录 用户名 -------- 修改用户目录 usermod -L 用户名 -------------------- 封禁用户 usermod -U 用户名 -------------------- 解封用户
9.linux进程相关命令
1查看当前系统的进程 ----------------- ps
//查看系统所有进程 ps -elf ps aux
2杀死进程 ------------------ kill/killall
kill -9 进程号 killall -KILL 进程名
3动态查看进程状态 -------------- top
4查看进程间的关系 -------------- pstree
10.linux网络命令
1设置/查看网卡信息 -------------- ifconfig
ifconfig (显示当前网络信息) ifconfig 网卡名 ifconfig 网卡名 up/down ------- 启动/关闭网卡 ifconfig 网卡名 ip ------------ 修改ip
2测试网络是否联通 ------------ ping
ping ip ping 域名
5.网络配置
1通过配置文件修改网络配置
1./etc/network/interfacessudo vim /etc/network/interfaces 2修改虚拟机的网络配置
NAT模式ip要自动获取桥接模式都可以(最好手动) 注意如果虚拟机虚拟网卡有问题需要重置虚拟机的网络 3重启虚拟机网络
重启ubuntu重置网络
sudo /etc/init.d/networking force-reload
sudo /etc/init.d/networking restart
结束语 最后很感谢你耐心看到了这里相信你也对Linux操作系统有了一些新的认识现在打开你的电脑挑选一个你喜欢的Linux版本尽情享受输入命令按下回车的感受吧