Linux相关命令整理

查看端口占用

netstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况。
语法:

 netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

参数说明:

-a或–all 显示所有连线中的Socket。
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
-c或–continuous 持续列出网络状态。
-C或–cache 显示路由器配置的快取信息。
-e或–extend 显示网络其他相关信息。
-F或–fib 显示FIB。
-g或–groups 显示多重广播功能群组组员名单。
-h或–help 在线帮助。
-i或–interfaces 显示网络界面信息表单。
-l或–listening 显示监控中的服务器的Socket。
-M或–masquerade 显示伪装的网络连线。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
-o或–timers 显示计时器。
-p或–programs 显示正在使用Socket的程序识别码和程序名称。
-r或–route 显示Routing Table。
-s或–statistice 显示网络工作信息统计表。
-t或–tcp 显示TCP传输协议的连线状况。
-u或–udp 显示UDP传输协议的连线状况。
-v或–verbose 显示指令执行过程。
-V或–version 显示版本信息。
-w或–raw 显示RAW传输协议的连线状况。
-x或–unix 此参数的效果和指定"-A unix"参数相同。
–ip或–inet 此参数的效果和指定"-A inet"参数相同。

实例如何查看系统都开启了哪些端口?

[root@centos6 ~ 13:20 #55]## netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1035/sshd
tcp 0 0 :::22 :::* LISTEN 1035/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 931/dhclient 7 Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 6825 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 8429 1003/dbus-daemon /var/run/dbus/syst em_bus_socket

如何查看网络连接状况?

[root@centos6 ~ 13:22 #58]## netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.147.130:22 192.168.147.1:23893 ESTABLISHED
tcp 0 0 :::22 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*

如何统计系统当前进程连接数?输入命令:

netstat -an | grep ESTABLISHED | wc -l

输出结果 177 ,一共有 177 连接数。
用 netstat 命令配合其他命令,如按照源 IP 统计所有到80 端口的ESTABLISHED 状态链接的个数

netstat -tunlp
netstat -an

压缩成.tar.gz压缩包

tar -czvf 1.tar.gz /dirname
tar -czvf 1.tar.gz *

grep查找

grep反查

如:grep test:查找包含test的行,grep -v test查找不包含test的行
grep -v test

查找关键字前后的N行

grep -C 5 ‘false’ catalina.out //上下5行
grep -B 5 ‘false’ catalina.out //前5行
grep -A 5 ‘false’ catalina.out //后5行

满足任意条件(word1、word2和word3之一)将匹配。

grep -E “word1|word2|word3” file.txt

必须同时满足三个条件(word1、word2和word3)才匹配。

grep word1 file.txt | grep word2 |grep word3

grep 同时排除多个关键字

grep -v ‘word1|word2’ abc.txt

wc统计文件行数,单词数,字符数等

wc file //分别打印出文件的行数、单词数和字符数
wc -l file //行数
wc -w file //单词数
wc -c file //字符数

命令说明

-h 或 --help 或 help
man
info

解压

将压缩文件text.zip在当前目录下解压缩。

unzip test.zip

将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

unzip -n test.zip -d /tmp

查看压缩文件目录,但不解压。

unzip -v test.zip

将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。

unzip -o test.zip -d tmp/

压缩

zip -r a.zip ./a/

linux中快速清空文件内容的几种方法

$ : > filename
$ > filename
$ echo “” > filename
$ echo > filename
$ cat /dev/null > filename

查看进程

ps -ef 或者 ps -aux 或者pgrep mysql -a

关机相关

shutdown: shutdown -h now: 指定现在立即关机;
shutdown +5 “System will shutdown after 5 minutes”:指定5分钟后关机,同时送出警告信息给登入用户。

reboot -w: 做个重开机的模拟(只有纪录并不会真的重开机)

按时间查询文件

find / -cmin -1  查询根路径下最近一分钟新增的文件
find / -ctime -1  查询根路径下最近一天新增的文件

Linux系统下用find命令查找最近修改过的文件

https://www.cnblogs.com/hechunhua/p/4860544.html

scp

1.从linux本机文件上传到另一台linux

格式:
scp 要传的文件 root@目标ip:路径
scp –r 要传的目录 root@目标ip:路径
例子:
scp /root/1.txt root@192.168.3.1:/root # 上传文件
scp -r /root/data root@192.168.3.1:/root #上传目录

2.从linux下载文件到linux本机:

格式:
scp root@192.168.3.1:/root/data /root
scp命令用户名@目标IP地址:文件路径本地位置
例子:
scp root@192.168.3.1:/root/1.txt /root #下载文件
scp -r root@192.192.3.1:/root/data /root #下载目录

文件授权

chmod

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以控制文件如何被他人所调用。
用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设
定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
可使用 ls -l test.txt 查找。
以文件 log2012.log 为例:

-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。
从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行。常用参
数:

-c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件

权限范围:

u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

权限代号:

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限

实例:
(1) 增加文件 t.log 所有用户可执行权限

chmod a+x t.log

(2) 撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息

chmod u=r t.log -c

(3) 给 file 的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行
的权限,给其他用户分配执行的权限

chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)

(4) 将 test 目录及其子目录所有文件添加可读权限

chmod u+r,g+r,o+r -R text/ -c
chown

chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符。

-c 显示更改的部分的信息
-R 处理指定目录及子目录

实例:
(1) 改变拥有者和群组 并显示改变信息

chown -c mail:mail log2012.log

(1) 改变文件群组

chown -c :mail t.log

(2) 改变文件夹及子文件目录属主及属组为 mail

chown -cR mail: test/

磁盘管理相关命令

cd

cd(changeDirectory) 命令语法:

cd [目录名]

说明:切换当前目录至 dirName。

实例:
(1)进入根目录

cd /

(2) 进入 “home” 目录

cd ~

(3) 进入上一次工作路径

cd -

(4) 进入上级路径

cd ..

(5) 把上个命令的参数作为cd参数使用。

cd!$
df

显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。
默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。
参数:

-a 全部文件系统列表
-h 以方便阅读的方式显示信息
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地磁盘
-T 列出文件系统类型

实例:
(1) 显示磁盘使用情况

df ‐l

(2) 以易读方式列出所有文件系统及其类型

df ‐haT
du

du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看:命令格式:

du [选项] [文件]

常用参数:

-a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小
-h 以易读方式显示文件大小
-s 仅显示总计
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

实例:
(1) 以易读方式显示文件夹内及子文件夹大小

du -h scf/

(2) 以易读方式显示文件夹内所有文件大小

du -ah scf/

(3) 显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和

du -hc test/ scf/

(4) 输出当前目录下各个子目录所使用的空间

du -hc --max-depth=1 scf/
ls

就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限) 查看目录信息等等。
常用参数搭配:

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

实例:
(1) 按易读方式按时间反序排序,并显示文件详细信息

ls -lhrt

(2) 按大小反序显示文件详细信息

ls -lrS

(3)列出当前目录中所有以"t"开头的目录的详细内容

ls -l t*

(4) 列出文件绝对路径(不包含隐藏文件)

ls | sed"s:^: pwd /:"

(5) 列出文件绝对路径(包含隐藏文件)

find $pwd -maxdepth 1 |xargs ls -ld
mkdir

mkdir 命令用于创建文件夹。
可用选项:

-m: 对新建目录设置存取权限,也可以用 chmod 命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。

实例:
(1) 当前工作目录下创建名为 t的文件夹

mkdir t

(2) 在 tmp 目录下创建路径为 test/t1/t 的目录,若不存在,则创建:

mkdir -p /tmp/test/t1/t
pwd

pwd 命令用于查看当前工作目录路径。
实例:
(1) 查看当前路径

pwd

(2) 查看软链接的实际路径

pwd -P
rmdir

从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。
注意:不能删除非空目录
实例:
(1)当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除:

rmdir -p parent/child/child11

linux系统下查看CPU、内存负载情况

vmstat
$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b    swpd   free  buff cache 		si so      bi bo   	 in cs  	us sy id wa st
1 4    329796 26040 4528 3379824    1  1       50 160  	 36 17 		2  10 85 3  0

结果解释如下:

  1. procs

    • r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
    • b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
  2. memory

    • swpd 切换到内存交换区的内存数量(k表示)。如果swpd的值不为0,或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
    • free 当前的空闲页面列表中内存数量(k表示)
    • buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
    • cache: 作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好。
  3. swap

    • si 由内存进入内存交换区数量。
    • so由内存交换区进入内存数量。
  4. IO

    • bi 从块设备读入数据的总量(读磁盘)(每秒kb)。
    • bo 块设备写入数据的总量(写磁盘)(每秒kb)
  5. system 显示采集间隔内发生的中断数

    • in 列表示在某一时间间隔中观测到的每秒设备中断数。
    • cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查。
  6. cpu 表示cpu的使用状态

    • us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
    • sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
    • id 列显示了cpu处在空闲状态的时间百分比
    • wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
    • st 被虚拟机所盗用的 CPU 百分比。Prior to Linux 2.6.11, unknown.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值