首页 > 系统相关 >py01-linux编程

py01-linux编程

时间:2023-11-30 16:45:21浏览次数:45  
标签:文件 查看 文件名 sum 编程 py01 linux ------ 光标

一、Linux目录说明:

1、/boot:存放Linux系统内核程序和启动程序
2、/dev:存放设备文件
3、/etc:存放系统配置文件
4、/home:存放普通用户信息
5、/root:存放管理员用户信息
6、/bin:存放一般命令文件(多为普通用户使用)
7、/sbin:存放系统命令(多为管理员使用)
8、/lib:存放库函数文件(调用命令)
9、/tmp:存放临时性文件(系统缓存文件,定时清除)
10、/usr:存放应用程序文件
11、/var:存放经常变动性文件(系统日志文件)
12、/proc:存放内存映像文件(系统内核运行状态的一些特殊文件,用户可以通过这些文件查看有关硬件及当前运行的进程的信息)
13、/mnt:挂载目录

二:命令:

文件管理命令:

1、ls:查看目录下文件
2、cd:切换目录
3、pwd:当前所在的绝对路径
4、mkdir 目录名:创建目录;mkdir -p /bin/a:逐层创建
5、touch 文件名:创建文件
6、rm 文件名:删除文件;rm -rf 目录:强制删除目录
7、rmdir:删除空目录
8、cp 源文件 目的文件:复制文件;-r 复制目录
9、mv 源 目的:剪切文件或目录,可以重命名
10、echo 文本:回显信息
11、>:覆盖重定向;>>:追加重定向;echo 内容 > 文件名:内容写入文件
12、cat 文件名:查看文件全部信息
13、more 文件名:分页查看文件信息,空格键翻页,翻页后不能向前翻页查看前面的内容了
14、less 文件名:分页查看文件信息,f键向前翻,b键向后翻,ctrl+c(z)退出
15、vi / vim:文本编辑器:
(1)一般模式-a、i、o->编辑模式-esc->一般模式-:->命令模式-enter->一般模式
(2)一般模式:a-光标之后插入内容,A-光标所在行尾插入内容,i-光标之前插入内容,I-光标所在行首插入内容,o-光标所在下一行插入内容,O-光标所在上一行插入内容
(3)一般模式下命令:dd-删除光标所在行,ndd-删除光标所在行及光标下面n-1行,x-删除光标所在字符,X-删除光标前的字符,nx-删除光标所在字符及后面n-1个字符,nX-删除光标所在前的n个字符,yy-复制光标所在行,nyy-复制光标所在行及下面n-1行,p-在光标下一行粘贴,P-在光标上一行粘贴,v-选中文本y复制p粘贴,u-撤销,gg-光标调到首行,ngg-光标调到第n行,G-光标调到尾行,nG-光标调到第n行,^-光标调到行首,$-光标调到行尾,/-向下查找?-向上查找n-找下一处

(4)命令模式下命令:
set nu-显示行号,set nonu-取消行号;
n1,n2 s/关键字1/关键字2/g -从n1行到n2行,用关键字2替换关键字1;
% s/关键字1/关键字2/g -全文中,用关键字2替换关键字1;
q!:强制退出不保存;
wq!:强制保存并退出;
w 文件名:另存为
16、clear:清屏
17、head -n 文件名:查看文件头部内容,不加-n默认看前10行
18、tail -n -f 文件名:查看文件头部内容,不加-n默认看后10行,-f可以实时查看内容
19、sort 文件名:排序显示文件内容,加-r倒叙
20、wc 文件名:统计,加-l统计行、-w统计单词、-c统计字符
21、find 查找范围 -name 文件名:指定范围查文件,不加范围查当前位置
22、locate 文件名:快速查找文件
23、grep 关键字 文件名:过滤,^关键字-关键字开头的,$关键字-关键字结尾的
24、chmod:修改权限,chmod 777 a.txt-加全部权限。chmod u/g/o+r/w/x a.txt:u-拥有者,g-所属组,o-其他。r-只读权限,w只写,x-可执行。+加权限,-减权限
25、tcpdump:抓包:
(1)tcpdump -i 接口名 协议名 port 端口号
(2)tcpdump -i 接口名 host ip地址
(3)tcpdump -i 接口名 协议名 src/dst ip port 端口号

进程管理与服务管理命令:

1、ps -ef:查看进程
2、pstree:查看进程树
3、kill -9 进程号:杀进程
4、killall -9 进程名:杀进程
5、pidof 进程名:查看进程名对应进程号
6、service 服务名 start/stop/restart:开启/结束/重启服务

系统管理与性能监控命令:
1、date:查看日期,date -s "20230101 01:01:01":设置日期时间
2、reboot:重启
3、halt:关机
4、shutdown -h now/01:01 :现在关机/定时到点关机
5、shutdown -r now/01:01/10 :现在重启/定时到点重启/定时10分钟后重启
6、shutdown -c 01:01 :取消定时关机或重启
7、history:查看历史命令
8、whith 可执行命令:查看可执行命令的位置
9、hostname 主机名:临时改主机名;vim /etc/sysconfig/network :永久更改主机名
10、uname:查看系统信息
11、top:实时查看CPU、内存、进程的状态信息
12、vmstat:静态查看CPU、内存、进程的状态信息
13、free:查看内存状态信息;cat /proc/meminfo:查看内存信息
14、cat /proc/cpuinfo:查看CPU信息
15、sleep 时间:延迟、休眠几秒
16、dmesg:查看开机日志,加-c清除日志,系统日志存放目录/var/log
17、uptime:查看系统运行时长
18、lspci;查看系统pci外连的设备
19、lsusb:查看USB相关信息
20、命令 &:命令后台运行
21、|:将前一个命令的结果交给后一个命令执行

磁盘管理命令:

1、du 文件名:查看文件占用磁盘大小,加-m以MB为单位显示,加-s显示总用量
2、df -h:查看文件系统磁盘占用情况
3、fdisk 磁盘文件名:分区,加-l识别Linux系统中所有磁盘分区情况
4、mkfs:格式化:mkfs -t 文件系统类型 分区名
5、mount 分区名 挂载点:挂载
6、umount 分区名/挂载点:都能卸载
备注:磁盘分区步骤:分区-->格式化-->挂载

三、shell

------1、env:查看环境变量
------2、export 局部变量名=变量值:将局部变量转换为环境变量
------3、unset 变量名:取消环境变量
------4、$变量名:提取变量值
------5、echo 变量名:打印变量值
------6、./脚本名:当前目录运行脚本(非当前目录加绝对路径)
------7、source 脚本名:运行脚本
------8、定义解释器:#!/bin/bash
------9、$0:脚本文件名;$1:第一个参数,那$2就是第二个参数;$#:参数总个数;$@:显示所有参数

#!/bin/bash
name1=$1
name2=$2
echo "$name1是传入的第一个参数"
echo "$name2是传入的第二个参数"

备注:文件名是a.sh
执行方式:./a.sh A B 或者:source a.sh A B

------10、函数:
(1)格式:

函数名()
{
  语句块
}

(2)调用:函数名 或 函数名 参数

sum()
{
  sum=0
  for i in $@
  do
    let sum=$sum+$i
  done
  echo "$sum"
}

备注:$@获取所有元素,函数名 参数:给函数传参

------11、常用方法小结
(1)read:从键盘上读取赋值变量
(2)test:检查某个条件是否成立,可以进行数值、字符和文件三个方面的测试
(3)seq:序列化-squeue,用于生成一个数到另一个树之间的所有整数,基本语法是'seq start count end'(start,开始数,可省略,默认1;count,增量,可省略,默认1;end,结束数)
(4)let 赋值表达式:用于赋值计算,如let a=6+1
(5)=两边不能有空格,不然给变量赋值时会赋空
(6)i++先赋值再加1,++i先加1再赋值
(7)字符串用单/双引号引起来,如果将一个命令执行的结果赋给某个变量要用反引号
(8)\n:换行
(9)\r:回车
(10)echo:换行,加-h不换行
(11)\t:制表符
(12)-e:不转义
(13)$?:执行完命令后执行echo $? ,输出0表示前面的命令成功,非0说明有问题
(14)break:终止循环
(15)continue:终止本次循环,继续下一次循环

小例子:从键盘读输入的内容,进行判断

#!/bin/bash
read -p "请输入用户名:" user
read -p "请输入密码:" pwd
if [$user="root" -a $ped="123"]
then
    echo "用户名密码正确"
else
    echo "用户名或密码错误"
fi

------12、运算符

(1)算术运算符:+、-、*、/、%、expr 1+5、((1+5))、let 1+5
(2)数字关系运算符:-gt(大于)、-lt(小于)、-eq(等于)、-le(小于等于)、-ge(大于等于)、-ne(不等于)
(3)逻辑运算符:-a(&&)与、-o(||)或、!非
(4)字符串运算符:=、!=
(5)文件判断运算符:-f 文件名(判断是否是普通文件)、-d 文件名(判断是否是目录)、-r 文件名(判断文件是否可读)、-w 文件名(判断文件是否可写)、-x 文件名(判断文件是否可执行)

------13、数组:一组元素的集合
(1)格式:数组名=(值1,值2...)
(2)${数组名[下标]}获取数组的某个元素;${数组名[@]}获取数组的全部元素;${#数组名[@]}统计数组的元素
------14、分支判断

if 条件1
then
    语句块1
elif 条件2 
then 
    语句块2
else
    语句块N
fi

------15、for循环
(1)方式一

for 变量名 in 取值列表
do
    语句块
done

(2)方式二

for ((初始值;条件判断式;变量变化式))
do
    语句块
done

例子:

for ((i=1;i<10;i=i+1))
do
    echo $i
done

(3)1-100的和

#!/bin/bash
sum=0
for i in 'seq 1 100'
do
    let sum=sum+i
done
echo $sum

------16、while循环

(1)格式:
while [条件]
do
    语句块
done

小例子:1+...+100的和

#!/bin/bash
sum=0
i=1
while [$i -le 100]
do
    let sum=$sum+$i
    let i=$i+1
done
echo $sum

未完待续。。

标签:文件,查看,文件名,sum,编程,py01,linux,------,光标
From: https://www.cnblogs.com/wangfengzi/p/17867731.html

相关文章

  • linux解压zip文件怎么操作
    Linux解压zip文件的操作非常简单,你可以使用命令行工具来完成这个任务。下面是详细的步骤: 1.打开终端:在Linux系统中,你可以通过点击终端图标或者使用快捷键Ctrl+Alt+T来打开终端。2.切换到zip文件所在的目录:使用cd命令切换到包含zip文件的目录。例如,如果zip文件位于/home/use......
  • 零代码编程:用ChatGPT批量下载某个网页中的特定网页链接
    以lexfridman的官方网站为例,https://lexfridman.com/podcast/,如何批量下载网页呢?查看网页源文件,播客transcript的链接是:<ahref="https://lexfridman.com/jared-kushner-transcript">Transcript</a>文件标题在这里:<title>TranscriptforJaredKushner:Israel,Palestine,Hamas......
  • linux 常用命令
    显示操作系统的发行版号uname-r显示系统名、节点名称、操作系统的发行版号、内核版本等等uname-a查看当前Linux系统的发行版本cat/etc/issuecat/etc/os-release查看当前Ubuntu型号C/C++Code复制内容到剪贴板lsb_release-a查询当前TCP端口列表:C#Code复制内容到剪贴板1.netst......
  • 一种基于linux系统的精准流量统计方法
    目录前言:(1)应用层计算流量(2)tcpdump抓数据(3)使用iptables统计流量设计思路:功能实现:(1)iptables规则添加(2)Iptable的流量查看:(3)网卡流量查看:(4)进程间通行(5)代码实现:工程下载: ​回到顶部前言:在linux系统关于流量统计,已经有开源的工具,比如neth......
  • linux命令-tar
    #打包,将dir目录打包为filename.tartar-cvffilename.tardir#解包,将filename.tar解压到当前目录tar-xvffilename.tar#打包+压缩,将dir目录打包并压缩为filename.tar.gztar-zcvffilename.tar.gzdir#解包+解压缩,将filename.tar.gz解压缩并解包到当前目录.tar......
  • Linux 安装MySQL 步骤
    通过包管理器安装MySQLubuntu安装MySQL1、配置APT源ubuntu自己的APT源里面就有MySQL,以ubuntu2004为例,可以直接用相关源就行了,也可以导入MySQL的官方源。阿里云镜像源地址:https://developer.aliyun.com/mirror/官方源地址:https://dev.mysql.com/downloads/repo/apt/......
  • Linux MIPI 调试中常见的问题
    一、概述做嵌入式工作的小伙伴知道,有时候程序编写没有调试过程中费时,之间笔记里有MIPI摄像头驱动开发的过程,有需要的小伙伴可以参考:LinuxRN6752驱动编写。而我也是第一次琢磨MIPI协议,其中有很多不明白的地方,在调试的时候折腾了很久,特此将我遇到的问题记录下来,希望多其他小......
  • Linux 内核参数调整解析:深度优化数据库性能 转载:https://www.toutiao.com/article/73
    系统内核参数配置文件:/etc/sysctl.conf一、参数说明1、关闭IPv6支持net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1作用:关闭对IPv6的支持,减轻系统负担,提高安全性。解析:net.ipv6.conf.all.disable_ipv6:禁用系统中所有网络接口的IPv6。net......
  • Linux提权5
    本次学习Linuxsudo提权实验原理sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。换句话说通过此命令可以让非root的用户运行只有root才有权限执行的命令。sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通......
  • Linux校验文件MD5和SHA值的方法
    1、需求背景下载或传输文件后,需要计算文件的MD5、SHA256等校验值,以确保下载或传输后的文件和源文件一致2、校验方法如上图所示,可以使用Linux自带的校验命令来计算一个文件的校验值Linux自带的校验命令有:md5sum、sha1sum、sha224sum、sha256sum、sha384sum、sha512sum......