linux基础20课17,用户登录信息、进程管理、磁盘管理 晓桂科技

admin 2025-04-06 134人围观 ,发现291个评论

服务器用户登录信息、进程管理、磁盘管理

一.用户登录信息命令

whoami--类似$USER

who--当前系统的登录信息

w--比who的信息更多

users--显示who的第一列

uptime--登录的时间和负载

tty--查看当前终端

whoami--查看当前终端的信息

file/var/log/wtmp--查看一个文件的类型,一般来说只ascii或text类型的文件可以直接cat,这种数据类型看不了,只能用专门的程序去读取,此文件就是用last命令来看

/var/log/wtmp:data

二.进程管理

1.ps命令

ps-reportasnapshotofthecurrentprocesses.

cat/proc/3429/status|head-5

Name:ibus-daemon

State:S(sleeping)

Tgid:3429

Pid:3429

PPid:3244

cat/proc/1/status|head-5

Name:init

State:S(sleeping)

Tgid:1

Pid:1

PPid:0

ps-ef或psaux等

kill-l--查看所有的信号

1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP

6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR1

11)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM

16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP

21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ

26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR

31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+3

38)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+8

43)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+13

48)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-12

53)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-7

58)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-2

63)SIGRTMAX-164)SIGRTMAX

常见的信号

1SIGHUP挂断

2SIGINT中断,ctrl+c

3SIGQUIT退出,ctrl+\或ctrl+shift+|

9SIGKILL终止

10SIGUSR1用户自定义

15SIGTERMkill命令默认信号

kill-9等于kill-SIGKILL

kill-15等于kill-SIGTERM

kill-1等于kill-SIGHUP

kill-10等于kill-SIGUSR1

实验验证:

/etc//httpdrestart

lsof-i:80

COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME

httpd2681root4uIPv6156550t0TCP*:http(LISTEN)

httpd2688apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2689apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2690apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2691apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2692apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2693apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2694apache4uIPv6156550t0TCP*:http(LISTEN)

httpd2695apache4uIPv6156550t0TCP*:http(LISTEN)

实验1:

ps-ef|grephttpd|grep-vgrep--再去看,发现8个子进程还在,网站也还可以正常访问

kill-15pid--相比于kill-9来说,它会把所有子进程一起杀掉

实验3:

firefox

[1]6003--1代表job号,6003代表的就是pid(processidentification)

vim/etc/shadow--再按ctrl+z放到后台,与ctrl+c(中断)不同

[3]+Stoppedvim/etc/shadow

fg%1--把一号job的firefox调到前台

firefox

fg=foreground--前台

kill%1

%number引用后台作业

%%当前作业

%+当前作业

%-前一个作业

bg%1--把1号job的firefox由stop状态放到后台执行,就是变为running状态

cp/soft/*/test/-rf--如果你要做一个大文件的拷贝,不加后台符号这个终端就只能等它拷完才能用

nohupcp/soft/*/test/-rf--你可以测试一下,把再次把终端关闭,再开一个终端查看,用jobs-l也是看不到这个job(因为换了终端),但是拷贝仍在继续)

5.查看系统有关信息的相关命令

topfreenicerenice(vmstat,iostat,mpstat,sar等)

top-17:44:59up43min,3users,loadaverage:0.00,0.08,0.23

Tasks:212total,3running,209sleeping,0stopped,0zombie

Cpu(s):5.2%us,3.0%sy,0.0%ni,90.2%id,1.0%wa,0.2%hi,0.3%si,0

Mem:3798572ktotal,3643268kused,155304kfree,52644kbuffers

Swap:524280ktotal,0kused,524280kfree,3055808kcached

PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND

3596:10.20:59.39Xorg

3562:04.03gnome-termin

11:04.99events/0

1:00.78init

..

top第一行的数据也可以用uptime或w来查看

loadaverage:0.08,0.12,0.08--分别代表cpu一分钟内,五分钟内,十五分钟内的平均负载

进程状态

ssleeping--睡眠状态,有可能会被其它信号或者程序唤醒

Rrunning--运行状态

Zzombie--僵死进程

D--不可中断的睡眠,一般是等待硬件的唤醒

T--进程暂停

top-b-n2/root/Desktop/把top的输出内容重定向到一个文件

top的信息从哪来?

/proc

--查看内存使用情况

/usr/bin/time-vmysql

Major(requiringI/O)pagefaults:36--主要页面故障,相当于是内存没命中的次数

Minor(reclaimingaframe)pagefaults:646--次要页面故障,相当于是内存命中

/usr/bin/time-vfirefox

echo3/proc/sys/vm/drop_caches

vim/tmp/1.sh

timesh/tmp/1.sh

第二终端

fdisk-l

Disk/dev/sda:500.1GB,500107862016bytes

255heads,63sectors/track,60801cylinders

Units=cylindersof16065*512=8225280bytes

Sectorsize(logical/physical):512bytes/512bytes

I/Osize(minimum/optimal):512bytes/512bytes

Diskidentifier:0x0003f808

DeviceBootStartBlocksIdSystem

/dev/sda1*Linux

Partition1doesnotoncylinderboundary.

/dev/sda2337682614400008eLinuxLVM

/dev/sda37682774752428882Linuxswap/Solaris

partx-a/dev/sda--这样去刷新一下,在rhel5里是用partprobe命令。如果刷新多次都不成功,就重启你的系统

mkfs-text4/dev/sda5

mkdir/test

parted

Using/dev/sda

WelcometoGNUParted!Type'help'toviewalistofcommands.

(parted)help--查看帮助

(parted)print

Model:ATAWDCWD5000AAKX-0(scsi)

Disk/dev/sda:500GB

Sectorsize(logical/physical):512B/512B

PartitionTable:msdos

NumberStartSizeFilesystemNameFlags

11049kB211MB210MBfat16boot

2211MB420MB210MBext4

3420MB105GB105GBext4

4105GB210GB105GBext4

5210

6273GB277GB4194MBlinux-swap(v1)

(parted)

(parted)mkpart--分区,删除分区就是rm

Partitionname?[]?

Filesystemtype?[ext2]?ext4

Start?277GB

?278GB

(parted)print

Model:ATAWDCWD5000AAKX-0(scsi)

Disk/dev/sda:500GB

Sectorsize(logical/physical):512B/512B

PartitionTable:gpt

NumberStartSizeFilesystemNameFlags

11049kB211MB210MBfat16boot

2211MB420MB210MBext4

3420MB105GB105GBext4

4105GB210GB105GBext4

5210

6273GB277GB4194MBlinux-swap(v1)

7277GB278GB755MB--刚分的新分区

(parted)quit

mkfs-text4/dev/sda7

mount/dev/sda7/notes

2.mount命令

df-h--查看当前哪些分区挂载哪些目录的对应信息

lsof/fdisk/

free-m

totalusedfreesharedbufferscached

Mem:2023529

-/+buffers/cache:3121705

Swap:400004000--这里

1.使用一个新建的分区作为swap分区

新建出一个分区我这里是1G大小

swapon/dev/sda12--使之生效

swapoff/dev/sda12--使之失效

ddif=/dev/zeroof=/swapfilebs=1Mcount=1000--用dd命令创建出一个1000M大小的文件,此文件为二进制文件,不能cat或者vi去看

1000+0recordsin

1000+0recordsout

1048576000bytes(1.0GB)copied,4.40506seconds,238MB/s

swapon/swapfile

cat/etc/fstab

/dev/mapper/vol0-root/ext4defaults11

UUID=b61eb070-abf5-4fc9-9794-e3ebf2b520ed/bootext4defaults12

/dev/mapper/vol0-home/homeext4defaults12

UUID=10678818-0206-4a5c-ab0a-ef7baa93664cswapswapdefaults00

tmpfs/dev/shmtmpfsdefaults00--在内存上挂载

devpts/dev/ptsdevptsgid=5,mode=62000--虚拟终端

sysfs/syssysfsdefaults00--内存信息的反应

proc/procprocdefaults00--虚拟目录,都是系统正在运行的信息

LABEL=SWAP-sda2swapswapdefaults00

分区号或者标签号或者uuid挂载点挂载类型挂载参数是否扫描扫描级别

e2label/dev/sda5--查看

/vm

cat/proc/devices

mknodcharc31

mount-odefaults,norelatime,strictatime/dev/sda5--这样就是去掉了relatime功能,可以让文件cat一次,atime就会变一次

如果你希望优化你的sda5的atime属性(在defaults后加逗号再加个noatime)

/dev/sda5/vmext4defaults,noatime00

如果我想不重启系统就改成根分区的挂载参数,怎么做?

mount-oremount,noatime,st/

比如下面这条会怎么样?

mount-oremount,noexec/--会造成系统命令除了内部命令都执行不了,只能重启系统解决

------------------------------

fstab错误示例

1,rm-rf/etc/fstab,没有了fstab文件,重启系统会怎么样?

可以启动成功,但所有的分区都没有挂载,你可以重启挂载,写好fstab

2,故意到/etc/fstab里倒数第二列为0的行去改错uuid或者设备名,重启会怎么样?

可以启动成功,只有你改错的那个分区没有挂载而已

3,故意到/etc/fstab里倒数第二列不为0的行去改错uuid或者设备名,重启会怎么样?

在启动过程不久,就会卡住,启动不成功

解决方法:

输入root密码,进入一个shell,但发现里面的文件都是只读的

所以mount-oremount,rw/把根重挂载成读写模式,然后查看正确的设备名或label名或uuid再来修改fstab,保存重启

猜你喜欢
    不容错过