Linux笔记精简版-1

本文介绍了Linux系统中用户账号的添加、权限管理(包括文件和目录权限、chown和chmod命令)、组管理(添加用户到组、修改用户组)、任务调度(crontab)、磁盘操作、进程管理和防火墙配置等内容。
摘要由CSDN通过智能技术生成

组,权限,

添加新的用户账号使用useradd命令

useradd 选项 用户名

修改所属组和用户权限

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

上图所示,从左到右,共4组,依次表示1-文件属性,2-所属主权限,3-组成员的权限,4-其他人权限

rwx,分别对应,读写执行,如果没有此权限则是”-“

chown (change owner) : 修改文件的所属用户。

[root@localhost ~]# chown bin 1.txt  #修改1.txt的文件所属者为bin
[root@localhost ~]# ll
total 28
-rw-r--r--. 1 root root   144 Feb 27 08:32 1.tar.gz
-rw-r--r--. 1 bin  root     0 Feb 28 05:30 1.txt

修改文件的所属组

[root@localhost ~]# ll
total 28
-rw-r--r--. 1 root root   144 Feb 27 08:32 1.tar.gz
-rw-r--r--. 1 bin  root     0 Feb 28 05:30 1.txt
[root@localhost ~]# chgrp monster 1.txt 
[root@localhost ~]# ll
total 28
-rw-r--r--. 1 root root      144 Feb 27 08:32 1.tar.gz
-rw-r--r--. 1 bin  monster     0 Feb 28 05:30 1.txt
  • 添加用户并加入到组中

[root@localhost ~]# groupadd monster #创建组
[root@localhost ~]# useradd  fox     #创建用户
[root@localhost ~]# usermod -aG  monster fox   #将用户加入到组中,-a表示添加G表示加入到组的名字

查看组

改变用户的所在组

[root@localhost ~]# id hi  #查看hi用户信息
uid=1005(hi) gid=1006(monster) groups=1006(monster)
[root@localhost ~]# usermod -g fox hi   #修改hi到fox
[root@localhost ~]# id hi  
uid=1005(hi) gid=1007(fox) groups=1007(fox)

rwx权限-难点

rwx作用文件

1.【r】可以读取,查看文件

2.【w】可以修改文件,但无法删除,想要删除,必须要有,文件所在的目录的w权限

3.【x】可以执行文件,./执行

rwx作用目录

1.【r】可以读取目录的内容

2.【w】可以修改目录,删除,创建,重命名

3.【x】可以进入此目录

修改权限chmod

语法:

u=所有者,g=所有组,o=其他人,a=所有人

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名

所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:

 chmod [-R] xyz 文件或目录

实践案例

#创建组
[root@localhost ~]# groupadd police 
[root@localhost ~]# groupadd bandit
#创建警察角色
[root@localhost ~]# useradd -g police jack 
[root@localhost ~]# useradd -g police jerry
#创建土匪角色
[root@localhost ~]# useradd -g bandit xh
[root@localhost ~]# useradd -g bandit xq
#创建文件赋予权限
[root@localhost ~]# touch jack.txt && chmod 640 jack.txt
[root@localhost ~]# chmod o=r,g=r jack.txt
[root@localhost ~]# usermod  -g police xh

任务调度

Linux crontab 是用来定期执行程序的命令。

当安装完成操作系统之后,默认便会启动此任务调度命令。

crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作

注意:新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行。

而 linux 任务调度的工作主要分为以下两类:

  • 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
  • 2、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

时间说明

特殊符号

案例说明

[root@localhost home]# crontab -e  #编辑
[root@localhost home]# crontab -l  #查看当前任务
*/1 * * * * /home/my.sh

#重新启动调度任务
[root@localhost home]# service  crond restart 
Redirecting to /bin/systemctl restart crond.service

[root@localhost home]# crontab -r  #终止任务

定时任务

案例

磁盘

Linux的硬盘和目录有对应关系,可以将某分区挂载到某目录上,在此目录的数据就会存储到此磁盘上

[root@localhost home]# fdisk /dev/sda  #增加分区,m帮助,n添加,w保存
[root@localhost home]# mkfs -t ext4 /dev/sda1 #给分区格式化
[root@localhost home]# mount /dev/sda1 /home/test #将新创建的分区挂载到test目录上,以后在此目录上创建的数据都会存放在sda1这个分区中,sda这个磁盘中

永久挂载

vi  /etc/fstab

最后的 0 0 代表,是否备份,是否检测

mount-a的意思是将/etc/fstab的所有内容重新加载

磁盘操作命令

查询整体情况

[root@localhost ~]# df -h

查询指定目录的情况

[root@localhost ~]# du - h

工作中实用命令

显示opt下文件的个数

[root@localhost ~]# ll /opt/ | grep "^-" | wc -l
0

显示目录的个数

[root@localhost ~]# ls -l  /opt/ | grep "^d" | wc -l
2

显示文件的个数,包括子目录的

[root@localhost ~]# ls -lR  /opt/ | grep "^-" | wc -l
1

主机名

#查看主机名及详细信息

[root@localhost ~]# hostnamectl 
   Static hostname: localhost
         Icon name: computer-vm
           Chassis: vm
        Machine ID: de75d6e53bef49c7b6e8418ba9ac21c7
           Boot ID: 6a54f93645d74f65a446412888751038
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-862.el7.x86_64
      Architecture: x86-64

#修改主机名为master

hostnamectl set-hostname master

#修改后需要重启,才可以生效,或者用“bash”命令重新开一个线程,(推荐重启)

主机映射

[root@localhost ~]# vi /etc/hosts

在里面添加本机的用户名和ip地址例如:

192.168.100.10   localhost

添加后,可以直接ping用户名,系统自动解析对方的ip

ping  localhost

进程管理(重点)

在Linux中,一个程序就是一个进程,每一个进程都会被分配一个pid,进程号

进程分为,前台:后台

系统服务一般都是后台服务

Linux      ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程
  • STAT: 该行程的状态:

    • D: 无法中断的休眠状态 (通常 IO 的进程)
    • R: 正在执行中
    • S: 静止状态
    • T: 暂停执行
    • Z: 不存在但暂时无法消除 (僵死进程,最好不要出现)
    • W: 没有足够的记忆体分页可分配
    • <: 高优先序的行程
    • N: 低优先序的行程
    • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

[root@localhost ~]# ps -aux | grep sshd  #查看是否有sshd的进程
root        938  0.0  0.1 112796  4280 ?        Ss   00:32   0:00 /usr/sbin/sshd -D
root       1426  0.0  0.1 158804  5556 ?        Ss   00:33   0:00 sshd: root@pts/0
root       1503  0.0  0.0 112704   956 pts/0    R+   01:15   0:00 grep --color=auto sshd

# ps -ef //显示所有命令,连带命令行  e显示所有进程  f全格式  
注意:-ef会查出来  ppid 是父进程的id,工作中常用的查看父进程

# ps -u root //显示root进程用户信息

# ps -A   // 列出所有的进程


子父进程

#查看sshd的父进程

可以看到sshd的父进程是1,去查看1的进程是

[root@localhost ~]# ps -ef | grep sshd
root        938      1  0 00:32 ?        00:00:00 /usr/sbin/sshd -D
root       1426    938  0 00:33 ?        00:00:00 sshd: root@pts/0


#通过查看子父进程得知sshd的关系是
/usr/sbin/sshd    是938号进程  父亲是  1号进程
sshd: root@pts/0 (解释:用root登录的sshd) 的父亲是  938也就是 /usr/sbin/sshd

终止进程

Linux kill 命令用于删除执行中的程序或工作。

kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。

最常用的信号是:

  • 1 (HUP):重新加载进程。
  • 9 (KILL):杀死一个进程。
  • 15 (TERM):正常停止一个进程。

pstree树状看进程(技巧)

可以更清晰的看进程的树状关系

#树状看进程
[root@localhost ~]# yum install -y psmisc  #安装pstree
[root@localhost ~]# pstree -p #显示进程号
systemd(1)─┬─NetworkManager(680)─┬─{NetworkManager}(696)
           │                     └─{NetworkManager}(707)
           ├─VGAuthService(665)
           ├─agetty(689)
           ├─anacron(1614)


[root@localhost ~]# pstree -u  #显示用户

服务

注意:有一些系统不带setup

服务运行级别

chkconfig实例  

注意:一下查出来的服务级别和上图运行级别一一对应,

列出chkconfig 所知道的所有命令。

# chkconfig --list 

开启服务。

# chkconfig telnet on   //开启 Telnet 服务
# chkconfig --list      //列出 chkconfig 所知道的所有的服务的情况

关闭服务

# chkconfig telnet off  // 关闭 Telnet 服务
# chkconfig --list      // 列出 chkconfig 所知道的所有的服务的情况

systemctl

如何查看防火墙的服务名

因为/usr/lib/systemd/system下是systemctl控制的服务

[root@localhost ~]# ls -l /usr/lib/systemd/system | grep fire

关闭防火墙

[root@localhost ~]# systemctl status firewalld  查看防火墙状态
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

[root@localhost ~]# systemctl stop firewalld  #关闭防火墙


[root@localhost ~]# systemctl disable firewalld  #禁止防火墙自启,否则重启会自动开启防火墙
 
[root@localhost ~]# systemctl is-enabled firewalld   #查看是否自启动
disabled  #否

指定打开关闭端口

#开启111端口
[root@localhost ~]# firewall-cmd --permanent --add-port=111/tcp 
#刷新防火墙
[root@localhost ~]# firewall-cmd --reload
#查看111端口是否开启
[root@localhost ~]# firewall-cmd --query-port=111/tcp
#关闭111
[root@localhost ~]# firewall-cmd --permanent --remove-port=111/tcp

动态监控系统

Linux top 是一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。

使用权限:所有使用者。

  • -d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -p <进程ID>:仅显示指定进程ID的信息。
  • -u <用户名>:仅显示指定用户名的进程信息。
  • -H:在进程信息中显示线程详细信息。
  • -i:不显示闲置(idle)或无用的进程。
  • -b:以批处理(batch)模式运行,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -S:累计显示进程的 CPU 使用时间。
  • uptime:系统的运行时间和平均负载。
  • tasks:当前运行的进程和线程数目。
  • CPU:总体 CPU 使用率和各个核心的使用情况。
  • 内存(Memory):总体内存使用情况、可用内存和缓存。

终止进程时,先输入pid,然后输入信号量如:9

参考:韩顺平教育  菜鸟教程

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值