我的命令

  1. ps -ef | grep -v grep | grep "java"
  2. ps -ef | grep -v grep | grep "nginx"
  3. tar -xv xx.gz.tar
  4. rm xxx
  5. touch 123.txt

1.切换目录

cd命令
配合Tab可自动补全。

  1. # 进入指定目录
  2. cd /usr/local/
  3. # 进入上层目录
  4. cd ..
  5. # 返回上次所在目录
  6. cd -
  7. # 进入用户家目录
  8. cd

2.列出目录内容

ls命令
文件以-开头,目录以d开头。

  1. # 简单列出
  2. ls
  3. dir
  4. # 简单列出,包含隐藏文件
  5. ls -a
  6. # 详细列出 -> 缩小ll
  7. ls -l
  8. ll
  9. # 详细列出,并按时间倒序排序
  10. ls -lt
  11. # 详细列出,并按时间顺序排序
  12. ls -ltr
  13. # 详细列出,并按时间顺序排序,包含隐藏文件
  14. ls -altr
  15. # 列出指定目录下目录
  16. ls -lrt /home/

3.查询所在目录

pwd命令

  1. pwd

4.查看小文件内容

cat命令

  1. # Ctrl+C 强制结束
  2. # -n 标识每一行的排序
  3. cat -n 123.txt
  4. # 输入
  5. cat > 123.txt
  6. # Ctrl+C 结束输入

5.查看大文件内容

more命令

  1. more System.map-3.10.0-123.el7.x86_64
  2. # 空格翻页
  3. # 回车下一行
  4. # q 退出

6.查看文件的前面N行

head命令

  1. # 默认查看文件前10行
  2. head System.map-3.10.0-123.el7.x86_64
  3. # 指定行数
  4. head -20 System.map-3.10.0-123.el7.x86_64

7.查看文件的后面N行

tail命令,同head。

  1. # -f 动态查看
  2. # 如果当前文件被改变,那么实时会响应出来。可以用来查看项目运行日志。
  3. tail -f access.log
  4. tail -20 access.log

8.创建一个空文件

touch命令

  1. touch 123.txt

9.创建目录

mkdir命令

  1. # 当前目录下创建
  2. mkdir xd
  3. # -p 递归创建,如果目录不存在,就一直创建
  4. mkdir -p /tmp/XD/XD/class

10.删除目录

rmdir命令

  1. rmdir /tmp/XD/XD/class

11.拷贝文件

cp命令

  1. # 拷贝 123.txt 到 class/
  2. cp 123.txt class/
  3. # 拷贝 123.txt 到 class/,并重命名 456.txt
  4. cp 123.txt class/456.txt
  5. # -a 连同文件属性一起拷贝
  6. cp -a 123.txt class/789.txt

12.移动或更名现有的文件或目录

mv命令

  1. # 重命名
  2. mv 123.txt 345.php
  3. # 剪切文件
  4. mv 789.txt /home/987.php

13.删除文件或目录

rm命令

  1. # 提示是否删除
  2. rm 987.php
  3. # y+回车
  4. # 强制删除,不提示
  5. rm -rf 456.txt
  6. # 删除当前文件夹下文件
  7. rm -rf .*

14.对比文件差异

diff命令

  1. diff 123.txt 456.txt

通过行对比

15.远程安全登录方式

ssh命令

  1. ssh 192.168.226.131
  2. # 配合exit,退回之前机器

16. 退出命令

exit命令

  1. exit

17.查看用户

id命令

  1. # 查看当前用户
  2. id
  3. # 查看指定用户
  4. id root

18.查询主机信息

uname命令

  1. # 查看系统信息
  2. uname
  3. # 查看系统详情信息
  4. uname -a
  5. # 查看IP地址
  6. ip addr

19.查看网络是否通

ping命令

  1. ping 192.168.226.131

20.标准输出命令

echo命令

  1. # 只要配和其他命令,或者shell一起使用
  2. echo "this is echo 命令"

21.查看帮助文档

man命令(ls —help)

  1. # 只能查看linux命令
  2. # 查看ls命令文档
  3. man ls
  4. # 按/后,输入检索字符+回车,可检索全文
  5. ls --help

22.查看内部命令帮助

help命令

  1. # 只能查看shell命令
  2. # 查看if命令文档
  3. help if

23.清屏

clear命令

  1. clear
  2. # ctrl + l

24.当前在本地系统上的所有用户的信息

who命令

  1. # 查看当前服务器的登录用户的信息(按照会话计算,所以会有单个用户多个统计)
  2. who
  3. # [用户名] [终端] [时间] [登录IP]
  4. # 我是谁,返回你的用户名
  5. whoami

25.查询系统信息

uptime命令

  1. uptime
  2. # [当前机器的时间] [up 从开机到现在运行了多久] [当前登录系统的用户数] [负载情况]
  3. # 负载情况详情
  4. # 1分钟的负载,5分钟的负载,15分钟的负载
  5. # load average: 0.00, 0.01, 0.05

26.查询系统信息

w命令

  1. # who + uptime
  2. w

27.查看系统内存

free命令

  1. # 查看内存
  2. free
  3. # 显示单位
  4. free -h
  5. # 以M的单位显示
  6. free -m
  7. # 打印如下
  8. # total used free shared buff/cache available
  9. # Mem: 1.8G 482M 138M 2.6M 1.2G 1.2G
  10. # Swap: 0B 0B 0B
  11. #
  12. # total 所有的
  13. # used 已使用
  14. # free 未使用
  15. # shared 共享
  16. # buff/cache 缓冲/缓存
  17. # available 可获取,可使用的。
  18. # Swap 交换空间。开启Swap后,真实内存空间不够的时候,使用硬盘空间。

28.统计行

wc命令

  1. wc -l 123.txt
  2. # 45 123.txt

29.查找文件里符合条件的字符串

grep命令

  1. # 123.txt中有几处有 119.4.253.206(按行检索)
  2. grep '119.4.253.206' 123.txt
  3. # 配合wc统计行数
  4. grep '119.4.253.206' 123.txt | wc -l
  5. # -n:在搜索结果前面输出行数
  6. grep -n '80.82.70.187' 123.txt
  7. # -w:按行精确匹配
  8. grep -w '113.66.107.198' 123.txt
  9. # -i:忽略大小写
  10. grep -i 'IP:113.66.107.198' 123.txt
  11. # -v:反向选择
  12. grep -v '113.66.107.198' 123.txt

30.查询文件

find命令
find命令很耗性能,建议不要再服务器上使用。

  1. # find [指定目录,一定写全一点,不然耗性能]
  2. # 查找当前目录下 123.txt
  3. find / -name 123.txt
  4. # 查找当前目录下 123.txt 的文件
  5. find / -type f -name 123.txt

31.对排序好的内容进行统计

uniq命令

  1. # -c 按行统计
  2. # sort -n 倒序
  3. # sort -rn 顺序
  4. uniq -c 123.txt | sort -n
  5. # 配合索引字符串使用
  6. grep '119.4.253.206' 123.txt | uniq -c 123.txt | sort -n

32.对内容进行排序

sort命令

  1. uniq -c 123.txt | sort -n

33.文件系统的磁盘使用情况统计

df命令

  1. # -h显示单位
  2. df -h
  3. # 打印如下
  4. # 文件系统 大小 已使 空闲 使用率 挂在哪
  5. # Filesystem Size Used Avail Use% Mounted on
  6. # devtmpfs 909M 0 909M 0% /dev
  7. # tmpfs 919M 1.9M 918M 1% /dev/shm
  8. # tmpfs 919M 480K 919M 1% /run
  9. # tmpfs 919M 0 919M 0% /sys/fs/cgroup
  10. # /dev/vda1 40G 6.7G 31G 18% /
  11. # tmpfs 184M 0 184M 0% /run/user/0
  12. # tmpfs不存在实体硬盘中的,挂在内存中,每次重启将消失重新生成

34.查看网络端口的使用情况

netstat命令

  1. # 该命令CentOS默认没有安装
  2. # 下载安装
  3. yum -y install net-tools
  4. netstat -tunlp
  5. # -t :显示tcp端口
  6. # -u :显示UDP端口
  7. # -n :指明拒绝显示别名
  8. # -l :指明listen的
  9. # -p :指明显示建立相关连接的程序名
  10. # 查看指定程序的信息
  11. netstat -tunlp | grep nginx

35.查看主机名

hostname命令

  1. # 其实就是中括号中的名称
  2. hostname
  3. # [root@iz8vb8wa5io8p0nsrwlzriz ~]# hostname
  4. # iz8vb8wa5io8p0nsrwlzriz

36.显示所有进程信息

ps命令

  1. # ps 与grep 常用组合用法,查找特定进程
  2. # 当前进程,但是这样还会找到一个grep的进程
  3. ps -ef | grep nginx
  4. # [root@iz8vb8wa5io8p0nsrwlzriz ~]# ps -ef | grep nginxs
  5. # ↓这个是grep的进程
  6. # root 2829 2700 0 19:59 pts/1 00:00:00 grep --color=auto nginx
  7. # 要去掉grep的进程
  8. ps -ef | grep -v grep | grep nginx
  9. # 显示更多信息
  10. ps -ef | more | grep nginx
  11. # [root@iz8vb8wa5io8p0nsrwlzriz ~]# ps -ef | more
  12. # 程序拥有者 父程序ID
  13. # 程序ID
  14. # UID PID PPID C STIME TTY TIME CMD
  15. # root 1 0 0 Sep30 ? 00:00:16 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  16. # root 2 0 0 Sep30 ? 00:00:00 [kthreadd]
  17. # root 4 2 0 Sep30 ? 00:00:00 [kworker/0:0H]
  18. # ...
  19. # 显示出CPU、内存的使用情况
  20. ps -aux | grep nginx
  21. # [root@iz8vb8wa5io8p0nsrwlzriz ~]# ps -aux | more
  22. # 程序拥有者 CPU使用 虚拟内存使用量 终端 启动时间 启动该程序的命令
  23. # 程序ID 内存使用 固定内存使用量 进程状态 使用CPU的时间
  24. # USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  25. # root 1 0.0 0.2 43544 3868 ? Ss Sep30 0:16 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  26. # root 2 0.0 0.0 0 0 ? S Sep30 0:00 [kthreadd]
  27. # root 4 0.0 0.0 0 0 ? S< Sep30 0:00 [kworker/0:0H]
  28. # root 6 0.0 0.0 0 0 ? S Sep30 0:05 [ksoftirqd/0]
  29. # root 7 0.0 0.0 0 0 ? S Sep30 0:00 [migration/0]
  30. # root 8 0.0 0.0 0 0 ? S Sep30 0:00 [rcu_bh]
  31. # root 9 0.0 0.0 0 0 ? R Sep30 1:59 [rcu_sched]
  32. ps -aux | grep nginx | more

37.杀进程

kill命令

  1. # 查看kill的所有方式
  2. kill -l
  3. # 最常用的-9方式
  4. kill -9 top
  5. ps -ef | grep java
  6. kil -9 [程序PID]

38.监控Linux系统状况

top命令,比如cpu、内存的使用

  1. top
  2. # 按住键盘q退出

39.统计大小

du命令

  1. # 统计当前文件夹大小,并带上单位
  2. du -sh
  3. # m以M为单位统计,*统计当前文件夹下所有内容大小信息
  4. du -sm *

40.查看防火墙的状态

firewall-cmd命令

  1. # 该命令只能在CentOS中使用
  2. # 查看防火墙状态
  3. firewall-cmd --state
  4. firewall-cmd --state centos 7
  5. #关闭防火墙:
  6. systemctl stop firewalld.service

41.判断上一条命令是否正确

echo命令

  1. echo $?
  2. # 0 正确
  3. # 128 非0数字,那么就是不正确命令

42.查看日历

cal命令

  1. cal 2008
  2. # 查看时间
  3. date
  4. # 格式化时间
  5. date "+%Y-%m-%d"
  6. date "+%Y-%m-%d %H:%M:%S"
  7. # 更改时间
  8. date -s "2020-10-1"
  9. date -s "2020-10-1 20:00:00"
  10. # 当前时间的前一天
  11. date -d yesterday
  12. # 查看今天星期几
  13. date "+%w"
  14. # datechang
  15. # 重启虚拟机
  16. reboot

43.连接命令

文件上传:
Mac:filezilla
Win:winscp

  1. ssh root@127.0.0.1

44.虚拟机设置网络

  1. cd /etc/sysconfig/network-scripts/
  2. vim ifcfg-ens32
  3. # 重启网络服务
  4. sudo systemctl restart network

原来的:

  1. TYPE="Ethernet"
  2. PROXY_METHOD="none"
  3. BROWSER_ONLY="no"
  4. BOOTPROTO="dhcp"
  5. DEFROUTE="yes"
  6. IPV4_FAILURE_FATAL="no"
  7. IPV6INIT="yes"
  8. IPV6_AUTOCONF="yes"
  9. IPV6_DEFROUTE="yes"
  10. IPV6_FAILURE_FATAL="no"
  11. IPV6_ADDR_GEN_MODE="stable-privacy"
  12. NAME="ens32"
  13. UUID="41088361-ac72-476d-ab93-1632296d1b24"
  14. DEVICE="ens32"
  15. ONBOOT="yes"

修改后:

  1. TYPE="Ethernet"
  2. PROXY_METHOD="none"
  3. BROWSER_ONLY="no"
  4. # 这里修改为静态IP
  5. BOOTPROTO="static"
  6. DEFROUTE="yes"
  7. IPV4_FAILURE_FATAL="no"
  8. IPV6INIT="yes"
  9. IPV6_AUTOCONF="yes"
  10. IPV6_DEFROUTE="yes"
  11. IPV6_FAILURE_FATAL="no"
  12. IPV6_ADDR_GEN_MODE="stable-privacy"
  13. NAME="ens32"
  14. UUID="41088361-ac72-476d-ab93-1632296d1b24"
  15. DEVICE="ens32"
  16. ONBOOT="yes"
  17. # 添加IP配置
  18. # IP地址
  19. IPADDR=192.168.17.21
  20. # 子网掩码
  21. NETMASK=255.255.255.0
  22. # 默认网关
  23. GATEWAY=192.168.17.2
  24. # 域名解析
  25. DNS1=192.168.17.2
  26. DNS2=8.8.8.8

重置网卡:

  1. service network restart

关闭防火墙: