Linux常见命令

网络测试

  • telnet
telnet 10.5.146.2 8020
  • nc
##下面两句话就可以实现一个简单的网络聊天程序
nc -l 1234
nc localhost 1234
##检查远程计算机端口是否开放
 nc -v 10.5.146.2 8021
  • netstat

性能测试

  • time命令
    例子 time ps aux
    time后面的指令会被执行,time负责测算执行时间
    real 0m0.032s
    user 0m0.004s
    sys 0m0.016s
    real是实际的时钟时间。user是进程在用户模式下话费的时间。sys是进程在内核中的时间。real是后两者的和加上进程被阻塞的时间(如其他进程的时间片和IO阻塞)

变量

  • set
    查看本地shell定义的变量

  • env
    查看环境变量

文件操作

  • tar
tar zcvf /home/wamh.tar.gz /home/stud1/wang

注意前面是要生成的文件,后面才是要打包的文件夹目录。解压缩的参数为zxvf

  • diff
    比较两个文件。

  • file
    辨识文件类型

文件处理

  • zgrep 查找文本 压缩文件1.gz 压缩文件2.gz
    可以免解压缩来查看日志

  • wc
    计数命令.
    ls -l|wc -l 用于统计当前文件夹中文件的数量。

netstat -anp|grep -i 61616 |wc -l 用于查看指定端口的连接数

  • nl
    输出文件,并在非空行上加上行号
    nl|grep exception. 带行号搜索

  • sed
    以行为单位来编辑文本

  • tee
    将标准输出输出为文件
    ls -l|tee a.txt
    注意,tee仍然将输出在标准输出上。
    tee也可以采取追加输出的方式。比重定向的优点在于,可以同时输出到多个文件

  • sort
    对文本文件进行排序

  • uniq
    检查和删除文件中重复出现的行

  • split
    切割文件,可以将大文件转化为小文件

进程状态

  • ps
    显示当前活动的进程
    -e 显示所有进程
    -f 全格式
    -l 长格式
    –forest 显示进程树

  • pidstat
    查看指定进程的具体信息,包含CPU,内存,磁盘IO,线程数情况等。

  • pmap
    查看进程中各个模块所占用内存的具体情况

[root@C44 ~]# pmap -d 1
1:  init [5]          
Address  Kbytes Mode Offset      Device  Mapping
00934000   88 r-x-- 0000000000000000 008:00005 ld-2.3.4.so
0094a000    4 r---- 0000000000015000 008:00005 ld-2.3.4.so
0094b000    4 rw--- 0000000000016000 008:00005 ld-2.3.4.so
0094e000  1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so
00a77000    8 r---- 0000000000129000 008:00005 libc-2.3.4.so
00a79000    8 rw--- 000000000012b000 008:00005 libc-2.3.4.so
00a7b000    8 rw--- 0000000000a7b000 000:00000  [ anon ]
00a85000   52 r-x-- 0000000000000000 008:00005 libsepol.so.1
00a92000    4 rw--- 000000000000c000 008:00005 libsepol.so.1
00a93000   32 rw--- 0000000000a93000 000:00000  [ anon ]
00d9d000   52 r-x-- 0000000000000000 008:00005 libselinux.so.1
00daa000    4 rw--- 000000000000d000 008:00005 libselinux.so.1
08048000   28 r-x-- 0000000000000000 008:00005 init
0804f000    4 rw--- 0000000000007000 008:00005 init
084e1000   132 rw--- 00000000084e1000 000:00000  [ anon ]
b7f5d000    8 rw--- 00000000b7f5d000 000:00000  [ anon ]
bffee000   72 rw--- 00000000bffee000 000:00000  [ stack ]
ffffe000    4 ----- 0000000000000000 000:00000  [ anon ]
mapped: 1700K  writeable/private: 276K  shared: 0K

  • pstack
    检查操作系统的本地调用堆栈。相当于操作系统的java jstack。

  • strace 跟踪程序运行时所有的系统调用

strace -o echo.txt echo 1

运行之后文件如下

execve("/usr/bin/echo", ["echo", "1"], [/* 23 vars */]) = 0
brk(0)                                  = 0xcff000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9cf16e2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=20277, ...}) = 0
mmap(NULL, 20277, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9cf16dd000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\34\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2118128, ...}) = 0
mmap(NULL, 3932672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9cf1103000
mprotect(0x7f9cf12b9000, 2097152, PROT_NONE) = 0
mmap(0x7f9cf14b9000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7f9cf14b9000
mmap(0x7f9cf14bf000, 16896, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9cf14bf000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9cf16dc000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9cf16da000
arch_prctl(ARCH_SET_FS, 0x7f9cf16da740) = 0
mprotect(0x7f9cf14b9000, 16384, PROT_READ) = 0
mprotect(0x606000, 4096, PROT_READ)     = 0
mprotect(0x7f9cf16e3000, 4096, PROT_READ) = 0
munmap(0x7f9cf16dd000, 20277)           = 0
brk(0)                                  = 0xcff000
brk(0xd20000)                           = 0xd20000
brk(0)                                  = 0xd20000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106070960, ...}) = 0
mmap(NULL, 106070960, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ceabda000
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9cf16e1000
write(1, "1\n", 2)                      = 2
close(1)                                = 0
munmap(0x7f9cf16e1000, 4096)            = 0
close(2)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

系统状态

  • df -h 以标准markdown表格格式打印磁盘信息。
Filesystem | Size | Used| Avail|Use%| Mounted on 
----|------|----|-----|-----|------
/dev/mapper/vg_root-lv_root|3.0G | 295M | 2.6G | 11% |/
tmpfs                 |3.9G  | 76K  |3.9G |  1% |/dev/shm
/dev/sda1  |485M |  37M | 423M  | 9% |/boot
/dev/mapper/vg_root-lv_home |2.0G |  68M  |1.9G  | 4% |/home
/dev/mapper/vg_root-lv_adm|2.0G | 68M |1.9G  | 4% |/opt/adm
/dev/mapper/vg_root-lv_tmp|1008M | 209M | 748M | 22% |/tmp
/dev/mapper/vg_root-lv_usr|6.0G | 3.0G | 2.7G | 53% |/usr
/dev/mapper/vg_root-lv_var|4.0G |1.3G  |2.6G  |33% |/var
/dev/mapper/vg_app-lv_DATA|50G |  16G |  31G | 35% |/DATA

注意,所有文件设备文件必须挂在在目录下才能够访问。
一般来说,linux发行版都会默认开启temfs,这个tempfs不在硬盘上,而是在内存中。你可以将这个目录当成正常目录进行存储,因为在内存中,所以速度很快。但是!这里的文件具有掉电就会失去。

  • free
    查看内存和交换区大小
    显示结果的第二行中
    (-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached,反应被程序实实在在吃掉的内存量。
    (+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached,反应现在系统可以被占用的内存量。

  • strace
    查看系统调用

  • lsof
    查看所有打开文件

  • cat /proc/cpuinfo
    查看CPU占用

  • crontab -e
    定时任务修改,注意,crontab不能获取环境变量,也不支持相对目录,必须使用绝对目录,或者手动cd到工作目录
    tail /var/log/cron
    查看crontab日志

  • du
    查看文件大小

  • ls -lht
    查看文件大小

  • top
    linux版本的任务管理器

  • format
    格式化磁盘

  • mount/umount
    挂载文件

  • renice
    调整优先级

  • ipcs
    显示进程间通信

  • sync
    将内存缓冲区内容存入磁盘

  • vmstat
    显示计算机系统状态。可以以一定时间间隔不断输出。可以用来对操作系统的持续监控。

  • iostat
    监控磁盘的IO

  • swapon
    监控交换分区的使用情况

辅助功能

  • which python
    查看安装程序位置

  • tty
    查看当前终端号

  • find ~ -iname “*.git”(mac)
    查找文件

  • find . -name “*.git”(linux)
    查找文件

  • find ./ -name *.c (linux)

  • find ./ -regex .*sh

版本信息

  • cat /etc/issue
    查看linux版本信息

  • uname -a
    查看架构信息

  • cat /etc/os-release/cat redhat-release
    centos版本查询

  • lsb_release -a
    ubuntu版本查询

网络查询

  • nslookup
    查询一台及其的对应的IP地址和域名。

  • tcpdump
    命令行版本的抓包工具

  • traceroute

  • sar 查看当前网卡的读取速度

  • iptraf 一个比较全面的网络监控,有彩色页面。

  • nmap 检查某一个主机打开的所有端口,在网络渗透中常用

proc

linux提供了通过proc目录查看运行时内存中数据结构的能力。

  • cat /proc/cpuinfo CPU硬件信息
  • cat /proc/meminfo 内存信息
  • cat /proc/zoneinfo 内存映射信息
  • cat /proc/mounts 磁盘映射信息
  • cat /proc/loadavg 系统平均负载

安装软件

  • yum install mysql devel###

  • yum makecache###

  • yum list installed|##
    查看所有已经安装的软件

  • rpm -ivh MySQL-client-5.5.44-1.el6.x86_64.rpm
    离线安装rpm包

  • apt-get update 更新源的列表

  • apt-get upgrade 升级所有安装的软件包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值