目录

工欲善其事

实践出真知

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

存档:

标签: linux (56)

[ 服务 ] Linux环境关闭开机自启动服务

查看哪些是开机自启动服务 可以通过chkconfig 命令查看 [root@linux30 ~]# chkconfig 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。 查看在具体 target 启用的服务请执行 'systemctl list-dependencies [target]'。 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@linux30 ~]# 如果是原生 systemd 服务,则可以使用** **systemctl list-unit-files命令查看 [root@linux30 tidb]# systemctl list-unit-files UNIT FILE STATE proc-sys-fs-binfmt_misc.automount static dev-hug.....

[ 进程 ] 理解Linux进程

进程 程序是指储存在外部存储(如硬盘)的一个可执行文件, 而进程是指处于执行期间的程序, 进程包括 代码段(text section) 和 数据段(data section), 除了代码段和数据段外, 进程一般还包含打开的文件, 要处理的信号和CPU上下文等等. 进程描述符 Linux进程使用 struct task_struct 来描述(include/linux/sched.h), 如下: struct task_struct { /* * offsets of these are hardcoded elsewhere - touch with care / volatile long state; / -1 unrunnable, 0 runnable, >0 stopped / unsigned long flags; / per process flags, defined below / int sigpending; mm_segment_t addr_limit; / thread address space: 0-0xBFFFFFFF for us....

[ Linux ]终端的.bashrc不自动生效

新装的一个ubuntu 系统每次登陆后都得 手动加载home下的配置文件,时间久了就很烦!.bashrc的加载时靠.profile文件加载的,检查是否确实该文件 在 /etc/profile文件内容如下: # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #um....

[ macOS ] 给你挖的坑 有更新!

在使用mac系统时总会遇到一些奇奇怪怪的问题,本篇列举一下并附上解决方法 文件夹混淆成文件 这个比较坑 通过Java不小心将一个mp4文件变成了文件夹,结果文件还在文件夹下面。 解决方法把文件复制出来,再改名 生成一些多余的配置 复制到Windows下时这些缓存文件就显现出来了,如果手都删的话得累死 当你从MAC拷贝一些文件到WINDOWS时,拷贝完成后,在WINDOWS文件夹里你经常会看到很多与文件名同名,但以"._"开头的伴随文件,比如: document1.doc (主文件) ._document1.doc (伴随文件) 具体这些”._“开头的伴随文件是怎么回事,请参考What are the weird files that start with … - Apple Community,如果这些主文件后续只在WINDOWS里使用而不会再复制到MAC里使用,你可以将他们的伴随文件删除,否则请保留伴随文件,并在复制到MAC时一并复制过去。这些伴随文件里有MAC系统需要的主文件的描述信息和一些其他信息。 win 下面是一个我使用的通过WINDOWS命令行批量删除这些文件的比较简单的办....

[ ssh ] 链接时警告REMOTE HOST IDENTIFICATION HAS CHANGED的问题

今天在配置设备多网卡时遇到一个奇怪的警告⚠️,因为不知道对不对所以出了错赶紧百度一下,索性Wi-Fi是连好了。 大体意思是,你这个地址的密钥和你之前链接的对不起来,删了再从新配之类的(我猜的。。)。原因是前一天这个IP地址是分给另台设备A的,今天A不在线分给了B结果两台设备密钥对不上导致的。解决办法⬇️ ssh-keygen -R XX.XX.XX.XX 之后再链接就没事了。

[ apt ] 的 update 和 upgrade 命令的区别是什么?

如果想让你的 Ubuntu 或者 Debian 系统保持更新,要用 sudo apt update 和 sudo apt upgrade 命令组合。一些以前的教程也会提到 sudo apt-get update 和 sudo apt-get upgrade。apt 和 apt-get 命令运行起来几乎一样,除了一些细微的差别,后面我会讨论。我们首先讨论一下 update 和 upgrade 的区别。这两个难道不是一样的吗? apt 的 update 和 upgrade 的区别 尽管听上去运行 apt update 可以给你一个包的最新版本,然而这并不正确。update 命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是 apt upgrade 命令来把这些包下载和升级到最新版本。 还是有点困惑?让我来接着解释。我建议阅读 包管理器的概念。这个会帮你更好的理解这些东西。 Linux Package Manager Explanation 基本上,你的系统围绕着一个所有可用包的数据库(缓存)工作。注意,这个缓存(或者数据库)并不包含这些包本身,仅仅是关于包的元数据(版本....

[ Linux ] 入门级常用命令 持续更新...

基于 Linux 内核的操作系统系统不能说随处可见也是走进了我们千家万户,大到服务器小到路由器或者闹钟。会使用Linux命令便成了程序员或运维的必备技能。 查看系统版本 查看系统是不是64位 1、getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, 64位Linux系统显示64。最简单、快捷的方法。 root@orangepizero2:~/solo# root@orangepizero2:~/solo# getconf LONG_BIT 64 root@orangepizero2:~/solo# 2、uname命令查看 如下例子所示,x86_64表示64位系统, i686 i386表示32位系统。i686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持. root@orangepizero2:~/solo# uname -a Linux orangepizero2 5.16.17-sun50iw9 #3.0.6 SMP Tue Aug 9 13:51:16 CST 2022 aarch64 aarch64 ....

命令行终端下载指令大全 ( Win + Linux )

简介 在我们渗透测试的过程中,通常会需要向目标主机传送一些文件,来达到提权,维持控制等目的。因此当不方便进行直接传输时,同时目标主机是能有网络连接的,那么此时就可以通过本地下载这种方法来达到文件传输的目的。此篇文章,我会对互联网上针对 win 与 linux 大部分的下载指令来做一个汇总,可能会有疏漏,但汇总的都是经常会用的。 2. Linux 2.1 Wget 这款工具功能很丰富,可以充当某种功能完备的 GUI 下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个连接问题后,可以重新尝试下载,你甚至可以管理最大的下载带宽。 直接下载: wget http://www.sample-videos.com/video/mp4/big.mp4 后台下载: wget -b http://www.sample-videos.com/video/mp4/big.mp4 如果互联网连接出现中断,恢复下载: wget -c http://www.sample-videos.com/video/mp4/big.mp4 从某个密码保护的 ft....

【 nano 】使用总结

设置行号 两种:一种是设置配置文件 .nanorc set linenumbers 另一种是 nano -c [filename] 或者使用nano时用于显示当前行号的键盘组合是CTRL+C 后两种我测试的都不管用。。可能是mac电脑的问题

【ssl】本机生成nginx可用的ssl证书

1、nginx安装 略,不要忘记安装ssl模块 2、ssl证书生成 生成key openssl genrsa -out server.key 1024 根据私钥生成证书申请,创建签名请求的证书(CSR)注意 ch那边必须写 openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----.....

wifi 破解。。

ifconfig |grep -i "3c:22:fb:3f:9d:89" -A 4 -B 1 sudo airport -s sudo airport en0 sniff 13 sudo aircrack-ng /tmp/airportSniffn9lEJ1.cap aircrack-ng -w /usr/ccdir/pass/test.txt -b 42:C8:9A:E4:4A:69 /usr/ccdir/target_test-01.cap

Linux Shell命令:echo介绍,echo如何输出带颜色的文本

echo命令介绍 功能说明:显示文字。 语   法:echo [-ne][字符串] / echo [--help][--version] 补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。 参   数: -n 不要在最后自动换行 -e 打开反斜杠ESC转义。若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \ 插入\字符; \nnn 插入nnn(八进制)所代表的ASCII字符; -E 取消反斜杠ESC转义 (默认) -help 显示帮助 -version 显示版本信息 ############################################################ echo输出颜色文本 echo命令改变样式,以输出不同颜色的文本,必须有 -e 选项(开启echo中的转义)。 文本终端的....

Linux Shell脚本如何判断上一个命令执行是否成功

shell脚本有一些 特殊变量 ,这些特殊变量以$开头,这些变量是shell脚本一开始执行就存在了,而且用户一般不能修改这些变量,这些变量一般是只读的。例举如下: 变量名称含义 $0当前脚本的名称 $n脚本调用的参数,n只能取1~9,如果n>10,可以使用shift变量往前移动一格 $*程序的所有变量数组 参见 shell变量 $*与 $@的区别 $@程序的所有变量数组 参见 shell变量 $*与 $@的区别 $#程序的变量个数 $$当前运行脚本的PID $!执行上一个后台程序的PID $?执行上一条语句的返回值,在unix系统 :0 表示成功,否则失败 如何判断上一个命令是否执行成功了,就是用符号“$?”来显示上一条命令执行的返回值,如果为:0则代表执行成功,其它值表示失败。(这是unix系统进程返回值的约定) true echo $? false echo $? test 'abc' == 'abc' echo $? test 'abc' == 'acb' echo $? name = 'Tom' test -n $name echo $? test -d /usr/bin....

Linux Shell 中变量自增写法

代码如下: let i+=1 ((i++)) i=$[$i+1] #注意这里为方括号 i=$(( $i + 1 )) i=expr $i + 1 #注意 加号2边要有空格 要用反向单引号Tab 键上面的那个 测试了一下都可用,例子如下: #!/bin/sh a=0 b=0 c=0 d=0 i=0 for num in $(seq 1 99); do echo ">>> ${num}" ((a++)) echo "a=${a}" b=$[b+1] echo "b=${b}" c=$(( $c + 1 )) echo "c=${c}" d=expr $d + 1 echo "d=${d}" let i+=1 echo "i=${i}" echo ">>> ${num}" echo done echo "a=${a}" echo "b=${b}" echo "c=${c}" echo "d=${d}" echo "i=${i}"

Linux Shell 中的字符串判断

判断两字符串是否包含 利用grep查找 strA="long string" strB="string" result=$(echo $strA | grep "${strB}") if [[ "$result" != "" ]] then echo "包含" else echo "不包含" fi 利用字符串运算符 strA="helloworld" strB="low" if [[ $strA =~ $strB ]] then echo "包含" else echo "不包含" fi 利用通配符 A="helloworld" B="low" if [[ $A == $B ]] then echo "包含" else echo "不包含" fi 利用case in 语句 thisString="1 2 3 4 5" # 源字符串 searchString="1 2" # 搜索字符串 case $thisString in "$searchString") echo Enemy Spot ;; *) echo nope ;; esa 利用替换 STRING_A=$1 ST....

Linux Shell 之文件名中有空格怎么处理

简述 在使用shell的for循环时,如果循环的字符串中间有空格,那么循环时会自动分割,下面是解决的方法 只需要更改 shell分隔符即可 在for循环之前修改IFS变量,示例: OLDIFS="$IFS" #备份旧的IFS变量 IFS=$'\n' #修改分隔符为换行符 for i in $(#aaa文件中存放着公钥 cat aaa ); do echo "$i" done IFS="$OLDIFS" #还原IFS变量 说明: IFS变量的相关信息: Shell把变量IFS内的每一个字符都当做是一个 分割符(delimeter),用这些字符作为每一个字段的结束符来进行分割。 如果IFS没有设置,或者IFS的值被设置为 "\t\n"(space, tab和 newline),那么操作对象的开始和结束处的所有space, tab和newline序列都将被忽略,但是操作对象中间的space, tab和newline序列会作为界定符工作。 如果IFS值不是 默认值(例如程序中对IFS进行设置过),只有出现在IFS内的空白字符(可能是space, tab或newline中的一个或几个)才会在单.....

Linux scp命令

语法 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2 常用写法 # 从远程服务器下载文件到当前目录,如果是文件夹需要加-r scp root@host:/data/file.txt ./ 参数说明: -1:强制scp命令使用协议ssh1 -2:强制scp命令使用协议ssh2 -4:强制scp命令只使用IPv4寻址 -6:强制scp命令只使用IPv6寻址 -B:使用批处理模式(传输过程中不询问传输口令或短语) -C:允许压缩。(将-C标志传递给ssh,从而打开压缩功能) -p:保留原文件的修改时间,访问时间和访问权限。 -q:不显示传输进度条。 -r:递归复制整个目录。 -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。 -c cipher:以ciph......

Linux之SSH免密登录配置

两台Linux电脑如果需要经常登录可以使用密钥方式登录,省去输密码的麻烦! 1、电脑A生成密钥 #生成密钥对 ssh-keygen -t rsa #(连续三次回车,即在本地生成了公钥和私钥,不设置密码,默认存储在 ~/.ssh目录下) 2、将追加A电脑的 ~/ssh/id_rsa.pub到B电脑的 ~/.ssh/authorized_keys文件中 完事~

Linux shell 配置 有更新!

linux 系统中的配置是通过几个在家目录下或系统的配置文件控制的,如:.bashrc等 强化ll显示隐藏文件、文件大小和时间格式 alias ll='ls -lah --group-directories-first' 配置显示的日期是正常可见的 sudo echo "export TIME_STYLE='+%Y-%m-%d %H:%M:%S'" >> /etc/profile && source /etc/profile 时间倒序 alias llt='ls -laht --group-directories-first' 修改终端提示 export PS1='[[\e[36;1m]\W[\e[m]][\e[35;1m]$[\e[m] ' 创建文件夹和进入 function mkcd () { mkdir -p "$@" && eval cd ""$@""; } .vimrc配置Ctrl+s保存 imap <C-S> <ESC>:wq<CR> map <C-S> :wq<CR>....

[ Smb ] Centos7安装和配置

Centos7 安装samba简单教程 1.安装 smb yum -y install samba systemctl start smb 2.配置 创建用户 useradd -s /sbin/nologin {user} smbpasswd -a {user} 添加配置文件 进入目录 /etc/samba/smb.conf添加一个 global可以扫描某个目录下指定的配置文件,类似 nginx那样的配置 如下配置 读取smb用户开头的配置文件 [global] create mask = 0777 netbios name = "nasl" max connections = 30 deadtime = 30 security = user passdb backend = tdbsam config file = /etc/samba/%U.smb.conf 举个栗子: [20220601] comment = "日立4T" # 共享文件目录描述 path = /mnt/4Thitachi # 共享文件目录 read only = No # 是否只读 guest ok = N.......