服务器用户登录信息、进程管理、磁盘管理
一.用户登录信息命令
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,保存重启