Linux入坑笔记

目录

Linux介绍

Linux的应用

为什么学习Linux命令,不直接使用图形化界面;

Linux目录结构

Shell命令

关机

目录相关命令

属性相关命令

查看文本内容

文件链接

账户管理

磁盘管理

进程管理

负载查看


Linux介绍

        Linux内核:是一个Linux系统的内核,而不是一个操作系统

        Linux操作系统:RedHat,Ubuntu等才是操作系统的名字,他们都使用Linux内核,我们常常把它们笼统的称为Linux操作系统。

Linux的应用

        服务器:Linux做服务器操作系统是它的强项,市面上90%的服务器都是Linux;

        移动终端:底层是Linux的安卓系统的移动端的 穿戴设备,Linux作为核心系统是首选;

        大数据:大数据需要大量的计算,需要消耗大量的内存和CPU的资源。对于没有图形界面的Linux来说,无疑是最好的选择;

        云计算:云计算将是未来数据和用户虚拟系 统的管理,就需要使用Linux作为服务器

        今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

为什么学习Linux命令,不直接使用图形化界面;

        因为在实际开发中,服务器往往不会安装图形化界面,维护人员需要使用命令来进行维护;

        开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

Linux目录结构

linux目录结构是树状的,如下图所示:(该图来自于菜鸟教程)

以下是对这些目录的解释:

        /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

        /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

        /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

        /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

        /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

        /root:该目录为系统管理员,也称作超级权限者的用户主目录。

        /run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除

        /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

        /tmp:这个目录是用来存放一些临时文件的。

        /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

        /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

除此之外还有很多:

        /usr/bin: 系统用户使用的应用程序。

        /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

        /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

        /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

        /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

        /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

        /usr/src: 内核源代码默认的放置目录。

        /www:存放服务器相关的资源、环境、网站的项目;

        /srv:该目录存放一些服务启动之后需要提取的数据。

        /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

....................

Shell命令

基本的命令格式:

命令字   命令选项    参数选项

命令选项: -xxx

命令参数: 路径,或者文件名。

空格用来做分隔;

        注:本文不会过多介绍命令选项,大家可以通过man手册查看;

关机

        在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
关机指令为:shutdown ;

shutdown –h 10      //计算机将在10分钟后关机

shutdown –h now     //立马关机

shutdown –h 20:25   //今天20:25关机

shutdown –h +10     //十分钟后关机

shutdown –r now     //立马重启

shutdown –r +10     //十分钟后重启

目录相关命令

常用目录管理命令:

  1. ls: 列出目录(dir)
  2. cd:切换目录(Change Directory)
  3. pwd:显示目前的目录、Print Working Directory 的缩写
  4. mkdir:创建一个新的目录
  5. rmdir:删除一个空的目录
  6. cp: 复制文件或目录
  7. rm: 移除文件或目录
  8. mv: 移动文件与目录,或修改文件与目录的名称

属性相关命令

ls -l 可显示,各个信息的含义 

文件类型:

  1. 当为[ ]则是文件;
  2. 当为[ d ]则是目录;
  3. 若是[ p ]则表示为管道文件,解决多个程序同时访问一个文件所造成的错误问题;
  4. 若是[ l ]则表示为链接文档 ( link file );
  5. 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
  6. 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 );
  7. 若是[ ]则是套接字文件,用于表示进程间网络通信的特殊文件类型;

文件权限:
        [ r ]代表可读(read):二进制表示0001,数字表示1

        [ w ]代表可写(write):二进制表示0010,数字表示2

        [ x ]代表可执行(execute):二进制表示0100,数字表示4

        [-]代表没有权限:二进制表示0000,数字表示0

修改文件属性常用命令:

        chgrp:更改文件属组

                chgrp   [-r递归操作]   属组名   文件名

        chown:更改文件属主,也可以同时更改文件属组

                chown   [–r]   属主名   文件名

                chown [-r] 属主名:属组名 文件名

        chmod:更改文件权限

                chmod [-r] user 文件或目录

查看文本内容

Linux系统中使用以下命令来查看文件的内容:

  1. cat 第一行开始显示文件内容,只能用来查看
  2. tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  3. more 一页一页的显示文件内容
  4. less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  5. head 只前几行
  6. tail 只后几行
  7. vim:linux自带的文本编辑器,理解为windows的文本文档,可查看可编辑

文件链接

        Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为软连接(Symbolic Link)。

硬连接:

        ln  kk1  /lnkk   #将kk1文件做一个硬连接到 /lnkk

        通俗来说,硬链接就是该文件直接指向磁盘空间地址,拿上面的命令为例:连接后,kk1指向了/lnkk的磁盘地址,此时,不管删除kk1或者/lnkk其中的任意一个,它依然可以访问;

软连接:

        ln  -s  kk1  /lnkk   #将kk1文件做一个软连接到 /lnkk

       类似于windows的创建快捷键方式,当/lnkk删除时,kk1会变得无效;

账户管理

passwd :修改密码

useradd/adduser :新建用户

groupadd:新建组

id:查看用户id

磁盘管理

Linux磁盘管理常用命令为 df、du。

        df(英文全称:disk free):列出文件系统的整体磁盘使用量

        du(英文全称:disk used):检查磁盘空间使用量

                注:与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

进程管理

        1、在Linux中,每个程序都是一个进程,每个进程都有一个pid;

        2、每个进程都有一个父进程(被谁创建,最大systemd);

        3、进程可以前台运行,也可以后台运行;

        4、一般情况下,服务后台运行,基本程序前台运行,也可以人为的将基本程序挂到后台运行;

常用命令:

        ps :查看进程

                ps -aux:显示所有进程

                ps -aux | grep xxx:过滤出所需进程

        Pstree -pu:进程树(树状图显示进程,并显示pid,清除看出结构,推荐使用)

-bash-4.2$ pstree -pu
systemd(1)─┬─AliSecGuard(22057)─┬─{AliSecGuard}(22139)
           │                    ├─{AliSecGuard}(………)
           │                    └─{AliSecGuard}(18531)
           ├─AliYunDun(18504)─┬─{AliYunDun}(18505)
           │                  ├─{AliYunDun}(18525)
           │                  ├─{AliYunDun}(………)
           │                  └─{AliYunDun}(18540)
           ├─AliYunDunUpdate(18477)─┬─{AliYunDunUpdate}(18478)
           │                        ├─{AliYunDunUpdate}(………)
           │                        └─{AliYunDunUpdate}(18546)
           ├─agetty(1069)
           ├─agetty(1071)
           ├─aliyun-service(1061)─┬─{aliyun-service}(1072)
           │                      ├─{aliyun-service}(………)
           │                      └─{aliyun-service}(1088)
           ├─atd(1067)
           ├─auditd(490)───{auditd}(491)
           ├─chronyd(526,chrony)
           ├─crond(1066)
           ├─dbus-daemon(520,dbus)
           ├─dhclient(788)
           ├─java(16100)─┬─{java}(16108)
           │             ├─{java}(16131)
           │             ├─{java}(………)
           │             └─{java}(27152)
           ├─lvmetad(369)
           ├─master(1049)─┬─pickup(31377,postfix)
           │              └─qmgr(1053,postfix)
           ├─mysqld_safe(30347)───mysqld(31055,mysql)─┬─{mysqld}(31182)
           │                                          ├─{mysqld}(………)
           │                                          └─{mysqld}(29357)
           ├─polkitd(518,polkitd)─┬─{polkitd}(567)
           │                      ├─{polkitd}(………)
           │                      └─{polkitd}(572)
           ├─rsyslogd(1060)─┬─{rsyslogd}(1074)
           │                └─{rsyslogd}(1153)
           ├─sshd(1062)─┬─sshd(16533)───sshd(16536,ape10016)─┬─bash(928)───sleep(933)
           │            │                                    ├─bash(16537)───pstree(934)
           │            │                                    └─bash(16556)───top(16606)
           │            └─sshd(24614)───sshd(24640,ape10006)─┬─sftp-server(24662)
           │                                                 ├─sftp-server(.........)
           │                                                 └─sftp-server(24756)
           ├─systemd-journal(350)
           ├─systemd-logind(550)
           ├─systemd-udevd(375)
           └─tuned(844)─┬─{tuned}(1089)
                        ├─{tuned}(1090)
                        ├─{tuned}(1092)
                        └─{tuned}(1094)

        kill:关闭进程

                kill -1 pid:重启进程

                kill -9 pid:强制关闭进程

        top:动态的查看进程信息,每5s刷新

挂起当前进程:ctrl+z

终止当前进程:ctrl+c

jobs:查看挂起的进程

fg 挂起编号:挂起编号调至前台执行

bg 挂起编号:挂起编号调至后台执行

nohup 命令 &:

        &:&写在命令后;&是指将该命令在后台运行;
        nohup:使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是ssh连接状态断开时(退出帐户时),作业就会停止运行。nohup命令可以在ssh连接状态断开之后继续运行相应的进程,默认情况下标准输出和标准错误会被重定向到 nohup.out 文件中。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:

nohup command &

        

负载查看

uptime :命令可以显示的信息显示如下图

free : 用于显示内存状态。

        free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

        空闲内存:available = free + buffer(缓冲) + cache(缓存)

mpstat :CPU核状态(默认系统启动以来的平均值)

ifstat : 网卡网络状态

 df :(英文全称:disk free)查看磁盘的使用率

vmstat:显示虚拟内存状态,显示进程、内存、I/O等系统整体运行状态

w:显示目前登录系统用户的信息

 top:类似与windows的任务管理器实时更新(其他没有标注的在上文有讲解,不再绘图)

楼主饿的写不下去了,淦饭去,有缘更新

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值