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