记录一下Linux上面的相关常用命令

查看Linux版本

  • 查看系统版本 1

    1
    2
    3
    4
    5
    6
    $ cat /proc/version

    # 回显
    Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016

    # 我们可以看到该系统使用的是Linux 3.10.0 内核的64为操作系统。GCC 为GUN 编译器集合,采用4.8.5版本。
  • 查看系统版本 2

    1
    2
    3
    4
    5
    $ cat /etc/redhat-release

    # 回显
    CentOS Linux release 7.3.1611 (Core)

  • 查看系统版本 3

    1
    2
    3
    4
    5
    6
    7
    8
    $ lsb_release -a

    # 回显
    LSB Version: :core-4.1-amd64:core-4.1-noarch
    Distributor ID: CentOS
    Description: CentOS Linux release 7.8.2003 (Core)
    Release: 7.8.2003
    Codename: Core
  • 查看系统版本 4

    1
    2
    3
    4
    $ uname -a

    # 回显
    Linux jnssd 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

网络相关命令

查看系统IP

  • 系统自带

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ ip addr

    # 回显
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:0a:53:e1 brd ff:ff:ff:ff:ff:ff
    inet 172.19.38.174/20 brd 172.19.47.255 scope global dynamic eth0
    valid_lft 309296449sec preferred_lft 309296449sec

    # 其中172.19.38.174 即内网IP
  • net-tools工具

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 注:此方式需要net-tools工具 如果没有,使用 yum install -y net-toos 安装
    $ ifconfig

    # 回显
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 172.19.38.174 netmask 255.255.240.0 broadcast 172.19.47.255
    ether 00:16:3e:0a:53:e1 txqueuelen 1000 (Ethernet)
    RX packets 18771838 bytes 3548650580 (3.3 GiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 27233321 bytes 6750190762 (6.2 GiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
    inet 127.0.0.1 netmask 255.0.0.0
    loop txqueuelen 1000 (Local Loopback)
    RX packets 7311 bytes 1501882 (1.4 MiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 7311 bytes 1501882 (1.4 MiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

配置系统的IP

  • 查看当前系统的网卡配置文件

    1
    $ ls /etc/sysconfig/network-scripts/

    回显如下:

    image-20220322153913374

    其中ifcfg-eth0即系统IP所在文件,

    注:ifcfg-*这个文件不一定一致,该文件是根据系统的网卡而来,不同的网卡文件名是不一样的!

  • 修改网卡配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $ nano /etc/sysconfig/network-scripts/ifcfg-eth0

    # 回显1(配置了静态IP回显)
    BOOTPROTO=static ##配置为静态IP
    IPADDR=172.19.38.174 ##设置的IP
    NETMASK=255.255.255.0 ##子网掩码
    GATEWAY=172.19.38.255 ##网关
    NM_CONTROLLED=no ##取消networkmanager 管理
    #DNS设置
    DNS1=192.168.1.1
    DNS2=8.8.8.8

    # 回显2(配置了自动获取IP)
    DEVICE=eth0 ## 网卡名称
    BOOTPROTO=dhcp ## 自动获取IP
    ONBOOT=yes ## 是否激活网卡

  • 如果上述文件有了修改,并需要文件生效,需要重启网卡才行:

    1
    $ service network restart

配置网络防火墙

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# 列出所有可用单元
$ systemctl list-unit-files

# 列出所有运行中单元
$ systemctl list-units

# CentOS 配置防火墙操作实例(启、停、开、闭端口):
# 注:防火墙的基本操作命令:
# 关闭禁止Firewall :
$ systemctl stop firewalld.service
$ systemctl disable firewalld.service

# 如果没有iptables时:
# 添加iptables:
$ yum -y install iptables-services

# 编辑配置文件:
$ vim /etc/sysconfig/iptables
$ nano /etc/sysconfig/iptables

# 开放端口:
$ -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
$ -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

# 配置防火墙自启:
$ service iptables enable
# or
$ systemctl enable iptables

# 列出防火墙规则:
$ iptables -L -n --line-number

# 查询防火墙状态:
$ service iptables status

# 停止防火墙:
$ service iptables stop

# 启动防火墙:
$ service iptables start

# 重启防火墙:
$ service iptables restart

# 永久关闭防火墙:
$ chkconfig iptables off

# 永久关闭后启用:
$ chkconfig iptables on

系统升级或者 yum 包升级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#升级所有包同时也升级软件和系统内核
$ yum -y update

#只升级所有包,不升级软件和系统内核
$ yum -y upgrade

## 软件安装卸载

# 显示可安装的程序包
$ yum list package

# 安装:
$ yum install package

# 卸载:
$ yum remove package

# 查看程序包信息
$ yum info package

# 显示仓库中最近增加的程序包
$ yum list recent

# 显示可更新或已安装的程序包
$ yum list updates

$ yum list installed

# 清理本地缓存
$ yum clean all

# 清楚插件缓存
$ yum clean plugins

# 1.查看版本
$ cat /etc/issue

# 2.查看版本
$ cat /etc/redhat-release

Linux文件夹/文件相关

创建文件夹/文件软链接

有些情况下,我们可能经常访问某些文件,而这些文件夹可能放的目录很深,这需要牢记很多冗长的文件地址路径,可在登录后回显的地址下创建类似Windows一样的文件夹快捷方式,即 软链接的形式方便快速访问到需要使用的文件的文件夹,具体操作如下

  • 创建文件夹软链接

    1
    2
    3
    4
    5
    $ ln -s 软链接文件夹全地址 [软链接文件夹\文件名称]
    # 注:文件夹\文件名称可要可不要,默认为软链接需要文件夹\文件的名称
    # eg 软链接/opt目录下的test文件夹

    $ ln -s /opt/test/ [软链接文件夹\文件名称]
  • 删除软链接文件

    1
    2
    3
    4
    5
    6
    7
    $ rm 软链接文件夹\文件名称

    # eg: 删除已创建的test软链接

    $ rm test

    # 注:如果软链接的是文件夹,不要的文件夹的斜杠 /
  • 查看软链接文件夹的真实地址

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 1、如果在文件或文件夹已软链接的目录,直接使用 `ll` 命令即可查看

    ## 如,软链接好了的 /opt目录下的test文件夹
    $ ll
    # 回显如下:(其中/opt/test/ 即文件夹真实地址)
    lrwxrwxrwx 1 jiang jiang 10 Mar 28 15:46 test -> /opt/test/

    # 2、如果当前已在软链接的目录下了,使用 “pwd -P"才能查看真实地址,如果不带参数,查看的是软链接/快捷方式的地址
    ## eg 注:参数P为大写
    $ pwd -P

文件/文件夹权限相关

  • 给予某用户某文件的权限:

    1
    2
    3
    4
    5
    6
    7
    $ chown -R 用户账号 文件夹

    # 如:给zhangsan账号分配 /opt/demo文件夹的权限

    $ chown -R zhangsan /opt/demo

    # chown 命令仅root账号能使用 其中 -R表示文件夹递归所有子文件的权限给当前设置
  • 给文件/文件夹授予其他用户权限

    1
    2
    3
    4
    5
    6
    $ chmod 权限值 文件

    $ chmod -R 权限值 文件夹

    # 常用 授予某文件所有用户读写权限
    $ chmod -R 777 /opt

    其他数字代表的权限值参考

    • 400 -r——– 拥有者能够读,其他任何人不能进行任何操作;
    • 644 -rw-r–r– 拥有者都能够读,但只有拥有者可以编辑;
    • 660 -rw-rw—- 拥有者和组用户都可读和写,其他人不能进行任何操作;
    • 664 -rw-rw-r– 所有人都可读,但只有拥有者和组用户可编辑;
    • 700 -rwx—— 拥有者能够读、写和执行,其他用户不能任何操作;
    • 744 -rwxr–r– 所有人都能读,但只有拥有者才能编辑和执行;
    • 755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
    • 777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。