Linux学习笔记4 Linux实用操作

一、快捷键

  • ctrl + c
    强制停止程序运行(无法停止vim/vi)

  • ctrl + d
    退出登录

退出管理员用户

退出某些程序(如python)

  • history
    查看历史指令

  • 命令前缀 匹配上一个符合的指令
    例:使用!mk匹配上一个指令mkdir

[failur@localhost test]$ !mk
#mkdir ttt
[failur@localhost test]$ ls
#ttt
  • ctrl + r
    搜索历史指令

  • ctrl + a/e
    光标跳转到最前/最后

  • ctrl + <- / ->
    向左/右跳一个单词

  • ctrl+l
    终端清屏

二、软件操作

1.yum

yum [-y] [install | remove | serch ] 软件名称

*linux中的应用程序后缀:.rpm

  • -y 自动安装确认,不需要手动操作
  • install 下载 remove 删除 search搜索
    例,下载wget
yum -y install wget

Ubantu 应用后缀.deb 自动安装程序apt

2.systemctl

systemctl start | stop | status | enable | disable 服务名

start 启动

stop 停止

status 查看状态

enable 启用

disable 禁用

三、软链接

1.ln

ln -s 原路径 新路径

创建从源路径到新路径的软链接(快捷方式)

例、建立文件和文件夹的快捷方式

[failur@localhost ~]$ ln -s /etc/yum ~/yum
[failur@localhost ~]$ ln -s /etc/yum.conf ~/yum.conf
[failur@localhost ~]$ ls
#...  test  Videos  yum  yum.conf
  • 原路径必须是绝对路径
  • 指向空的文件 该软连接会被标记为橙红色

四、日期与时区

  1. date
    date [-d] [‘+格式化字符串’]

格式化字符串参数

%d   日 (01..31)
%D   日期,等价于%m/%d/%y
%H   小时 (00..23)
%I   小时 (01..12)
%j   一年中的第几天 (001..366)
%m   月份 (01..12)
%M   分钟 (00..59)
%n   新的一行,换行符
%s   自 1970-01-01 00:00:00 UTC 到现在的秒数
%S   秒 (00..60)
%t   插入水平制表符 tab
%T   时间; 等价于 %H:%M:%S
%y   年份后两位数字 (00..99)
%Y   年
%Z  时区缩写 (如 EDT)
  • -d用于日期计算
  • 格式化字符串用于规定date的输出
  • date不加参数表示按照原格式输出日期
    例1、按原格式输出
[root@localhost etc]# date
20240209日 星期五 03:11:50 CST

例2,日期计算

[root@localhost etc]# date -d "+1 years"
20250209日 星期日 03:12:18 CST

例3,格式化字符串

[root@localhost etc]# date "+今天是%Y年%M月%d日%H点%M分%S秒"
今天是20244109034133
  • linux默认时区修改
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这样就切换到中国时区了

五、ip地址和主机名

1.ipv4

  • 查看本机ip地址
ifconfig

主网卡ens33
lo本地回环网卡

virbr0虚拟机专用网卡

inet后的a.b.c.d即为本机ip

  • 特殊ip
    127.0.0.1 本地ip 代表自己

0.0.0.0 可以指代本机 可以在端口绑定中确定绑定关系

表示所有ip的意思

放行规则0.0.0.0则表示允许所有ip访问

2.主机名

  • hostname
    返回linux系统主机名
[failur@localhost ~]$ hostname
localhost.localdomain
  • hostnamectl set-hosname
    用于修改主机名
[failur@localhost ~]$ sudo hostnamectl set-hostname ff
[failur@localhost ~]$ hostname
#ff

3.域名解析

将一个字符化的的语句转换为ip地址

/etc/hosts文件保存着网址和ip地址的映射

找不到 会查询DNS服务器(114.114.114.144 8.8.8.8)

  • 使用主机名称配对
    1.修改windows的hosts文件(C:\Windows\System32\drivers\etc)

2.添加 虚拟机IP地址 虚拟机主机名的映射

3.在FinalShell中使用主机名连接

六、虚拟机固定ip

1.vmware - 虚拟网络编辑器 -VMnet8 -设置子网ip确定自己想要的网段192.168.88.0-子网掩码255.255.255.0-NAT设置-网关设置为192.168.88.2

2.虚拟机操作

vim编辑网络配置文件

vim /etc/sysconfig/network-scripts/

将以下修改

#修改此行
BOOTPROTO="static"

#添加四行
IPADDR="192.168.88.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

然后重启网络配置

systemctl restart network

完成!

七、网络请求与下载

1.ping

ping [-c] [主机名/ip]

-c检查的次数,不规定则无限检查

例,检测是否能连接到baidu.com

[failur@ff ~]$ ping -c 5 baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=128 time=44.1 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 time=44.7 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=128 time=44.2 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=4 ttl=128 time=44.2 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=5 ttl=128 time=43.4 ms

--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 43.436/44.139/44.700/0.466 ms

2.wget

wget [-b] url 下载url的资源

-b表示后台下载

3.curl

curl [-O] url

发起网络请求

-O用于下载软件

例,访问百度

[failur@ff ~]$ curl http://www.baidu.com/
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>

八、端口

1.端口

  • 公认端口 1~1023
    通常用于系统内置服务/知名程序预置使用

如ssh22端口HTTPS的443端口

非必要不要占用该区域

  • 注册端口1024~49151
    随意使用

  • 动态端口49152~65535
    通常不固定使用,对外网络连接是时临时使用

2.nmap

*需要安装nmap

yum -y install nmap

nmap ip 查看端口占用情况

例,查看本机的端口占用情况

[failur@ff ~]$ nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2024-02-09 14:28 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00087s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
111/tcp  open  rpcbind
631/tcp  open  ipp
6000/tcp open  X11

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

3.netstat

*需要安装

yum -y install net-tools

netstat -anp | grep 端口号

查看端口的占用情况

例,查看6000端口

[failur@ff ~]$ netstat -anp|grep 6000
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::6000                 :::*  

可以用于判断某个端口是否被占用或者某个进程使用了什么进程

九、进程管理

1.进程

程序运行时,会被操作系统注册为一个进程

每个进程都分配一个独有的进程id

2.ps

ps [-e f] 查看进程信息

-e显示全部的进程

-f以完全格式化的形式展示信息

一般用法ps -ef

列出全部进程的全部信息

从左到右

UID 进程所属用户

PID 进程的进程号

PPID 进程的父ID

C 进程的阿cpu占用

STIME 进程的启动时间

TTY 启动此进程的终端序号 ?表示非终端启动

TIME 进程占用CPU时间

CMD 进程的启动路径

例,

[root@ff ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Feb06 ?        00:00:39 /usr/lib/systemd/systemd --switched-root --system --deserializ
root          2      0  0 Feb06 ?        00:00:00 [kthreadd]
root          3      2  0 Feb06 ?        00:00:54 [ksoftirqd/0]
root          5      2  0 Feb06 ?        00:00:00 [kworker/0:0H]
root          7      2  0 Feb06 ?        00:00:00 [migration/0]
root          8      2  0 Feb06 ?        00:00:00 [rcu_bh]
root          9      2  0 Feb06 ?        00:01:31 [rcu_sched]
root         10      2  0 Feb06 ?        00:00:00 [lru-add-drain]
...

3.kill

kill [-9] 进程ID 关闭该进程

-9表示强制关闭进程

不加-9显示Terminated 中止

加-9显示Killed

十、进程状态

1.top

top [-p d c n b i u]

-p只显示某个进程信息

-d刷新时间 默认5s

-c 显示产生进程完整命令 默认进程名称

-n 指定刷新次数

-b 非交互非全屏运行 以批次执行top 一般结合-n写入文件

如:

top -b -n 3 > /tmp/top.tmp  

-i 不显示闲置/僵尸进程
-u 查找特定用户启动的进程

查看系统资源占用

默认每隔五秒刷新一次

ctrl+c / q可以退出

例1,top命令以及内容解释

top - 19:41:31 up 3 days, 53 min,  6 users,  load average: 0.19, 0.21, 0.25
Tasks: 229 total,   2 running, 227 sleeping,   0 stopped,   0 zombie
%Cpu(s): 14.6 us, 16.3 sy,  0.0 ni, 68.8 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :   995892 total,    68396 free,   482860 used,   444636 buff/cache
KiB Swap:  2098172 total,  1777916 free,   320256 used.   256732 avail Mem 
  • 第一行 当前系统时间 启动时间 登录用户个数 1,5,15分钟内平均负载 (%)
  • 进程个数 运行进程个数 睡眠进程个数 停止进程个数 僵尸进程个数
  • CPU使用相关us用户使用sy系统使用 ……
  • 四五行 内存相关
    例2,top查询程序
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                     
  6494 polkitd   20   0  723524  12316   2528 S 19.9  1.2 599:03.14 polkitd                                     
 78184 failur    20   0  161248   2736   1000 S  1.0  0.3   1:32.09 sshd                                        
  6436 dbus      20   0   70240   2976    968 S  0.7  0.3  16:45.24 dbus-daemon                                 
  1292 S  0.3  0.4   3:49.03 vmtoolsd           
 ... 

PID USER 进程id
PR 优先级 越小越高

NI 负值表示高优先级 正为低优先级

VIRT 虚拟内容(KB)

RES  物理内存(KB)

SHR 共享内存 (KB)

S 进程状态(S休眠R运行Z僵尸N负数优先级I空闲)

%CPU 占用cpu率

%MEM  占用内存率

TIME+ COMMAND 进程命令/程序文件路径

  • 交互时可使用快捷键 使用h查看帮助

十一、磁盘信息监控

1.df

df [-h]

查看硬盘使用情况

-h表示以人性化方式显示大小

2.iostat

iostat [-x][num1][num2]

cpu 磁盘相关信息

-x显示更多信息

数字对应 刷新间隔 刷新次数

[failur@ff ~]$  iostat [-x] 1 1
Linux 3.10.0-957.el7.x86_64 (ff)        20240209日  _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.70    0.02    9.53    0.01    0.00   82.73

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

十二、网络状态监控

1.sar

sar [-n] DEV num1 num2

-n 表示查看网络(Network)

DEV表示查看网络接口

num 刷新间隔 刷新次数

IFACE 本地网卡接口名称

rxpck/s   每秒钟接受数据包

txpck/s    每秒钟发送数据包

rxkB/s    每秒接受数据包大小

txkB/s   每秒钟发送数据包大小

rxcmp/s   每秒钟接受的压缩数据包

txcmp/s  每秒钟发送的压缩数据包

rxmcst/s 每秒钟接受得多播数据包

十三、环境变量

/user/bin/cd在任何目录都能执行的原因:环境变量

1.env

查看系统中记录的环境变量

例,查看环境变量

env | grep PATH
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/bin

执行的程序会依次在PATH中的路径中查找

2.$

用于取值

例1,获取PATH的内容

[failur@ff ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/bin

例2,与其他字符串连用

[failur@ff ~]$ echo "路径为${PATH}hhhh"
路径为/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/failur/.local/bin:/home/failur/binhhhh

3.设置环境变量

环境变量$PATH储存在/etc/profile中

  • 临时设置
    export 变量名=变量值

*等号左右不要有空格!

  • 永久设置
    对于当前用户:~/.bashrc

所有用户:/etc/profile

语法source配置文件,立即生效,或重新登录后生效

例1,临时设置环境变量

[failur@ff ~]$ export ff=666
[failur@ff ~]$ echo $ff
666

例2,当前用户永久生效

[failur@ff ~]$ vim ~/.bashrc
#添加export failur=666
[failur@ff ~]$ echo $failur
#
[failur@ff ~]$ source .bashrc
[failur@ff ~]$ echo $failur
#666

4.自定义PATH环境

要使某个文件能够执行

·将文件权限加入可以执行

·将其路径写入$PATH

export PATH=$PATH:/root/myenv

之后该指令可以在任何目录下生效

  • 要使环境变量生效 需要使用:
source /etc/profile

十四、 文件上传与下载

1.FinalShell操作

  • 下载
    使用FinalShell工具

底栏找到相应文件 右键选择下载

下载文件存放在Windows系统 桌面-fsdownload文件夹中

  • 上传
    进入相应FinalShell目录

将文件拖拽进去

  • 文件夹权限与FinalShell登录用户权限一致
    需要改变权限时,在设置界面更改登录用户为root 即可获取root权限

2.命令行操作

  • 安装lrzsz
yum -y install lrzsz
  • rz
    上传文件

回车弹出文件选择的窗口

  • sz
    sz 文件名

下载到下载目录下

文件名较长 使用tab补全
rz命令比较慢,拖拽传输大文件

十四、压缩和解压

  • Linux中常用压缩包:tar、gzip、zip

1.tar

  • .tar文件用于归档,没有体积的压缩

  • .gz用于压缩
    tar [-c -v -x -f -z -C] 参数……

  • -c,创建压缩文件

  • -v,显示压缩,解压过程

  • -x,解压模式

  • -f,要创建/解压的文件(*必须在最后一个参数)

  • -z,gzip压缩,默认tarball格式 (*必须在第一个)

  • -C,解压目的地 (在之后单独使用)
    例1,压缩

[failur@ff test]$ tar -cvf test.tar 1.t 2.t 3.t

例2,解压 (-z用于解压gzip格式的压缩包)

[failur@ff ~]$ tar -zxvf test2 -C /.../...

2.zip/unzip

zip [-r] 压缩后文件名 [需要压缩的文件名…]

需要压缩的文件中包含文件夹,需要使用-r

unzip [-d]

-d同tar的-C 压缩释放位置

例1,将1.t 2.t 3.t压缩到test.zip压缩包中

[failur@ff Downloads]$ zip -r test 1.t 2.t 3.t test
  adding: 1.t (stored 0%)
  adding: 2.t (stored 0%)
  adding: 3.t (stored 0%)
  adding: test/ (stored 0%)

压缩后文件名test.zip
例2,将test.zip解压到test文件夹下

[failur@ff Downloads]$ unzip test.zip -d test

解压时遇到同名内容会直接替换 因此要注意

  • 57
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
B站上的韩顺平老师的《Linux学习笔记》系列课程非常值得推荐。通过这个课程,我学到了很多关于Linux操作系统的知识和技能。 首先,韩老师在课程中详细介绍了Linux的基本概念和特点。我清楚地了解到Linux是一个开源的操作系统,具有稳定性、安全性和可定制性强的特点。这让我对Linux有了更深入的理解,也更有信心去学习和使用它。 其次,韩老师从基础开始,逐步讲解了Linux的安装和配置。他用简单明了的语言和实际操作的示范,帮助我了解了如何在虚拟机上安装Linux系统,并设置网络、用户账户、文件系统等。这为我后续的学习和实践打下了坚实的基础。 此外,韩老师还讲解了Linux的常用命令和工具。他详细介绍了常用的文件和目录操作命令,比如cd、ls、mkdir、cp等。同时,他还讲解了grep、sed、awk等强大的文本处理工具的使用方法。这些内容帮助我更加高效地进行文件管理和数据处理。 最后,韩老师还介绍了Linux的网络管理和安全防护。他讲解了如何配置网络连接、使用ssh远程登录以及设置防火墙等内容。这些知识对我了解网络和保护系统安全非常有帮助。 总的来说,韩顺平老师的《Linux学习笔记》课程非常实用,对于初学者来说是入门学习Linux的好选择。他通过深入浅出的讲解和丰富的实操示范,让我可以轻松地学习Linux的基本知识和操作技巧。我相信通过学习这个课程,我会在Linux领域有更进一步的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值