JumpServer
发表于|更新于|Linux
|总字数:254|阅读时长:1分钟|浏览量:
笔记
安装JumpServer
修改配置远程访问的端口
1 | # 进入到jp的配置文件目录 |
修改系统管理员密码
1 | # 进入Docker容器 |
Nginx反向代理
配置SSL
1 | # 先停止服务 |
配置SSH超时时间
默认的时间好像半个小时不操作了,就会自动断开,改成最大值
相关推荐

2022-11-22
Linux
系统命令解压缩demo(文件夹) |——|1.txt(文件) 12345678# -r:递归地压缩目录,意味着 zip 命令会包含 demo 文件夹内的所有文件和子目录。# demo.zip:这是输出的压缩文件名。# demo:这是您要压缩的目录名。zip -r demo.zip demo# -o:强制覆盖现有的文件和文件夹,而不会询问用户。# demo.zip:这是您想要解压的 .zip 文件名。unzip -o demo.zip 查看前几行1ifconfig | head -n 100 安装中文123456789apt install language-pack-zh-hansvim /etc/default/localeLANG=zh_CN.UTF-8LANGUAGE=zh_CN:zh:en_US:en# 验证root@anthony:~# echo $LANGzh_CN.UTF-8 Update索引失效12345678910111213正在读取软件包列表... 完成E: 无法下载 http://mirror.rise.ph/ubuntu/dists/focal-updates/main/dep11/Components-amd64.yml.xz 文件尺寸不符(264288 != 264484)。您使用的镜像正在同步中? [IP: 43.226.6.79 80] Hashes of expected file: - Filesize:264484 [weak] - SHA256:ea09acc6bddd6a503a3812ba1d3a025e5515c5469dcad172c86e2bda6f203752 - SHA1:60863a9cc3181eb87007edcfc2de1ba6a0b81a5f [weak] - MD5Sum:80baa34a1b24d245341757fa51ebd29e [weak] Release file created at: Sat, 27 Feb 2021 08:09:39 +0000E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。# 解决办法sudo rm -rf /var/lib/apt/lists/partial/sudo apt update 修改时区12345678910111213141516# 查询当前时间date -R# tzselect选择 4,9,1,1# ubuntu特有的,如果不是ubuntu 跳过这一步sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# java设置时区在/etc/profile或~/.bashrc文件中设置环境变量TZexport TZ='Asia/Shanghai'source /etc/profile# ubuntu20.04sudo timedatectl set-timezone Asia/Shanghai 历史命令12# 历史命令history -3 sudo免密vim /etc/sudoers 123456789101112131415# Host alias specification# User alias specification# Cmnd alias specification# User privilege specificationroot ALL=(ALL:ALL) ALL# 加在这里会被覆盖掉anthony ALL=(ALL) NOPASSWD:ALL# Members of the admin group may gain root privileges%admin ALL=(ALL) ALL# 最好是加在最后anthony ALL=(ALL) NOPASSWD:ALL# Allow members of group sudo to execute any command%sudo ALL=(ALL:ALL) ALLanthony ALL=(ALL) NOPASSWD:ALL grep管道1cat hive-default.xml | grep hive.cli.print 系统升级123yum -y update(centos)apt-get update(ubuntu 软件包的列表 )sudo apt-get dist-upgrade (进入列新你系统和系统里安装的软件) ll文件大小按MB显示12ls -lhll -lh 查看系统版本1cat /etc/os-release 立即关机和重启12345# 现在立即关机shutdown -h now # 现在立即重启shutdown -r now 当前时间1data / date -R 目录占用空间1234567891011121314151617181920# 查看当前目录下一级子文件和子目录占用的磁盘容量du -lh --max-depth=1 /# 查看当前目录总共占的容量。而不单独列出各子项占用的容量du -sh# 使用lsof命令排查,可以查看到状态为deleted的文件# 可考虑kill掉程序,就会自动释放lsof |grep deleted--------------------------------------------------------------------------------COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAMEdbus-daem 456 dbus txt REG 253,1 441144 141672 /usr/bin/dbus-daemon (deleted)...node 11595 11733 root txt REG 253,1 29851602 1461079 /home/elk/kibana-5.5.1-linux-x86_64/node/bin/node (deleted)node 11595 11733 root 1w REG 253,1 11374904415 1059873 /home/elk/kibana-5.5.1-linux-x86_64/nohup.out (deleted)node 11595 11733 root 2w REG 253,1 11374904415 1059873 /home/elk/kibana-5.5.1-linux-x86_64/nohup.out (deleted)async_17 24113 24210 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)async_18 24113 24211 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)async_19 24113 24212 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)async_20 24113 24213 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted) 文件传输1234567891011# 获取远程服务器上的文件scp -P 2222 [email protected]:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz# 获取远程服务器上的目录scp -P 2222 -r [email protected]:/root/lnmp0.4/ /home/lnmp0.4/# 将本地文件上传到服务器上scp -P 2222 /home/lnmp0.4.tar.gz* *[email protected]:/root/lnmp0.4.tar.gz# 将本地目录上传到服务器上scp -P 2222 -r /home/lnmp0.4/* *[email protected]:/root/lnmp0.4/ 修改主机名字123456789# 第一种方法sudo vim /etc/sysconfig/network# 编辑HOSTNAME=weekend100sudo hostname weenkend110# 第二种方法,需要重启vim /etc/hostname Ubuntu右上角网络图标消失并且上不了网12345678910sudo nmcli networking offsudo nmcli networking onsudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo service network-manager startsudo gedit /etc/NetworkManager/NetworkManager.conf# 把false改成truesudo service network-manager restart Cockpit1Activate the web console with: systemctl enable --now cockpit.socke Cockpit介绍自己是一个Web端的系统管理工具,只用鼠标点点就能管理系统,事实上也确实如此,我实际使用来说,启动Cockpit服务之后,只需要鼠标点点点就能完成系统很多基础操作,比如查看系统信息,启动/停止服务,新增或者更改账户,系统更新,Web终端及查看网络流量等功能。 12345systemctl start cockpit.socket # 运行Cockpit服务systemctl enable –now cockpit.socket # 启动该服务,随系统启动一同启动systemctl status cockpit.socket 然后在另一台电脑上用浏览器登录 https://IP:9090 top12345top - 21:08:58 up 6:15, 4 users, load average: 0.01, 0.03, 0.05Tasks: 262 total, 1 running, 261 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 1.4 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 3861300 total, 1922280 free, 1029068 used, 909952 buff/cacheKiB Swap: 2097148 total, 2097148 free, 0 used. 2545024 avail Mem 第一行 程序名(top) 21:08:58(系统时间) up 6:15(运行时间) 4 users(登录用户数) load average(cpu 负载数,5分钟的平均负载,10分钟的平均负载,15分钟的平均负载) 第二行 task(总进程数) 1 running (运行数:1) 261 sleeping(睡眠树:1) stopped(停止数) zoimbie(僵尸数) 第三行 %cpu(cpu使用占比) us (用户) sy (系统) ni(优先级) id(空闲) wa(等待) hi(硬件) st(虚拟机) 第四行 kib Mem (物理内存 单位:K) free (空间,单位:k) userd(使用) cache(缓存硬盘内容大小) 第五行 交换区 第六行 进程ID 用户名 优先级(PR) 内存(VIRT RES SHR) 状态(S) cpu 内存 运行时间 命令 tree12345# 排除目录venv目录tree -I '*venv*'# 排除目录venv和venve2目录tree -I '*venv|venv2*' 配置环境变量配置Java环境变量123export JAVA_HOME=/home/anthony/soft/jdk1.8.0_19export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 配置Maven环境变量12export M2_HOME=/usr/local/software/apache-maven-3.6.1export PATH=${M2_HOME}/bin:$PATH 安装和卸载OpenJDK12345678910111213# 安装apt-get install -y openjdk-17-jdk# 卸载openJDKsudo apt-get remove openjdk*# 查看jdk可安装的版本yum -y list java*# 选择一个安装# 要选择 要带有-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jreyum install -y java-1.8.0-openjdk-devel.x86_64# 查找安装路径which java 配置Scala12export SCALA_HOME=/usr/local/scala-2.13.4export PATH=$SCALA_HOME/bin:$PATH 固定ip配置完了,最好是重启下vmware和虚拟机,和禁用开启 win10上的vmare8网卡 vmare配置 电脑配置虚拟机配置 Centos配置12345678910vim /etc/sysconfig/network-scripts/ifcfg-eth0BOOTPROTO="static" #dhcp改为staticONBOOT="yes" #开机启用本配置IPADDR=10.14.2.50 #静态IPGATEWAY=10.14.2.11 #默认网关NETMASK=255.255.255.0 #子网掩码# 重启网卡,或者重启电脑service network restart Ubuntu配置vim /etc/netplan 编辑完之后执行netplan apply 123456789101112131415161718192021222324# Ubuntu桌面版本network: version: 2 renderer: NetworkManager ethernets: ens33: dhcp4: no optional: true addresses: [192.168.0.5/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1,8.8.8.8]# Ubuntu服务器版本network: ethernets: ens33: dhcp4: true optional: true addresses: [192.168.0.6/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1,8.8.8.8] version: 2 关闭IPV6Ubuntu关闭IPV6 123sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1sudo sysctl -w net.ipv6.conf.lo.disable_ipv6= 防火墙Centos防火墙12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849# 启动systemctl start firewalld# 查看状态systemctl status firewalld# 停止systemctl disable firewalld# 禁用systemctl stop firewalld# 开机启动防火墙systemctl enable firewalld.service# 查看防火墙是否开机启动systemctl is-enabled firewalld.service# 开机时禁用防火墙systemctl disable firewalld.service# 查看版本firewall-cmd --version# 显示状态firewall-cmd --state# 查看所有打开的端口firewall-cmd --zone=public --list-ports# 重新载入,更新防火墙规则firewall-cmd --reload# 查看区域信息firewall-cmd --get-active-zones# 拒绝所有包firewall-cmd --panic-on# 取消拒绝状态firewall-cmd --panic-off# 查看是否拒绝firewall-cmd --query-panic# 开启80端口,–permanent永久生效,没有此参数重启后失效firewall-cmd --zone=public --add-port=80/tcp --permanent# 查看80端口是否开放firewall-cmd --zone=public --query-port=80/tcp# 删除80端口配置firewall-cmd --zone=public --remove-port=80/tcp --permanent Ubuntu防火墙12345678910# 开放端口sudo ufw allow 80# 查看所有的服务端口netstat -ap# 查看已经连接的服务端口netstat -a# 如查看8888端口,则在终端中输入:lsof -i:8888# lsof -i:端口号查看某个端口是否被占用netstat -anp|grep 80 转发IP12345678910111213141516171819# 在文件中添加或修改以下行sudo vim /etc/sysctl.confnet.ipv4.ip_forward=1# 激活 IP 转发功能。sudo sysctl -p# 182.160.10.16 目标到目标服务器的ip# 将到达端口 80 的流量转发到另一台服务器sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 182.160.10.16:80# 设置 MASQUERADE 以便正确处理返回的流量sudo iptables -t nat -A POSTROUTING -j MASQUERADE# 检查和保存规则sudo iptables -t nat -L -n -v# 如果您希望这些规则在系统重启后依然有效,您需要安装 iptables-persistent 包:sudo apt-get install iptables-persistent 用户和权限用户和用户组普通用户和非普通用户12$ 是普通用户# 不是普通用户 修改用户名12345678# //-l 新的登陆名称,-d 用户新的主目录, -m将家目录内容移至新位置 (仅于 -d 一起使用)usermod -l newname -d /home/newname -m oldname# 修改组groupmod -n oldname newname# 重启reboot 用户组123456789101112# 新建用户组groupadd hr# 查看用户组[root@192 ~]# tail -1 /etc/grouphr:x:1001:# 修改用户组名,sudan新名字,dan就名字groupmod -n susan dan# 删除用户组groupdel hr 用户12345678910111213141516171819202122232425262728293031323334# 添加用户:useradd hadoop,创建用户未指定任何选项,系统会创建一个同名的用户组# 添加用户adduser hadoop# 删除用户,# -r 同时也删除这个用户的主目录userdel -r hadoop# 修改hadoop用户密码passwd hadoop# 修改自己的用户名密码passwd# 把用户加入到用户组:vi /etc/sudoers# 查看用户id user01# 或者whoami# 或者cat /etc/shadow# 切换用户su anthony# 查看用户组信息[root@192 ~]# tail -2 /etc/passwdanthony:x:1000:1000:anthony:/home/anthony:/bin/bash[root@192 ~]# tail /etc/groupanthony:x:1000:anthony# 修改用户基本组usermod username -g 组名 修改用户基本组和附加组的demo1234567891011121314151617181920212223242526272829303132333435363738394041424344454647# 创建hadoop用户[root@192 ~]# useradd hadoop# 查看hadoop用户,基本组是1002[root@192 ~]# tail -1 /etc/passwdhadoop:x:1001:1002::/home/hadoop:/bin/bash# 查看hadoop基本组信息[root@192 ~]# tail -1 /etc/grouphadoop:x:1002:# 创建两个用户组[root@192 ~]# groupadd hadoop_base[root@192 ~]# groupadd hadoop_more# 查看两个用户组[root@192 ~]# tail -3 /etc/grouphadoop:x:1002:hadoop_base:x:1003:hadoop_more:x:1004:# 修改用户基本组[root@192 ~]# usermod hadoop -g hadoop_base[root@192 ~]# tail -3 /etc/grouphadoop:x:1002:hadoop_base:x:1003:hadoop_more:x:1004:# 用户的基本组已经变成1003[root@192 ~]# tail -3 /etc/passwdhadoop:x:1001:1003::/home/hadoop:/bin/bash# 修改用户附加组[root@192 ~]# usermod hadoop -G hadoop_more# 用户的附加组已经变成1004[root@192 ~]# tail -1 /etc/grouphadoop_more:x:1004:hadoop# 最后查看# uid 用户名# gid 基本组id# 组 包括基本组和附加组[root@192 ~]# id hadoopuid=1001(hadoop) gid=1003(hadoop_base) 组=1003(hadoop_base),1004(hadoop_more)# 从组中删除成员[root@192 ~]# gpasswd -d hadoop hadoop_base正在将用户“hadoop”从“hadoop_base”组中删除gpasswd:用户“hadoop”不是“hadoop_base”的成员[root@192 ~]# gpasswd -d hadoop hadoop_more正在将用户“hadoop”从“hadoop_more”组中删除 修改用户权限1root修改用户权限: vim /etc/sudousers 组信息文件123456[root@192 ~]# cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4: 一共有4列 组名 组密码 组ID 备用的 用户文件信息1234[root@192 ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin 用户名,登录名中不能有冒号 口令,把真正的加密后的用户口令字存放到/etc/shadow文件中 用户标识符,取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500, 组标识符,也是基本组 注释性描述,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途 主目录 登录shell,解释器 权限123[anthony@192 ~]$ touch /tmp/demo.txt[anthony@192 ~]$ ll /tmp/demo.txt-rw-rw-r--. 1 anthony anthony 0 1月 11 21:57 /tmp/demo.txt 第一位 代表文件,d代表文件夹 接下来的三位(rw-),是用户权限 接下来的三位(rw-),是组权限 接下来的三位(r–),是其他人权限 . 不知道是啥东西 第二位,连接 第三位,属主 第四位,属组 第五位,大小 第六位,7位,时间 第八位,名字 提升权限12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061[root@192 tmp]# touch fil1.txt[root@192 tmp]# ll-rw-r--r--. 1 root root 0 1月 12 21:56 fil1.txt# 给所有人和用户都设置读写执行的权限[root@192 tmp]# chmod a=rwx fil1.txt[root@192 tmp]# ll-rwxrwxrwx. 1 root root 0 1月 12 21:56 fil1.txt# 给所有人和用户设置读写权限[root@192 tmp]# chmod a=rx fil1.txt[root@192 tmp]# ll-r-xr-xr-x. 1 root root 0 1月 12 21:56 fil1.txt# 给属主设置读权限[root@192 tmp]# chmod u=r fil1.txt[root@192 tmp]# ll-r--r-xr-x. 1 root root 0 1月 12 21:56 fil1.txt# 给组设置读写执行的权限[root@192 tmp]# chmod g=rwx fil1.txt[root@192 tmp]# ll-r--rwxr-x. 1 root root 0 1月 12 21:56 fil1.txt[root@192 tmp]## 给其他人 没有读写执行的权限[root@192 tmp]# chmod o= fil1.txt[root@192 tmp]# ll-r--rwx---. 1 root root 0 1月 12 21:56 fil1.txt# 给属主单独设置一个写的权限[root@192 tmp]# chmod u+w fil1.txt[root@192 tmp]# ll总用量 0-rw-rwx---. 1 root root 0 1月 12 21:56 fil1.txt# 修改文件的属主和组权限[root@192 tmp]# chown hadoop.hr fil1.txt[root@192 tmp]# ll总用量 0-rw-rwx---. 1 hadoop hr 0 1月 12 21:56 fil1.txt# 查看acl权限[root@192 tmp]# getfacl acldemo.txt# file: acldemo.txt# owner: root# group: rootuser::rw-group::r--other::r--# 当对一个文件或者文件夹需要设置3个以上的权限用户,和权限用户组,上面的那种方法就不够用了# 需要引入 acl权限# setfacl -m 对象:对象名:权限 文件名# ll之后就会先是+号setfacl -m g:hr:rw /tmp/acldemo.txt[root@192 tmp]# ll-rw-rw-r--+ 1 root root 0 1月 12 22:19 acldemo.txt 磁盘管理磁盘的三个步骤先分区,再格式化,再挂载 MBR一共只能有4个分区,如果要需要很多个分区 新建主分区和逻辑分区123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101[root@192 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 5G 0 disksdc 8:32 0 5G 0 disksdd 8:48 0 5G 0 disksde 8:64 0 5G 0 disksdf 8:80 0 5G 0 disksdg 8:96 0 5G 0 disksdh 8:112 0 5G 0 disksdi 8:128 0 5G 0 disksr0 11:0 1 4.4G 0 rom# 启动分区工具[root@192 ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。Device does not contain a recognized partition table使用磁盘标识符 0xda85d71c 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-10485759,默认为 2048):+2GLast 扇区, +扇区 or +size{K,M,G} (4194304-10485759,默认为 10485759):将使用默认值 10485759分区 1 已设置为 Linux 类型,大小设为 3 GiB命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。# 刷新分区[root@192 ~]# partprobe /dev/sdb# 查看分区结果[root@192 ~]# fdisk -l /dev/sdb磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xda85d71c 设备 Boot Start End Blocks Id System/dev/sdb1 4194304 10485759 3145728 83 Linux# 格式化(创建文件系统)# ext4 扩展文件系统第四代,是文件系统的类型[root@192 ~]# mkfs.ext4 /dev/sdb1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks196608 inodes, 786432 blocks39321 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成正在写入inode表: 完成Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成# 手动挂载[root@192 ~]# mkdir /mnt/disk1[root@192 mnt]# mount -t ext4 /dev/sdb1 /mnt/disk1/# 查看[root@192 mnt]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 13M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 17G 4.4G 13G 26% //dev/sda1 xfs 1014M 239M 776M 24% /boottmpfs tmpfs 378M 12K 378M 1% /run/user/42tmpfs tmpfs 378M 0 378M 0% /run/user/0# 刚挂载的/dev/sdb1 ext4 2.9G 9.0M 2.8G 1% /mnt/disk1 新建SWAP123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 5G 0 disk└─sdb1 8:17 0 3G 0 part /mnt/disk1sdc 8:32 0 5G 0 disksdd 8:48 0 5G 0 disksde 8:64 0 5G 0 disksdf 8:80 0 5G 0 disksdg 8:96 0 5G 0 disksdh 8:112 0 5G 0 disksdi 8:128 0 5G 0 disksr0 11:0 1 4.4G 0 rom /run/media/anthony/CentOS 7 x86_64[root@localhost ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):nPartition type: p primary (2 primary, 0 extended, 2 free) e extendedSelect (default p): p分区号 (3,4,默认 3):No free sectors available命令(输入 m 获取帮助):q[root@localhost ~]# fdisk /dev/sdc欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。Device does not contain a recognized partition table使用磁盘标识符 0x661ba46a 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-10485759,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):将使用默认值 10485759分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x661ba46a 设备 Boot Start End Blocks Id System/dev/sdc1 2048 10485759 5241856 83 Linux命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@localhost ~]# partprobe /dev/sdc[root@localhost ~]# fdisk -l /dev/sdb磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xda85d71c 设备 Boot Start End Blocks Id System/dev/sdb1 4194304 10485759 3145728 83 Linux/dev/sdb2 2048 4194303 2096128 83 LinuxPartition table entries are not in disk order[root@localhost ~]# mkswap /dev/sdb2/dev/sdb2: 没有那个文件或目录[root@localhost ~]# mkswap /dev/sdc2/dev/sdc2: 没有那个文件或目录[root@localhost ~]# fdisk -l /dev/sdc磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x661ba46a 设备 Boot Start End Blocks Id System/dev/sdc1 2048 10485759 5241856 83 Linux[root@localhost ~]# mkswap /dev/sdc1anaconda-ks.cfg .bashrc .dbus/ .local/ 模板/ 下载/.bash_history .cache/ .esd_auth .tcshrc 视频/ 音乐/.bash_logout .config/ .ICEauthority .viminfo 图片/ 桌面/.bash_profile .cshrc initial-setup-ks.cfg 公共/ 文档/[root@localhost ~]# mkswap /dev/sdc1正在设置交换空间版本 1,大小 = 5241852 KiB无标签,UUID=074198c5-dff9-4834-9fbb-06cee839372d[root@localhost ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 13M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 17G 4.4G 13G 26% //dev/sda1 xfs 1014M 239M 776M 24% /boot/dev/sdb1 ext4 2.9G 9.0M 2.8G 1% /mnt/disk1tmpfs tmpfs 378M 32K 378M 1% /run/user/1000/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/anthony/CentOS 7 x86_64tmpfs tmpfs 378M 0 378M 0% /run/user/0[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 5G 0 disk└─sdb1 8:17 0 3G 0 part /mnt/disk1sdc 8:32 0 5G 0 disk└─sdc1 8:33 0 5G 0 partsdd 8:48 0 5G 0 disksde 8:64 0 5G 0 disksdf 8:80 0 5G 0 disksdg 8:96 0 5G 0 disksdh 8:112 0 5G 0 disksdi 8:128 0 5G 0 disksr0 11:0 1 4.4G 0 rom /run/media/anthony/CentOS 7 x86_64[root@localhost ~]# free -m total used free shared buff/cache availableMem: 3770 919 2208 26 642 2586Swap: 2047 0 2047[root@localhost ~]# swapon /dev/sdc1[root@localhost ~]# free -m total used free shared buff/cache availableMem: 3770 925 2201 26 642 2579Swap: 7166 0 7166 禁用swap12345678910一、不重启电脑,禁用启用swap,立刻生效# 禁用命令sudo swapoff -a# 启用命令sudo swapon -a# 查看交换分区的状态sudo free -m 创建LVM无限制的扩张容量 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120[root@192 ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 5G 0 disk├─sdb1 8:17 0 3G 0 part└─sdb2 8:18 0 2G 0 partsdc 8:32 0 5G 0 disk└─sdc1 8:33 0 5G 0 part# 一会要操作的是这个盘sdd 8:48 0 5G 0 disksde 8:64 0 5G 0 disk# 一会要操作的是这个盘sdf 8:80 0 5G 0 disksdg 8:96 0 5G 0 disksdh 8:112 0 5G 0 disksdi 8:128 0 5G 0 disk# 物理磁盘转成物理卷[root@192 ~]# pvcreate /dev/sdd Physical volume "/dev/sdd" successfully created.# 创建数据卷组[root@192 ~]# vgcreate vg1 /dev/sdd Volume group "vg1" successfully created# 创建逻辑卷# lvcreate# -L 4g,要用磁盘的4G# -n lv1 卷的名字,自定义# vg1 卷组名,要把4G,加入到哪个卷组[root@192 ~]# lvcreate -L 4G -n lv1 vg1 Logical volume "lv1" created.# 格式化# 这里要用/dev/卷组名/逻辑卷的名字[root@192 ~]# mkfs.ext4 /dev/vg1/lv1mke2fs 1.42.9 (28-Dec-2013)文件系统标签=OS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks262144 inodes, 1048576 blocks52428 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=107374182432 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736Allocating group tables: 完成正在写入inode表: 完成Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成# 挂载,这里要用/dev/卷组名/逻辑卷的名字[root@192 ~]# mkdir /mnt/lv1[root@192 ~]# mount /dev/vg1/lv1 /mnt/lv1[root@192 ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 13M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 17G 4.4G 13G 26% //dev/sda1 xfs 1014M 239M 776M 24% /boottmpfs tmpfs 378M 28K 378M 1% /run/user/1000/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/anthony/CentOS 7 x86_64# 这里就有4个G的可用空间/dev/mapper/vg1-lv1 ext4 3.9G 16M 3.6G 1% /mnt/lv1# 把sdf物理磁盘转成物理卷[root@192 ~]# pvcreate /dev/sdf Physical volume "/dev/sdf" successfully created.[root@192 ~]# vgextend vg1 /dev/sdf Volume group "vg1" successfully extended# 扩容lv[root@192 ~]# lvextend -L +4G /dev/vg1/lv1 Size of logical volume vg1/lv1 changed from 4.00 GiB (1024 extents) to 8.00 GiB (2048 extents). Logical volume vg1/lv1 successfully resized.# 刷新[root@192 ~]# resize2fs /dev/vg1/lv1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/vg1/lv1 is mounted on /mnt/lv1; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 1The filesystem on /dev/vg1/lv1 is now 2097152 blocks long.# 再次查看[root@192 ~]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 13M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 17G 4.4G 13G 26% //dev/sda1 xfs 1014M 239M 776M 24% /boottmpfs tmpfs 378M 28K 378M 1% /run/user/1000# 这里就有8个G的可用空间/dev/mapper/vg1-lv1 ext4 7.8G 18M 7.4G 1% /mnt/lv1[root@192 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 /dev/sdd vg1 lvm2 a-- <5.00g 0 /dev/sdf vg1 lvm2 a-- <5.00g 1.99g[root@192 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg1 2 1 0 wz--n- 9.99g 1.99g yumyum的所有文件都在/etc/yum.repos.d下 yum挂载光盘源新建一个xxx.repo的文件 12345[root@192 yum.repos.d]# cat ./dvd.repo[dvd]name=this is descreptionbaseurl=file:///mnt/cdromgpgcheck=0 挂载光盘 1234567891011121314151617181920212223[root@192 yum.repos.d]# df -hT文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 13M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 17G 4.4G 13G 26% //dev/sda1 xfs 1014M 239M 776M 24% /boottmpfs tmpfs 378M 32K 378M 1% /run/user/1000/dev/mapper/vg1-lv1 ext4 7.8G 18M 7.4G 1% /mnt/lv1/dev/sr0 iso9660 4.4G 4.4G 0 100%# 挂载mount /dev/sr0 /mnt/cdrom# 查看光盘你的包ls /mnt/cdrom/Packages/# 安装软件yum -y instal httpd# 安装rpm包rpm -ivh xxx.rpm

2022-11-19
Linux软件
JumpSserver设置SFTP根目录3.0版本设置文件管理 克隆一份Linux平台 修改或者创建资产的时候,选择该克隆的平台,在资产这里不能设置SFTP路径 安装vmware tool123运行 ./vmware-install.pl一直按yes,按完一段之后就会有暂时的停顿运行命令 reboot 安装Wget最开始的Centos7 感觉什么都没有wget也没有 1234567#远程下载的工具yum -y install wget#bash: make: command not found 是因为缺少这些工具yum -y install gcc automake autoconf libtool makeyum -y install wget 安装LNMP环境12345678910111213141516171819202122232425262728293031323334353637383940414243# 更新源apt-get update && apt-get dist-upgrade -y# 安装nginxapt-get install nginx# 安装php-fpm和常用php扩展apt-get install php-fpm php-gd php-mbstring php-curl php-xml php-mcrypt php-mysql php-zip php-json php-redis php-memcached# 安装mysqlapt-get install mysql-server# 建立测试站点# 1.我们在/var/www下面新建一个test目录,作为站点目录。 运行以下命令:mkdir /var/www/test# 2.新建php入口文件echo '<?php echo 1;' > /var/www/test/index.php# 3.授权给fpm用户www-data,使fpm进程可以访问站点文件chown -R www-data:www-data /var/www/test && chmod -R 755 /var/www/test# 4.设置nginx站点配置,在/etc/nginx/conf.d新增一个test.conf文件,并写入以下内容# 这个配置表示站点监听80端口,网站根目录为/var/www/test,入口文件为index.php,通过php-fpm进程来执行php脚本。server { listen 80 default_server; listen [::]:80 default_server; root /var/www/test; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }}# 5.重新加载nginx -t && nginx -s reload# 6.访问试试看 Ubuntu卸载Apache123456789101112# 删除apache$ sudo apt-get --purge remove apache2$ sudo apt-get --purge remove apache2.2-common$ sudo apt-get autoremove# 找到没有删除掉的配置文件,一并删除$ sudo find /etc -name "*apache*" -exec rm -rf {} \;$ sudo rm -rf /var/www# 重装apache2$ sudo apt-get install apache2$ sudo /etc/init.d/apache2 restart Ubuntu安装软件指定版本号 123456# 安装软件的时候,机器上安装的依赖版本可能高于软件本身需要的The following packages have unmet dependencies: libpcre3-dev : Depends: libpcre3 (= 2:8.39-12build1) but 2:8.44-1+ubuntu18.04.1+deb.sury.org+1 is to be installed Depends: libpcrecpp0v5 (= 2:8.39-12build1) but 2:8.44-1+ubuntu18.04.1+deb.sury.org+1 is to be installedsudo apt install libpcrecpp0v5=2:8.39-12build1 libpcre3=2:8.39-12build1 Gitlab安装https://ken.io/note/centos7-gitlab-install-tutorial#H3-11 Zsh安装1234567891011121314$ sudo apt-get install zsh# 验证是否安装成功$ zsh --version# 将 Zsh 设为默认 Shell$ sudo chsh -s $(which zsh)# 安装oh my zshhttps://ohmyz.sh/# 注销当前用户重新登录# 若输出为 /bin/zsh 或者 /usr/bin/zsh 则表示当前默认 Shell 是 Zsh$ echo $SHELL 安装confluenceatlassian的相关软件 confluence下载地址 安装: 1234567docker run -v \ /root/confluence/:/var/atlassian/application-data/confluence/ \ --name="confluence" \ -d \ -p 8090:8090 \ -p 8091:8091 \ atlassian/confluence-server 破解: 1./opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar备份2.atlassian-extras-decoder-v2-3.4.1.jar重命名为atlassian-extras-2.4.jar并下载到本地 (和破解工具放在同一目录)3.下载破解工具confluence_keygen.jar,在上面的超链接下载 4.将已被破解的jar包atlassian-extras-2.4.jar重名为atlassian-extras-decoder-v2-3.4.1.jar 并放置在原路径/opt/atlassian/confluence/confluence/WEB-INF/lib 5.下载mysql-connector-java-5.1.32-bin.jar 上传/opt/atlassian/confluence/confluence/WEB-INF/lib 6.开始安装到需要授权码 相关报错: 12启动发生报错 "Spring Application context has not been set"rm -f /var/atlassian/application-data/confluence/confluence.cfg.xml Nmap找出活跃的主机123nmap -sP 192.168.41.136nping --echo-client "public" echo.nmap.org 查看打开的端口nmap 192.168.41.136 网络软件清理网络DNS缓存 检查nameserver有没有生效 DNS生效的国家 IP查询 发送文件到Kindle VIMvim的配置文件设置123456789# 先复制一份vim配置模板到个人目录下cp /usr/share/vim/vimrc ~/.vimrc# 编辑vi ~/.vimrc# 添加syntax on # 开启高亮set nu! # 默认开启行号 行号1set nu 过滤注释1cat redis.conf |grep -v '#' |grep -v '^$' >redis-6237.conf 多行注释123451 Ctrl+v进入v模式2 上下方向键选中要注释的行3 shift+i(即大写的I)行首插入4 输入注释符//5 按esc返回 反注释1231 Ctrl+v进入v模式2 上下方向键选中要注释的行,左右键选择要删除的字符//3 按d删除 格式化1234# gg 跳转到第一行# shift+v 转到可视模式# shift+g 全选# 按下=号 删除#开头的行1:g/^#/d SSH安装ssh12345678# 判断Ubuntu是否安装了ssh服务,检查有没有可以看到“sshd”ps -e | grep ssh# 安装ssh服务,输入命令sudo apt-get install openssh-server# 启动服务sudo /etc/init.d/ssh start SSH配置文件设置1234567891011121314vim /etc/ssh/sshd_config# 这是设置允许root登陆PermitRootLogin prohibit-password ===> PermitRootLogin yes# 这是设置允许使用账号密码登录# 不能只注释,注释会不起作用,还是可以用密码登录PasswordAuthentication no ===> PasswordAuthentication yes# 允许用证书登录方式PubkeyAuthentication yes# 重启ssh服务sudo service ssh reload SSH连接,key失效1234567891011121314λ ssh [email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that a host key has just been changed.The fingerprint for the ECDSA key sent by the remote host isSHA256:RIqSp3Pd94k4PPQcDtKAzK0sQbf4VWffKGwy/nvO8Kw.Please contact your system administrator.Add correct host key in C:\\Users\\Owner/.ssh/known_hosts to get rid of this message.Offending ECDSA key in C:\\Users\\Owner/.ssh/known_hosts:12ECDSA host key for 10.19.44.12 has changed and you have requested strict checking.Host key verification failed. 解决方法:找到.ssh文件下的known_hosts,删除相关ip的行 生成证书1234567891011121314151617181920# 客户端生成秘钥ssh-keygen# ssh目录的文件# id_rsa,私钥文件。不应该分享给任何人。私钥文件通常以 PEM 格式存储。# id_rsa.pub,公钥文件。公钥可以公开分享,用于配置在你需要访问的服务器上。服务器使用公钥来加密信息,私钥可以解密。# known_hosts, 文件存储了你之前连接过的所有服务器的主机密钥。这些密钥用于验证服务器的身份,以防止中间人攻击。每次你连接一个新的服务器,服务器的公钥会被添加到这个文件中。# known_hosts.old,是 `known_hosts` 文件的备份。每当 `known_hosts` 文件更新时,旧版本会被保存为 `known_hosts.old`。这可以作为一个安全机制,如果新的 `known_hosts` 文件出现问题,可以回滚到旧版本。➜ .ssh ll /Users/anthony/.ssh-rw-------@ 1 anthony staff 1.6K 6 8 21:50 id_rsa -rw-r--r--@ 1 anthony staff 425B 6 8 21:50 id_rsa.pub-rw-------@ 1 anthony staff 3.0K 6 8 21:24 known_hosts -rw-------@ 1 anthony staff 2.3K 6 8 21:23 known_hosts.old# 把公钥拷贝到服务器,这次是要输入密码ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host# 使用证书登录服务器# 实验的时候有个问题,如果不指定证书登录的命令,还是会提示输入密码ssh -i ~/.ssh/id_rsa_server2 ubuntu@your_server_ip2 root账号登录并且配置证书12345678910111213# 已经使用别的用户(账户名是:anthony)登录了服务器之后,再执行sudo passwd root# 第一次输入anthony用户的密码# 第二次输入新密码# 第三次再次输入新密码# 修改配置文件,让root用户可以登录,看上面的配置# 客户端上传rsa公钥,留意这里是root的账户的路径cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> /root/.ssh/authorized_keys'# 然后就可以使用root账户和证书登录了# 证书本身是不区分用户名,只认是不是一对公钥还是私钥 root登录之后没有高亮12cp /home/kali/.bashrc /rootsource .bashrc oh-my-zsh安装oh-my-zsh123456789# 配置文件位置vim ~/.zshrc# 配置主题# jonathan 是主题的名字ZSH_THEME="jonathan"# 配置插件,空格分开 插件的名字plugins=(git zsh-syntax-highlighting zsh-autosuggestions) oh my zsh插件zsh-syntax-highlighting高亮语法,如图,输入正确语法会显示绿色,错误的会显示红色,使得我们无需运行该命令即可知道此命令语法是否正确 1git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting plugins=(其他的插件 zsh-syntax-highlighting) zsh-autosuggestions自动补全 只需输入部分命令即可根据之前输入过的命令提示,按右键→即可补全 1git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions plugins=(其他的插件 zsh-syntax-highlighting) Shell设置别名经常要用命令行,进入到某个目录 编辑你的 Shell 配置文件,例如 Bash 的配置文件是 ~/.bashrc 或 ~/.bash_profile,Zsh 的配置文件是 ~/.zshrc。 添加 alias work='cd /path/to/your/work/directory' 运行 source ~/.bashrc 或 source ~/.zshrc 来使配置生效。 终端中输入 work 命令,就会进入你设置的工作目录 设置环境变量12345# 设置环境变量export http_proxy=http://127.0.0.1:3128# 删除环境变量unset http_proxy curl换行1curl http://www.baidu.com -w '\n' curl请求不校验证书12345678# 报错信息# curl failed to verify the legitimacy of the server and therefore could not# establish a secure connection to it. To learn more about this situation and# how to fix it, please visit the web page mentioned above.curl -k https://random.com# 或者curl -insecure https://random.com 脚本首行1#!/bin/bash 脚本变量1234# shell脚本给变量赋值的时候 = 两边不能加空格your_name="runoob"# 使用双引号拼接greeting="hello, "$your_name" !" 判断Linux shell脚本之 if条件判断_doiido的专栏-CSDN博客 判断数值 命令 解释 [ INT1 -eq INT2 ] INT1和INT2两数相等返回为真 ,= [ INT1 -ne INT2 ] INT1和INT2两数不等返回为真 ,<> [ INT1 -gt INT2 ] INT1大于INT2返回为真 ,> [ INT1 -ge INT2 ] INT1大于等于INT2返回为真,>= [ INT1 -lt INT2 ] INT1小于INT2返回为真 ,< [ INT1 -le INT2 ] INT1小于等于INT2返回为真,<= 字符串判断 命令 解释 [ -z STRING ] 如果STRING的长度为零则返回为真,即空是真 [ -n STRING ] 如果STRING的长度非零则返回为真,即非空是真 [ STRING1 ] 如果字符串不为空则返回为真,与-n类似 [ STRING1 == STRING2 ] 如果两个字符串相同则返回为真 [ STRING1 != STRING2 ] 如果字符串不相同则返回为真 [ STRING1 < STRING2 ] 如果 “STRING1”字典排序在“STRING2”前面则返回为真。 [ STRING1 > STRING2 ] 如果 “STRING1”字典排序在“STRING2”后面则返回为真。 12345678910111213#!/bin/shSTRING=if [ -z "$STRING" ]; then echo "STRING is empty"fiif [ -n "$STRING" ]; then echo "STRING is not empty"fi# 结果是:STRING is empty
评论