Linux的基础编程——Linux常用操作总结(十一)

本文涉及的产品
云防火墙,500元 1000GB
简介: Linux的基础编程——Linux常用操作总结(十一)

一、软件安装

CentOS系统使用:

   yum [install remove search] [-y] 软件名称

   install 安装

   remove 卸载

   search 搜索

   y,自动确认

Ubuntu系统使用

   apt [install remove search] [-y] 软件名称

   install 安装

   remove 卸载

   search 搜索

   y,自动确认

apt命令 - 扩展

前面学习的各类Linux命令,都是通用的。 但是软件安装,CentOS系统和Ubuntu是使用不同的包管理器。

CentOS使用yum管理器,Ubuntu使用apt管理器

•apt install wget,安装wget

•apt remove wget,移除wget

•apt search wget,搜索wget

yum 和 apt 均需要root权限

示例

•yum [-y] install wget,通过yum命令下载wget命令

•yum [-y] remove wget,通过yum命令卸载wget命令

•yum [-y] search wget,通过yum命令搜索wget命令

二、systemctl

功能:控制系统服务的启动关闭等

语法:`systemctl start | stop | restart | disable | enable | status 服务名`

- start,启动

- stop,停止

- status,查看状态

- disable,关闭开机自启

- enable,开启开机自启

 

系统内置的服务比较多,比如:

•NetworkManager,主网络服务

•network,副网络服务

•firewalld,防火墙服务

•sshd,ssh服务(FinalShell远程登录,Linux使用的就是这个服务

示例

systemctl start firewalld    通过systemctl命令开启防火墙

systemctl stop firewalld    通过systemctl命令停止防火墙

systemctl status firewalld    通过systemctl命令查看防火墙状态

systemctl disable firewalld    通过systemctl命令关闭开机自启防火墙

systemctl enable firewalld    通过systemctl命令开启开机自启防火墙

三、软链接

功能:创建文件、文件夹软链接(快捷方式)

语法:`ln -s 参数1 参数2`

- 参数1:被链接的

- 参数2:要链接去的地方(快捷方式的名称和存放位置)

示例:

•ln -s /etc/yum.conf ~/yum.conf

•ln -s /etc/yum ~/yum

四、日期

语法:`date [-d] [+格式化字符串]`

-d 按照给定的字符串显示日期,一般用于日期计算

格式化字符串:通过特定的字符串标记,来控制显示的日期格式

 %Y   年%y   年份后两位数字 (00..99)

 %m   月份 (01..12)

 %d   日 (01..31)

 %H   小时 (00..23)

 %M   分钟 (00..59)

 %S   秒 (00..60)

 %s   自 1970-01-01 00:00:00 UTC 到现在的秒数

示例

按照2022-01-01的格式显示日期

按照2022-01-01 10:00:00的格式显示日期

-d选项日期计算

五、时区

修改时区为中国时区

使用root权限,执行如下命令,修改时区为东八区时区

六、ntp

功能:同步时间

安装:`yum install -y ntp`

启动管理:`systemctl start | stop | restart | status | disable | enable ntpd`

启动并设置开机自启:

       •systemctl start ntpd

       •systemctl enable ntpd

当ntpd启动后会定期的帮助我们联网校准系统的时间

手动校准时间:`ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准

七、 ip地址

格式:a.b.c.d

abcd为0~255的数字

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools

八、特殊IP:

127.0.0.1,表示本机

0.0.0.0

可以表示本机

也可以表示任意IP(看使用场景)

八、主机名

功能:Linux系统的名称

查看:`hostname`

设置:`hostnamectl set-hostname 主机名`

九、配置VMware固定IP

1. 修改VMware网络

2. 设置Linux内部固定IP

  修改文件:`/etc/sysconfig/network-scripts/ifcfg-ens33`

  示例文件内容:

  ```shell

  TYPE="Ethernet"

  PROXY_METHOD="none"

  BROWSER_ONLY="no"

  BOOTPROTO="static"            # 改为static,固定IP

  DEFROUTE="yes"

  IPV4_FAILURE_FATAL="no"

  IPV6INIT="yes"

  IPV6_AUTOCONF="yes"

  IPV6_DEFROUTE="yes"

  IPV6_FAILURE_FATAL="no"

  IPV6_ADDR_GEN_MODE="stable-privacy"

  NAME="ens33"

  UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"

  DEVICE="ens33"

  ONBOOT="yes"

  IPADDR="192.168.88.131"        # IP地址,自己设置,要匹配网络范围
  NETMASK="255.255.255.0"        # 子网掩码,固定写法255.255.255.0
  GATEWAY="192.168.88.2"        # 网关,要和VMware中配置的一致
  DNS1="192.168.88.2"            # DNS1服务器,和网关一致即可

  ```

九、ps命令

功能:查看进程信息

语法:`ps -ef`,查看全部进程信息,可以搭配grep做过滤:`ps -ef | grep xxx`

十、netstat命令

功能:查看端口占用

用法:`netstat -anp | grep xxx

`

十一、ping命令

测试网络是否联通

语法:`ping [-c num] 参数`

•选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

•参数:ip或主机名,被检查的服务器的ip地址或主机名地址

wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件

语法:wget [-b] url

•选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件

•参数:url,下载链接

curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等

语法:cur1 [-O] url

•选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件

•参数:url,要发起请求的网络地址

示例:

访问百度

检查到39.156.66.10是否联通,并检查3次

下载apache-hadoop 3.3.0版本:wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

通过tail命令可以监控后台下载进度:tail -f wget-log

向cip.cc发起网络请求:curl cip.cc

十二、 top命令

功能:查看主机运行状态

语法:`top`,查看基础信息

快捷键

top的交互式选项

十三、df命令

查看磁盘占用

语法:df [-h]

选项:-h,以更加人性化的单位显示

十四、iostat命令

语法:iostat [-x] [num1] [num2]

•选项:-x,显示更多信息

•num1:数字,刷新间隔,num2:数字,刷新几次

查看CPU、磁盘的相关信息

十五、sar命令

查看网络统计

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

十六、环境变量

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

永久设置:

针对用户,设置用户HOME目录内:`.bashrc`文件

针对全局,设置`/etc/profile`

十七、PATH变量

记录了执行程序的搜索路径

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。

PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):

•/usr/local/bin

•/usr/bin

•/usr/local/sbin

•/usr/sbin

•/home/itheima/.local/bin

•/home/itheima/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

十八、$符号

可以取出指定的环境变量的值

语法:`$变量名`

在Linux系统中,$符号被用于取”变量”的值。

环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。

取得环境变量的值就可以通过语法:$环境变量名  来取得

比如: echo $PATH

就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

又或者:echo ${PATH}ABC

当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁

十九、压缩

`tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N`

- -z表示使用gzip,可以不写

`zip [-r] 参数1 参数2 参数N`

示例:

•tar -cvf test.tar 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt 压缩到test.tar文件内

•tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式

注意:

•-z选项如果使用的话,一般处于选项位第一个

•-f选项,必须在选项位最后一个

 

二十、解压

`tar -zxvf 被解压的文件 -C 要解压去的地方`

-z表示使用gzip,可以省略
-C,可以省略,指定要解压去的地方,不写解压到当前目录

示例

•tar -xvf test.tar

解压test.tar,将文件解压至当前目录

tar -xvf test.tar -C /test1

解压test.tar,将文件解压至指定目录(/test1)

tar -zxvf test.tar.gz -C /test2

以Gzip模式解压test.tar.gz,将文件解压至指定目录(/test2

二一、zip命令压缩

可以使用zip命令,压缩文件为zip压缩包

语法:zip [-r] 参数1 参数2 ..... 参数N

•-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

示例:

zip test.zip a.txt b.txt c.txt

将a.txt b.txt c.txt 压缩到test.zip文件内

zip -r test.zip test itheima a.txt

将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

二二、unzip

使用unzip命令,可以方便的解压zip压缩包

语法:unzip [-d] 参数

•-d,指定要解压去的位置,同tar的-C选项

•参数,被解压的zip压缩包文件

示例:

•unzip test.zip,将test.zip解压到当前目录

unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/test)

二三、su命令

切换用户

语法:`su [-] [用户]`

二四、sudo命令

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

语法:sudo  其他命令

•切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

•在文件的最后添加:

      •其中最后的NOPASSWD:ALL 表示使用sudo命令,无需输入密码

•最后通过 wq 保存

•切换回普通用户

•执行的命令,均以root运行

二五、chmod命令

修改文件、文件夹权限

语法:`chmod [-R] 权限 参数`

- 权限,要设置的权限,比如755,表示:`rwxr-xr-x`

- 参数,被修改的文件、文件夹

- 选项-R,设置文件夹和其内部全部内容一样生效

二六、chown命令

修改文件、文件夹所属用户、组

语法:`chown [-R] [用户][:][用户组] 文件或文件夹`

二七、genenv命令

`getent group`,查看系统全部的用户组

`getent passwd`,查看系统全部的用户

二八、env命令

查看系统全部的环境变量


目录
相关文章
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
5天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
7 2
|
17天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
2月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
88 6
|
2月前
|
Linux Shell
Linux系统编程:掌握popen函数的使用
记得在使用完 `popen`打开的流后,总是使用 `pclose`来正确关闭它,并回收资源。这种做法符合良好的编程习惯,有助于保持程序的健壮性和稳定性。
132 3
|
2月前
|
Shell Linux Python
python执行linux系统命令的几种方法(python3经典编程案例)
文章介绍了多种使用Python执行Linux系统命令的方法,包括使用os模块的不同函数以及subprocess模块来调用shell命令并处理其输出。
30 0
|
3月前
|
项目管理 敏捷开发 开发框架
敏捷与瀑布的对决:解析Xamarin项目管理中如何运用敏捷方法提升开发效率并应对市场变化
【8月更文挑战第31天】在数字化时代,项目管理对软件开发至关重要,尤其是在跨平台框架 Xamarin 中。本文《Xamarin 项目管理:敏捷方法的应用》通过对比传统瀑布方法与敏捷方法,揭示敏捷在 Xamarin 项目中的优势。瀑布方法按线性顺序推进,适用于需求固定的小型项目;而敏捷方法如 Scrum 则强调迭代和增量开发,更适合需求多变、竞争激烈的环境。通过详细分析两种方法在 Xamarin 项目中的实际应用,本文展示了敏捷方法如何提高灵活性、适应性和开发效率,使其成为 Xamarin 项目成功的利器。
50 1
|
3月前
|
安全 Linux 开发工具
探索Linux操作系统:从命令行到脚本编程
【8月更文挑战第31天】在这篇文章中,我们将一起潜入Linux操作系统的海洋,从最基础的命令行操作开始,逐步深入到编写实用的脚本。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和实用技能。我们将通过实际代码示例,展示如何在日常工作中利用Linux的强大功能来简化任务和提高效率。准备好了吗?让我们一起开启这段旅程,探索Linux的奥秘吧!
|
3月前
|
网络协议 Linux Shell
探索Linux操作系统:从基础到高级编程
【8月更文挑战第31天】本文旨在为读者提供一条清晰的路径,从Linux操作系统的基础知识出发,逐步深入到高级编程技巧。我们将一起揭开Linux神秘的面纱,了解其内部工作原理,并通过实际代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你带来新的视角和技能提升。