Linux教程

Linux基础命令

本文主要是介绍Linux基础命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.防火墙

  1. #查看防火墙状态
    systemctl status firewalld
    ​
    #开启防火墙
    systemctl start firewalld
    ​
    #关闭防火墙
    systemctl stop firewalld
    ​
    #重启防火墙
    systemctl restart firewalld
    ​
    #重载防火墙
    systemctl reload firewalld

2.查看文件

#翻页相关:
     - f:下一页
     - b:上一页
     - 空格:下一页
    - q:退出
​
1. cat 文件名
2.head -n 3 文件名:查看前n行
3.tail -n   文件名:查看尾部n行
4.more      文件名:查看文件
5.less      文件名:

 

3目录相关

pwd                    # 查看你当前所在的目录
cd                     # 切换目录
ls                     # 查看显示目录的内容
    - alh:                #查看文件
    - a:                  #查看所有文件
    - l:                  #以列表的形式显示
    - h:                   #人性化显示
du                     # 统计目录和文件空间的占用情况
mkdir                  # 创建新目录
touch                  # 创建文件
rm                     # 删除文件
    rm  -rf               #文件路径
        -rf               #强制删除,不提示
         -rm -rf /*           #
ln                     # 创建硬链接
ln -s                  # 创建软链接
cp                     # 复制文件或目录
mv                     # 移动文件或目录
which                  # 查看linux命令所在的目录
du:                   查看目录和文件的空间占用情况
#sudo: 以管理员身份运行命令
tree:                #树形查看目录结构

2 磁盘、CPU、内存、负载

2.1 磁盘

[root@linux-node1 ~]# df -hl
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root     37G    2.9G   35G   8%  /
devtmpfs             898M    0  898M    0%  /dev
tmpfs               910M   16K  910M    1%  /dev/shm
tmpfs               910M   34M  877M    4%  /run

2.2 CPU

  • top :查看cpu 内存等使用情况

[root@linux-node1 /]# top
top - 03:24:29      # 表示当前时间
up 4 days, 22:56,   # 系统已经运行时间 
users,            # 当前登录用户数
load average: 0.01, 0.03, 0.05  # 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值
Tasks: 123 total(进程总数),   2 running(正在运行进程数), 121 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 
us,  0.0  # 用户空间占用CPU百分比
sy,  0.0  # 内核空间占用CPU百分比
ni,100.0   # 用户进程空间内改变过优先级的进程占用CPU百分比
id,  0.0  # 空闲CPU百分比
wa,  0.0  # 等待输入输出的CPU时间百分比
hi,  0.0  # 硬中断(Hardware IRQ)占用CPU的百分比
si,  0.0  # 软中断(Software Interrupts)占用CPU的百分比
st
KiB Mem :  1863224 total(物理内存总量),   219592 free,   498732 used,  1144900 buff/cache
KiB Swap:  2097148 total(交换区总量),  2094580 free,     2568 used.  1043628 avail Mem
    
进程id 进程所有者  优先级  
 PID    USER       PR      RES    SHR S %CPU %MEM     TIME+ COMMAND                                          
   root       20      5156   3796 S  0.3  0.3  10:54.90 vmtoolsd       
   root       20      2252   1580 R  0.3  0.1   0:00.03 top                 
   root       20      3844   2436 S  0.0  0.2   2:04.28 systemd      
  • 查看CPU基本信息

[root@linux-node1 ~]# cat /proc/cpuinfo
processor       : 0                # 系统中逻辑处理核的编号
vendor_id       : GenuineIntel     # CPU制造商 
cpu family      : 6                # CPU产品系列代号
model           : 142              # CPU属于其系列中的哪一代的代号
model name      : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz   # CPU属于的名字及其编号、标称主频
stepping        : 9                # CPU属于制作更新版本
cache size      : 4096 KB          # CPU二级缓存大小
physical id     : 0                # 单个CPU的标号
siblings        : 1                # 单个CPU逻辑物理核数          
cpu cores       : 1                # cpu个数

2.3 内存

[root@linux-node1 ~]# free -m
              total        used        free      shared              buff/cache   available
Mem:           1819         486         190          32                1142        1020
Swap:          2047           2        2045
             总内存       已使用       可用空间    多进程共享内存        磁盘缓存大小

2.4 负载

2.4.1 什么是系统平均负载?

# 1. 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。
# 2. 如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。
# 3. 如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
# 4. 如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。
# 5. 1可以被认为是最优的负载值。负载是会随着系统不同改变得。
# 6. 单CPU系统1-3和SMP系统6-10都是可能接受的。

 

2.4.2 查询系统当前负载信息

[root@linux-node1 ~]# uptime
 21:03:50 up 5 days,  5:14,  2 users,  load average: 0.02, 0.04, 0.05
​
'''显示内容说明:'''
10:19:04             # 系统当前时间 
up 257 days, 18:56      # 主机已运行时间,时间越大,说明你的机器越稳定。 
user             # 用户连接数,是总连接数而不是用户数 
load average          # 系统平均负载,统计最近1,5,15分钟的系统平均负载

3.进程管理(MySQL)

3.1 ps -ef

-e  : 显示运行在系统上的所有进程
-f  : 扩展显示输出
[root@linux-node1 ~]# ps -ef|grep python
所有者     进程id  父进程id
root       6852      1     0 Nov23 ?        00:01:23 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      37276      1     0 Nov24 ?        00:00:25 /usr/bin/python /usr/bin/salt-master
root      37285    37276     0 Nov24 ?        00:00:00 /usr/bin/python /usr/bin/salt-master

3.2 杀死进程

[root@linux-node1 ~]# kill -9  2233     # 杀死进程2233
[root@linux-node1 ~]# pkill zabbix     # 杀死zabbix进程

3.3 查看22端口运行的服务

[root@linux-node1 ~]# netstat -anptu|grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6851/sshd           
tcp        0      0 192.168.56.11:22        192.168.56.1:62530      ESTABLISHED 32946/sshd: root@pt 
tcp6       0       0 :::22                   :::*                    LISTEN      6851/sshd    

4数据类型(需要背)

一共分为5大类:
    数据型(int,bigint),
    字符串(char,varchar,text)--》(char与varchar的区别)
    时间如期型(date, time, datetime),
    枚举(*)
    集合(*)
1.特点
2.char定长字符串,varchar是不定长字符串
3.char存储比长度限定小的数据,其余用 空格填充,比较浪费空间,虽然浪费了空间,但由于其不可变性 ,其查询速度比较快
就是典型的“空间还时间”char的存储范围是255个字符
4. varchar由于变长,恰好和char相反,其查询速度较慢,但其节省空间,就是典型的“时间换空间”
varchar的存储范围是65535个字符

 

 

 

4.1练习题

 

 

 create database stus charset utf8;
 use stus;
  create table subject (
    -> id int not null unique,
    -> subname varchar(32)
    -> );
    
     create table student (
    -> id int primary key,
    -> name varchar(32),
    -> age int not null,
    -> snum varchar(32) unique,
    -> gender int default 1,
    -> sub_id int,
    -> foreign key(sub_id) references subject(id)
    -> );
    
    
     desc student;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(32) | YES  |     | NULL    |       |
| age    | int(11)     | NO   |     | NULL    |       |
| snum   | varchar(32) | YES  | UNI | NULL    |       |
| gender | int(11)     | YES  |     | 1       |       |
| sub_id | int(11)     | YES  | MUL | NULL    |       |
+--------+-------------+------+-----+---------+-------+
rows in set (0.00 sec)

#插入数据

#插入数据
1.全列插入
insert into 表明 values(...),(...);
​
2.部分插入
insert into 表明 (字段1,字段2,...)values(值1,值2,...),(值1,值2,...);
​

 

#自增长约束与默认值约束

    - 主键列是自增长,但是在全列插入时需要占位,通常使用空值(0或者null);
    - 字段默认值 default 来占位, 插入成功后以实际数据为准;
    
    insert into subject values(1,'rgzn');
    insert into student values
    (1,'lqq',19,'10080',default,1)

#数据的修改

udata 表名 set 列1=值1,列2=值2... whrer条件
例:
update students set gender=0,hometown='北京' where id = 5;

#数据删除

delete from 表名 where
例:
delete from students 

 

这篇关于Linux基础命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!