目录

工欲善其事

实践出真知

活跃标签: linux java mysql 待分类 js springboot win10 windows 电路 vue macOS nginx esp32 git docker idea maven esp8266 python Arduino

存档:

标签: linux (56)

linux shell脚本中常用判断 [If Else 语句] 有更新!

Bash 支持 if-else 语句,以便你可以在 shell 脚本中使用逻辑推理。 通用的 if-else 语法如下: if [ expression ]; then ## 如果条件为真则执行此块,否则转到下一个 elif [ expression ]; then ## 如果条件为真则执行此块,否则转到下一个 else ## 如果以上条件都不成立,则执行此块 fi 正如你所注意到的: elif 用于 “否则如果” 类型的条件。 if-else 条件始终以 fi 结尾。 使用分号 ; 和 then 关键字 在展示 if 和 else-if 的示例之前,我先分享一下常见的比较表达式(也称为测试条件) 1、字符串判断 条件当满足以下条件时为真 "str1" = "str2"str1 与 str2 相同 "str1" == "str2"str1 与 str2 相同 "str1" != "str2"str1 与 str2 不同 -z "str1"str1 为空字符串 2、数字的判断 条件当满足以下条件时为真 str1 -lt str2str1 < str2( str1 小于 str2)....

【Linux】find以时间为条件查找

find以时间为条件查找 -amin n 查找n分钟以前被访问过的所有文件。 -atime n 查找n天以前被访问过的所有文件。 -cmin n 查找n分钟以前文件状态被修改过的所有文件。 -ctime n 查找n天以前文件状态被修改过的所有文件。 -mmin n 查找n分钟以前文件内容被修改过的所有文件。 -mtime n 查找n天以前文件内容被修改过的所有文件。 atime:访问时间(access time),指的是文件最后被读取的时间,可以使用touch命令更改为当前时间; ctime:变更时间(change time),指的是文件本身最后被变更的时间,变更动作可以使chmod、chgrp、mv等等; mtime:修改时间(modify time),指的是文件内容最后被修改的时间,修改动作可以使echo重定向、vi等等; find . {-atime/-ctime/-mtime/-amin/-cmin/-mmin} [-/+]num 第一个参数,.,代表当前目录,如果是其他目录,可以输入绝对目录和相对目录位置; 第二个参数分两部分,前面字母a、c、m分别代表访问、变更、修改,后.....

Linux删除7天前的文件,删除日志文件

使用find命令搜索X天前的文件,前根据需要删除它 先列出 /home/web/db 下面7天前的文件 find /home/web/db -type f -mtime +7 检查列出的文件列表,如果没有问题,使用下面的命令删除它 find /opt/backup -type f -mtime +7 -exec rm -f {} ; 根据文件后缀删除文件 增加过滤条件,只删除某一类型的文件。 比如删除.log后缀的7天前的日志文件 find /var/log -name ".log" -type f -mtime +7 同样,检查下列出的日志是否正确,然后再使用下面命令删除它 find /var/log -name ".log" -type f -mtime +7 -exec rm -f {} ;

Screen退出方法-退出后继续运行、查看进度

screen的退出方式有两种,一种是保存临时会话退出,另一种是完全退出。 第一种:保持会话退出: 快捷键命令: 同时按Ctrl+A键 按D键 后面需要进入的时候直接输入:screen -r name 再次进入 或者是 [root@ ~]# screen -d name 第二种:完全退出 快捷键命令: ctrl+c (window) 直接关闭screen,程序结束运行 或者是 [root@ubuntu ~]# exit   #在子会话中执行 [screen is terminating] #主会话中显示"屏幕正在终端" [root@ubuntu ~]#        #此时已经回到主会话 第三种:在主会话中关闭子会话 [root@ubuntu ~]# screen -X -S name quit screen命令选项.......

连接ssh响应慢解决办法

关闭DNS反向解析 在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes # vi /etc/ssh/sshd_config UseDNS no 关闭SERVER上的GSS认证 在authentication gssapi-with-mic有很大的可能出现问题,因此关闭GSS认证可以提高ssh连接速度。 # vi /etc/ssh/sshd_config GSSAPIAuthentication no 重启服务 service sshd restart 或者 /etc/init.d/sshd restart 测试了一下速度确实快了一些,系统是CentOS7.5

Linux下查看主板信息命令

操作系统:centos release 6 安装包命令查找: yum whatprovides */lspci 查看主板型号: dmidecode |grep -A16 "System Information$" 内存槽及内存条: dmidecode |grep -A16 "Memory Device$" 硬盘: fdisk -l smartctl -a /dev/sda HP SmartArray (cciss) hardware RAID controllers: smartctl -d cciss,0 -a /dev/cciss/c0d0 网卡: mii-tool scsi/raid卡: lspci centos相关命令安装: yum -y install smartmontools yum install pciutils -y

[ Linux ] 系统里统计文件夹下的文件个数和大小

统计当前目录下文件的个数(不包括目录) ls -l | grep "^-" | wc -l 统计当前目录下文件的个数(包括子目录) ls -lR| grep "^-" | wc -l 查看某目录下文件夹(目录)的个数(包括子目录) ls -lR | grep "^d" | wc -l 查找文件夹下 jpg 格式的文件个数 此时只会统计 .jpg格式的文件,不会统计 .JPG格式的文件,* 表示匹配所有的文件名 find ./ -type f -name '*.jpg' | wc -l 解析 ls -l 长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。 grep "^-" 过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"。 wc -l 统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。 文件、文件夹大小统计 使用 du、df、free 进行统计,详细见下。 du 详解 Linux du 命令用于显示目录或文件的大小。 du 会显....

Linux下zip压缩解压中文名乱码的问题

(1). 通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 2、密码破解 fcrackzip -b -c 'aA1!' -l 1-10 -u crack_this.zip -b 暴力破解 -c 1 限制密码是数字 -l 6-6 限制密码长度为6 -p 000000 初始化破解起点 破解 使用穷举法: # fcrackzip -b -c 'aA1!' -l 1-10 -u crack_this.zip -b代表brute-force;-l限制密码长度;-c指定使用的字符集:

你真的知道如何查看Linux目录大小吗?

查看linux下的目录大小命令不就是ls -l吗?再者人类能够看懂的就是ls -lh了,难道不是这两个命令吗? 答疑解惑 1、首先咱们就根据大家所想的,通过**ls -lh / ** 去查看根目录下的各文件目录大小 熟悉ls命令的朋友都知道,以上在根目录下列出的各目录大小最大的竟然只有8KB,多数都是4KB,这显然不是我们所看文件目录的实际大小,怎么回事呢? 2、让我们再次通过ls -lh /java_ruanjian/命令查看/java_ruanjian/ 目录的大小 此时查看到该目录下的文件大小是139MB。 为什么是这样?其实这里简单概括就是:l****s -lh能得到普通文件的大小 ,但对于目录得到的4K,那是目录文件的大小(即目录本身要占4K), 但是不是目录里所有文件的大小。 linux系统中目录中保存的仅仅是文件的 文件名和文件的inode号 ,相当于保存的是它里面文件的指针,所以系统会根据目录中文件名和inode的数量分配若干个block给目录,而block的大小一般就是4K,如果一个目录中文件名太多可能会分配2个或多个block给目录。 那我们该如何去查看linux文....

Linux 网络查看命令ip

linux的ip 命令和ifconfig 类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。 设置和删除命令 要给你的机器设置一个IP地址,可以使用下列ip命令: $ sudo ip addr add 192.168.0.193/24 dev wlan0 请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。 在你按照上述方式设置好IP地址后,需要查看是否已经生效。 $ ip addr show wlan0 你也可以使用相同的方式来删除IP地址,只需用del代替add。 $ sudo ip addr del 192.168.0.193/24 dev wlan0 列出路由表条目 ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的.......

linux 查询出指定文件并删除

linux查找符合条件的文件并删除 找到根目录下所有的以test开头的文件并把查找结果当做参数传给rm -rf命令进行删除: find / -name “test*” |xargs rm -rf find / -name “test*” -exec rm -rf {} ; rm -rf $(find / -name “test”) 如果想指定递归深度,可以这样: find / -maxdepth 3 -name “.mp3” |xargs rm -rf find / -maxdepth 3 -name “test” -exec rm -rf {} ; rm -rf $(find / -maxdepth 3 -name “test”) 这样只会查找三层目录中符合条件的文件并删除掉!

linux 硬盘使用状态查看

安装 smartctl yum install smartmontools 查看硬盘使用时间 smartctl -a /dev/sda |grep 'Power_On_Hours'

linux 创建用户

useradd {user} smbpasswd -a {user}

Linux:ls 使用说明

按照修改时间排序显示 -l use a long listing format 以长列表方式显示(详细信息方式) -t sort by modification time 按修改时间排序(最新的在最前面) -r reverse order while sorting (反序) # 按照文件占用大小 ls -lS:按照文件所占的大小从大开始排列 ls -lSr:按文件的大小从小到大来排列 # 按照时间 ls -lt:按文件修改的日期从新到旧来排序 ls -lrt:按文件修改的日期从旧到新来排序 注意:-r就是倒序 想让ls 显示正常的时间列表和大小单位 ls -lh --time-style="+%Y-%m-%d %H:%M:%S" 如何读取输出 [swap]# ll 总用量 1.8G drwxr-xr-x 15 root root 4.0K 2022-06-04 16:31:34 . drwxr-xr-x 11 root root 127 2021-10-18 10:21:13 .. drwxr-xr-x 2 root super 55 2022-06-01 20:24:44 20......

Linux 下关于热插拔硬盘的命令(必须要主板支持!)

在线系统添加热插拔的SCSI硬盘不需要关机 添加硬盘 echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi 删除硬盘 echo "scsi remove-single-device 1 0 0 0" > /proc/scsi/scsi 对于指令中的四个数字分别表示scsi号、Channel号、Id号和LUN号 我们可以通过下述指令查看系统内SCSI硬盘的这些信息 [mnt]# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST1000DM010-2EP1 Rev: CC43 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: WDC WD10EZEX-60W Rev: 1A01 Type: Direct-Access AN......

CentOS7挂载磁盘,4T磁盘挂载方法

添加一块新硬盘 使用parted方式创建分区和挂载 1,将磁盘上原有的分区删除掉: 进入:#parted /dev/sdb 查看:(parted)p 删除分区1:(parted)rm 1 删除分区2:(parted)rm 2 ...(删除的分区根据 查看 显示的分区操作) 2,将磁盘格式变成gpt的格式(因为parted只能针对gpt格式的磁盘进行操作) 转换:(parted) mklabel gpt 设置单位为TB:(parted) unit MB(GB,TB) 分区:(parted) mkpart primary 1 500 (分第一个主分区500MB) 分区:(parted) mkpart primary 501 1000 (分第二个主分区500MB) 分区:(parted) mkpart logical 1001 2000 (分第三个逻辑分区1000MB) (parted的逻辑分区不用先分扩展分区,直接一步到位) 查看:(parted) p 退出:(parted)quit ( parted分区自动保存,不用手动保存 ) 3,格式化已经分好的区 mkfs.ext4 /dev/......

centos7.5 识别exfat U盘

Install the nux repo for CentOS 7 yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm 安装这两个包 yum install exfat-utils fuse-exfat 插硬盘,看看是否挂载成功 可以使用 fdisk -l 或 cat /proc/partitions 命令查看 [~]# fdisk -l WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 磁盘 /dev/sda:1000.2 GB, 1000204886016 字节,1953525168 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 4096 字节 I/O 大小(最小/最佳):4096 ....

Linux 开启按Tab时忽略大小写

Linux下配置 Tab忽略大小写: 切换root 账户 root su 编辑 /etc/inputrc 文件 vim /etc/inputrc 粘贴下面代码 set completion-ignore-case on 保存后重启即可 Mac 下配置 Tab忽略大小写: 当前 用户目录下 vim .inputrc 粘贴下面的代码 set completion-ignore-case on set show-all-if-ambiguous on TAB: menu-complete 保存重新打开终端即可