赞
踩
前面我们学习了 Linux 的基本操作和 Linux 的用户的权限,那么今天我将为大家分享关于 Linux 的众多实用操作。
使用 tail
命令会使终端处于等待状态,CTRL + c 可以结束等待状态。
如果我们输入错误或者不想执行输入的命令,可以直接 CTRL+ c 退出当前输入,重新输入。
退出当前的 root 登录用户,回到上次登录的 handsome 用户。
退出当前的 python 界面。
历史命令搜索有多种方式:
使用 history
可以查看历史输入的命令。
也可以搭配管道符进行过滤使用。
!命令前缀,自动执行上一次最近的匹配前缀的命令。
CTRL + r,输入内容进行历史命令的搜索
如果搜索到的内容是你想要的:
CTRL + r
-> ls
-> enter
yum
进行软件的安装apt
进行软件的安装yum [-y] [install | remove | search] 软件名称
apt [-y] [install | remove | search] 软件名称
使用 yum
或者 apt
命令需要 root
权限,可以切换到 root 用户或者使用 sudo
提权,并且需要联网。
sudo yum -y remove wget
删除 wget
sudo yum -y install wget
下载 wget
sudo yum -y search wget
查看 wget
Linux 很多内置和第三方软件都支持使用 systemctl
命令控制启动、停止、开机自启。这种能过够被 systemctl
控制的软件,一般也被称为服务。
systemctl start | stop | enable | disable 服务名
Linux软链接,也称为符号链接,是Linux系统中的一种特殊文件类型。它是一个指向另一个文件或目录的文件,类似于Windows系统中的快捷方式。
软链接可以跨越文件系统,可以指向任何类型的文件或目录,包括硬链接、设备文件等。它们是通过路径名来引用的,并且可以在不同的目录下创建。
ln -s 参数1 参数2
我们在这里创建一个要链接去的文件,并写入内容。
touch /home/handsome/test.txt
vim /home/handsome/test.txt
ln -s test.txt test1.txt
cat test1.txt
这里需要保证被链接去的文件不存在,当你执行完这个命令的时候,它会自己创建
在 Linux 中,可以使用 data [-d] [+格式化字符串]
来查看时间。
date
不加任何选项。
date
添加格式化字符串选项。
注意:如果格式化字符串的中间有空格的话,需要使用双引号将格式化字符串包裹起来
日期计算:今年的前一年 date -d"-1 year" "+%Y-%m-%d %H:%M:%S"
①
虽然可以显示出来时间了,但是我们可以发现,显示出来的时间跟我们现实中的时间是有差别的。这是因为时区的问题,我们使用的时区应该是东八区,Linux 默认的时区是 UTC(协调世界时),所以我们需要更改时区。
使用 root
用户执行下面的命令。
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这里显示的就是东八区的时间了。
②
我们还可以使用 ntp
程序自动校准系统时间
使用 ntp
需要安装 ntp
yum -y install ntp
启动 ntp
并设置开机自启
systemctl start ntp
systemctl enable ntp
这里我就不给大家演示了,大家可以自己去试试。这个操作需要我们在 root 用户下使用。
③
手动校准。通过阿里云提供的服务网址,搭配 ntp
手动校准时间。同样这个操作也需要在 root 用户下使用。
ntpdate -u ntp.aliyun.com
IP地址(Internet Protocol Address)是用于在网络通信中标识和定位设备的数字标识符。它是网络通信中数据包传输的基本单位,类似于每个设备在网络中的住所。IP地址用于识别设备(如计算机、手机、路由器等)以及设备之间的通信。
IP地址通常由32位(IPv4)或128位(IPv6)的二进制数字组成。为了方便使用和理解,IP地址通常被表示为由四个数字组成的十进制格式(IPv4),每个数字范围从0到255,以点分隔(例如:192.168.0.1),或者以16位的十六进制表示(IPv6)。
IP地址中的每个设备都具有唯一的地址,这使得数据包能够在网络中正确地发送到目标设备。IP地址分为两个主要部分:网络部分和主机部分。网络部分标识网络的身份,而主机部分标识网络中的具体设备。
IPv4是目前广泛使用的 IP 地址版本,但由于互联网的发展和设备增加,IPv6逐渐得到推广,以获得更多的可用IP地址。IPv6提供了更大的地址空间,以满足未来互联网的需求。
我们可以通过 ifconfig
来查看自己电脑的 IP 地址。
我们还需要记住几个特殊的 IP 地址。
主机名(Hostname)是用于标识网络中的设备(主机)的名称。它是一个易于识别和记忆的字符串,用于代表设备在网络中的身份。
主机名通常用于局域网环境中或特定网络中,用于区分和识别连接到网络的各个设备。每个设备都应该有一个唯一的主机名,这样其他设备和网络服务可以准确地识别和寻址它们。
主机名可以是人为指定的,也可以是通过系统自动分配或生成的。通常,主机名由人为指定,并且可以基于设备的特征、位置或用途来命名。
在 Linux 中,可以使用 hostname
来查看主机名。
修改主机名,需使用 hostnamectl set-hostname 主机名
,并且这个命令需要 root 权限。
域名(Domain Name)是用于在互联网上标识和定位网站、服务器或其他网络资源的字符串。它提供了一个人类可识别的方式来访问网站和网络服务,将网络资源的 IP 地址映射到易记的名称。
域名通常由多个部分(标签)组成,这些部分之间由点号分隔。最右侧的部分被称为顶级域(Top-Level Domain,TLD),例如.com、.org、.net等。顶级域名称指示域名的分类或特定类型,例如商业网站(.com)、非营利组织(.org)等。
顶级域之前的部分称为二级域名(Second-Level Domain),例如example,以及在其之前的部分称为三级域名(Third-Level Domain),例如www。域名的层次结构可以根据需求和目的进行更深的扩展。
域名的作用是提供一个方便且易于记忆的方式来访问网络资源,避免人们直接使用 IP 地址来访问。它在用户体验、品牌建设和网站推广方面起到重要作用。
域名解析(Domain Name Resolution)是将域名(例如www.example.com)转换为相应的IP地址的过程。当用户在浏览器中输入一个域名时,操作系统会通过域名解析来确定该域名对应的服务器的IP地址,以建立与服务器的连接并获取所需的网页内容或其他网络资源。
域名解析是通过域名系统(Domain Name System,DNS)来完成的。DNS是一个分布式数据库系统,它存储了大量的域名与IP地址的映射关系。当用户输入一个域名时,操作系统会向本地DNS解析器发送一个DNS查询请求。本地DNS解析器首先会查看自己的缓存,如果之前已经解析过该域名,则直接返回缓存的IP地址。如果缓存中没有该域名的记录,本地DNS解析器将向根DNS服务器发送请求。
根DNS服务器会指示本地DNS解析器去查询顶级域名服务器(TLD DNS服务器),例如.com、.org等。顶级域名服务器记录着二级域名服务器(Authoritative DNS服务器)的地址。本地DNS解析器随后向相应的二级域名服务器发送查询请求,获得与域名对应的IP地址。最后,本地DNS解析器将结果返回给操作系统,使其能够建立与目标服务器的连接。
在 Windows 系统中,我们需要在 C:\Windows\System32\drivers\etc\host
中配置主机名映射,这样我们就可以通过主机名来访问本机的 IP 地址了。
使用 vim 编辑 /etc/sysconfig/network-scripts/ifcfg-ens33
文件
使用 ping [-c num] ip或主机名
检查指定的网络服务是否是可联通状态
查看 baidu.com
是否是可联通状态。
wget
是非交互式的文件下载器,可以在命令行内下载网络文件。
wget [-b] url
如果你选择后台下载,可以使用 tail -f wget-log
来监控下载进度。
注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。
curl 命令可以发送 http 网络请求,可用于:下载文件和获取信息等。
curl [-O] url
向 jetbrains.com
发送请求
下载 IDEA 的 zip 包。
curl -O https://download.jetbrains.com.cn/idea/ideaIU-2023.2.win.zip
在计算机网络中,端口(Port)是用于标识特定应用程序或服务的数字标识符。它在网络通信中扮演着重要的角色,帮助确定数据包应该被发送到哪个应用程序或服务上。
在传输层协议(如TCP和UDP)中,端口号是一个16位的数字,范围从0到65535。其中,0到1023之间的端口号被称为"Well-Known Ports",用于一些广泛应用的标准服务,例如HTTP(端口80)、FTP(端口21)、SSH(端口22)等。
端口号通过网络协议栈中的传输层协议来进行使用。当设备接收到网络数据包时,传输层会根据目标端口号将数据包传递给相应的应用程序或服务。类似于门牌号码,端口号帮助网络设备在同一台主机上的多个应用程序之间区分和定位数据包。
例如,当您在浏览器中访问一个网站时,浏览器使用HTTP的默认端口号80来与目标服务器进行通信。而当您通过SSH远程登录到一台服务器时,SSH协议使用默认的端口号22来与服务器进行通信。
使用 nmap 被查看的 IP 地址
查看端口的占用情况。
nmap 需要下载,sudo yum -y install nmap
nmap 127.0.0.1
查看本机端口的占用情况
使用 netstat
查看端口的占用情况
netstat -anp
,使用 netstat 也需要下载 sudo yum -y install net-tools
当我们使用 netstat -anp
之后,我们会发现出现了很多的内容,所以需要使用管道符来过滤内容。
进程(Process)是计算机中正在运行的程序实例。它是操作系统进行任务管理和资源分配的基本单位。每个进程都有自己的内存空间和执行上下文,包括指令、数据、堆栈、文件描述符等。
在操作系统中,进程可以同时运行多个程序,并且每个程序都以独立的进程存在。每个进程都被分配一个唯一的进程标识符(Process Identifier,PID),用于在进程间进行识别和管理。
如果大家想要深入了解进程,大家可以看看我的这两篇文章进程、多线程。
ps [-e -f]
来查看 Linux 的进程信息。
ps -ef
如果我们直接使用 ps -ef
的话,会出来很多的信息,所以我们需要使用管道符过滤一下。
Linux 中,可以使用 kill
关闭进程。
kill [-9] 进程ID
如果结束进程失败的话,可能需要使用更高的权限,也就是 root
用户。
可以通过 top
命令查看 CPU 、内存使用情况,类似 Windows 的任务管理器。默认每五秒刷新一次,可以使用q
或者 CTRL + c
退出。
top命令也可使用选项
top命令也可实现交互式
使用 df
命令,可以查看硬盘的使用情况
df [-h]
也可以使用 iostat
查看 CPU、磁盘的相关信息
iostat [-x] [num1] [num2]
iostat -x 3 3
每三秒刷新一次,共刷新三次
在讲解 which 命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
环境变量(Environment Variable)是操作系统或应用程序运行时可用的一组动态值。它们存储了有关系统环境和运行程序的重要信息,例如路径、配置参数、临时文件位置等。
环境变量的主要作用是为操作系统和应用程序提供灵活性和可配置性。通过使用环境变量,您可以动态地设置和调整各种参数,而无需修改或重新编译代码。这使得程序能够在不同的环境中灵活地运行,而无需对代码进行修改。
在 Linux 中,可以使用 env
命令查看环境变量。
环境变量是以 key-value 型结构
在 Linux 中,无论在哪个工作目录下我们都能使用 cd
命令来切换工作目录,这归功于 PATH
项目中的值做到的。
路径之间以 : 隔开,当执行命令的时候,都会按照顺序,从上述路径中搜索要执行的程序的本体。
cd
命令就在 /usr/bin
路径下,所以当我们执行 cd
命令的时候。搜索到第二个路径就停止了。
echo $PATH
当要取出的变量和其他内容混合在一起的时候,可以使用 { }
来标注变量是谁。
echo ${PATH}ABC123
在 Linux 中,可以使用 export
命令自行设置环境变量。
export 变量名 = 变量值
,并且这个设置分为临时设置和永久设置。
先创建一个文件夹,然后使用 vim
编辑器编辑文件内容。
临时设置环境变量
expot PATH=$PATH:/home/handsome/test
记住了我们要先执行文件程序,该文件程序的执行权限必须可读和可执行。
那么这里永久生效的环境变量,我就不给大家展示了,大家下去了可以自己去试试。
我们可以直接使用 FinallShell 与虚拟机之间进行资源的交换。
在 FinalShell 下面的文件中找到我们需要下载的文件,右键下载就可以了。
上传文件的时候,我们可以直接从我们本地电脑的桌面将文件给拖进来,它自己就会实现文件的上传。
除了使用下面的窗口之外,我们也可以使用命令来实现数据的上传和下载。
rz
命令,实现数据的上传。
sz 要下载的文件
命令实现数据的下载
sz /bin/abrt-action-analyze-backtrace
现在有很多形式的压缩包形式,但是我们的 Linux 常用 tar 、 gzip 、 zip 这三种压缩格式。
tar [-c -v -x -f -z -C] 参数1 参数2...参数N
虽然 tar
命令有这么多的参数,但是只需要记住几个组合就好了。
tar -cvf test.tar 1.txt 2.txt 3.txt
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
同时需要注意的是:
tar -cvf test.tar 1.txt 2.txt 3.txt
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
通过比较,我们可以看出 gzip
压缩包要比 zip
压缩包大很多。
常用的 tar 解压组合有
注意:
这里解压我就不为大家演示了,大家有兴趣可以自己去试试。
使用 zip [-r] 擦参数1 参数2...参数N
将文件压缩为 zip 压缩包
这里操作跟上面的 tar 效果类似,我就不过多展示了。
unzip [-d] 参数
unzip test.zip -d /home/handsome,将 test.zip 解压到指定文件夹内( /home/handsome)
本期为大家赠送的是《python之光》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。