Linux常用命令记录

进程、线程查看

top -H # 监控 Linux 系统状况,比如cpu、内存的使用
ps -T # ps命令用来列出系统中当前运行的那些进程
# -b 以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。
# -n 设置top退出前迭代的次数
# -p 监控特定进程
# -i 空闲进程/非空闲进程切换

查看进程的线程

top -H -p PID

各项指标

内存

[root@VM_0_7_centos ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1015564      299588       72512        1792      643464      535316
Swap:       1049596      111104      938492

磁盘使用情况 df

[root@VM_0_7_centos ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/vda1        50G  9.7G   37G   21% /
devtmpfs        486M     0  486M    0% /dev
tmpfs           496M  1.2M  495M    1% /dev/shm
tmpfs           496M  464K  496M    1% /run
tmpfs           496M     0  496M    0% /sys/fs/cgroup
tmpfs           100M     0  100M    0% /run/user/0

目录使用情况 du

[root@VM_0_7_centos ~]# du #查看当前目录
8	./.cache/abrt
8	./.cache/pip
20	./.cache
8	./.pip
4	./.config/abrt
8	./.config
4	./.pki/nssdb
8	./.pki
4	./.ssh
112	./.acme.sh/deploy
512	./.acme.sh/dnsapi
816	./.acme.sh
908	.
[root@VM_0_7_centos ~]# du -h # 加上常用单位
8.0K	./.cache/abrt
8.0K	./.cache/pip
20K	./.cache
8.0K	./.pip
4.0K	./.config/abrt
8.0K	./.config
4.0K	./.pki/nssdb
8.0K	./.pki
4.0K	./.ssh
112K	./.acme.sh/deploy
512K	./.acme.sh/dnsapi
816K	./.acme.sh
908K	.
[root@VM_0_7_centos ~]# du -s # 当前目录
908	.
[root@VM_0_7_centos ~]# du -sh
908K	.

端口使用情况

lsof -i:8080

杀死进程

kill -9 PID

# 查看支持的信号
[root@VM_0_7_centos ~]# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

-9 即发送了 SIGKILL 信号,这是进程间的通信的一种方式

磁盘I/O

1. 用 top 命令 中的cpu 信息观察
2. vmstat:vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
3. iostat
4. iotop
5. sar -d

日志查看

# 实时查看日志文件
tailf -n [filename]

# 查看具体内容
grep -i 'login_handler' [filename]
# 过滤条件查看
grep -v 'DEBUG' [filename] 
grep -v "xxx\|yyy" [filename]

# 取文件前50行
head -n [filename]

# 查看文件多少行
wc -l filename

# 其余命令都可以用 |grep 的方式,通过匿名管道过滤
# 前面的输入作为后面的输出
tailf -n [filename] | grep 'login'
# 或操作
$ grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行
$ egrep '123|abc' filename    // 用egrep同样可以实现
$ awk '/123|abc/' filename   // awk 的实现方式
# 与操作
$ grep pattern1 files | grep pattern2 //显示既匹配 pattern1 又匹配 pattern2 的行。
# 其它操作
$ grep -i pattern files   //不区分大小写地搜索。默认情况区分大小写,
$ grep -l pattern files   //只列出匹配的文件名,
$ grep -L pattern files   //列出不匹配的文件名,
$ grep -w pattern files  //只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
$ grep -C number pattern files //匹配的上下文分别显示[number]行,

文件权限

# 改变文件所有者
chown user:user_group file1.txt

# 改变文件权限
chmod u+x ex.py # 只有所有者可执行
chmod ug+w,o-w file1.txt file2.txt # 文件拥有者,与其所属同一个群体者可写入,其他不可写入 
chmod -R a+r * # 将目前目录下的所有文件与子目录皆设为任何人可读取 
chmod 777 file # 加权限
# 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
# r=4,w=2,x=1
# 若要rwx属性则4+2+1=7;
# 若要rw-属性则4+2=6;
# 若要r-x属性则4+1=5。

分割文件

split -l 1000 [filename] -d -a 5

文件内容替换

# A中的内容替换为B
%s/A/B/g

分享: