文章目录

  • 悄悄来到Linux
    • 进入Linux(已配置完毕)
      • 一切皆文件
      • 常用的命令
      • 根据实例来升级
        • 文件
        • 用户
        • 进程(process)
        • 磁盘分区(disk)
        • 端口号
        • 其他

悄悄来到Linux

在我们熟悉了Windows的骚操作以后,我们也可以尝试一下其他的操作系统。而对文件和数据最敏感的莫过于Linux操作系统了吧。

  • 知名版本

    • Ubuntu
    • RedHat
    • Centos
    • Debain
    • OpenSUSE
    • Fedora

Windows和Linux的区别:

看一下我做的一个最简化版的走进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 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

常用的命令

我们学习操作系统,总得知道一些最常用的东西吧!下面一起看一下吧

操作指示 用法 实例
cd(进入) cd 目录名/文件名cd
cd 绝对路径 切换路径
cd相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd - 回到上一次所在目录
cd … 回到当前目录的上一级目录
cd -P 跳转到实际物理路径,而非快捷方式路径
cd /etc/sysconfig/network-scripts/
pwd 查看当前路径
mkdir(创建目录) 创建目录mkdir [-p] 目录名(多层创建)
vi/vim(编辑)
ls ll=ls -l ls ls -all
history 查看命令历史
rm rm -rf
cp(复制) cp 【-r递归整个目录】 source[源文件] dest[目标文件]
mv(移动或重命名) mv oldName NewName
mv old目录 new新地址
开关机重启 (1)sync (功能描述:将数据由内存同步到硬盘中)
(2)halt (功能描述:关闭系统,但不断电。等同于shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] 时间
正确的关机流程为:sync > shutdown > reboot > halt

在学会上面的命令过后,正常使用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

知识衍生:

  • find :注-name 文件名加*可以实现模糊查询

find [搜索范围] [选项]

  • grep

使用方法: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

​ 直接登录是需要输入root密码的。

方法:使用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删除用户组

进程(process)

1、上面删除pier的时候,我们发现了有一个3015进程在被使用,不能删除,所以我们再来看看进程,刚才是因为我是使用远程登陆的,在虚拟机中pier用户没有退出,所以删除有问题,那现在我们在说自己的虚拟机里面打开一个软件。我这里打开firefox,在查看一下所有进程。

查看进程

ps -ef | grep firefox

结束进程

killall firefox

我们在之后的学习中或多或少都会用到进程,所以我们在这里也为大家说一下进程的查看和关闭,至于建立进程就没必要了,因为打开一个东西,就伴随着他的进程打开。

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

查看进程命令

  • ps 查看当前进程
    ps -aux | grep xxx (功能描述:查看系统中所有进程)
    ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

终止进程

  • kill 终止进程

    • kill [选项] 进程号
    • killall 进程名称
    • -9 表示强迫进程立即停止
    • pstree 查看进程树
      • -p 显示进程PID
      • -u 显示进程所属用户

查看进程状态

  • top 查看系统健康状态
    -d 秒数 (刷新时间。默认3秒)
    -i 使top不显示任何闲置或者僵死进程。
    -p 通过指定监控进程ID来仅仅监控某个进程的状态。

注:下面的操作是进入top进程状态后使用的。

top页面展示

磁盘分区(disk)

1、在安装的时候,我的电脑不行,只分配了了20G的大小,可是长期的使用,保存数据,日志越来越大,我也不知道我的电脑占了多少了,我该怎么办呀?

解答:我们在购买电脑的时候,都会涉及到一个东西哦,电脑会分区吧,至少得分成2个盘甚至更多的吧!因为我们都知道C盘不能有太多东西,会卡。那么Linux自然也是如此我们也可以有多个分区,所以我们也能显示磁盘使用df -lh ,加上-l是因为好看,可以选择不加。因为上面解释的很清楚,就不解释了。

2、嗯,虽然没占用多少,我能看一下分区吗?还有,万一未来那一天,我使用时快满的时候我能怎么办呢?

查看分区详情

fdisk -l

查看磁盘挂载情况

lsblk -f

挂载和卸载磁盘

mount [-t vfstype] [-o options] device dir   (功能描述:挂载设备)
umount 设备文件名或挂载点            (功能描述:卸载设备)

注:挂载,你可以理解为插U盘,卸载就是弹出来。

端口号

​ 一般情况下,我们在学习阶段不会遇到端口号被占用的情况,但是,不代表一直能不遇到,所一再提一点端口小知识嘛。

  • 显示网络统计信息和端口占用情况
    netstat
    netstat -anp | grep 进程号 (功能描述:查看该进程网络信息)
    netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

例:

查看端口号22的占用情况:

其他

注:我们作为初学者,一定要控制好自己的手呀,控制不好,就请注意,在你配置好基础环境时,千万记得要克隆一台呀,不然,霍霍不起,就等20分钟你再做一条好汉吧!!!!!最后给大家带来一段才艺!

嘻嘻!这只是一台克隆机,大家千万别搞呀!!!!!

走进Linux(一切皆文件)相关推荐

  1. Linux一切皆文件

    文章目录 linux一切皆文件 了解文件 Linux中的文件 利与弊 linux一切皆文件 Linux的设计也好还是理念也好,都是继承Unix的,Unix也不是第一个喊出一切皆文件,但是一定是把这个理 ...

  2. Linux 一切皆文件认知

    Linux的一切皆文件 一切都可看作是文件,其最显著的好处是对于上面所列出的输入/输出资源,只需要相同的一套 Linux 工具.实用程序和 API.你可以使用同一套api(read, write)和工 ...

  3. linux一切皆文件之tty字符设备(深入理解sshd创建pty的过程) (五)

    一.知识准备 1.在linux中,一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列) 2.操作这些不同的类型就像操作文件一样,比如增删改查等 3.块设备支 ...

  4. linux 文件系统 vfs,Linux 万物皆文件—VFS文件系统

    linux 里面当我们执行 ls -li 命令 的时候会发现,很多文件类型.例如: – 普通文件 d 目录文件 s socket 文件 b 块设备文件 比如说磁盘 l  连接文件 p 管道文件 他们虽 ...

  5. Linux用于账号文件,linux的文件及账号管理

    正如linux的准则描述的那样:Linux一切皆文件.当我们创建文件时,都会有一个默认属性,这与umask有关.我们知道可以可以使用使用数字来表示属性:r::4,w:2,x:1.而一般情况下用户建立的 ...

  6. linux如何进入文件编辑,Linux 文件编辑工具

    Linux 一切皆文件, 所有配置都需要改文件. 一般可以把文件用sftp方式下载下来,在本地电脑修改好后再上传上去, 但有时候可能必须在linux里面修改,所以这里介绍两个常用linux端文本编辑工 ...

  7. Linux 7 种文件类型

    Linux 7 种文件类型 Linux一切皆文件,文件一共分为7类分别是- d c s p l b 文件管理 普通文件(regular file:-) a)文本文件存放的都是文字编码,文本编辑器打开后 ...

  8. Linux中一切皆文件

    Linux中一切皆文件 1. Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件. 普通文件是文件. 目录(在win下称为文件夹)是文件. 硬件设备(键盘.硬盘.打印机)是文件. 套接字( ...

  9. linux一切对象皆文件,为什么说Linux下“一切皆文件”?

    前言:接触Linux的同志们都听过一句话:"Linux下一切皆文件"."一切皆是文件"是 Unix/Linux 的基本哲学之一,那么为什么Linux在一切皆文件 ...

最新文章

  1. Executor详细介绍 打造基于Executor的Web服务器
  2. awk的正则表达式提取
  3. AI成为世界互联网大会重要议题 第四范式AutoML登上央视
  4. MyBatis 插件原理与自定义插件-需求实现
  5. kindeditor用法简单介绍(转)
  6. Xamarin效果第二十篇之GIS中加载三维白模
  7. 线性分组码c语言实验报告,C语言线性分组码(附注释).doc
  8. Python中使用中文
  9. 探果(简称tamguo)是基于java开发的在线题库系统
  10. 如何生成16位流水号
  11. 数学发展史中最重要的4个阶段
  12. JSP—跳转页面的三种方式
  13. java ----一个函数传回多个值的总结
  14. 被女朋友三番两次拉黑后,我用 Python 写了个“舔狗”必备神器
  15. 【图像增强】基于matlab局部对比度增强的CLAHE算法直方图增强【含Matlab源码 1341期】
  16. 【STM32】 SG90舵机
  17. 生产执行系统MES架构设计及应用架构
  18. LeetCode—面试题:移除重复节点(哈希集合)
  19. Swift 下标用法
  20. html 自适应 音乐播放器,mmPlayer:一款基于Vue的自适应Web在线音乐播放器

热门文章

  1. 【SQL】Attempt to do update or delete using transaction manager that does not support these operations
  2. [NOI2019] I君的探险
  3. 【吭】django项目运行jira项目突然报错TypeError: session() takes 1 positional argument but 2 were given
  4. salesforce apex常用方法(总结)
  5. 静寂的声韵里悄然于心底溅扩出岁月的气息
  6. mysql2003错误_mysql出现2003错误的原因及解决方法
  7. 渣打银行 java_JAVA Developer
  8. eFuse 和 OTP 的区别
  9. 【MySQL基础】MySQL常用的图形化管理工具有那些?
  10. linux c mmap 写文件夹,利用mmap实现文件拷贝功能