Linux--day04\05

2023-05-16

知识点和问题

        • 1.Linux组基本介绍
        • 2.查看文件的所有者
        • 3.创建一个组police,再创建一个用户tom,将tom放在police中,然后使用tom来创建ok.txt文件,看看情况如何。
        • 4.使用root创建一个文件apple.txt ,然后将其所有者修改成 tom
        • 5.使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit组。
        • 6.将tom这个用户从原来所在组,修改到 bandit 组。
        • 7.在root中创建一个test.txt文件,将其所有者改成tom,所在组改成bandit
        • 8.权限的基本介绍
        • 9.rwx权限详解
        • 10.问题命令
        • 11.要求:将 /home/aaa.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
        • 12.问题命令
        • 13.命令问题
        • 14.课后习题练习
        • 15.crond任务调度
        • 16.命令案例
        • 17.crond 相关指令
        • 18.分区的方式
        • 19.Linux分区
        • 20.Linux分区硬盘说明
        • 21.查看分区命令
        • 22.给我们的Linux系统增加一个新的硬盘,并且挂载到/home/newdisk
        • 23.查询系统整体磁盘使用情况
        • 24.卸载磁盘
        • 25.查询指定目录/home的磁盘占用情况
        • 26.查询 /opt 目录的磁盘占用情况,深度为1
        • 27.磁盘情况--工作使用指令
        • 27.网络配置
        • 28.查看网络IP和网关
        • 29.Windows和VM和CentOs的关系说明
        • 30.虚拟机网络连接三种形式的说明
        • 31.linux网络环境配置
        • 32.linux进程基本概念
        • 33.显示系统执行的进程的基本命令
        • 34.查看有没有指定的服务在运行
        • 35. 以全格式显示当前所有的进程,查看进程的父进程
        • 36.查看sshd进程的父进程是多少?
        • 37.终止进程
        • 38.查看进程树

1.Linux组基本介绍

在linux中的每个用户必须属于一个组,不能独立于组外。
在linux中每个文件
有所有者
所在组
其它组的概念

2.查看文件的所有者

[tom@localhost ~]$ ls -ahl

3.创建一个组police,再创建一个用户tom,将tom放在police中,然后使用tom来创建ok.txt文件,看看情况如何。

[root@localhost ~]# groupadd police
[root@localhost ~]# useradd -g police tom
[tom@localhost ~]$ touch ok.txt
[tom@localhost ~]$ ls -ahl
总用量 28K
drwx------. 4 tom  police 4.0K 63 10:20 .
drwxr-xr-x. 9 root root   4.0K 63 10:16 ..
-rw-r--r--. 1 tom  police   18 511 2016 .bash_logout
-rw-r--r--. 1 tom  police  176 511 2016 .bash_profile
-rw-r--r--. 1 tom  police  124 511 2016 .bashrc
drwxr-xr-x. 2 tom  police 4.0K 1112 2010 .gnome2
drwxr-xr-x. 4 tom  police 4.0K 529 03:08 .mozilla
-rw-r--r--. 1 tom  police    0 63 10:20 ok.txt

4.使用root创建一个文件apple.txt ,然后将其所有者修改成 tom

[root@localhost test]# touch apple.txt
[root@localhost test]# chown tom apple.txt
[root@localhost test]# ls -ahl
-rw-r--r--. 1 tom  root    0 63 10:23 apple.txt

5.使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit组。

[root@localhost test]# touch orange.txt
[root@localhost test]# ls -ahl
-rw-r--r--. 1 root root    0 63 10:28 orange.txt
[root@localhost test]# chgrp police orange.txt
[root@localhost test]# ls -ahl
-rw-r--r--. 1 root police    0 63 10:28 orange.txt

6.将tom这个用户从原来所在组,修改到 bandit 组。

改变用户所在组

  1. usermod –g 组名 用户名
  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。
[root@localhost test]# groupadd bandit
[root@localhost test]# usermod -g bandit tom
[tom@localhost ~]$ id tom
uid=503(tom) gid=505(bandit)=505(bandit)

7.在root中创建一个test.txt文件,将其所有者改成tom,所在组改成bandit

[root@localhost test]# touch test.txt
[root@localhost test]# chown tom test.txt
[root@localhost test]# chgrp bandit test.txt
[root@localhost test]# ls -ahl
总用量 40K
-rw-rw-r--. 1 tom  bandit    0 63 10:36 test.txt

8.权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位说明

  1. 第0位确定文件类型(d(目录), -(普通文件) , l(链接文件) , c(字符设备) , b(块文件,硬盘))
  2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
  3. 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
  4. 第7-9位确定其他用户拥有该文件的权限 —Other
  5. 1 :文件:硬连接数或 目录:子目录数
    6)root 用户
    7)root 组
    8)1213 文件大小(字节),如果是文件夹,显示 4096字节
    9)Feb 2 09:39 最后修改日期
    10)abc 文件名

9.rwx权限详解

rwx作用到文件

  1. [ r ]代表可读(read): 可以读取,查看
  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
  3. [ x ]代表可执行(execute):可以被执行
    rwx作用到目录
  4. [ r ]代表可读(read): 可以读取,ls查看目录内容
  5. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  6. [ x ]代表可执行(execute):可以进入该目录
    注意:目录本身也占用空间

10.问题命令

  1. 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
[root@localhost test2]# touch abc
[root@localhost test2]# chmod u=rwx,g=rx,o=rw abc
  1. 给abc文件的所有者除去执行的权限,增加组写的权限
[root@localhost test2]# chmod u-x,g+w abc
  1. 给abc文件的所有用户添加读的权限
[root@localhost test2]# chmod a+r abc

第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名

11.要求:将 /home/aaa.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:

[root@localhost test2]# chmod 755 aaa.txt
第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名

12.问题命令

1.请将 /home/abc .txt 文件的所有者修改成 tom

[root@localhost test2]# chown tom aaa.txt
[root@localhost test2]# ll
总用量 16
-rwxr-xr-x. 1 tom  test 1104 62 21:57 aaa.txt

2.请将 /home/kkk 目录下所有的文件和目录的所有者都修改成tom
注意:要使用root权限的用户来操作

[root@localhost test2]# chown -R tom bbb
[root@localhost test2]# cd bbb
[root@localhost bbb]# ll
总用量 0
-rw-rw-r--. 1 tom test 0 62 21:49 aaa.txt

基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效

13.命令问题

1.请将 abc .txt 文件的所在组修改成 police

[root@localhost bbb]# touch abc.txt
[root@localhost bbb]# chgrp police abc.txt
[root@localhost bbb]# ll
总用量 0
-rw-rw-r--. 1 tom  test   0 62 21:49 aaa.txt
-rw-r--r--. 1 root police 0 63 12:15 abc.txt

2.请将 /home/bbb 目录下所有的文件和目录的所在组都修改成 police

[root@localhost test2]# chgrp -R police bbb

14.课后习题练习

15.crond任务调度

基本语法:
crontab [选项]
常用选项
在这里插入图片描述
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
快速入门
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt命令
参数细节说明
• 5个占位符的说明
在这里插入图片描述
特殊符号的说明
在这里插入图片描述

16.命令案例

案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
先编写脚本:

[root@localhost home]# touch mytask1.sh
[root@localhost home]# vim mytask1.sh

脚本内容为:
date>>/tmp/mydate
修改脚本权限:

[root@localhost home]# chmod 744 mytask1.sh

输入命令

[root@localhost home]# crontab -e

添加执行内容
*/1 * * * * /home/mytask1.sh
案例2:每隔1分钟, 将当前日期和日历都追加到 /home/mycal 文件中

[root@localhost test]# touch mytask2.sh
[root@localhost test]# vim mytask2.sh
[root@localhost test]# cat mytask2.sh
date>>/home/mycal
cal>>/home/mycal

开放脚本权限

[root@localhost test]# chmod 744 mytask2.sh
You have new mail in /var/spool/mail/root
[root@localhost home]# crontab -e

添加执行内容

*/1 * * * * /home/test/mytask1.sh

17.crond 相关指令

  1. conrtab –r:终止任务调度。
  2. crontab –l:列出当前有那些任务调度
  3. service crond restart [重启任务调度]

18.分区的方式

  1. mbr分区:
    1.最多支持四个主分区
    2.系统只能安装在主分区
    3.扩展分区要占一个主分区
    4.MBR最大只支持2TB,但拥有最好的兼容性
  2. gtp分区:
    1.支持无限多个主分区(但操作系统可能限制,比如 windows下最多128个分区)
    2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
    3.windows7 64位以后支持gtp

19.Linux分区

  1. Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。
  2. Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

20.Linux分区硬盘说明

  1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
  2. 对于IDE硬盘,驱动器标识符为“hdx”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
  3. 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

21.查看分区命令

[root@localhost home]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda                                                      
├─sda1 ext4         a62c3aaa-dac5-4289-ab59-7c593196fa77 /boot
├─sda2 swap         7d61c95c-4d1a-498b-ac78-dbfc08164782 [SWAP]
└─sda3 ext4         1a3945f0-a01a-4283-9729-4ce5d09c7d46 /
sr0 

说明:
分区情况 分区类型 唯一标志分区的40位不重复的字符串 挂载点

[root@localhost dev]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 17.8G  0 part /
sr0     11:0    1 1024M  0 rom   

22.给我们的Linux系统增加一个新的硬盘,并且挂载到/home/newdisk

1.创建虚拟化硬盘
虚拟机->设置->硬盘->下一步,重启机器
2.分区

[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x3fe24f57.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): 
Using default value 261

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

3.格式化

[root@localhost ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524112 blocks
26205 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912
 
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

4.挂载
先创建一个目录

[root@localhost home]# mkdir newdisk
挂载(临时挂载)
[root@localhost home]# mount /dev/sdb1 /home/newdisk
[root@localhost home]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdb                                                      
└─sdb1 ext4         c6589edc-cea8-4f8b-95f3-3db860379977 /home/newdisk
sda                                                      
├─sda1 ext4         a62c3aaa-dac5-4289-ab59-7c593196fa77 /boot
├─sda2 swap         7d61c95c-4d1a-498b-ac78-dbfc08164782 [SWAP]
└─sda3 ext4         1a3945f0-a01a-4283-9729-4ce5d09c7d46 /
sr0  

5.设置永久挂载

[root@localhost home]# vim /etc/fstab

修改文件,添加一行

/dev/sdb1                                 /home/newdisk           ext4    defaults        0 0
设置自动挂载
[root@localhost home]# mount -a
[root@localhost home]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdb                                                      
└─sdb1 ext4         c6589edc-cea8-4f8b-95f3-3db860379977 /home/newdisk
sda                                                      
├─sda1 ext4         a62c3aaa-dac5-4289-ab59-7c593196fa77 /boot
├─sda2 swap         7d61c95c-4d1a-498b-ac78-dbfc08164782 [SWAP]
└─sda3 ext4         1a3945f0-a01a-4283-9729-4ce5d09c7d46 /
sr0                 

23.查询系统整体磁盘使用情况

[root@localhost home]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        18G  3.3G   14G  20% /
tmpfs           996M   80K  996M   1% /dev/shm
/dev/sda1       190M   37M  144M  21% /boot
.host:/         384G  111G  273G  29% /mnt/hgfs
/dev/sdb1       2.0G  3.0M  1.9G   1% /home/newdisk

24.卸载磁盘

[root@localhost home]# umount /home/newdisk
需要修改自动挂载文件
[root@localhost home]# vim /etc/fstab

25.查询指定目录/home的磁盘占用情况

[root@localhost home]# du -h /home

基本语法
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
–max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

26.查询 /opt 目录的磁盘占用情况,深度为1

[root@localhost home]# du -ach --max-depth=1 /opt
100K /opt/tmp
214M /opt/vmware-tools-distrib
69M /opt/VMwareTools-10.0.5-3228253.tar.gz
136K /opt/tmp2
283M /opt
283M 总用量

27.磁盘情况–工作使用指令

  1. 统计/home文件夹下文件的个数
[root@localhost home]# ls -l /home | grep "^-" | wc -l
11
  1. 统计/home文件夹下目录的个数
[root@localhost home]# ls -l /home | grep "^d" | wc -l
6
  1. 统计/home文件夹下文件的个数,包括子文件夹里的
[root@localhost home]# ls -lR /home | grep "^d" | wc -l
9
  1. 统计文件夹下目录的个数,包括子文件夹里的
[root@localhost home]# ls -lR /home |grep "^-" |wc -l
28
  1. 以树状显示目录结构
[root@localhost ~]# tree /

27.网络配置

在这里插入图片描述

28.查看网络IP和网关

1.查看虚拟网络编辑器
编辑->虚拟网络编辑器
2.修改ip
编辑->虚拟网络编辑器->更改设置
3.查看网关
编辑->虚拟网络编辑器->更改设置->NAT模式->NAT设置

29.Windows和VM和CentOs的关系说明

在这里插入图片描述

30.虚拟机网络连接三种形式的说明

在这里插入图片描述

31.linux网络环境配置

第一种方式(自动连接)
系统->首选项->网络连接->编辑->选上自动连接
缺点:Linux启动后会自动获取ip,但是每次自动获取的ip地址可能不一样
第二种方式
直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0
要求:将ip地址配置的静态的,ip地址为192.168.184.130

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=f6d947fa-3b89-4162-96c9-da4c647e8e39
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:97:74:79
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1591193017
IPADDR=192.168.44.128
GATEWAY=192.168.44.2
DNS1=192.168.44.2

其中重要的地方如下:
ONBOOT=yes ##启用boot
BOOTPROTO=static ##以静态的方式获取IP
IPADDR=192.168.44.128 ##指定IP
GATEWAY=192.168.44.2 ##dns和网关保持一致即可
DNS1=192.168.44.2
重启网络服务

[root@localhost ~]# service network restart

32.linux进程基本概念

  1. 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
  3. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

33.显示系统执行的进程的基本命令

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.显示当前终端所有进程信息

[root@localhost ~]# ps -a
   PID TTY          TIME CMD
  4763 pts/2    00:00:00 ps

以用户的格式显示进程信息

[root@localhost ~]# ps -u
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       2602  0.0  0.0   4064   592 tty2     Ss+  20:43   0:00 /sbin/mingetty /dev/tty2
root       2604  0.0  0.0   4064   588 tty3     Ss+  20:43   0:00 /sbin/mingetty /dev/tty3
root       2606  0.0  0.0   4064   592 tty4     Ss+  20:43   0:00 /sbin/mingetty /dev/tty4
root       2608  0.0  0.0   4064   584 tty5     Ss+  20:43   0:00 /sbin/mingetty /dev/tty5
root       2610  0.0  0.0   4064   592 tty6     Ss+  20:43   0:00 /sbin/mingetty /dev/tty6
root       2636  0.1  3.9 226848 79724 tty1     Ss+  20:43   0:07 /usr/bin/Xorg :0 -br -verbose -audit 4 -auth /var/run/gdm/auth-for-gdm-YODgMh/d
root       3268  0.0  0.0 108312  1932 pts/0    Ss+  20:45   0:00 /bin/bash
root       3284  0.0  0.0 108312  1968 pts/1    Ss+  20:45   0:00 -bash
root       3983  0.0  0.0 108312  1932 pts/2    Ss   21:48   0:00 -bash
root       4764  0.0  0.0 110236  1184 pts/2    R+   22:26   0:00 ps -u

显示后台进程运行的参数

[root@localhost ~]# ps -x

在这里插入图片描述
列表说明:
• System V展示风格
• USER:用户名称
• PID:进程号
• %CPU:进程占用CPU的百分比
• %MEM:进程占用物理内存的百分比
• VSZ:进程占用的虚拟内存大小(单位:KB)
• RSS:进程占用的物理内存大小(单位:KB)
• TT:终端名称,缩写 .
• STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
• STARTED:进程的启动时间
• TIME:CPU时间,即进程使用CPU的总时间
• COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

34.查看有没有指定的服务在运行

指令:ps –aux|grep xxx ,比如我看看有没有sshd服务

[root@localhost ~]# ps -aux | grep sshd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       2323  0.0  0.0  66236  1200 ?        Ss   20:43   0:00 /usr/sbin/sshd
root       3280  0.0  0.2 102232  4212 ?        Ss   20:45   0:01 sshd: root@pts/1 
root       3974  0.0  0.2 102084  4136 ?        Ss   21:47   0:00 sshd: root@pts/2 
root       4808  0.0  0.0 103328   908 pts/2    S+   22:32   0:00 grep sshd

35. 以全格式显示当前所有的进程,查看进程的父进程

[root@localhost ~]# ps -ef | more
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 20:43 ?        00:00:01 /sbin/init
root          2      0  0 20:43 ?        00:00:00 [kthreadd]
root          3      2  0 20:43 ?        00:00:00 [migration/0]

36.查看sshd进程的父进程是多少?

[root@localhost ~]# ps -ef | grep sshd
root       2323      1  0 20:43 ?        00:00:00 /usr/sbin/sshd
root       3280   2323  0 20:45 ?        00:00:01 sshd: root@pts/1 
root       3974   2323  0 21:47 ?        00:00:00 sshd: root@pts/2 
root       4846   3983  0 22:38 pts/2    00:00:00 grep sshd

37.终止进程

案例1:踢掉某个非法登录用户

[root@localhost 桌面]# ps -aux | grep sshd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       2323  0.0  0.0  66236  1200 ?        Ss   20:43   0:00 /usr/sbin/sshd
root       3280  0.0  0.2 102232  4212 ?        Ss   20:45   0:01 sshd: root@pts/1 
root       4868  0.1  0.1 102084  4044 ?        Ss   22:42   0:00 sshd: test [priv]
test       4872  0.0  0.0 102084  1840 ?        S    22:42   0:00 sshd: test@pts/2 
root       4918  0.0  0.0 103328   912 pts/0    S+   22:44   0:00 grep sshd
[root@localhost 桌面]# kill 4872

案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

[root@localhost 桌面]# kill 2323

案例3: 终止多个gedit 编辑器

[root@localhost 桌面]# killall gedit

案例4:强制杀掉一个终端

[root@localhost 桌面]# ps -aux | grep bash
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       3268  0.0  0.0 108392  2004 pts/0    Ss+  20:45   0:00 /bin/bash
root       3284  0.0  0.0 108312  1968 pts/1    Ss+  20:45   0:00 -bash
root       4944  0.0  0.0 108312  1932 pts/2    Ss   22:48   0:00 /bin/bash
root       4964  0.0  0.0 103324   904 pts/2    S+   22:49   0:00 grep bash
[root@localhost 桌面]# ps -aux | grep bash
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root       3268  0.0  0.0 108392  2004 pts/0    Ss+  20:45   0:00 /bin/bash
root       3284  0.0  0.0 108312  1968 pts/1    Ss+  20:45   0:00 -bash
root       4944  0.0  0.0 108312  1940 pts/2    Ss   22:48   0:00 /bin/bash
root       4971  0.0  0.0 103324   904 pts/2    S+   22:50   0:00 grep bash
[root@localhost 桌面]# kill -9 3268

基本语法:
kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负
载过大而变得很慢时很有用)
常用选项:
-9 :表示强迫进程立即停止

38.查看进程树

案例1:请你树状的形式显示进程的pid

[root@localhost 桌面]# pstree -p

案例2:请你树状的形式进程的用户id

pstree -u

基本语法:
pstree [选项] ,可以更加直观的来看进程信息
常用选项:
-p :显示进程的PID
-u :显示进程的所属用户

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux--day04\05 的相关文章

  • 如何使用sprof?

    请举例说明 从邮件中找到here http sources redhat com ml libc alpha 2003 07 msg00029 html and here http sourceware org ml binutils 20
  • 即使 makefile 和源代码存在,为什么“Build Project”在 Eclipse Helios CDT 中显示为灰色?

    我无法构建我的项目 我在 Eclipse Helios 中创建了一个新的 CDT 项目 并告诉它使用现有的源代码和 makefile 这两者都正确显示在 Package 和 Project 视图中 然而 项目 菜单中的 构建全部 和 构建项
  • 在64位操作系统上以32位模式和64位模式编译ioctl函数的执行有什么不同?

    我有 64 位 Enterprise SuSE 11 我有一个应用程序 它打开 HIDRAW 设备并在其上操作 ioctl 函数以从该设备获取原始信息 如下所示 struct hidraw devinfo devinfo int fd op
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • 有关 Linux 内存类型的问题

    关于Linux内存我有以下问题 我知道活动内存是最常访问的内存部分 但是有人可以解释一下 linux 如何考虑将内存位置用于活动内存或非活动内存 主动存储器由哪些部分组成 磁盘 文件缓存是否被视为活动内存的一部分 有什么区别Buffers
  • 跟踪 pthread 调度

    我想做的是创建某种图表 详细说明 Linux 中 两个 线程的执行情况 我不需要查看线程的作用 只需查看它们何时被安排以及持续多长时间 基本上是一条时间线 在过去的几个小时里 我一直在互联网上搜索跟踪 pthread 调度的方法 不幸的是
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 对 sf:: 的未定义引用

    我想用 C 制作 GUI 应用程序 发现 SFML 是一个不错的选择 幸运的是 我使用的是 Linux 所以 SFML 2 4 已经安装在我的系统上 所以我开始搜索一些教程并找到了一个制作简单窗口的教程 但是当我运行代码时 出现错误 提示未
  • 原生 Linux 应用程序可像 ResHacker 一样编辑 Win32 PE

    我想运行自动修改 dll服务 用户提交特定的 dll 我在服务器上修改它 然后用户可以下载 dll的修改版本 是否有任何本机 Linux 应用程序提供常见的 Win32 PE 修改功能 例如图标 字符串 加速器 对话等 至少提供命令行或脚本
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 远程linux服务器到远程linux服务器大型稀疏文件复制 - 如何?

    我有两台 CentOS 5 4 服务器 每台服务器上都安装了 VMware Server 假设我始终对 vmware 虚拟机使用稀疏文件 将虚拟机文件从一台服务器复制到另一台服务器的最可靠 最快速的方法是什么 虚拟机的文件复制起来很痛苦 因
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • R 未获取用户库

    我有一个带 R 3 6 0 的 Fedora 30 系统 用户库设置在Renviron就像这个 R LIBS USER R LIBS USER R x86 64 redhat linux gnu library 3 6 事实上 它出现在交互
  • Linux、ARM:为什么仅当启动时存在 I2C GPIO 扩展器时才创建 gpiochip

    在 imx6sx 硬件平台 NXP 嵌入式 ARM 上使用 Linux 3 14 52 问题是设备树中指定的 PCF8575 I2C GPIO 扩展器不会实例化为 sys class gpio 结构中的设备 除非它们在内核启动期间存在 这些
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0

随机推荐

  • 丑数(c语言)

    题目描述 我们把只包含质因子2 3和5的数称作丑数 xff08 Ugly Number xff09 例如6 8都是丑数 xff0c 但14不是 xff0c 因为它包含因子7 习惯上我们把1当做是第一个丑数 输入一个数n xff0c 判断它是
  • 2022/12/30总结

    今日学习了二叉树有关知识 二叉树 二叉树通俗来讲就是一个有俩个指针的链表 他们大多长这个样子 xff1a 这里还有俩个概念了 xff0c 二叉树分为完全二叉树和满二叉树 上面所说的是满二叉树 xff0c 顾名思义就是每个父节点都相应的有俩个
  • 滑动窗口算法

    滑动窗口 滑动窗口有俩种 xff1a 定窗口和不定窗口 滑动窗口说白了就是双指针的运用 定窗口说明是一个特定窗口大小 xff0c 通常用来解决相邻的元素 xff0c 最大值 xff0c 最小值 不定窗口说的是 xff0c 先由右指针去找到第
  • 本学期学习计划

    第7周 学习MySQL 写7个基础题 第8周 熟悉C 43 43 语言 学习maven 写7个基础题 第9周 巩固java和MySQL和maven 写5道中等题 第10周 写好项目框架 写5道中等的题目 第11周 写好项目一些基本功能 刷5
  • 2023/4/2总结

    题解 线段树OR树状数组 Virtual Judge vjudge net 正如这道题目一样 xff0c 我的心情也如此 1 这道题是线段树问题 xff0c 更改学生值即可 xff0c 不需要用到懒惰标记 2 再去按照区间查找即可 xff0
  • 2023/4/27总结

    第一周任务 Virtual Judge vjudge net 1 这道题目穷举即可 最多90次 include lt stdio h gt int getLucky int x int a 10 i n t 61 x max 61 0 mi
  • 2023/5/4总结

    刷题 xff1a 第二周任务 Virtual Judge vjudge net 这一题用到了素筛 然后穷举即可 include lt stdio h gt define Maxsize 500000 int a Maxsize long l
  • Epoll原理解析

    从事服务端开发 xff0c 少不了要接触网络编程 Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要 xff0c Nginx Redis Skynet 和大部分游戏服务器都使用到这一多路复用技术 Epoll 很重要 xff0
  • 2023/5/7总结

    最近还是在项目上 xff1a 主要实现了 xff1a 把头像的数据传给服务器 xff1a 服务器开一个文件夹接收 发送文件是 xff0c 用字节流传递很容易出错 xff0c 我因此坏掉了很多文件 这样写就没有坏掉 xff0c 之前一直是图片
  • 2023/5/9总结

    项目 xff1a 这俩天在看文件分流 xff0c 虽然看的原理是把文件切割 xff0c 传输的时候带着下标值 xff0c 或者在字节头去实现 xff0c 然后在服务器当中结合 但是实现起来遇到了很多问题 xff1a 1 需要另外开辟端口号来
  • putty使用方法,中文教程

    转自 http hi baidu com dba chen blog item ce6a7f54cb6522173b29351e html putty使用方法 xff0c 中文教程 序言 大致内容罗列如下 xff1a 最简单的使用 xff0
  • 用 VNC + Putty 把图形界面带出防火墙

    用 VNC 43 Putty 把图形界面带出防火墙 转自http blog sina com cn s blog 53a2aec8010009b6 html 2007 05 24 18 15 24 转载 分类 xff1a 工作 单位的服务器
  • 配置VNC+PuTTY+SSH Tunnel访问Linux

    转自 http blog 163 com yunlei ma blog static 12720893520098492716722 配置VNC 43 PuTTY 43 SSH Tunnel访问Linux 2009 09 04 21 27
  • 如何在c/c++里输出系统时间

    include lt stdio h gt include lt time h gt void main time t rawtime struct tm timeinfo time amp rawtime timeinfo 61 loca
  • 控制台窗口操作

    用于控制台窗口操作的API函数如下 xff1a GetConsoleScreenBufferInfo 获取控制台窗口信息 GetConsoleTitle 获取控制台窗口标题 ScrollConsoleScreenBuffer 在缓冲区中移动
  • 图像增强?图像复原??

    图像增强的目标是改进图片的质量 xff0c 例如增加对比度 xff0c 去掉模糊和噪声 xff0c 修正几何畸变等 xff1b 图像复原是在假定已知模糊或噪声的模型时 xff0c 试图估计原图像的一种技术 图像增强按所用方法可分成频率域法和
  • SQL SERVER DATETIME 常用日期格式转换

    我们经常出于某种目的需要使用各种各样的日期格式 xff0c 当然我们可以使用字符串操作来构造各种日期格式 但是有现成的函数为什么不用呢 xff1f SQL Server中文版的默认的日期字段datetime格式是yyyy mm dd Thh
  • hadoop学习之自定义对象实现 writeable

    Hadoop虽然 已经实现了一些非常有用的Writable xff0c 如Text IntWritable NullWritable等 xff0c 但有时候需要构造一些更加复杂的结果存入context中 xff0c 使用这些方法可能就不是那
  • C语言宏的用法详解

    1 简介 宏在C语言中是一段有名称的代码片段 无论何时使用到这个宏的时候 xff0c 宏的内容都会被这段代码替换掉 主要有两种宏 xff0c 他们的区别主要是在使用上面 xff0c 一种是在使用时类似于数据对象称为Object like x
  • Linux--day04\05

    知识点和问题 1 Linux组基本介绍2 查看文件的所有者3 创建一个组police 再创建一个用户tom xff0c 将tom放在police中 xff0c 然后使用tom来创建ok txt文件 xff0c 看看情况如何 4 使用root