写在前面
linux命令众多,记住几个常用的 ,剩下的通过以下方式获取:
Tab
自动补全 ,两次Tab
列出有歧义的命令-
command –help #显示 command 命令的帮助信息
man command #查阅命令使用手册
百度自行下载chm命令大全文档
在线的可靠笔记,如RUNOOB.COM 、Linux命令大全
linux 的目录:
~
表示home目录.
表示当前目录/
表示根目录
1. 关机与重启 shutdown
shutdown [选项]….[时间].. # 不指定选项和时间,默认1分钟之后关闭
选项:
-r
重启-c
撤销关机或重启
时间:
now
现在xx:xx
具体时间+x
x分钟后
$ shutdown -r now # 重新启动操作系统,其中 now 表示现在
$ shutdown now # 立刻关机,其中 now 表示现在
$ shutdown 20:25 # 系统在今天的 20:25 会关机
$ shutdown +10 # 系统再过十分钟后自动关机
$ shutdown -c # 取消之前指定的关机计划
logout # 回退到登陆界面
2. 查看系统时间 date
cal
date [选项]….[格式] # 显示系统的当前时间
cal [选项] #显示日历
选项:
-y
当年所有月份日历
3. 查看磁盘空间大小df
du
df -h #以人性化的方式显示整个磁盘剩余空间
du -h [目录] #以人性化的方式显示该目录下所有文件的大小,目录不指定默认当前目录
4.进程管理 ps
top
pstree
kill
ps [选项] #选项不加,默认显示当前用户通过终端启动的应用程序
选项;
a
显示所有用户通过终端启动的应用程序u
显示当前用户通过终端启动的应用程序的详细状态x
显示当前用户没有控制终端的进程
top #动态显示所有运行中的进行并且排序。一般用来查看系统是否健康。 退出输入
q
动态更新的频率默认是3s。默认排序是CPU使用率
查看模式下的操作:
-d 秒数
:指定更新频率M
: 以内存的使用率排序N
: 以PID排序q
: 退出查看模式
pstree [选项] #查看进程树
kill [-9] 进程代号 #杀死指定代号的进程。
-9
表示强制杀死
进程标识含义:
USER : 产生进程的用户
PID : 进程ID
%CPU : 进程占用CPU资源的百分比
%MEM : 占用物理内存的百分比
VSZ : 占用虚拟内存的大小
RSS : 占用实际物理内存的大小
TTY : 进程在哪儿终端运行,?表示来自系统内核,并非终端。(tty1~tty6:本地控制台终端;tty7表示图形终端;pts/0~255表示虚拟终端)
STAT : 进程状态, R(运行)、S(睡眠)、T(停止)、s(包含子进程)、+(位于后台)
START : 进程启动时间
TIME : 进程占用CPU的运算时间,并非系统时间
COMMAND : 进程名字
top进程往往是用来查看系统是否处于健康,是否处于高负载,所以比较重要:
$ top # 查看进程状态
# 系统时间是20:42:05,本机运行2小时41分,1个用户登录,平均负载:1分钟前0.72,5分钟前1.39,15分钟前1.45 。(注意:判断负载情况:本机为4核,只不要不超过4,就不是高负载,所以0.72,1.39,1.45的负载都不算高)
top - 20:42:05 up 2:41, 1 user, load average: 0.72, 1.39, 1.45
#全部进程有212个,1个运行,211个睡大觉,0个停止,0个僵尸
Tasks: 212 total, 1 running, 211 sleeping, 0 stopped, 0 zombie
#进程占用CPU百分比:用户4.7,系统1.1,改变过优先级的用0.0,空闲CPU93.3,......
%Cpu(s): 4.7 us, 1.1 sy, 0.0 ni, 94.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3981672 total, 533496 free, 1559428 used, 1888748 buff/cache
KiB Swap: 3998716 total, 3998716 free, 0 used. 1899788 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1167 root 20 0 458760 101736 65328 S 4.0 2.6 4:34.28 Xorg
2700 zyq 20 0 1267012 128760 81608 S 4.0 3.2 4:50.03 compiz
.........................................................................
..........................................................................
5.后台操作
进程可以人为放到后台执行,或放在后台暂停,必要是在唤醒
将进程放到后台有两种方式:
- 第一种方法 :
XXXX &
#在执行的命令后加& , 意思是放到后台执行 ; - 第二种方式: 在命令后,按下
ctrl+z
,意思是放到后台暂停
jobs [-l] #显示后台的进程
fg %工作号 # 将后台进程恢复到前台
bg %工作号 #将后台暂停的进程在后台执行
6. 查看系统资源的众多命令
监控系统资源:
vmstat num1 num2 #每隔num1秒刷新一次,一共显示num2次
$ vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 330988 823348 1672160 0 0 26 14 157 386 9 3 88 1 0
1 0 0 328252 823356 1675160 0 0 0 22 371 1305 4 2 93 0 0
0 0 0 328352 823356 1675144 0 0 0 0 458 1416 4 1 95 0 0
查看开机时内核检测信息,是查看硬件信息的一种方法
dmesg
$ dmesg | grep CPU #查看开机时检测到的CPU信息
[ 0.000000] smpboot: Allowing 8 CPUs, 4 hotplug CPUs
[ 0.000000] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[ 0.000000] RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=8.
[ 0.015103] CPU: Physical Processor ID: 0
[ 0.015103] CPU: Processor Core ID: 0
[ 0.015114] mce: CPU supports 7 MCE banks
[ 0.061764] smpboot: CPU0: Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz (family: 0x6, model: 0x2a, stepping: 0x7)
[ 0.062784] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[ 0.062803] smp: Bringing up secondary CPUs ...
[ 0.062883] .... node #0, CPUs: #1 #2 #3
[ 0.068021] smp: Brought up 1 node, 4 CPUs
[ 0.072276] mtrr: your CPUs had inconsistent variable MTRR settings
[ 0.072276] mtrr: probably your BIOS does not setup all CPUs.
[ 1.735582] ledtrig-cpu: registered to indicate activity on CPUs
查看内存使用情况:
free -m #以MB显示
$ free -m
total used free shared buff/cache available
Mem: 3888 1145 304 381 2437 2071
Swap: 3904 0 3904
查看CPU信息:
cat /proc/cpuinfo
查看系统负载,相当于top
和w
命令的第一行
uptime
$ uptime
20:43:23 up 6:50, 1 user, load average: 0.43, 0.42, 0.47
查看内核信息:
uname -a
判断系统位数:
file /bin/ls
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d0bc0fb9b3f60f72bbad3c5a1d24c9e2a1fde775, stripped
查看发行版本:
lsb_release -a
7.系统定时任务
有些命令是可以在认为规定时间时执行的,这些定时任务需要croud服务(默认已经启动了)
crontab [选项] #定时任务操作
选项:
-e
: 编辑定时任务-l
: 查询定时任务-r
: 删除当前用户所有定时任务
编辑定时任务实际上打开一个文本,编写定时任务,规则: * * * * * 命令
,五个星号分别表示: 分、时、天、月、星期
示例:
45 22 * * 1 命令 # 每个星期一的22:45分就执行命令
0 5 1,15 * * 命令 # 每月的1号和15号的05:00分执行命令
40 4 * * 1-5 命令 # 每周一到周五的04:40分执行命令
*/10 4 * * * 命令 # 每天04:00开始每隔10分钟执行命令
0 0 1,5 * 1 命令 # 每月1号,15号和每月的周一 00:00分都执行命令