在我们熟悉了Windows的骚操作以后,我们也可以尝试一下其他的操作系统。而对文件和数据最敏感的莫过于Linux操作系统了吧。
Windows和Linux的区别:
看一下我做的一个最简化版的走进Linux:
不会有人看不到上面的最大的字吧,对,你没看错。Linux一切皆文件 。所以我们在Linux里面的一切操作都是对文件进行操作。
目录名 | 简介 |
---|---|
/bin | 是Binary的缩写, 这个目录存放着最经常使用的命令 |
/sbin | /user/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 |
/home | 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 |
/root | 该目录为系统管理员,也称作超级权限者的用户主目录 |
/etc | 所有的系统管理所需要的配置文件和子目录 |
/usr | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录/usr/x11r6 存放x window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库 |
/lib | 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 |
/boot | 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里 |
/proc | 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息 |
/srv | service缩写,该目录存放一些服务启动之后需要提取的数据 |
/sys | 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs |
/tmp | 这个目录是用来存放一些临时文件的 |
/dev | 类似于windows的设备管理器,把所有的硬件用文件的形式存储 |
/run | 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run |
/mnt | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了 |
/opt | 这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到这个目录下。默认是空的 |
/var | 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件 |
我们学习操作系统,总得知道一些最常用的东西吧!下面一起看一下吧
在学会上面的命令过后,正常使用Linux是没有问题了,但是,我们学习它,不能就这么肤浅吧,难道你买了一个笔记本电脑,就真当笔记本用呀!!!不能吧,和我升级一下自己的能力。
1、现在我要查询所有java文件,怎么看?
[root@pier mkFile]# find /* -name *.java
/etc/.java
find: ‘/run/user/1000/gvfs’: 权限不够
/usr/share/doc/python2-cryptography-1.7.2/docs/development/custom-vectors/rsa-oaep-sha2/VerifyRSAOAEPSHA2.java
知识衍生:
使用方法:rep 选项 查找内容 源文件
2、查看大于100M的文件。你们怎么做?
[root@pier mkFile]# find / -size +100M
/proc/kcore
/run/media/master/CentOS 7 x86_64/LiveOS/squashfs.img
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/var/spool/abrt/ccpp-2021-12-13-23:45:02-3992/coredump
/usr/lib/locale/locale-archive
/usr/lib64/firefox/libxul.so
3、那我要查询一个叫firef什么的文件怎么办呢?
你要这样查吗?
find / -name firef*
其实还可以这么查
locate firef
知识衍生:
locate : locate快速定位文件路径一般用户模糊查询
注:在首次使用时,记得update更新一下数据库哟
可编辑文件:
1、现在我要查看一下/root/test/xiaoaojianghu.txt文档,你怎么查看呢?
不管其他,我现在肯定可以这样吧:
cd /root/test
方式一:使用vi/vim+文件名查看
vim xiaoaojianghu.txt
方式二:使用head+[-n+]文件名查看(局限:只能指定看前几行)
head xiaoaojianghu.txt
方式三:使用tail+[-n+]文件名查看(局限:只能指定看后几行)
tail -5 xiaoaojianghu.txt
方式四:使用cat+[-n+]文件名(-n是用来看行号的)
cat -n xiaoaojianghu.txt
方式五:使用more+文件名
more xiaoaojianghu.txt
方式六:使用less+文件名(相对于more更简洁,节约资源)
less xiaoaojianghu.txt
注:优点:看完之后关闭,类似与txt文档查看,但是不方便复制文件。
2、文件看了,我想试试添加。现在我要在/home/test.txt文档里面加一个"给pier来个三连呀!"。你们怎么弄?
首先还是先进入嘛
cd home
方式一:vi/vim(这种方式有点普通,所以自己写)
方式二:通过> 或>>进行追加
[root@pier home]# echo "给pier来个三连呀!" >> test.txt
[root@pier home]# cat test.txt
1234123
hvufcdbvgyh
给pier来个三连呀!
知识衍生:
echo: 可以多种使用,文件追加,还有直接输出等!
[root@pier home]# echo "给pier来个三连呀!"
给pier来个三连呀!
> 输出重定向和 >> 追加
[root@pier home]# echo "给pier来个三连呀!" > test.txt
[root@pier home]# cat test.txt
给pier来个三连呀!
简单来说就是> 是覆盖追加,而>>则是末尾添加。
1、公司新来了一个人pier,要对系统进行使用。这时候我们需要为他新建一个用户吧。并切换到pier用户
[root@pier home]# useradd pier
[root@pier home]# passwd pier
更改用户 pier 的密码 。
新的 密码:(这里不用管,密码不会显示的)
无效的密码: 密码少于 8 个字符(这里不用管8位,你随意就好,只要密码一致)
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@pier home]# su pier
2、pier来到公司这么久了,又和公司老板的女儿有不清不楚的关系,老板给他升级了,需要频繁登录root权限和自己的权限,他想修改一下,自己可以免密登录root,他能怎么做呢?
注:切换root用户命令: sudo -s
方法:使用vi/vim修改/etc/sudoers文件,找到下面这两行代码
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
并照样子添加
root ALL=(pier) NOPASSWD: ALL
保存退出时加个!强制,或者你出去修改一下文件权限,但是修改完之后记得改回来哟,修改权限命令,切换过后 sudo whoami 可以检查
修改时的命令:chmod u+w /etc/sudoers
改回来的命令:chmod u-w /etc/sudoers
注:这个方法不唯一,但是这个是我能想到比较简单且最直接有效的方法,也可以尝试去修改组,将用户的密码在组内公开,我还没尝试过,但是理论上肯定是可行的。
知识衍生:
用户组:
这里提到了用户组,那就在这里提一下用户组吧!
用户组管理
添加
groupadd 组名
删除
groupdel 组名
修改
groupmod -n 新组名 老组名
查看
cat /etc/group
添加用户进组:
[root@pier etc]# usermod -g bigdata pier
[root@pier etc]# id pier
uid=1003(pier) gid=1002(bigdata) 组=1002(bigdata),10(wheel)
用户权限:
当你打开某个文件时,有时候并没有修改的权限,那我们就来讲讲用户权限的事情。
我们先随意使用ll查看一个文件夹,为了给大家演示,我就使用/目录吧:
我们大概可以看到下面这样子的一些东西
我们一起来了解一下前面框框里面的东西吧:
0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件(这里没有,但是自行可以尝试下其他目录)
d 代表目录(如:root)
l 链接文档(link file)(如:bin -> usr/bin)
1-3该文件的所有者
4-6该用户所有者所在组的权限
7-9其他用户的权限
3、pier拿到了巨大的权限后赚了不少钱,最近花花公子花花心了,和公司老板女儿闹别扭了,又有钱了,经常去夜店,老板女儿又吃醋了,给老板告了一状,开除了,那么系统里面也不能有他的名字了吧,免得老板生气呀!你怎么办呢?
你不会这样吧:
[root@pier /]# userdel pier
userdel: user pier is currently used by process 3015
[root@pier /]# id pier
uid=1003(pier) gid=1002(bigdata) 组=1002(bigdata),10(wheel)
哦豁,完犊子了,权限不够,那我们就找权限够的来呀
于是。我们可以 sudo userdel -rf pier(切换到root下面)
注:如果出现
[root@pier ~]# sudo userdel -rf pier
userdel: user pier is currently used by process 3015
userdel:组“pier”没有移除,因为它不是用户 pier 的主组
记得来一句,groupdel pier
删除用户组
1、上面删除pier的时候,我们发现了有一个3015进程在被使用,不能删除,所以我们再来看看进程,刚才是因为我是使用远程登陆的,在虚拟机中pier用户没有退出,所以删除有问题,那现在我们在说自己的虚拟机里面打开一个软件。我这里打开firefox,在查看一下所有进程。
查看进程
ps -ef | grep firefox
结束进程
killall firefox
我们在之后的学习中或多或少都会用到进程,所以我们在这里也为大家说一下进程的查看和关闭,至于建立进程就没必要了,因为打开一个东西,就伴随着他的进程打开。
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
查看进程命令
终止进程
查看进程状态
注:下面的操作是进入top进程状态后使用的。
top页面展示
1、在安装的时候,我的电脑不行,只分配了了20G的大小,可是长期的使用,保存数据,日志越来越大,我也不知道我的电脑占了多少了,我该怎么办呀?
解答:我们在购买电脑的时候,都会涉及到一个东西哦,电脑会分区吧,至少得分成2个盘甚至更多的吧!因为我们都知道C盘不能有太多东西,会卡。那么Linux自然也是如此我们也可以有多个分区,所以我们也能显示磁盘使用df -lh
,加上-l是因为好看,可以选择不加。因为上面解释的很清楚,就不解释了。
2、嗯,虽然没占用多少,我能看一下分区吗?还有,万一未来那一天,我使用时快满的时候我能怎么办呢?
查看分区详情
fdisk -l
查看磁盘挂载情况
lsblk -f
挂载和卸载磁盘
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
注:挂载,你可以理解为插U盘,卸载就是弹出来。
一般情况下,我们在学习阶段不会遇到端口号被占用的情况,但是,不代表一直能不遇到,所一再提一点端口小知识嘛。
例:
查看端口号22的占用情况:
注:我们作为初学者,一定要控制好自己的手呀,控制不好,就请注意,在你配置好基础环境时,千万记得要克隆一台呀,不然,霍霍不起,就等20分钟你再做一条好汉吧!!!!!最后给大家带来一段才艺!
嘻嘻!这只是一台克隆机,大家千万别搞呀!!!!!