Linux入门(一)

申明:内容首发于公众号:写点代码,感兴趣的小伙伴可以关注~

​Linux是什么?

Linux系统是一个多用户的系统,一个主机连接着多个字符终端,比如打字机,包含键盘,显示器,串口,简称tty。早期,主机负责程序的存储和处理,字符终端负责输入与输出。主机和终点之间使用电缆连接。如今,使用虚拟终端,使用tcp链接代替串口线,双向传递字节流。,如果使用安全终端,可以在tcp连接上进行加密处理。在不追求严谨的情况下,我们可以认为就是一个操作系统,然后我们使用命名行进行操作。

通过基础命令去了解Linux

1. Linux用户分为超级用户(root)和普通用户。超级用户可以创建普通用户:创建的用户可以在/etc/passwd文件查看。Linux用户可以使用passwd更换口令,Root用户无需输入之前的,直接重新设置口令;root也可以直接帮忙重新设置普通用户的口令,但不知道之前的口令是什么,因为密码会被hash加密。普通用户更换口令的时候需要知道之前的口令是什么。

root@my:/#useradd testuserroot@my:/# cat ../etc/passwdtestuser:x:1003:1003::/home/testuser:/bin/sh

 

                      加密过程

2.通过man(查看联机手册)来了解命令

man ls//man commod_name;//了解一个命令的具体用法,表示查看联机手册man 3 strstr//man section_ name commod_name 1表示命令,2表示系统调用 3表示库函数 5配置文件

 

3 .了解当前linux的时间

date //读取当前系统时间date “+%Y-%m-%d %H:%M:%S Day %j”//Day 后面表示今天的第多少天date “+%s”//第一个字符必须为+ 从1970算起ntpdate 借助ntp协议校对时间cal //打印日历cal year //打印这一年的日历cal month year//打印这个月的
root@my:/# dateWed Oct 21 22:07:07 CST 2020root@my:/# date "+%Y-%m-%d %H:%M:%S Day %j"2020-10-21 22:07:17 Day 295root@my:/# date "+%s"1603289246
root@iZ8vbf6h2cii62o5uigsjiZ:/# cal    October 2020Su Mo Tu We Th Fr Sa             1  2  3 4  5  6  7  8  9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31root@iZ8vbf6h2cii62o5uigsjiZ:/# cal 3 2020     March 2020Su Mo Tu We Th Fr Sa 1  2  3  4  5  6  7 8  9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31

4.计算器

类似一个在命令行输入python一样,会进行一个计算器,进行各种基础运算

bc //计算器bc -l//设置精度

通过看参数了解系统状态

Who //谁在系统Who am i //当前系统终端的登陆用户Whoami //只列出当前终端登录用户的名字tty//当前终端的设备文件名
root@my:~# whoroot     pts/0        2020-10-25 21:34 (125.33.163.37)root@my:~# who am iroot     pts/0        2020-10-25 21:34 (125.33.163.37)root@my:~# whoamirootroot@my:~# tty/dev/pts/0

1.uptime:查看设备开机的年龄

root@my:~# uptime 21:39:02 up 161 days, 11:28,  1 user,  load average: 0.00, 0.00, 0.00// 当前系统时间 已经开机的天数 用户数 系统cpu的负

2.Top:列出资源占用排名靠前的进程

root@my:~# toptop - 21:54:29 up 161 days, 11:43,  2 users,  load average: 0.00, 0.00, 0.00Tasks:  87 total,   1 running,  52 sleeping,   0 stopped,   0 zombie%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :  4039112 total,   983840 free,    98128 used,  2957144 buff/cacheKiB Swap:        0 total,        0 free,        0 used.  3656200 avail Mem  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 4383 root      20   0   41676   3732   3168 R   0.3  0.1   0:00.02 top

PID:进程的编号

USER:用户名称

PR:优先级

NI: nice值。负值表示高优先级,正值表示低优先级

VIRT:进程逻辑地址空间大小,也就是我们用malloc等申请的空间

RES:进程占用的物理内存数

SHR:与其他进程共享的内存数

S: 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠..)

%CPU:占用CPU百分比

%MEM :占用内存百分比

TIME+:占用cpu的时间

 

3.Ps:查询进程状态(Process Status)

root@my:~# ps  PID TTY          TIME CMD 4329 pts/1    00:00:00 bash 4390 pts/1    00:00:00 psroot@my:~# ps -lF S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD4 S     0  4329  4281  0  80   0 -  5662 wait   pts/1    00:00:00 bash0 R     0  4391  4329  0  80   0 -  7228 -      pts/1    00:00:00 psroot@my:~# ps -fUID        PID  PPID  C STIME TTY          TIME CMDroot      4329  4281  0 21:54 pts/1    00:00:00 -bashroot      4392  4329  0 22:03 pts/1    00:00:00 ps -froot@my:~# ps -e  PID TTY          TIME CMD    1 ?        00:00:48 systemd    2 ?        00:00:01 kthreadd    4 ?        00:00:00 kworker/0:0H    6 ?        00:00:00 mm_percpu_wq    7 ?        00:00:01 ksoftirqd/0    8 ?        00:19:41 rcu_sched    9 ?        00:00:00 rcu_bh...

ps不加任何参数:列出当前终端启动的进程

列出的条目:pid,tty,time,command

ps -e:列出系统中的所有进程

ps -f:以full格式列出当前终端启动的进程

ps -l:以long格式列出当前终端启动的进程

 

UID:用户id

PID:进程ID

PPID:父进程的ID

C:CPU占用指数,最近一段时间占用cpu的情况

PRI:优先级

 NI: nice值。负值表示高优先级,正值表示低优先级

ADDR:ADDR 是 kernel function,指出该进程在内存的哪个部分

SZ :进程逻辑内存大小

WCHAN :进程在内存的何处睡眠(wait channel)

 TTY  :设备终端名称

TIME :占用cpu的时间

CMD:命令名

 

4.Free:了解内存使用情况

root@my:~# free              total        used        free      shared  buff/cache   availableMem:        4039112       98308      983624        2992     2957180     3656004Swap:             0           0           0

total:内存总量

used:使用了多少内存

free:有多少内存剩余

shared:有多少共享内存

buff/cache:用于缓冲的内存,linux为提高效率会使用不用的内存用于磁盘缓冲

available:不算用于缓冲的,有可以使用的内存有多少

 

5.vmstat 了解系统负载

root@my:~# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 2  0      0 983860 220760 2736424    0    0     0     1    1    1  0  0 100  0  0

 

 

参考资料:Linux开发环境及应用(mooc),图片来自课程ppt。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值