Linux常用命令(排版精美)

linux基础命令

  • 一,文件和目录
    • pwd
    • cd
    • ls
    • cat
    • mkdir
    • rm
    • mv
    • cp
    • alias
    • touch vim echo
    • head tail
    • 重定向与管道操作
    • tar
    • grep
    • find
    • ln
  • 二,系统信息
    • uname
    • lscpu
    • 查看操作系统版本
    • free
    • date
  • 三,磁盘空间
    • lsblk
    • df
    • du
    • smartctl
    • dd
  • 四,进程有关的命令
    • ps
    • top
    • kill
    • 查看占用内存前十的进程
  • 五,谁?
    • uptime
    • who
    • whoami
  • 六,系统资源监控
    • vmstat
    • sar
  • 七,有关网络的命令
    • telnet
    • tracepath
    • ss


一,文件和目录

pwd

查看当前位置

[root@mb ~]# pwd
/root

cd

[root@mb ~]# cd /etc/
[root@mb etc]#

ls

常用命令选项
– -l:以长格式显示,显示详细信息
– -d:显示目录本身(而不是内容)的属性
– -h:提供易读的容量单位(K、M等)
– -A:显示所有内容包含隐藏数据
– -R:递归显示内容

[root@mb ~]# ls -ld /etc
drwxr-xr-x. 75 root root 8192 Dec  3 14:01 /etc

cat

查看文本内容

[root@mb ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

[root@mb ~]# cat -n /etc/redhat-release
     1  CentOS Linux release 7.5.1804 (Core)

mkdir

新建文档
mkdir — Make Directory
格式:mkdir [-p] [/路径/]目录名…
[-p]:建立父目录

[root@mb ~]# mkdir  /wxr

[root@mb ~]# ll -d /wxr/
drwxr-xr-x 2 root root 6 Dec 10 11:39 /wxr/

[root@mb ~]# mkdir -p /A/a

rm

– 格式:rm [选项]… 文件或目录…
• 常用命令选项
– -r、-f:递归删除(含目录)、强制删除

[root@mb ~]# rm -rf /wxr
[root@mb ~]# ls /wxr
ls: cannot access /wxr: No such file or directory

mv

移动或者改名字
mv [选项]… 原文件… 目标路径

[root@mb ~]# echo 111 > /root/1.txt
[root@mb ~]# mv  /root/1.txt  /etc/passwd  /opt/
[root@mb ~]# ls /opt/
1.txt  passwd

• 在移动时候,可支持多个参数,永远会把最后一个参数作为目标,其他所有参数都作为源

cp

– 格式:cp [选项]… 原文件… 目标路径
• 常用命令选项
– -r:递归,复制目录时必须有此选项

[root@mb ~]# cp -r /home/ /opt/    //复制目录
[root@mb ~]# ls /opt/
1.txt  home  passwd

• 在复制时候,可支持多个参数,永远会把最后一个参数作为目标,其他所有参数都作为源

[root@mb ~]# cp /etc/fstab  /etc/hosts /opt/
[root@mb ~]# ls /opt
1.txt  fstab  home  hosts  passwd

alias

别名
• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= ‘实际执行的命令行’
• 取消已设置的别名
– unalias [别名名称]

[root@mb ~]# alias

[root@mb ~]# alias hn='hostname'

[root@mb ~]# hn
mb
[root@mb ~]# alias hn
alias hn='hostname'

[root@mb ~]# unalias hn
[root@mb ~]# hn
-bash: hn: command not found

touch vim echo

[root@mb ~]# touch 1.txt
[root@mb ~]# vim 2.txt   //vim编辑器
[root@mb ~]# echo  123 > 3.txt   //重定向
[root@mb ~]# ls
1.txt  2.txt  3.txt  anaconda-ks.cfg

head tail

head用于显示文件的前10行,后面直接跟文件名
tail显示文件的后10行,后面直接跟文件名
可以直接设置想看几行

[root@mb ~]# head -1  /root/3.txt
123

[root@mb ~]# tail -1 /etc/fstab
/dev/cdrom /dvd iso9660 defaults 0 0

查看一个不断更新的文件
[root@mb ~]# tail -f /var/log/messages

重定向与管道操作

管道( | ):将前面命令的输出,交由后面命令,作为后面命令的参数

[root@mb ~]# cat /etc/fstab  | tail -1
/dev/cdrom /dvd iso9660 defaults 0 0

重定向

[root@mb ~]# echo  覆盖重定向 > /root/1.txt
[root@mb ~]# cat /root/1.txt
覆盖重定向
[root@mb ~]# echo 被覆盖了 > /root/1.txt
[root@mb ~]# cat /root/1.txt
被覆盖了
[root@mb ~]# echo  追加重定向  >> /root/1.txt
[root@mb ~]# cat /root/1.txt
被覆盖了
追加重定向

tar

• tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称,必须放在所有选项的最后
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -t:显示归档中的文件清单
– -C:指定释放路径

将目录/opt/bjca3打包备份排除/opt/bjca3/logs目录,传递到远

使用–exclude选项在打包时可用排除特定的目录,但是要注意,使用tar 的–exclude 排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去。

tar -czvf bjca3.tar.gz --exclude=/opt/bjca3/logs /opt/bjca3

grep

grep命令是一种强大的文本搜索工具
-v:取反过滤
^字符串:以字符串开头
字符串$:以字符串开头结尾

[root@mb ~]# grep iso /etc/fstab
/dev/cdrom /dvd iso9660 defaults 0 0

cat    /etc/default/useradd
grep    ^$   /etc/default/useradd    
grep  -v  ^$   /etc/default/useradd     #不要空行 

在Linux系统中,大多数配置文件以#开头的行,为注释行

grep  -v  ^#   /etc/default/useradd | grep   -v  ^$
显示有效配置(去除空行与注释行)

find

递归式查找
• 根据预设的条件递归查找对应的文件
– find [目录] [条件1]
– 常用条件表示:
-type 类型(f、d、l)
-name “文档名称”
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间
find命令的高级使用
处理查找的内容
• 操作方法:
– find [范围] [条件] -exec 处理命令 {} ;
– 根据条件查找并处理结果
– -exec :额外操作开始
– {} :find查询的结果
– ; :额外操作结束
– 每找到一个符合条件的数据,直接传输给-exec,每次只传输一个参数

ln

ln [参数][源文件或目录][目标文件或目录]

软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以

3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。

2.不允许给目录创建硬链接

3.硬链接只有在同一个文件系统中才能创建

二,系统信息

uname

显示系统信息

-a或–all  显示全部的信息。
-m或–machine  显示电脑类型。
-n或-nodename  显示在网络上的主机名称。
-r或–release  显示操作系统的发行编号。
-s或–sysname  显示操作系统名称。
-v  显示操作系统的版本。
–help  显示帮助。
–version  显示版本信息。

[root@mb ~]# uname -a
Linux mb 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

lscpu

查看cpu信息

[root@mb ~]# lscpu

查看操作系统版本

[root@mb ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

free

可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

 [root@mb ~]# free
              total        used        free      shared  buff/cache   available
Mem:         997956      102396      676724        7836      218836      696604
Swap:       2097148           0     2097148

date

系统时间

[root@mb ~]# date
Thu Dec 10 13:38:05 EST 2020

三,磁盘空间

lsblk

列出系统上所有的磁盘

[root@mb ~]# lsblk

df

df [选项] [文件名]
参数:
-a:显示所有的文件系统,包括虚拟文件系统。
-h:以人们易读的GB、MB、KB等格式显示。
-H:和-h参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
-i:不用硬盘容量,而是以inode的数量来显示。
-l:–local,只显示本地文件系统。
-t:–type=TYPE,只显示指定类型的文件系统。
-T:–print-type,显示文件系统类型。
-x:–exclude-type=TYPE,不显示指定类型的文件系统。

[root@mb ~]# df -h

[root@mb ~]# df -Th

du

显示每个文件和目录的磁盘使用空间文件的大小。
-h #以K M G为单位显示.

[root@mb ~]# du -h /opt/
0       /opt/home
16K     /opt/

smartctl

查看硬盘健康状态

yum -y install smartmontools

smartctl -i /dev/sda  #查看硬盘信息

smartctl -H /dev/sda #查看硬盘健康状态

smartctl -A /dev/sda #查看原厂信息

dd

使用dd进行磁盘读写速度测试

写速度
time dd if=/dev/zero of=test.dbf bs=8k count=300000
 
读速度:
time dd if=/root/test.dbf of=/dev/null bs=8k

四,进程有关的命令

ps

ps (process status) : 进程状态
参数 描述
a 显示所有进程(包括其他用户的进程)
u 用户以及其他详细信息
x 显示没有控制终端的进程

[root@mb ~]# ps aux //查看所有进程

[root@mb ~]# ps aux | grep vsftp

VSZ:虚拟内存集,进程占用的虚拟内存空间;
RSS:物理内存集,进程占用实际物理内存空间。

top

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

[root@mb ~]# top

在top界面,可以通过一些指令实时改变显示内容(区分大小写):

Ctrl+L 擦除并且重写屏幕。
q 退出程序。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
R:反向排序

kill

kill命令可以杀死一个进程

[root@mb ~]# ps aux | grep vsftp
0         12956  0.0  0.0  53260   572 ?        Ss   14:18   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

[root@mb ~]# kill 12956

-9代表强制的意思

[root@mb ~]# kill -9 12956

查看占用内存前十的进程

ps -eo %mem,pid,user,args --sort -%mem |head

五,谁?

uptime

查看当前登录用户,系统平均负载等

[root@mb ~]# uptime
 14:23:51 up  4:38,  2 users,  load average: 0.00, 0.04, 0.05

最后三个数呢依次是 1分钟,5分钟,15分钟的平均负载

who

[root@mb ~]# who
root     tty1         2020-12-10 11:16
root     pts/0        2020-12-10 11:18 (192.168.4.1)

whoami

[root@mb ~]# whoami
root

[wxr@mb ~]$ whoami
wxr

六,系统资源监控

vmstat

[root@WXR ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 3600576   2216 160412    0    0     2     3    9    9  0  0 100  0  0
 0  0      0 3600576   2216 160428    0    0     0     0   59   45  0  0 100  0  0
 0  0      0 3600576   2216 160428    0    0     0     0   60   56  0  0 100  0  0

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

sar

需要安装sysstat 服务

sar -s 06:00:00 -e 10:00:00 -f /var/log/sa/sa23  查看23日当天6点至10点CPU使用情况

sar -q  查看队列数

sar -s 06:00:00 -e 10:00:00 -r -f /var/log/sa/sa23   查看23日当天6点至10点内存使用情况

sar -s 06:00:00 -e 10:00:00 -n DEV -f /var/log/sa/sa23  查看23日当天6点至10点网卡使用情况
sar -s 06:00:00 -e 10:00:00 -n DEV -f /var/log/sa/sa23 |grep team0 查看单块网卡的流量使用情况

sar -s 06:00:00 -e 10:00:00 -b -f /var/log/sa/sa23  查看23日当天6点至10点IO使用情况

七,有关网络的命令

telnet

检查对端服务器上端口22是否打开, telnet 192.168.2.10 22

和 telnet 类似命令 ssh -v -p 端口 ip

tracepath

作用: 显示数据包到主机间的路径。

[root@MASTER ~]# traceroute 192.168.2.100

*Windows系统下是执行tracert的命令

ss

查看系统中启动的端口信息
-a显示所有端口的信息
-n以数字格式显示端口号
-t显示TCP连接的端口
-u显示UDP连接的端口
-l显示服务正在监听的端口信息,如httpd启动后,会一直监听80端口
-p显示监听端口的服务名称是什么(也就是程序名称)

[root@mb ~]# ss -ntulp | grep 22
tcp    LISTEN     0      128       *:22                    *:*                   users:(("sshd",pid=899,fd=3))
tcp    LISTEN     0      128      :::22                   :::*                   users:(("sshd",pid=899,fd=4))

欢迎大家在评论区补存!!!
更新时间:2022-4-18 15:21:04

你可能感兴趣的:(linux,linux)