关于linux:linux系统下记录用户操作历史

集体博客:点击这里进入编辑/etc/profile文件开端增加下列代码,增加实现后保留退出执行命令:source /etc/profile ,退出以后终端,之后会在/var/log/history目录下以用户名、IP地址、登录工夫为文件名生成一个文件historyUSER=`whoami`USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]; thenUSER_IP=`hostname`fiif [ ! -d /var/log/history ]; thenmkdir /var/log/historychmod 777 /var/log/historyfiif [ ! -d /var/log/history/${LOGNAME} ]; thenmkdir /var/log/history/${LOGNAME}chmod 300 /var/log/history/${LOGNAME}fiexport HISTSIZE=4096DT=`date +"%Y%m%d_%H:%M:%S"`export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null

July 28, 2021 · 1 min · jiezi

关于linux:Linux之kill命令

Linux中的kill命令用来终止指定的过程(terminate a process)的运行,是Linux下过程治理的常用命令。通常,终止一个前台过程能够应用Ctrl+C键,然而,对于一个后盾过程就须用kill命令来终止,咱们就须要先应用ps/pidof/pstree/top等工具获取过程PID,而后应用kill命令来杀掉该过程。kill命令是通过向过程发送指定的信号来完结相应过程的。在默认状况下,采纳编号为15的TERM信号。TERM信号将终止所有不能捕捉该信号的过程。对于那些能够捕捉该信号的过程就要用编号为9的kill信号,强行“杀掉”该过程。命令格局kill[参数][过程号 命令性能发送指定的信号到相应过程。不指定型号将发送SIGTERM(15)终止指定过程。如果任无奈终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制完结过程,应用ps命令或者jobs 命令能够查看过程号。root用户将影响用户的过程,非root用户只能影响本人的过程。命令参数-l 信号,若果不加信号的编号参数,则应用“-l”参数会列出全副的信号名称-a 当解决以后过程时,不限度命令名和过程号的对应关系-p 指定kill 命令只打印相干过程的过程号,而不发送任何信号-s 指定发送信号-u 指定用户命令阐明kill命令能够带信号号码选项,也能够不带。如果没有信号号码,kill命令就会收回终止信号(15),这个信号能够被过程捕捉,使得过程在退出之前能够清理并开释资源。也能够用kill向过程发送特定的信号。例如:kill -2 123它的成果等同于在前台运行PID为123的过程时按下Ctrl+C键。然而,普通用户只能应用不带signal参数的kill命令或最多应用-9信号。kill能够带有过程ID号作为参数。当用kill向这些过程发送信号时,必须是这些过程的客人。如果试图撤销一个没有权限撤销的过程或撤销一个不存在的过程,就会失去一个错误信息。能够向多个过程发信号或终止它们。当kill胜利地发送了信号后,shell会在屏幕上显示出过程的终止信息。有时这个信息不会马上显示,只有当按下Enter键使shell的命令提示符再次出现时,才会显示进去。应留神,信号使过程强行终止,这常会带来一些副作用,如数据失落或者终端无奈复原到失常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为过程不能首先捕捉它。要撤销所有的后台作业,能够输出kill 0。因为有些在后盾运行的命令会启动多个过程,跟踪并找到所有要杀掉的过程的PID是件很麻烦的事。这时,应用kill 0来终止所有由以后shell启动的过程,是个无效的办法。列出所有信号名称> kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+338) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-1253) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-758) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX只有第9种信号(SIGKILL)才能够无条件终止过程,其余信号过程都有权力疏忽。 上面是罕用的信号:HUP 1 终端断线INT 2 中断(同 Ctrl + C)QUIT 3 退出(同 Ctrl + \)TERM 15 终止KILL 9 强制终止CONT 18 持续(与STOP相同, fg/bg命令)STOP 19 暂停(同 Ctrl + Z)失去指定信号的数值> kill -l KILL9先用ps查找过程,而后用kill杀掉> ps -ef | grep javaroot 16934 1 0 Feb25 ? 00:18:13 java -jar demo.jar//彻底杀死该过程> kill -9 16934强制杀死所有和java相干的所有过程> kill -9 $(ps -ef | grep java) 强制杀死deploy用户起的过程> kill -u deployinit过程是不可杀的> kill -9 1init是Linux零碎操作中不可短少的程序之一。所谓的init过程,它是一个由内核启动的用户级过程。内核自行启动(曾经被载入内存,开始运行,并已初始化所有的设施驱动程序和数据结构等)之后,就通过启动一个用户级程序init的形式,实现疏导过程。所以,init始终是第一个过程(其过程编号始终为1)。 其它所有过程都是init过程的子孙。init过程是不可杀的!原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 27, 2021 · 1 min · jiezi

关于linux:芝麻开门-Portknocking

端口22),而后暴力破解。 避免SSH端口被暴力破解个别有以下几种形式1.批改默认端口22为其它端口2.禁止明码登陆,只容许密钥登陆或者应用PAM模块开启二次认证3.应用ipfailban屏蔽暴力登陆的IP 除了以上几种做法,还有一种平安加固的伎俩叫port knocking。如字面意思,相似‘敲门’,只是这里敲的是‘端口’,而且须要依照程序‘敲’端口。如果敲击规定匹配,则能够让防火墙实时更改策略。从而达到开关防火墙的目标。 简略的做法是装置knockd。knockd是一种端口试探服务器工具。它侦听以太网或其余可用接口上的所有流量,期待非凡序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中。官网:https://zeroflux.org/projects... 装置并没有yum源,所以只能本人编译装置 wget http://www.zeroflux.org/proj/knock/files/knock-0.8.tar.gzyum install libpcap-develyum install autoconfautoreconf -fi./configure --prefix=/usr/localmakesudo make installcp knockd.conf /etc/knockd -V启动服务 knockd -i ens192 -d -v配置 knockd 服务应用默认的配置文件 cat /etc/knockd.conf[options] UseSyslog[openSSH] sequence = 7000,8000,9000 seq_timeout = 5 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn[closeSSH] sequence = 9000,8000,7000 seq_timeout = 5 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn配置文件里有两个参数: ...

July 27, 2021 · 2 min · jiezi

关于linux:Linux之ps命令

Linux中的ps命令是Process Status的缩写。ps命令用来列出零碎中以后运行的那些过程。ps命令列出的是以后那些过程的快照,就是执行ps命令的那个时刻的那些过程,如果想要动静的显示过程信息,就能够应用top命令。要对过程进行监测和管制,首先必须要理解以后过程的状况,也就是须要查看以后过程,而 ps 命令就是最根本同时也是十分弱小的过程查看命令。应用该命令能够确定有哪些过程正在运行和运行的状态、过程是否完结、过程有没有僵死、哪些过程占用了过多的资源等等。总之大部分信息都是能够通过执行该命令失去的。 ps 为咱们提供了过程的一次性的查看,它所提供的查看后果并不动静间断的;如果想对过程工夫监控,应该用 top 工具。 kill 命令用于杀死过程。 Linux中过程有5种状态运行(正在运行或在运行队列中期待)中断(休眠中, 碰壁, 在期待某个条件的造成或承受到信号)不可中断(收到信号不唤醒和不可运行, 过程必须期待直到有中断产生)僵死(过程已终止, 但过程描述符存在, 直到父过程调用wait4()零碎调用后开释)进行(过程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后进行运行运行)ps工具标识过程的5种状态码D 不可中断 uninterruptible sleep (usually IO)R 运行 runnable (on run queue)S 中断 sleepingT 进行 traced or stoppedZ 僵死 a defunct (”zombie”) process命令语法ps (参数) 命令参数-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。a:显示现行终端机下的所有程序,包含其余用户的程序。-A:显示所有程序。-c:显示CLS和PRI栏位。c:列出程序时,显示每个程序真正的指令名称,而不蕴含门路,选项或常驻服务的标示。-C<指令名称>:指定执行指令的名称,并列出该指令的程序的情况。-d:显示所有程序,但不包含阶段作业领导者的程序。-e:此选项的成果和指定"A"选项雷同。e:列出程序时,显示每个程序所应用的环境变量。-f:显示UID,PPIP,C与STIME栏位。f:用ASCII字符显示树状构造,表白程序间的互相关系。-g<群组名称>:此选项的成果和指定"-G"选项雷同,当亦能应用阶段作业领导者的名称来指定。g:显示现行终端机下的所有程序,包含群组领导者的程序。-G<群组识别码>:列出属于该群组的程序的情况,也可应用群组名称来指定。h:不显示题目列。-H:显示树状构造,示意程序间的互相关系。-j或j:采纳工作管制的格局显示程序情况。-l或l:采纳具体的格局来显示程序情况。L:列出栏位的相干信息。-m或m:显示所有的执行绪。n:以数字来示意USER和WCHAN栏位。-N:显示所有的程序,除了执行ps指令终端机下的程序之外。-p<程序识别码>:指定程序识别码,并列出该程序的情况。p<程序识别码>:此选项的成果和指定"-p"选项雷同,只在列表格局方面稍有差别。r:只列出现行终端机正在执行中的程序。-s<阶段作业>:指定阶段作业的程序识别码,并列出附属该阶段作业的程序的情况。s:采纳程序信号的格局显示程序情况。S:列出程序时,包含已中断的子程序材料。-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的情况。t<终端机编号>:此选项的成果和指定"-t"选项雷同,只在列表格局方面稍有差别。-T:显示现行终端机下的所有程序。-u<用户识别码>:此选项的成果和指定"-U"选项雷同。u:以用户为主的格局来显示程序情况。-U<用户识别码>:列出属于该用户的程序的情况,也可应用用户名称来指定。U<用户名称>:列出属于该用户的程序的情况。v:采纳虚拟内存的格局显示程序情况。-V或V:显示版本信息。-w或w:采纳宽敞的格局来显示程序情况。 x:显示所有程序,不以终端机来辨别。X:采纳新式的Linux i386登陆格局显示程序情况。-y:配合选项"-l"应用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。-<程序识别码>:此选项的成果和指定"p"选项雷同。--cols<每列字符数>:设置每列的最大字符数。--columns<每列字符数>:此选项的成果和指定"--cols"选项雷同。--cumulative:此选项的成果和指定"S"选项雷同。--deselect:此选项的成果和指定"-N"选项雷同。--forest:此选项的成果和指定"f"选项雷同。--headers:反复显示题目列。--help:在线帮忙。--info:显示排错信息。--lines<显示列数>:设置显示画面的列数。--no-headers:此选项的成果和指定"h"选项雷同,只在列表格局方面稍有差别。--group<群组名称>:此选项的成果和指定"-G"选项雷同。--Group<群组识别码>:此选项的成果和指定"-G"选项雷同。--pid<程序识别码>:此选项的成果和指定"-p"选项雷同。--rows<显示列数>:此选项的成果和指定"--lines"选项雷同。--sid<阶段作业>:此选项的成果和指定"-s"选项雷同。--tty<终端机编号>:此选项的成果和指定"-t"选项雷同。--user<用户名称>:此选项的成果和指定"-U"选项雷同。--User<用户识别码>:此选项的成果和指定"-U"选项雷同。--version:此选项的成果和指定"-V"选项雷同。--widty<每列字符数>:此选项的成果和指定"-cols"选项雷同。显示所有过程信息> ps -A PID TTY TIME CMD 1 ? 00:11:10 systemd 2 ? 00:00:04 kthreadd 4 ? 00:00:00 kworker/0:0H 6 ? 00:00:07 ksoftirqd/0 7 ? 00:00:02 migration/0 8 ? 00:00:00 rcu_bh 9 ? 00:43:24 rcu_sched 10 ? 00:00:00 lru-add-drain 11 ? 00:00:12 watchdog/0 12 ? 00:00:10 watchdog/1 13 ? 00:00:11 migration/1 14 ? 00:06:22 ksoftirqd/1 16 ? 00:00:00 kworker/1:0H 17 ? 00:00:11 watchdog/2 ...显示指定用户启动的线程> ps -u deploy PID TTY TIME CMD 7698 ? 00:29:50 java13783 ? 00:16:42 java30027 ? 00:03:20 java显示所有过程信息和命令行> ps -ef UID PID PPID C STIME TTY TIME CMDroot 1 0 0 Jan08 ? 00:11:10 /usr/lib/systemd/systemd --switched-root --system --deserialize 22root 2 0 0 Jan08 ? 00:00:04 [kthreadd]root 4 2 0 Jan08 ? 00:00:00 [kworker/0:0H]root 6 2 0 Jan08 ? 00:00:07 [ksoftirqd/0]root 7 2 0 Jan08 ? 00:00:02 [migration/0]ps与grep罕用组合用法,查找特定过程> ps -ef | grep javaps -ef | grep sshroot 1394 1 0 Jan08 ? 00:04:23 /usr/sbin/sshd -Droot 30899 1394 0 22:44 ? 00:00:00 sshd: root@pts/2root 30922 30899 0 22:44 ? 00:00:00 /usr/libexec/openssh/sftp-serverroot 31625 1394 0 22:49 ? 00:00:00 sshd: root [priv]sshd 31627 31625 0 22:49 ? 00:00:00 sshd: root [net]root 31804 30905 0 22:50 pts/2 00:00:00 grep --color=auto ssh将目前属于您本人这次登入的PID与相干信息列示进去> ps -lF S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD0 R 0 1275 30905 0 80 0 - 38304 - pts/2 00:00:00 ps4 S 0 30905 30899 0 80 0 - 28895 do_wai pts/2 00:00:00 bashF 代表这个程序的旗标 (flag), 4 代表使用者为 super userS 代表这个程序的状态 (STAT),对于各 STAT 的意义将在内文介绍UID 程序被该 UID 所领有PID 就是这个程序的 ID !PPID 则是其下级父程序的IDC CPU 应用的资源百分比PRI 这个是 Priority (优先执行序) 的缩写,具体前面介绍NI 这个是 Nice 值,在下一大节咱们会继续介绍ADDR 这个是 kernel function,指出该程序在内存的那个局部。如果是个 running的程序,个别就是 "-"SZ 应用掉的内存大小WCHAN 目前这个程序是否正在运作当中,若为 - 示意正在运作TTY 登入者的终端机地位TIME 应用掉的 CPU 工夫。CMD 所下达的指令为何列出相似程序树的程序显示> ps -axjf 1 1394 1394 1394 ? -1 Ss 0 4:23 /usr/sbin/sshd -D 1394 30899 30899 30899 ? -1 Ss 0 0:00 \_ sshd: root@pts/230905 1873 1872 30905 pts/2 1872 S+ 0 0:00 | \_ grep --color=auto ssh30899 30922 30922 30922 ? -1 Ss 0 0:00 \_ /usr/libexec/openssh/sftp-server分页查看过程信息> ps aux | more每一列的解释> ps aux | moreUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER 过程的用户;PID 过程的ID;%CPU 过程占用的CPU百分比;%MEM 占用内存的百分比;VSZ 该过程应用的虚拟内存量(KB);RSS 该过程占用的固定内存量(KB);TTY 该过程在哪个终端上运行(登陆者的终端地位),若与终端无关,则显示(?)。若为pts/0等,则示意由网络连接主机过程;START 该过程被触发启动工夫;TIME 该过程理论应用CPU运行的工夫;COMMAND 命令的名称和参数;STAT状态位常见的状态字符D 无奈中断的休眠状态(通常 IO 的过程);R 正在运行可中在队列中可过行的;S 处于休眠状态;T 进行或被追踪;W 进入内存替换 (从内核2.6开始有效);X 死掉的过程 (根本很少见);Z 僵尸过程;< 优先级高的过程;N 优先级较低的过程;L 有些页被锁进内存;s 过程的领导者(在它之下有子过程);l 多过程的(应用 CLONE_THREAD, 相似 NPTL pthreads);位于后盾的过程组;把所有的过程信息输出到rumenz.txt文件> ps aux > rumenz.txt输入指定的字段> ps -o pid,ppid,pgrp,session,tpgid,comm PID PPID PGRP SESS TPGID COMMAND 2292 30905 2292 30905 2292 ps30905 30899 30905 30905 2292 bashps aux和ps –aux的区别请留神ps -aux不同于ps aux。POSIX和UNIX的规范要求ps -aux打印用户名为x的用户的所有过程,以及打印所有将由-a选项抉择的过程。如果用户名为x不存在,ps的将会解释为ps aux,而且会打印一个正告。这种行为是为了帮忙转换旧脚本和习惯。它是软弱的,行将更改,因而不应依赖。ps aux 和ps -ef两者的输入后果差异不大,但展现格调不同。aux是BSD格调,-ef是System V格调。这是主要的区别,一个影响应用的区别是aux会截断command列,而-ef不会。当联合grep时这种区别会影响到后果。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 26, 2021 · 3 min · jiezi

关于linux:Linux文件查找常用命令详细笔记

which-whereis-locate-grep find 命令应用查找文件个别有以下几个命令: which查看可执行文件的地位whereis查看可执行文件的地位及相干文件locate配合数据库缓存,疾速查看文件地位grep过滤匹配,它是一个文件搜寻工具find查找相干文件举例: [root@xuegod63 ~]# which cd/usr/bin/cd[root@xuegod63 ~]# whereis cdcd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz[root@xuegod63 ~]# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.glocatelocate 命令和 find -name 性能差不多,是它的另外一种写法,然而这个要比 find 搜寻快的多,因为 find 命令查找的是具体目录文件,而 locate 它搜寻的是一个数据库/var/lib/mlocate/mlocate.db,这个数据库中存有本地所有的文件信息;这个数据库是 Linux 主动创建并每天自动更新保护。相干的配置信息在 /etc/updatedb.conf,查看定时工作信息在/etc/cron.daily/mlocate [root@xuegod63 ~]# yum -y install mlocate[root@xuegod63 mnt]# touch /opt/xuegod.txt[root@xuegod63 mnt]# locate xuegod.txt #发现找不到[root@xuegod63 mnt]# updatedb #如果对当天文件查找,须要手动更新数据库 updatedb[root@xuegod63 mnt]# locate xuegodgrep 查找应用 作用:过滤,它可能应用正则表达式来搜寻文本,并把后果打印进去参数: -v取反-i疏忽大小写^#以#结尾#$以#结尾^$空行-n对过滤的内容加上行号l或者的意思[root@xuegod63 ~]# ps -aux | grep sshd | grep -v greproot 1089 0.0 0.2 105996 4088 ? Ss 20:19 0:00 /usr/sbin/sshd –D[root@xuegod63 ~]# cat /etc/passwd | grep ^a #以 a 结尾[root@xuegod63 ~]# grep bash$ /etc/passwd #以 bash 结尾[root@xuegod63 ~]# grep "nologin\|root" /etc/passwd | wc -l注: \ 示意本义符[root@xuegod63 ~]# egrep "nologin|root" /etc/passwd | wc -l#查看包含 nologin 或 root 的行注:egrep 是 grep 增强版本find 命令应用格局:find pathname -options [-print] 命令字 门路名称 选项 输入参数:pathname: find 命令所查找的目录门路,不输出代表当前目录例如用 . 来示意当前目录,用 /来示意零碎根目录。 ...

July 26, 2021 · 3 min · jiezi

关于linux:Linux之wc命令

Linux零碎中的wc(Word Count)命令的性能为统计指定文件中的字节数、字数、行数,并将统计结果显示输入。命令格局wc [选项]文件... 命令性能统计指定文件中的字节数、字数、行数,并将统计结果显示输入。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从规范输出读取。wc同时也给出所指定文件的总统计数。命令参数-c 统计字节数。-l 统计行数。-m 统计字符数。这个标记不能与 -c 标记一起应用。-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。-L 打印最长行的长度。-help 显示帮忙信息--version 显示版本信息查看文件的行数,单词数,字节数> cat rumenz.txt 入门 123> wc rumenz.txt 1 2 11 rumenz.txtrumenz.txt有1行2个单词11个字节统计文件的行数> wc -l nohup.out 237 nohup.out> cat nohup.out | wc -l237nohup.out文件有237行用来统计当前目录下的文件数> ls -l | wc -l23当前目录下有23个文件原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

July 25, 2021 · 1 min · jiezi

关于linux:Linux之grep命令

grep (global search regular expression(RE) and print out the line,全面搜寻正则表达式并把行打印进去)是一种弱小的文本搜寻工具,它能应用正则表达式搜寻文本,并把匹配的行打印进去。用于过滤/搜寻的特定字符。可应用正则表达式能配合多种命令应用,应用上非常灵便。命令格局grep [options] [pattern] [file ...] 命令性能用于过滤/搜寻的特定字符options-a --text # 不要疏忽二进制数据。-A <显示行数> --after-context=<显示行数> # 除了显示合乎范本款式的那一行之外,并显示该行之后的内容。-b --byte-offset # 在显示合乎范本款式的那一行之外,并显示该行之前的内容。-B<显示行数> --before-context=<显示行数> # 除了显示合乎款式的那一行之外,并显示该行之前的内容。-c --count # 计算合乎范本款式的列数。-C<显示行数> --context=<显示行数>或-<显示行数> # 除了显示合乎范本款式的那一列之外,并显示该列之前后的内容。-d<进行动作> --directories=<动作> # 当指定要查找的是目录而非文件时,必须应用这项参数,否则grep命令将回报信息并进行动作。-e<范本款式> --regexp=<范本款式> # 指定字符串作为查找文件内容的范本款式。-E --extended-regexp # 将范本款式为延长的一般表示法来应用,意味着应用能应用扩大正则表达式。-f<范本文件> --file=<规定文件> # 指定范本文件,其内容有一个或多个范本款式,让grep查找合乎范本条件的文件内容,格局为每一列的范本款式。-F --fixed-regexp # 将范本款式视为固定字符串的列表。-G --basic-regexp # 将范本款式视为一般的表示法来应用。-h --no-filename # 在显示合乎范本款式的那一列之前,不标示该列所属的文件名称。-H --with-filename # 在显示合乎范本款式的那一列之前,标示该列的文件名称。-i --ignore-case # 疏忽字符大小写的差异。-l --file-with-matches # 列出文件内容合乎指定的范本款式的文件名称。-L --files-without-match # 列出文件内容不合乎指定的范本款式的文件名称。-n --line-number # 在显示合乎范本款式的那一列之前,标示出该列的编号。-P --perl-regexp # PATTERN 是一个 Perl 正则表达式-q --quiet或--silent # 不显示任何信息。-R/-r --recursive # 此参数的成果和指定“-d recurse”参数雷同。-s --no-messages # 不显示错误信息。-v --revert-match # 反转查找。-V --version # 显示版本信息。-w --word-regexp # 只显示全字合乎的列。-x --line-regexp # 只显示全列合乎的列。-y # 此参数成果跟“-i”雷同。-o # 只输入文件中匹配到的局部。-m <num> --max-count=<num> # 找到num行后果后进行查找,用来限度匹配行数pattern ^ # 锚定行的开始 如:'^grep'匹配所有以grep结尾的行。 $ # 锚定行的完结 如:'grep$' 匹配所有以grep结尾的行。. # 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,而后是p。 * # 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。.* # 一起用代表任意字符。[] # 匹配一个指定范畴内的字符,如'[Gg]rep'匹配Grep和grep。[^] # 匹配一个不在指定范畴内的字符,如:'1rep'匹配不蕴含A-R和T-Z的一个字母结尾,紧跟rep的行。 \(..\) # 标记匹配字符,如'(love)',love被标记为1。\< # 锚定单词的开始,如:'\<grep'匹配蕴含以grep结尾的单词的行。\> # 锚定单词的完结,如'grep\>'匹配蕴含以grep结尾的单词的行。x\{m\} # 反复字符x,m次,如:'0{5}'匹配蕴含5个o的行。x\{m,\} # 反复字符x,至多m次,如:'o{5,}'匹配至多有5个o的行。x\{m,n\} # 反复字符x,至多m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。\w # 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,而后是p。\W # \w的反置模式,匹配一个或多个非单词字符,如点号句号等。\b # 单词锁定符,如: '\bgrep\b'只匹配grep。POSIX字符为了在不同国家的字符编码中保持一致,POSIX(The Portable Operating System Interface)减少了非凡的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法。要把它们放到[]号内能力成为正则表达式,如[A- Za-z0-9]或[[:alnum:]]。在linux下的grep除fgrep外,都反对POSIX的字符类。[:alnum:] #文字数字字符[:alpha:] #文字字符[:digit:] #数字字符[:graph:] #非空字符(非空格、控制字符)[:lower:] #小写字符[:cntrl:] #控制字符[:print:] #非空字符(包含空格)[:punct:] #标点符号[:space:] #所有空白字符(新行,空格,制表符)[:upper:] #大写字符[:xdigit:] #十六进制数字(0-9,a-f,A-F)查找指定过程> ps -ef | grep javaroot 16934 1 0 Feb25 ? 00:12:23 java -jar demo.jarroot 6891 2151 0 21:42 pts/2 00:00:00 grep --color=auto java第一条记录是查找出的过程;第二条后果是grep过程自身,并非真正要找的过程。查找过程的个数> ps -ef | grep -c java10> ps -ef | grep java -c10查找文件中的关键词> cat rumenz.txt rumenz.txtonetowqazredislinux123linuxxxxrumenz123789> grep "linux" rumenz.txt linux123linuxxxx// -n 显示行号> grep -n "linux" rumenz.txt 6:linux1237:linuxxxx从文件中读取关键词进行搜寻// 待查找的文本> cat rumenz.txt rumenz.txtonetowqazredislinux123linuxxxxrumenz123789// 须要查找的多个关键词> cat k.txt linuxredis> cat rumenz.txt | grep -f k.txtredislinux123linuxxxx//显示行号> cat rumenz.txt | grep -nf k.txt 5:redis6:linux1237:linuxxxx输入rumenz.txt文件中含有从k.txt文件中读取出的关键词的内容行,-n显示行号从多个文件中查找关键词> grep "linux" rumenz.txt rumenz123.txt rumenz.txt:linux123rumenz.txt:linuxxxxrumenz123.txt:linux123rumenz123.txt:linuxxxxrumenz123.txt:linux100多文件时,输入查问到的信息内容行时,会把文件的命名在行最后面输入并且加上":"作为标示符从多个文件中查找关键词,应用通配符// 查找当前目录下所有以rumenz结尾的文件> grep "linux" rumenz*rumenz123.txt:linux123rumenz123.txt:linuxxxxrumenz123.txt:linux100rumenz.txt:linux123rumenz.txt:linuxxxx// 查找当前目录下所有以.txt结尾的文件> grep "linux" *.txtk.txt:linuxrumenz123.txt:linux123rumenz123.txt:linuxxxxrumenz123.txt:linux100rumenz.txt:linux123rumenz.txt:linuxxxxgrep不显示自身过程> ps -ef | grep redis | grep -v greproot 14383 1 0 Jan08 ? 01:16:03 /opt/redis-5.0.8/src/redis-server *:6379polkitd 31977 31941 0 Jan11 ? 01:14:22 redis-server *:6379grep -v grep不显示grep过程自身找出以r结尾的行内容> cat rumenz.txt | grep ^rrumenz.txtredisrumenz找出非r结尾的行内容> cat rumenz.txt | grep ^[^r]onetowqazlinux123linuxxxx123789输入以3结尾的行内容> cat rumenz.txt | grep 3$linux123123显示蕴含li或者23字符的内容行> at rumenz.txt | grep -E "li|23"linux123linuxxxx123查找指定格局的文件显示当前目录上面以.txt 结尾的文件中的所有蕴含每个字符串至多有3个间断小写字符的字符串的行> grep "[a-z]\{3\}" *.txtk.txt:linuxk.txt:redisrumenz123.txt:rumenz.txtrumenz123.txt:onerumenz123.txt:towrumenz123.txt:qazrumenz123.txt:redisrumenz123.txt:linux123rumenz123.txt:linuxxxxrumenz123.txt:rumenzrumenz123.txt:linux100rumenz.txt:rumenz.txtrumenz.txt:onerumenz.txt:towrumenz.txt:qazrumenz.txt:redisrumenz.txt:linux123rumenz.txt:linuxxxxrumenz.txt:rumenz以递归的形式查找符合条件的文件> grep -rl "rumenz" /root/test//root/test/src/sbin/patch.log/root/test/src/doc/rumenz.txt/root/test/src/doc/rumenz123.txt/root/test/src/InfiniteLoop.class/root/test/src/InfiniteLoop.java查找rumenz.txt中蕴含linux行的前2行> grep -B 2 "linux" rumenz.txtqazredislinux123linuxxxx查找rumenz.txt中蕴含linux行的后2行> grep -A 2 "linux" rumenz.txtlinux123linuxxxxrumenz123查找rumenz.txt中蕴含linux行的前后各2行> grep -C 2 "linux" rumenz.txtqazredislinux123linuxxxxrumenz123原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 25, 2021 · 2 min · jiezi

关于linux:除了nohup你还可以这么搞

还记得刚开发后端服务的时候,啪啪啪一顿猛敲,接口测试通过,程序启动上线。对着老大和前端说:我的接口部署好了,你们能够测试了。而后洒脱的收包、闪人,心中默念一句:你们这群低效的加班狗。前脚还没跨出大门,就听到“xxx,你的接口挂了”。 回到座位查看了下,果然无奈调用,登录服务器查看,过程都没了,这是咋回事?隔壁的老炮看了下我的操作记录,而后在启动命令上加了“nohup &”,所有ok了。 这是我第一次接触nohup命令,起初才晓得这个命令会使程序疏忽 HUP 信号,保障程序可能失常进行。在终端退出时,会向它所关联的过程所发SIGHUP信号,过程收到这个信号后就会停止运行。所以如果你不心愿过程被这个信号干掉的话,就能够疏忽这个信号。而 nohup 命令做的就是这个事件。然而原理是什么呢? 这里咱们再来理解两个概念:过程组和会话。 过程组过程组就是一系列互相关联的过程汇合,零碎中的每一个过程也必须从属于某一个过程组;每个过程组中都会有一个惟一的 ID(process group id),简称 PGID;PGID 个别等同于过程组的创立过程的 Process ID,而这个进过程个别也会被称为过程组先导(process group leader),同一过程组中除了过程组先导外的其余过程都是其子过程;过程组的存在,不便了系统对多个相干过程执行某些对立的操作,例如,咱们能够一次性发送一个信号量给同一过程组中的所有过程。 会话会话(session)是一个若干过程组的汇合,同样的,零碎中每一个过程组也都必须从属于某一个会话;一个会话只领有最多一个管制终端(也能够没有),该终端为会话中所有过程组中的过程所共用。一个会话中前台过程组只会有一个,只有其中的过程才能够和管制终端进行交互;除了前台过程组外的过程组,都是后盾过程组;和过程组先导相似,会话中也有会话先导(session leader)的概念,用来示意建设起到管制终端连贯的过程。在领有管制终端的会话中,session leader 也被称为管制过程(controlling process),一般来说管制过程也就是登入零碎的 shell 过程(login shell); 执行睡眠后盾过程sleep 50 & 之后,通过ps命令查看该过程及shell信息如上图: •PPID 指父过程 id•PID 指过程 id•PGID 指过程组 id•SID 指会话 id•TTY 指会话的管制终端设备•COMMAND 指过程所执行的命令•TPGID 指前台过程组的 PGID SIGHUP信号的触发及默认解决 在对会话的概念有所理解之后,咱们当初开始正式介绍一下SIGHUP信号,SIGHUP 信号在用户终端连贯(失常或非正常)完结时收回, 通常是在终端的管制过程完结时, 告诉同一session内的各个作业, 这时它们与管制终端不再关联. 系统对SIGHUP信号的默认解决是终止收到该信号的过程。所以若程序中没有捕获该信号,当收到该信号时,过程就会退出。 SIGHUP会在以下3种状况下被发送给相应的过程: 1.终端敞开时,该信号被发送到session首过程以及作为job提交的过程(即用 & 符号提交的过程);2.session首过程退出时,该信号被发送到该session中的前台过程组中的每一个过程;3.若父过程退出导致过程组成为孤儿过程组,且该过程组中有过程处于进行状态(收到SIGSTOP或SIGTSTP信号),该信号会被发送到该过程组中的每一个过程。 起因搞明确了,那除了nohup,还有什么形式能够防止HUP信号导致程序退出呢?答案是c库函数sginal() void (*signal(int sig, void (*func)(int)))(int)其中 •sig -- 在信号处理程序中作为变量应用的信号码。文章中提到的SIGHUP就是信号码•func -- 收到信号后的处理函数 ...

July 25, 2021 · 1 min · jiezi

关于linux:Linux之cal命令

cal命令能够用来显示公历(阳历)日历。公历是当初国内通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为东方各国所通用,故又名“西历”。命令格局cal [参数][月份][年份] 命令性能用于查看日历等工夫信息,如只有一个参数,则示意年份(1-9999),如有两个参数,则示意月份和年份命令参数-1 显示一个月的月历-3 显示零碎前一个月,以后月,下一个月的月历-s 显示星期天为一个星期的第一天,默认的格局-m 显示星期一为一个星期的第一天-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示以后月在一年中的天数)-y 显示以后年份的日历显示以后月份日历> cal 三月 2021 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 显示指定月份的日历> cal 9 2011 九月 2011 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 显示2011年的日历> cal -y 2011 2011 January February March Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12 9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 1916 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 2623 24 25 26 27 28 29 27 28 27 28 29 30 3130 31 April May June Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 1 2 3 4 5 6 7 1 2 3 4 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 1110 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 1817 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 2524 25 26 27 28 29 30 29 30 31 26 27 28 29 30 July August September Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 1 2 3 4 5 6 1 2 3 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 1010 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 1717 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 2424 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 3031 October November December Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 1 2 3 4 5 1 2 3 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 1716 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 2423 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 3130 31 显示自1月1日的天数> cal -j 三月 2021 日 一 二 三 四 五 六 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 星期一显示在第一列> cal -m March 2021 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31显示当月的前一个月和后一个月的日历> cal -3 February 2021 March 2021 April 2021 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 7 8 9 10 11 12 13 7 8 9 10 11 12 13 4 5 6 7 8 9 1014 15 16 17 18 19 20 14 15 16 17 18 19 20 11 12 13 14 15 16 1721 22 23 24 25 26 27 21 22 23 24 25 26 27 18 19 20 21 22 23 2428 28 29 30 31 25 26 27 28 29 30 原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 23, 2021 · 4 min · jiezi

关于linux:Linux下tar命令的常用操作

在日常服务器操作中常常会有跨服务器传输大量文件的状况,咱们都会对文件先进行归档再进行传输,以缩小网络传输流量并晋升复制效率。tar命令次要用于linx下文件或目录的归档、压缩,因为其是大多数发行版自带工具所以被宽泛应用。语法格局tar [选项] 文件或目录主选项c,创立文件x,开释文件t,展现文件其余选项z,应用gzip进行压缩v,过程显示文件呢f,文档名称(只能放到最初一个选项,后续要紧跟文件名)归档创立归档归档/home/dm2box目录至当前目录dm2box.tar文件 tar -cvf dm2box.tar /home/dm2box关上归档解归档dm2box.tar文件至当前目录 tar -xvf dm2box.tar压缩创立压缩归档并压缩/home/dm2box目录至当前目录dm2box.tar.gz文件 tar -zcvf dm2box.tar.gz /home/dm2box关上归档解归档dm2box.tar文件至当前目录 tar -zxvf dm2box.tar.gz版权申明,本文首发于 数字魔盒 https://www.dm2box.com/ 欢送转载。

July 23, 2021 · 1 min · jiezi

关于linux:Linux防火墙相关常用操作

linux防火墙罕用操作,蕴含了根本的防火墙启动/进行、端口凋谢设置、端口出入站设置等相干性能。因为Linux各个发行版应用的防火墙软件并不相同,特此整顿该文档帮忙大家可能进行速查。防火墙软件对照以防火墙软件为索引,应用了该防火墙软件的Linux发行版如下清单所示: firewall-cmd,实用于centos7。iptables,实用于centos6。一般性前置条件个别对防火墙进行操作时,须要应用具备零碎管理者的身份执行指令。本文档所有操作命令示例均按曾经取得零碎管理者权限为前提。另外本文所有指令均已80端口为样例。 firewall-cmd软件查看防火墙状态firewall-cmd --state开启防火墙systemctl start firewalld敞开防火墙systemctl stop firewalld设置开机启动systemctl enable firewalld禁用开机启动sytemctl disable firewalld重启防火墙firewall-cmd --reload凋谢防火墙端口firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --reload 敞开防火墙端口firewall-cmd --permanent --remove-port=80/tcpfirewall-cmd --reload 查看防火墙规定firewall-cmd --list-alliptables软件查看防火墙状态firewall-cmd --state开启防火墙service iptables start敞开防火墙service iptables stop设置开机启动chkconfig iptables on禁用开机启动chkconfig iptables off重启防火墙service iptables restartd凋谢防火墙端口/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/init.d/iptables save service iptables restart 敞开防火墙端口/sbin/iptables -I INPUT -p tcp --dport 端口号 -j DROP /etc/init.d/iptables save service iptables restart 查看防火墙规定/etc/init.d/iptables status版权申明,本文首发于 数字魔盒 https://www.dm2box.com/ 欢送转载。

July 23, 2021 · 1 min · jiezi

关于linux:实战使用-SSM-工具创建可动态扩容的存储池

装置 SSM: [root@xuegod63 ~]# yum -y install system-storage-managerSSM:查看对于可用硬驱和 LVM 卷的信息。显示对于现有磁盘存储设备、存储池、LVM 卷和存储快照的信息。查看磁盘信息列出设施信息 root@xuegod63 ~]# ssm list dev------------------------------------------------------------Device Free Used Total Pool Mount point------------------------------------------------------------/dev/fd0 4.00 KB/dev/sda 20.00 GB PARTITIONED/dev/sda1 200.00 MB /boot/dev/sda2 1.00 GB SWAP/dev/sda3 10.00 GB //dev/sdb 20.00 GB/dev/sdb 11.00 GB /dev/sdb2 1008.00 MB 0.00 KB 1.00 GB vg02/dev/sdb3 1.00 GB/dev/sdb4 1.00 GB存储池信息[root@xuegod63 ~]# ssm list pool----------------------------------------------------Pool Type Devices Free Used Total----------------------------------------------------vg02 lvm 1 1008.00 MB 0.00 KB 1008.00 MB----------------------------------------------------为公司的邮件服务器创立基于 LVM 的邮件存储 ...

July 23, 2021 · 1 min · jiezi

关于linux:linux-centos-安装docker-shell脚本

工具与资源核心帮忙开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源 https://developer.aliyun.com/... 简介: 一键装置,并创立test镜像 !/bin/bashrepo="centos-yum.sh"if [ ! -e $repo ]; then # -e 判断文件存在;参考:Shell if 条件判断文件或目录yum install -y wgetwget www.eisc.cn/file/shell/centos-yum.sh ; sh centos-yum.shelseecho "yum曾经切换"fiDockerInstall(){dci=rpm -qa | grep docker | wc -lif [ $dci -lt 1 ] then echo "正在装置docker =======》"yum -y remove docker docker-common docker-selinux docker-engine # 卸载旧版本dockeryum install -y yum-utils device-mapper-persistent-data lvm2 # 配置yum 源码yum-config-manager --add-repo https://download.docker.com/l... # 增加docker yum 源码yum list docker-ce --showduplicates | sort -r ...

July 23, 2021 · 1 min · jiezi

关于linux:CentOS-7-中添加新用户并授权

1、增加新用户因为日常应用时root用户权限过大,所以增加一个用户供日常应用,或者供别人应用。1)创立新用户:adduser hadoop2)批改新用户的明码: passwd hadoop2、受权新创建的用户并不能应用sudo命令,须要给他增加受权。1)增加sudoers文件可写权限chmod -v u+w /etc/sudoers2)批改sudoers文件应用vim编辑器关上sudoers文件vim /etc/sudoers 在sudoers文件中找到如下地位并增加如下内容:hadoop ALL=(ALL) ALL如需新用户应用sudo时不必输明码,把最初一个ALL改为NOPASSWD:ALL即可hadoop ALL=(ALL) NOPASSWD:ALL3)发出sudoers文件可写权限chmod -v u-w /etc/sudoers1.新建用户 adduser testuser //新建testuser 用户 passwd testuser //给testuser 用户设置明码2.建工作组 groupadd testgroup //新建test工作组3.新建用户同时减少工作组 useradd -g testgroup testuser //新建testuser用户并减少到testgroup工作组//注::-g 所属组 -d 家目录 -s 所用的SHELL4.给已有的用户减少工作组 usermod -G groupname username5.长期敞开 在/etc/shadow文件中属于该用户的行的第二个字段(明码)后面加上就能够了。想复原该用户,去掉即可 //或者应用如下命令敞开用户账号: passwd testuser –l //从新开释: passwd testuser –u6.永久性删除用户账号 userdel testuser groupdel testgroup usermod –G testgroup testuser //(强制删除该用户的主目录和主目录下的所有文件和子目录)7.显示用户信息 id user cat /etc/passwd补充:查看用户和用户组的办法 用户列表文件:/etc/passwd 用户组列表文件:/etc/group 查看零碎中有哪些用户:cut -d : -f 1 /etc/passwd 查看能够登录零碎的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 查看用户操作:w命令(须要root权限) 查看某一用户:w 用户名 查看登录用户:who 查看用户登录历史记录:last

July 23, 2021 · 1 min · jiezi

关于linux:阿里云低延时直播RTS能力升级让直播推流效果更佳

简介:针对主播推流应用RTMP存在的TCP链接耗时过长、拥塞管制齐全依赖TCP传输层、无奈提供实时带宽数据来动静调整视频编码码率等问题引起的推流提早和卡顿。阿里云低延时直播RTS(Real-time Streaming)产品在上行UDP革新的根底上,进行上行UDP底层WebRTC技术优化,通过公布挪动端、PC端推流RTS SDK插件来晋升整个行业的主播推流品质,提供低延时、低卡顿、安全可靠的直播观看体验。客户端接入简略,只须要在OBS端嵌入RTS SDK即可新增一个推流协定,无需扭转原有的推流端采集架构。行业背景 直播技术飞速发展让各个行业的用户体验出现多样化和个性化,不同业务场景下翻新实际满足公众对于音视频互动体验和参加的高标准要求。历经2020年初的巨变之后,以视频、游戏、电商、教育为主的互联网经济迎来飞速发展,“直播+”已成为一种趋势,宽泛融入到人们的工作和生存中。在搭建直播零碎时,大家会常常听到两个高频词:RTMP(Real Time Messaging Protocol)和OBS(Open Broadcaster Software)。 RTMP协定是由Adobe公司提出的一种基于TCP的应用层的协定,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(Packetizing)的问题。RTMP已有近20年历史,广泛应用于直播行业的主播推流及不同零碎间互通。 OBS是一款好用的直播流媒体内容制作软件,为用户提供了视频、文本、图像等的捕捉录制性能,OBS界面简洁并业余,功能强大。OBS程序和其源代码都是收费提供给大家应用,版本更新始终比拟沉闷,反对 OS X、Windows、Linux操作系统,实用于多种直播场景,满足大部分直播行为的操作需要。 降级计划 针对主播推流应用RTMP存在的TCP链接耗时过长、拥塞管制齐全依赖TCP传输层、无奈提供实时带宽数据来动静调整视频编码码率等问题引起的推流提早和卡顿。阿里云低延时直播RTS(Real-time Streaming)产品在上行UDP革新的根底上,进行上行UDP底层WebRTC技术优化,通过公布挪动端、PC端推流RTS SDK插件来晋升整个行业的主播推流品质,提供低延时、低卡顿、安全可靠的直播观看体验。客户端接入简略,只须要在OBS端嵌入RTS SDK即可新增一个推流协定,无需扭转原有的推流端采集架构。 成果比照 主播端100ms RTT10%丢包1分钟5分钟20分钟观众提早观看品质观众提早观看品质观众提早观看品质artc推流flv拉流4.75s晦涩4.72s晦涩4.79s晦涩rtmp推流flv拉流19.91s画面含糊,偶然重大马赛克21.30s画面含糊、马赛克,偶现没有声音无根本看不到画面,无声音数据出自外部试验测算。 应用步骤Step 1、推流域名开明RTS在直播控制台增加好推流域名后,在域名治理页面推流域名的域名配置中通过低延时推流开关关上、敞开此性能。 Step 2、集成RTS SDKRTS SDK是为了OBS量身打造,无需改变OBS原生框架,接入RTS SDK实现obs-output插件即可,如下图所示。能够参考集成文档 https://help.aliyun.com/document\_detail/272525.html 实现自主接入。为了不便用户接入,同时也封装了artc-stream的obs-output插件,只需退出OBS编译即可集成应用,详见《OBS示例插件artc-stream集成阐明》。 Step 3、应用RTS推流地址推流推流地址的拼接办法与RTMP统一,只须要应用新的协定头artc://来辨别,例如控制台生成的RTMP地址为:rtmp://push.rts***.grtn.aliyunlive.com/live/123?auth\_key=1624860195-*您只须要更换rtmp为artc即可:artc://push.rts***.grtn.aliyunlive.com/live/123?auth\_key=1624860195-* Demo体验https://help.aliyun.com/document\_detail/177373.html#title-xgu-5k1-2vx> 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

July 23, 2021 · 1 min · jiezi

关于linux:Linux最常用的命令清单

Linux作为最罕用的服务器操作系统,把握其常见命令是十分必要的。本文收集了最罕用的linux命令,帮忙大家可能疾速检索。文件系统ls --列出目录内容find --依据一些用户指定的规范定位文件cd --目录导航pwd --显示您以后的目录地位cp --复制文件和文件夹mv --挪动文件和文件夹rm --删除文件和文件夹mkdir --创立或制作新目录umask --设置文件模式创立掩码chmod --更改文件系统对象的拜访权限chown --更改文件所有者和组文件操作vi --文本编辑器cat --显示文件内容tac --反向输入文件内容more --一次一屏/页显示文件内容less --相似于 more 命令,具备附加性能tail --用于显示文本文件或管道数据的尾端grep --在文件中搜寻字符模式,而后显示所有匹配的行sed --文件批量字符解决tar --归档实用程序gzip --文件压缩和解压zip --用于打包和压缩(归档)文件touch --用于更新计算机文件或目录的拜访日期和/或批改日期dd --转换和复制文件近程拜访ssh --对近程 Linux 零碎的平安命令行拜访scp --应用ssh平安复制文件rsync --近程文件传输和同步ping --向网络主机发送wget --通过 HTTP、HTTPS、FTP 和 FTPS 检索文件curl --应用各种网络协议传输数据(反对比 wget 更多的协定)host --在 Linux 中执行 DNS 查找系统管理useradd --创立新用户或更新默认的新用户信息userdel --用于删除用户帐户和所有相干文件usermod --用于批改或更改现有用户帐户的任何属性passwd --更改用户的明码sudo --以管理权限执行命令nohup --在后盾运行命令clear --革除终端屏幕last --显示最初登录用户的列表w --显示以后登录的用户会话列表cron --设置要运行的打算工作man --用于浏览零碎参考手册kill --终止过程killall --按名称向过程的所有实例发送终止信号dmesg --打印内核环的音讯缓冲区journalctl --查问 systemd 日志sleep --暂停程序执行指定的工夫wait --暂停脚本执行,直到在后盾运行的所有作业都已终止fdisk --操作磁盘分区表parted --用于创立和操作分区表blkid --用于定位/打印块设施属性的命令行实用程序mkfs --构建 Linux 文件系统fsck --查看文件系统一致性的工具mount/umount --提供对一个目录中的整个文件系统的拜访监督资源ip --TCP/IP 网络和流量管制实用程df --显示磁盘空间应用状况du --预计文件空间应用状况free --显示内存应用状况uptime --显示零碎失常运行工夫和均匀负载top --显示整体零碎视图vmstat --显示零碎内存、过程、中断、分页、块 I/O 和 CPU 信息ss --考察套接字的实用程序ps --无关以后正在运行的过程的信息版权申明,本文首发于 数字魔盒 https://www.dm2box.com/ 欢送转载。

July 22, 2021 · 1 min · jiezi

关于linux:网络安全工程师的三个坎该如何破局

前言:老李在一家大型互联网公司做高级网络安全工程师,从实习生到工程师整整呆了六年。去年他们公司为了缩减老本,做了裁员,他也在其中,取而代之的是一个只有三年工作教训的... 老李想着,本人也有多年工作教训,找工作应该不难,后果这几个月却多次碰壁,这让老李一度陷入了自我狐疑,难道是中年危机到了,所以职业倒退也变得艰巨了吗? 网络安全工程师不得不面对的三个坎1、大多网安工停留在入门阶段网络安全工程师尽管不是谁都无能,但也属于入门职业。面对网络工程师的职业倒退,很多人都是没想明确就糊里糊涂入了行。循序渐进的做了许多年,当身上的担子越发惨重时才开始焦急将来的倒退,此时却曾经错过了最好的工夫。 2、高薪岗位少且要求很高当初很难找到纯的网络安全工程师职位,即便你是纯技能网络构架师,技术熟练,但就中国行情而言,大厂就那么几个,高薪岗位百里挑一,当初也不怎么缺人,对技术能力的要求也都很高。现状就是纯的高级网工很少,网工底层很多,苦逼的人很多。 3、职业降职和涨薪艰难做纯网工不行,就只能转治理,但基层治理岗位也很难堪,接触一线少了慢慢地技术能力就开始进化。治理能力是有所出息,然而跳槽资本升高,空降到其余公司做基层治理可能性不大,做回技术吧又忘的差不多。网工想涨薪,要么做到管理层,要么技术上几个台阶,不然就原地不动陷入困局。 网络安全工程师的职业破局一、提前做布局做纯网平安工太难,走网安工治理又进了死胡同,所以早做布局。布局时,问分明本人几个问题: 会什么?——技术 or 能力...有什么?——人脉 or 渠道 or 技术 or 能力...想干什么?——行业,技术,能力...能干什么?——行业,技术,能力...喜爱什么?——行业,技术,能力...还差什么?——技术,能力...搞清楚,如此才不至于多走弯路。 二、继续学习,抓住新技术新技术新设施大厂通常都是最先应用的,所以一直学习,把握新技术,新设施,减少更多技术背书,例如学习更多企业实战课程,一直跟进先进设备和先进技术,寻找更多模仿实战环境,为本人减少更多练手机会,这样面试大厂的时候就多了一层保障和劣势。 三、考个证,为降职加分网安工治理降职太难,但考个华为认证会让你的治理路变得简略。华为认证不仅是资格层面的认证,同时有了这个证实,就意味着你能操控华为的设施,在任何华为设施应用厂商中都有了一份强有力的竞争劣势。 有认证资格的工程师工资高不说,也更容易受到大厂青眼,这一点从各大招聘网站的薪资程度就能看进去。 咱们来看一看相干职位的招聘要求,很多职位要求都明确表明有HCIP、HCIE优先录用然而学习并不是自觉的跟潮,而是有理有据,系统性的为本人增值,为本人实现目标而赋能。同时要依据理论状况找到适宜本人的学习模式和学习办法 如何学习和报考华为认证?鉴于HCIE含金量高、企业认可度高,当初市场需求量和报考者逐年回升,但因为考试难度大、通过率低、面试随机性大,大部分网工从业者还无奈达到IE程度、自学通过IE考试,所以目前远远无奈满足以后行业需要。为此,对于渴望晋升技术水平和职场竞争力的网工人和技术爱好者,我常常会收到这些留言: • 零根底能够间接考IE吗?• 考IE是不是就等于拿到了待业保障?• IE通过率高么?• 哪些公司招聘网工要求有IE证书?• 拿到IE证书的网工薪酬个别能达到什么规范?……考华为认证,要做哪些筹备,集体倡议 1、华为认证分hcia,hcip,hcie三个等级,拿下hcie最好 2、hcia和hcip只有口试,单纯通过并不难,和其余答主说的一样,有题库。然而考试不是目标,真正把握其中的技术才是要害。有条件加入一下培训,留神甄别靠谱的培训机构,单纯讲题库单纯拿证的不要选,报班要选真正能讲透技术的。 3、hcie因为难度较高,除非有多年的工作教训,否则倡议报班。不然考试一挂,补考一次就抵得上培训费了。 4、ie的知识点比拟零碎全面,而且细节也都会考查,所以备考时,做思维导图是必须的。 5、ie的面试比拟难,肯定要多练,先和一起考试的小伙伴相互练,练的差不多了,再找备考经验丰富的导师练。 6、华为认证的方向很多,倡议先考取rs(路由替换)方向,rs是各个方向的根底。 7、拿到ie不是起点,一直学习才是王道。 Q&A一 华为认证网络工程师HCIP的考试费用是多少? 如果你是打算加入华为认证这方面的考试,他的考试费是由华为外包的考试核心来考试的。这个价格原价是480美金,折合成人民币不到3000块钱。然而你在淘宝或者是在很多电商平台能够买到一些折扣券,或者你间接到考试核心找考官问问你所在的。城市间接去考试,有没有相干的一些优惠 所以ip的整体考试费用就是480美金。考试呢是在电脑上进行选择题的答复,所以他的考试过程基本上不是属于口试环节,并没有你要到电脑背后去配设施的实验室考试还所以一般来说,考试绝对比拟轻松一些。 二 怎么筹备华为HCIP的网络工程师考试呢? 如果目前你是零根底的小白的话,你还是须要从最根底的华为高级网络工程师的内容看起,甚至你还要补充一下计算机网络操作根底,而后间接就从华为的设施以及华为的考试纲要。一步一步的开始学习就能够了。先天你考试的时候把相干的题库看的比拟纯熟,而后参加考试就能够了。 考试在你当地的考场就能够报名。基本上省会一线城市都有很多考场,所以间接在当地考试,一般来说一两天就能够考完这个一共三门课程。 三 加入华为的HCIP考试对于学历还有年龄有没有什么要求? 华为认证网络工程师考试是一个商业考试行为,它的考试组织是由华为这家公司来进行的。所以他并没有限度太严格的准入条件。一般来说,只有你年满18岁以上,因为大多数18岁以上的人才会学这些网络技术。而后学历没有任何限度,也就是说只有你是一个成年满18岁,对本人行为有能力的,只有你交钱那么就能够参加考试。 福利我在这里给大家筹备一些hcia/hcip/hcie学习及备考材料须要的敌人能够点击下方支付 【材料分享】

July 22, 2021 · 1 min · jiezi

关于linux:更多下载渠道-优麒麟新增上海交通大学等四大镜像站

优麒麟开源操作系统新增多所高校镜像站! 快来康康哪个离你最近~优麒麟 20.04 LTS Pro 版本自公布以来,让越来越多的国内外开源镜像站对优麒麟投以更多的关注,并陆续将优麒麟软件源和镜像收录其中。除已有的阿里云、华为云、清华大学等 15 个开源镜像站下载通道,现新增北京外国语大学、重庆邮电大学、上海交通大学和东莞理工学院开源镜像站,为爱好者们提供了更多的镜像下载抉择渠道。 爱好者们除了能够在优麒麟官网下载页面(https://www.ubuntukylin.com/d... )底部点击各站点链接进入外,还能够间接输出站点网址进入主页,而后找到 “ubuntukylin” 和 “ubuntukylin-cdimage” 拜访各站点托管的优麒麟软件源和镜像 ISO。 以下是本次新增开源镜像站的详情:粗体1、北京外国语大学镜像站优麒麟镜像: https://mirrors.bfsu.edu.cn/u... 北京外国语大学镜像站作为 TUNA 镜像的姊妹站,由北外信息技术核心反对开办、清华 TUNA 协会运行保护,提供和 TUNA 镜像站基本一致的镜像内容,网络接入 CERNET2 IPv6 和中国移动 IPv4 线路,反对 HTTP/HTTPS/RSYNC 拜访。 2、重庆邮电大学镜像站优麒麟镜像: http://mirrors.cqupt.edu.cn/u... 重庆邮电大学镜像站由重庆邮电大学信息与网络管理核心提供反对,由红岩网校工作站运维安全部/CQUPT-LUG保护,旨在为大家提供各大支流 Linux 发行版的装置镜像 / ISO 文件(为西南地区乃至全国和校内用户提供 Linux 镜像源和开源软件的反向代理服务)。 3、上海交通大学镜像站优麒麟镜像: https://mirror.sjtu.edu.cn/ub... 优麒麟软件源: https://mirror.sjtu.edu.cn/ub... 上海交通大学镜像站由上海交通大学 Linux 用户组 (SJTUG) 保护和上海交通大学网络信息中心资助资源。共设两台服务器,致远服务器同步新镜像,思源服务器兼容原 SJTU 镜像站。它们别离提供不同的软件源镜像服务。 4、东莞理工学院镜像站优麒麟镜像: https://mirrors.dgut.edu.cn/u... 优麒麟软件源: https://mirrors.dgut.edu.cn/u... 东莞理工学院 GNU/Linux 协会开源软件镜像站在黄培灿老师的率领下成立于 2016 年。开源软件镜像站依靠于东莞理工学院,部署于教育网华南地区,旨在为莞工师生及华南地区开源软件使用者用户提供优质的开源软件镜像服务。 优麒麟软件源配置办法1、备份配置文件: sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak2、编辑 /etc/apt/sources.list 文件(须要应用 sudo 权限), 减少如下条目: ...

July 22, 2021 · 1 min · jiezi

关于linux:成为Linux大佬的学习之路规划

最近啊很多小伙伴找我要Linux的学习材料和Linux的学习路线和布局,我呀也是迫于无奈明天呢就把Linux的学习材料和路线+布局给你们吧,心愿能对小伙伴们有所帮忙。上面我先为大家简略的介绍一下学linux当前干些什么学linux当前干些什么从系统管理方面思考,无非就是装置零碎,把握罕用服务装置和配置,降级。按不同需要搭建应用环境,保障服务器失常运行,依据日常要求,编写罕用脚本。零碎层面在浅近点可能就会波及到一些比方性能调优,中间件的保护,数据库的保护。当初光学会linux是不够的,从运维角度思考,你还须要把握相干的网络常识,各种罕用路由,替换,防火墙,及相干网络设备的应用,解决日常故障。 从开发角度思考,看你是做针对什么的开发,比方是针对零碎层面的开发,或者嵌入式零碎开发,就得学C,如果是一些web网站开发,java+html+javascript+php+mysql or oracle 这些预计都须要学。 你也不要放心因为咱们这里全都有。 、 那咱们理解了学linux当前干些什么,咱们就应该思考如何学习Linux呢那么接着往下看我呢为大家筹备了超多的学习视频 Linux根底视频教程 上面呢就是我为大家整理出来的根底视频课程 其实不只有教程我也为大家筹备了超多的学习笔记供大家参考 看到这里你们就会想咱们应该这么学习啊,学习路线是什么呢? 不要急看上面这张图外面都是工作多年所总结进去的。 你是不是很想晓得文章外面说的视频和笔记这么支付 扫码下方二维码就能够支付所有的视频和笔记都曾经为你筹备好了

July 22, 2021 · 1 min · jiezi

关于linux:Linux之ln命令

ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创立符号链接必须应用"-s"选项。命令格局ln [参数][源文件或目录][指标文件或目录] 命令性能Linux文件系统中,有所谓的链接(link),咱们能够将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案能够有多个名称,而软链接的形式则是产生一个非凡的档案,该档案的内容是指向另一个档案的地位。硬链接是存在同一个文件系统中,而软链接却能够逾越不同的文件系统。软连贯软链接,以门路的模式存在。相似于Windows操作系统中的快捷方式软链接能够 跨文件系统 ,硬链接不能够软链接能够对一个不存在的文件名进行链接软链接能够对目录进行链接硬链接硬链接,以文件正本的模式存在。但不占用理论空间。不容许给目录创立硬链接硬链接只有在同一个文件系统中能力创立命令参数-b 删除,笼罩以前建设的链接-d 容许超级用户制作目录的硬链接-f 强制执行-i 交互模式,文件存在则提醒用户是否笼罩-n 把符号链接视为个别目录-s 软链接(符号链接)-v 显示具体的处理过程-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”-V “-V<备份形式>”或“--version-control=<备份形式>”--help 显示帮忙信息--version 显示版本信息给rumenz.txt创立一个软连贯> ls -alls -altotal 4drwxr-xr-x 2 root root 24 Feb 27 22:03 .drwxr-xr-x 8 root root 299 Feb 26 19:44 ..-rw-r--r-- 1 root root 22 Feb 27 22:03 rumenz.txt> ln -s rumenz.txt newrumenz.txt> ls -altotal 4drwxr-xr-x 2 root root 45 Feb 27 22:03 .drwxr-xr-x 8 root root 299 Feb 26 19:44 ..lrwxrwxrwx 1 root root 10 Feb 27 22:03 newrumenz.txt -> rumenz.txt-rw-r--r-- 1 root root 22 Feb 27 22:03 rumenz.txtnewrumenz.txt就是rumenz.txt的软连贯,批改newrumenz.txt文件的内容,rumenz.txt也会跟着变,删除newrumenz.txt,rumenz.txt内容不受任何影响。然而删除rumenz.txt,ls newrumenz.txt时,newrumenz.txt会变色或者会始终闪动。给rumenz.txt创立一个硬连贯> ls rumenz.txt oldrumenz.txt> ls -altotal 8drwxr-xr-x 2 root root 45 Feb 27 22:12 .drwxr-xr-x 8 root root 299 Feb 26 19:44 ..-rw-r--r-- 2 root root 8 Feb 27 22:12 oldrumenz.txt-rw-r--r-- 2 root root 8 Feb 27 22:12 rumenz.txt批改oldrumenz.txt文件内容,rumenz.txt内容也会跟着扭转,删除oldrumenz.txt,rumenz.txt内容不受任何影响。删除rumenz.txt,oldrumenz.txt内容不受任何影响。给目录创立软连贯(不能给目录创立硬连贯)> ln -sv lib lib64> ls -aldrwxr-xr-x 8 root root 312 Feb 27 22:16 .drwxr-xr-x 3 root root 17 Jan 29 23:06 ..drwxr-xr-x 2 root root 27 Feb 27 22:14 liblrwxrwxrwx 1 root root 4 Feb 27 22:16 lib64 -> lib/原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 20, 2021 · 1 min · jiezi

关于linux:十大特性一探究竟麒麟移动运行环境-KMRE

“一套高性能的挪动利用兼容环境 KMRE 跨平台生态迁徙” 麒麟挪动运行环境(KMRE)实现了桌面端和挪动端的全面买通,极大地晋升了优麒麟操作系统利用生态的丰富性。 小优曾经介绍过三期 KMRE,但文字哪有视频香?快点开看看什么叫“一键纵享”安卓利用生态! (点击下方图片即可跳转视频) 看完以上十大个性后的你是不是曾经急不可待想体验KMRE了?很快乐地通知大家,KMRE曾经在优麒麟 20.04 LTS Pro版本上线,欢送大家进入优麒麟官网下载安装优麒麟操作系统进行体验~ 优麒麟开源操作系统自 2013 年创立至今,已累计发行 18 个版本,下载量超过 3600万 次,向开源社区奉献代码 数百万行,被 Linux、Debian、Ubuntu、OpenStack、Ceph 等国内开源社区接管的 patch 超过 7000 个,在寰球范畴内领有 数十万 沉闷用户。

July 20, 2021 · 1 min · jiezi

关于linux:Linux之du命令

du命令的作用是预计文件系统的磁盘已使用量,罕用于查看文件或者目录所占的磁盘量。du命令 也是查看应用空间的,然而与df命令不同的是Linux du命令是对文件和目录磁盘应用的空间的查看,还是和df命令有一些区别的。命令语法du [选项][文件] 命令选项-a, --all 显示目录中个别文件的大小。-B, --block-size=大小 应用指定字节数的块-b, --bytes 显示目录或文件大小时,以byte为单位。-c, --total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。-D, --dereference-args 显示指定符号链接的源文件大小。-H, --si 与-h参数雷同,然而K,M,G是以1000为换算单位。-h, --human-readable 以K,M,G为单位,进步信息的可读性。-k, --kilobytes 以KB(1024bytes)为单位输入。-l, --count-links 反复计算硬件链接的文件。-m, --megabytes 以MB为单位输入。-L<符号链接>, --dereference<符号链接> 显示选项中所指定符号链接的源文件大小。-P, --no-dereference 不追随任何符号链接(默认)-0, --null 将每个空行视作0 字节而非换行符-S, --separate-dirs 显示个别目录的大小时,并不含其子目录的大小。-s, --summarize 仅显示总计,只列出最初加总的值。-x, --one-file-xystem 以一开始解决时的文件系统为准,若遇上其它不同的文件系统目录则略过。-X<文件>, --exclude-from=<文件> 在<文件>指定目录或文件。--apparent-size 显示外表用量,而并非是磁盘用量;尽管外表用量通常会小一些,但有时它会因为稠密文件间的"洞"、外部碎片、非间接援用的块等起因而变大。--files0-from=F 计算文件F中以NUL结尾的文件名对应占用的磁盘空间如果F的值是"-",则从规范输出读入文件名--exclude=<目录或文件> 略过指定的目录或文件。--max-depth=N 显示目录总计(与--all 一起应用计算文件)当N为指定数值时计算深度为N,等于0时等同--summarize--si 相似-h,但在计算时应用1000 为基底而非1024--time 显示目录或该目录子目录下所有文件的最初批改工夫--time=WORD 显示WORD工夫,而非批改工夫:atime,access,use,ctime 或status--time-style=款式 依照指定款式显示工夫(款式解释规定同"date"命令):full-iso,long-iso,iso,+FORMAT--help 显示此帮忙信息并退出--version 显示版本信息并退出显示目录的大小du0 ./lib12 ./bin/rumenz12 ./bin0 ./sbin/doc0 ./sbin/info4 ./sbin0 ./doc/js0 ./doc/css0 ./doc/html/rumenz0 ./doc/html/rumenzz4 ./doc/html4 ./doc0 ./rumenz/lib/test0 ./rumenz/lib/info0 ./rumenz/lib0 ./rumenz52 ./one104 .只显示当前目录上面的子目录的目录大小和当前目录的总的大小,最上面的104为当前目录的总大小显示指定文件所占的磁盘空间> du rumenz.txt查看指定目录的所占空间> du src0 src/lib12 src/bin/rumenz12 src/bin0 src/sbin/doc0 src/sbin/info4 src/sbin0 src/doc/js0 src/doc/css0 src/doc/html/rumenz0 src/doc/html/rumenzz4 src/doc/html4 src/doc0 src/rumenz/lib/test0 src/rumenz/lib/info0 src/rumenz/lib0 src/rumenz52 src/one104 src/最初一行是整个目录src所占的磁盘空间查看指定目录的所占空间,进步信息的可读性> du -h src0 src/lib12K src/bin/rumenz12K src/bin0 src/sbin/doc0 src/sbin/info4.0K src/sbin0 src/doc/js0 src/doc/css0 src/doc/html/rumenz0 src/doc/html/rumenzz4.0K src/doc/html4.0K src/doc0 src/rumenz/lib/test0 src/rumenz/lib/info0 src/rumenz/lib0 src/rumenz52K src/one104K src/最初一行是整个目录src所占的磁盘空间,加上了单位,可读性变强显示多个文件所占的空间> du a.log b.log0 a.log0 b.log只显示目录的总大小> du -s /root826036 /root统计总用量(-s代表summarize)只显示目录的总大小,进步可读性> du -sh /root/807M /root/文件和目录的大小都显示> du -ah src/0 src/lib0 src/bin/rumenz/5.txt0 src/bin/rumenz/3.txt8.0K src/bin/rumenz/5.txt~4.0K src/bin/rumenz/1.txt12K src/bin/rumenz12K src/bin0 src/sbin/doc0 src/sbin/info4.0K src/sbin/rumenz.txt4.0K src/sbin0 src/doc/js0 src/doc/css4.0K src/doc/html/1.sh0 src/doc/html/1.txt0 src/doc/html/2.txt0 src/doc/html/rumenz/1.txt0 src/doc/html/rumenz/2.txt0 src/doc/html/rumenz0 src/doc/html/rumenzz/1.txt~0 src/doc/html/rumenzz/1.txt0 src/doc/html/rumenzz0 src/doc/html/1_link.txt4.0K src/doc/html0 src/doc/rumenz.txt4.0K src/doc0 src/rumenz/lib/test0 src/rumenz/lib/info0 src/rumenz/lib0 src/rumenz4.0K src/InfiniteLoop$1.class4.0K src/InfiniteLoop.class12K src/nohup.out4.0K src/InfiniteLoop.java4.0K src/rumenz.txt4.0K src/Rumenz.txt0 src/ABC1.png0 src/AB2.png0 src/ABC123.png0 src/A123.png0 src/b.log4.0K src/one/rumenz.tar.gz0 src/one/1.txt0 src/one/2.txt48K src/one/etc.tar.gz52K src/one4.0K src/a.log108K src/显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和> du -c a.log b.log 4 a.log0 b.log4 total加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最初一行统计它们的总和。依照空间大小排序> du -ah src | sort -nr108K ./src108K .52K ./src/one48K ./src/one/etc.tar.gz12K ./src/nohup.out12K ./src/bin/rumenz12K ./src/bin8.0K ./src/bin/rumenz/5.txt~4.0K ./src/sbin/rumenz.txt4.0K ./src/sbin4.0K ./src/Rumenz.txt4.0K ./src/rumenz.txt4.0K ./src/one/rumenz.tar.gz4.0K ./src/InfiniteLoop.java4.0K ./src/InfiniteLoop.class4.0K ./src/InfiniteLoop$1.class4.0K ./src/doc/html/1.sh4.0K ./src/doc/html4.0K ./src/doc4.0K ./src/bin/rumenz/1.txt4.0K ./src/a.log0 ./src/sbin/info0 ./src/sbin/doc0 ./src/rumenz/lib/test0 ./src/rumenz/lib/info0 ./src/rumenz/lib0 ./src/rumenz0 ./src/one/2.txt0 ./src/one/1.txt0 ./src/lib0 ./src/doc/rumenz.txt0 ./src/doc/js0 ./src/doc/html/rumenzz/1.txt~0 ./src/doc/html/rumenzz/1.txt0 ./src/doc/html/rumenzz0 ./src/doc/html/rumenz/2.txt0 ./src/doc/html/rumenz/1.txt0 ./src/doc/html/rumenz0 ./src/doc/html/2.txt0 ./src/doc/html/1.txt0 ./src/doc/html/1_link.txt0 ./src/doc/css0 ./src/b.log0 ./src/bin/rumenz/5.txt0 ./src/bin/rumenz/3.txt0 ./src/ABC1.png0 ./src/ABC123.png0 ./src/AB2.png0 ./src/A123.png输入当前目录下各个子目录所应用的空间> du -h --max-depth src0 src/lib12K src/bin4.0K src/sbin4.0K src/doc0 src/rumenz52K src/one108K src原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 19, 2021 · 2 min · jiezi

关于linux:Linux之df命令

linux中df命令的性能是用来查看linux服务器的文件系统的磁盘空间占用状况。能够利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。命令格局df [选项] [文件] 命令性能显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有以后被挂载的文件系统的可用空间将被显示。默认状况下,磁盘空间将以1KB为单位进行显示,除非环境变量POSIXLY_CORRECT被指定,那样将以512字节为单位进行显示。命令选项-a或--all:蕴含全副的文件系统;--block-size=<区块大小>:以指定的区块大小来显示区块数目;-h或--human-readable:以可读性较高的形式来显示信息;-H或--si:与-h参数雷同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;-i或--inodes:显示inode的信息;-k或--kilobytes:指定区块大小为1024字节;-l或--local:仅显示本地端的文件系统;-m或--megabytes:指定区块大小为1048576字节;--no-sync:在获得磁盘应用信息前,不要执行sync指令,此为预设值;-P或--portability:应用POSIX的输入格局;--sync:在获得磁盘应用信息前,先执行sync指令;-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;-T或--print-type:显示文件系统的类型;-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;--help:显示帮忙;--version:显示版本信息。查看零碎磁盘设施,默认是KB为单位> dfFilesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 8122232 0 8122232 0% /devtmpfs 8132768 16 8132752 1% /dev/shmtmpfs 8132768 808464 7324304 10% /runtmpfs 8132768 0 8132768 0% /sys/fs/cgroup/dev/vda1 41921520 32260888 9660632 77% //dev/vdb1 206291944 20278964 175510888 11% /datatmpfs 1626556 0 1626556 0% /run/user/0tmpfs 1626556 0 1626556 0% /run/user/1004linux中df命令的输入清单的第1列是代表文件系统对应的设施文件的路径名(个别是硬盘上的分区);第2列给出分区蕴含的数据块(1024字节)的数目;第3,4列别离示意已用的和可用的数据块数目。用户兴许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了大量空间供系统管理员应用。即便遇到普通用户空间已满的状况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列示意普通用户空间应用的百分比,即便这一数字达到100%,分区依然留有系统管理员应用的空间。最初,Mounted on列示意文件系统的挂载点。以inode模式来显示磁盘应用状况> df -iFilesystem Inodes IUsed IFree IUse% Mounted ondevtmpfs 2030558 372 2030186 1% /devtmpfs 2033192 4 2033188 1% /dev/shmtmpfs 2033192 662 2032530 1% /runtmpfs 2033192 16 2033176 1% /sys/fs/cgroup/dev/vda1 19476336 154836 19321500 1% //dev/vdb1 13107200 323757 12783443 3% /datatmpfs 2033192 1 2033191 1% /run/user/0tmpfs 2033192 1 2033191 1% /run/user/1004显示指定类型磁盘> df -t ext4Filesystem 1K-blocks Used Available Use% Mounted on/dev/vdb1 206291944 20278964 175510888 11% /data打印除ext4外所有的文件系统> df -x ext4Filesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 8122232 0 8122232 0% /devtmpfs 8132768 16 8132752 1% /dev/shmtmpfs 8132768 808464 7324304 10% /runtmpfs 8132768 0 8132768 0% /sys/fs/cgroup/dev/vda1 41921520 32260804 9660716 77% /tmpfs 1626556 0 1626556 0% /run/user/0tmpfs 1626556 0 1626556 0% /run/user/1004列出各文件系统的i节点应用状况> df -iaFilesystem Inodes IUsed IFree IUse% Mounted onsysfs 0 0 0 - /sysproc 0 0 0 - /procdevtmpfs 2030558 372 2030186 1% /devsecurityfs 0 0 0 - /sys/kernel/securitytmpfs 2033192 4 2033188 1% /dev/shmdevpts 0 0 0 - /dev/ptstmpfs 2033192 662 2032530 1% /runtmpfs 2033192 16 2033176 1% /sys/fs/cgroupcgroup 0 0 0 - /sys/fs/cgroup/systemdpstore 0 0 0 - /sys/fs/pstorecgroup 0 0 0 - /sys/fs/cgroup/perf_eventcgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_priocgroup 0 0 0 - /sys/fs/cgroup/pidscgroup 0 0 0 - /sys/fs/cgroup/devicescgroup 0 0 0 - /sys/fs/cgroup/freezercgroup 0 0 0 - /sys/fs/cgroup/blkiocgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacctcgroup 0 0 0 - /sys/fs/cgroup/hugetlbcgroup 0 0 0 - /sys/fs/cgroup/memorycgroup 0 0 0 - /sys/fs/cgroup/cpusetconfigfs 0 0 0 - /sys/kernel/config/dev/vda1 19476376 154836 19321540 1% /systemd-1 - - - - /proc/sys/fs/binfmt_miscmqueue 0 0 0 - /dev/mqueuedebugfs 0 0 0 - /sys/kernel/debughugetlbfs 0 0 0 - /dev/hugepages/dev/vdb1 13107200 323757 12783443 3% /datatmpfs 2033192 1 2033191 1% /run/user/0binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misctmpfs 2033192 1 2033191 1% /run/user/1004列出文件系统类型> df -TFilesystem Type 1K-blocks Used Available Use% Mounted ondevtmpfs devtmpfs 8122232 0 8122232 0% /devtmpfs tmpfs 8132768 16 8132752 1% /dev/shmtmpfs tmpfs 8132768 808464 7324304 10% /runtmpfs tmpfs 8132768 0 8132768 0% /sys/fs/cgroup/dev/vda1 xfs 41921520 32261336 9660184 77% //dev/vdb1 ext4 206291944 20278972 175510880 11% /datatmpfs tmpfs 1626556 0 1626556 0% /run/user/0tmpfs tmpfs 1626556 0 1626556 0% /run/user/1004以更易读的形式显示目前磁盘空间和应用状况> df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 7.8G 0 7.8G 0% /devtmpfs 7.8G 16K 7.8G 1% /dev/shmtmpfs 7.8G 790M 7.0G 10% /runtmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup/dev/vda1 40G 31G 9.3G 77% //dev/vdb1 197G 20G 168G 11% /datatmpfs 1.6G 0 1.6G 0% /run/user/0tmpfs 1.6G 0 1.6G 0% /run/user/1004> df -HFilesystem Size Used Avail Use% Mounted ondevtmpfs 8.4G 0 8.4G 0% /devtmpfs 8.4G 17k 8.4G 1% /dev/shmtmpfs 8.4G 828M 7.6G 10% /runtmpfs 8.4G 0 8.4G 0% /sys/fs/cgroup/dev/vda1 43G 34G 9.9G 77% //dev/vdb1 212G 21G 180G 11% /datatmpfs 1.7G 0 1.7G 0% /run/user/0tmpfs 1.7G 0 1.7G 0% /run/user/1004> df -lhFilesystem Size Used Avail Use% Mounted ondevtmpfs 7.8G 0 7.8G 0% /devtmpfs 7.8G 16K 7.8G 1% /dev/shmtmpfs 7.8G 790M 7.0G 10% /runtmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup/dev/vda1 40G 31G 9.3G 77% //dev/vdb1 197G 20G 168G 11% /datatmpfs 1.6G 0 1.6G 0% /run/user/0tmpfs 1.6G 0 1.6G 0% /run/user/1004> df -kFilesystem 1K-blocks Used Available Use% Mounted ondevtmpfs 8122232 0 8122232 0% /devtmpfs 8132768 16 8132752 1% /dev/shmtmpfs 8132768 808464 7324304 10% /runtmpfs 8132768 0 8132768 0% /sys/fs/cgroup/dev/vda1 41921520 32259084 9662436 77% //dev/vdb1 206291944 20278972 175510880 11% /datatmpfs 1626556 0 1626556 0% /run/user/0tmpfs 1626556 0 1626556 0% /run/user/1004-h更具目前磁盘空间和应用状况 以更易读的形式显示-H根下面的-h参数雷同,不过在根式化的时候,采纳1000而不是1024进行容量转换-k以单位显示磁盘的应用状况-l显示本地的分区的磁盘空间使用率,如果服务器nfs了近程服务器的磁盘,那么在df上加上-l后零碎显示的是过滤nsf驱动器后的后果-i显示inode的应用状况。linux采纳了相似指针的形式治理磁盘空间隐射.这也是一个比拟要害利用原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 18, 2021 · 3 min · jiezi

关于linux:EDA和工具00GNU-Linux使用基础

GNU/ Linux应用根底这篇博客没有任何用意成为一个大而全的应用教程, 在这里只是记录一下这几天做个小我的项目所用到/ 回顾到的基础知识, 不便疾速入门. 文中的正文为理解内容, 文末为一些好的学习材料链接.[TOC] 作为普通用户, PC端常见的操作系统有: Windows, Mac OS, 及类Unix零碎(GNU/Linux).1. GNU/ Linux选用作服务器| Fedora系列: CentOS, RedHat, Fedora集体开发 | Debian系列: Ubuntu, Debian (树莓派-Raspbian)喜爱折腾 | Arch Linux搞嵌入式 | 自行裁剪Linux嵌入式设施的OS(可能的学习程序): 裸机开发 -> uCOS-II -> uClinux -> Linux内核 -> Roadmap 其它: RT-Thread, Free RTOS, VxWorks, Windows CE 2. 零碎装置这一节是个别教程间接略去的中央, 我这里简述.2.1 零碎装置计划集体开发, 我选用的零碎为Ubuntu. 当初个别有两种支流的版本, 18.04和16.04. Linux的版本号是有考究的, 这里不赘述. 我应用的是Ubuntu 18.04作为我开发深度学习的环境, 而Ubuntu16.04作为我装置Synopsys EDA Tools的环境. 零碎装置, 个别有三种计划: 新买一台电脑, 折腾 不事实. 然而能够有另外一个计划: 买一个树莓派, 配置Raspbian, 学习基本操作. 给本人电脑装置双系统 ...

July 18, 2021 · 2 min · jiezi

关于linux:Linux之etcgroup文件

用户组(Group)配置文件次要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。/etc/group文件作用/etc/group文件是用户组的配置文件,内容包含用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户能够归属一个或多个不同的用户组;同一用 户组的用户之间具备类似的特色。比方咱们把某一用户退出到root用户组,那么这个用户就能够浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限凋谢,root用户组的所有用户都能够批改此文件,如果是可执行的文件(比方脚本),root用户组的用户也是能够执行的; 用户组的个性在系统管理中为系统管理员提供了极大的不便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户领有独立的用户 组,或者是把用户下的文件的权限设置为齐全公有;另外root用户组个别不要轻易把普通用户退出进去。/etc/group文件格式/etc/group的内容包含用户组(Group)、用户组口令、GID及该用户组所蕴含的用户(User),每个用户组一条记录group_name:passwd:GID:user_list 第一字段(group_name):用户组名称;第二字段(passwd):用户组明码;第三字段:GID第四字段(user_list):用户列表,每个用户之间用,号宰割;本字段能够为空;如果字段为空示意用户组为GID的用户名举个例子。root:x:0:root,admin注:用户组root,x是明码段,示意没有设置明码,GID是0,root用户组下包含root、admin以及GID为0的其它用户(能够通过/etc/passwd查看)。什么是GIDGID和UID相似,是一个正整数或0,GID从0开始,GID为0的组让零碎赋予给root用户组;零碎会预留一些较靠前的GID给零碎虚构用户(也被 称为假装用户)之用;查看零碎增加用户组默认的GID范畴应该查看 /etc/login.defs 中的 GID_MIN 和GID_MAX 值。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

July 18, 2021 · 1 min · jiezi

关于linux:优麒麟-你真的了解开始菜单吗

开始菜单,理论就是物理设施上所装置的应用软件快捷方式的汇合。为了便于用户应用,不仅蕴含简略的利用实时显示,还退出了软件检索、软件分类、固定常用软件等额定性能,进而达到不便用户应用的目标。 本篇文章围绕优麒麟开源操作系统的开始菜单次要性能进行简要介绍。 总体功能设计UKUI-menu 的总体功能设计分为三个模块:模块切换、窗口切换和搜寻,关上开始菜单后默认显示模式切换-所有软件模块页面: 功能模块介绍模块切换 模块切换蕴含三个功能模块,别离为:所有软件模块、字母排序模块和性能分类模块。提供所有软件模块、字母排序模块与性能分类模块切换内部接口,参数为模块切换按钮指针变量; 接口定义:void btnGroupClickedSlot(QAbstractButton *btn); 在页面中对应的地位如下: 本次先对所有软件模块进行介绍: 所有软件模块次要用于显示零碎中装置的所有软件,并依据软件适应频率实时刷新,同时反对将软件固定到列表顶端,不受应用频率的限度,所有软件模块解决流程图如下: 次要函数阐明: A. QVector<QString> getAllClassification(); //获取所有软件分类,返回值为利用信息存储容器 B. void ViewOpenedSlot(QDbusMessage msg); //过程开启监控槽函数,参数为D-Bus总线音讯 C. void directoryChangedSlot(const QString &path); //软件装置卸载监控,参数为desktop文件目录 D. void fixToAllActionTriggerSlot(); //将软件固定到所有软件模块 E. void unfixedFromAllActionTriggerSlot(); //从所有软件模块勾销固定 F. void updateListView(); //更新利用列表 窗口切换窗口切换即实现开始菜单窗口大小的切换,默认状态下显示为默认窗口大小,通过调用切换接口实现最大化和复原默认大小; 接口定义: void showFullScreenWidget(); //最大化窗口 void showDefaultWidegt(); //复原默认窗口大小 最大化窗口显示如下: 复原默认窗口大小显示如下: 搜寻 搜寻对于开始菜单的作用,就是可能帮忙用户疾速查找利用并关上利用,反对中英文及首字母实时搜寻,在优麒麟的开始菜单接口中就提供了一个利用开启内部接口,通过搜寻框查找到利用后点击利用图标,即可关上利用; 接口定义: void onClicked(QModelIndex index); //参数为利用索引 以上就是本次对开始菜单的一些介绍,次要剖析了开始菜单三大功能模块的性能以及模块切换中所有程序模块的次要函数,对源码有趣味、想要理解更多的优客能够点击下方链接: https://github.com/ukui/ukui-...

July 17, 2021 · 1 min · jiezi

关于linux:Linux命令行中几个使用history相关的技巧

当你频繁应用Linux命令行时,无效地应用历史记录能够大大提高生产力。 应用 HISTTIMEFORMAT 显示工夫戳当在命令行输出history时,它将显示序号和命令。出于审计目标,将工夫戳与命令一起显示可能会有所帮忙。[root@localhost ~]# export HISTTIMEFORMAT='%F %T '[root@localhost ~]# history | lessLinux命令行中几个应用history相干的技巧Linux命令行中几个应用history相干的技巧 应用Ctrl + r 搜寻历史记录当你曾经执行了很长的命令时,能够简略地应用关键字搜寻历史记录并从新执行同一命令,而不用齐全键入它。按Ctrl + r 并键入关键字。在以下示例中,我搜寻了wget,它在蕴含wget一词的历史记录中显示了先前的命令“ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...”。当按下ctrl + r键,会呈现上面状态。(reverse-i-search)`': 而后输出 wget ,前面会有命令过滤出匹配的历史命令。如果显示进去的是不想要的命令,能够持续补充命令行。(reverse-i-search)`wget ': wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...当搜寻出想要的命令行,能够按下 Enter回车键,就可执行命令了。 过滤出匹配的历史命令,想要更改参数,能够按一下tab键、或者方向键,能够退出搜寻模式来批改这条历史命令,并执行。 3.速反复上一个命令能够应用!!两个叹号,执行上一条命令。也能够应用!-1,执行上一条命令。Linux命令行中几个应用history相干的技巧Linux命令行中几个应用history相干的技巧 Linux命令行中几个应用history相干的技巧Linux命令行中几个应用history相干的技巧 从history中执行特定命令能够应用!加数字,执行history外面指定行号的命令。[root@localhost ~]# !4ss -tulNetid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* udp UNCONN 0 0 [::1]:323 [::]:* tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* tcp LISTEN 0 128 [::]:ssh [::]:* Linux命令行中几个应用history相干的技巧Linux命令行中几个应用history相干的技巧 ...

July 17, 2021 · 1 min · jiezi

关于linux:Linux命令后台运行

Linux后盾运行命令有两种形式:cmd & : 后盾运行,关掉终端会进行运行nohup cmd & : 后盾运行,关掉终端不会进行运行形式一:cmd &cmd & 实现让命令在后盾运行。但不要将有用户交互的命令放到后盾,这样命令会在后盾期待用户输出。后盾运行的命令也会将后果输入到管制台上,如果不需要的话,能够将其重定向到某个文件中。应用上面的命令能够将规范输入和谬误输入都将被重定向到一个叫做cmd.out的文件中: cmd > cmd.out 2>&1 &执行命令胜利后,会显示一个过程号,能够用它来监控(ps -ef | grep 过程号)或者杀死(kill -9 过程号)过程。形式二:nohup cmd &应用办法一的时候,当咱们敞开终端,命令就会进行运行。加上nohup能够在敞开终端后不进行命令。该命令的个别模式为: nohup command &默认状况下,该命令的所有输入都被重定向到nohup.out文件中。也能够应用上面的命令来指定输入文件为nohupcmd.out: nohup command > nohupcmd.out 2>&1 &nohup只有在应用exit命令失常退出终端,能力保障命令始终在后盾运行。终端异样退出后盾命令也会进行运行。其余相干命令:ctrl + z:将正在前台执行的命令放到后盾,且让命令处于暂停状态。jobs:查看以后有多少在后盾运行的命令,-l选项可显示所有工作的PID。fg:将后盾命令放回前台运行。bg:将嵌套命令放到后盾运行。fg和bg命令能够用 fg(bg) %jobid来指定执行命令,%jobid是通过jobs命令查到的后盾正在执行的命令的序号(不是pid)。

July 17, 2021 · 1 min · jiezi

关于linux:Liunx之chown命令

chown将指定文件的拥有者改为指定的用户或组,用户能够是用户名或者用户ID;组能够是组名或者组ID;文件是以空格离开的要扭转权限的文件列表,反对通配符。系统管理员常常应用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户领有应用该文件的权限。只有文件主和超级用户才能够应用该命令命令语法chown(选项)(参数) 命令选项-c或——changes:成果相似“-v”参数,但仅会报更改的局部;-f或--quite或——silent:不显示错误信息;-h或--no-dereference:只对符号连贯的文件作批改,而不更改其余任何相干文件;-R或——recursive:递归解决,将指定目录下的所有文件及子目录一并处理;-v或——version:显示指令执行过程;--dereference:成果和“-h”参数雷同;--help:在线帮忙;--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全副设成和参考文件或目录的拥有者与所属群组雷同;--version:显示版本信息。命令参数用户:组 指定所有者和所属工作组。当省略:组,仅扭转文件所有者;文件:指定要扭转所有者和工作组的文件列表。反对多个文件和指标,反对shell通配符。扭转文件的属主和属组> chown deploy:deploy rumenz.txt扭转文件的属主和属组每个用户都有一个默认或次要组。如果用户创立了新文件或目录,则该主组将主动成为文件的组所有者。您能够应用id命令列出用户的默认组。 如果要将文件的组所有权更改为用户的默认组,则应仅在冒号后保留组名。 > chown deploy: rumenz.txt省略属组(deploy:),将同时批改文件的属主和属组只扭转文件的属组> chown :deploy rumenz.txt省略属主(:deploy),将只扭转文件的属组扭转指定目录以及其子目录下的所有文件的拥有者和群组> chown -R -v deploy:deploy rumenz参考1.txt的属主属组批改2.txt的属主和属组> chown --reference=1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

July 16, 2021 · 1 min · jiezi

关于linux:Linux之chgrp命令

chgrp命令用来扭转文件或目录所属的用户组。该命令用来扭转指定文件所属的用户组。其中,组名能够是用户组的id,也能够是用户组的组名。文件名能够是由空格离开的要扭转属组的文件列表,也能够是由通配符形容的文件汇合。如果用户不是该文件的文件主或超级用户(root),则不能扭转该文件的组。组名称必须在/etc/group存在>cat /etc/grouproot:x:0:bin:x:1:daemon:x:2:sys:x:3:adm:x:4:tty:x:5:disk:x:6:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:mysql:x:27:nginx:x:993:命令格局chgrp [选项] [组] 文件... 选项-c或——changes:成果相似“-v”参数,但仅会显示更改的局部;-f或--quiet或——silent:不显示错误信息;-h或--no-dereference:只对符号连贯的文件作批改,而不是该其余任何相干文件;-R或——recursive:递归解决,将指令目录下的所有文件及子目录一并处理;-v或——verbose:显示指令执行过程;--reference=<参考文件或目录>:把指定文件或目录的所属群组全副设成和参考文件或目录的所属群组雷同;命令参数组:指定新工作名称;文件:指定要扭转所属组的文件列表。多个文件或者目录之间应用空格隔开。扭转目录的属组> ls -al rumenzdrwxr-xr-x 2 root root 59 Feb 3 23:39 rumenz> chgrp -v www rumenz> ls -al rumenzdrwxr-xr-x 2 root www 59 Feb 3 23:39 rumenz将rumenz目录由root组改为www群组扭转目录的属组,包含目录下的所有文件> chgrp -R www rumenz依据指定文件扭转文件的群组属性> chgrp --reference=1.txt 2.txt扭转文件2.txt的群组属性,使得文件2.txt的群组属性和参考文件1.txt的群组属性雷同通过群组识别码扭转文件群组属性> chgrp -R 27 ruemnz27代表的是mysql组原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

July 15, 2021 · 1 min · jiezi

关于linux:Linux-文件系统基本介绍

想想有多个搁板的冰箱,可用于寄存各种物品。 这些货架帮忙您按形态、大小、类型等组织杂货我的项目。雷同的概念实用于文件系统,它是一种以人类可用的模式存储和组织任意数据汇合的办法的体现。 Linux 反对的不同类型的文件系统: 传统磁盘文件系统:ext2、ext3、ext4、XFS、Btrfs、JFS、NTFS等。闪存文件系统:ubifs、JFFS2、YAFFS 等。数据库文件系统非凡用处的文件系统:procfs、sysfs、tmpfs、squashfs、debugfs 等。 分区是磁盘的物理间断局部,或者在某些高级设置中看起来如此。 文件系统是一种在硬盘(通常在一个分区)上存储/查找文件的办法。 人们能够将分区视为文件系统所在的容器,只管在某些状况下,如果应用符号链接,文件系统能够逾越多个分区,咱们将在稍后探讨。 附表中给出了 Windows 和 Linux 中文件系统之间的比拟: Linux 零碎依据称为文件系统层次结构规范 (FHS) 的规范布局存储其重要文件,该规范由 Linux 基金会长期保护。无关更多信息,请查看文档:由 LSB 工作组创立的“文件系统层次结构规范”。制订规范旨在确保用户、管理员和开发人员能够在不同发行版之间挪动,而无需重新学习零碎的组织形式。 Linux 应用“/”字符来分隔门路(与 Windows 应用“\”不同),并且没有驱动器号。多个驱动器和/或分区作为目录装置在单个文件系统中。对于最近的 Linux 零碎,可挪动媒体(例如 USB 驱动器、CD 和 DVD)将显示为已装置在 /run/media/yourusername/disklabel 下,或者对于较旧的发行版在 /media 下。例如,如果您的用户名是学生,则可能会在 /run/media/student/FEDORA 中找到标有 FEDORA 的 USB 笔式驱动器,并且该光盘上的文件 README.txt 将位于 /run/media/student/FEDORA/ README.txt。 所有 Linux 文件系统名称都辨别大小写,因而 /boot、/Boot 和 /BOOT 代表三个不同的目录(或文件夹)。 许多发行版将正确零碎操作所需的外围实用程序与其余程序辨别开来,并将后者放在 /usr 下的目录中(想想用户)。 要理解其余程序的组织形式,请在上图中找到 /usr 目录,并将其子目录与间接存在于零碎根目录 (/) 下的子目录进行比拟。 Choosing a Linux Distribution假如您打算购买一辆新车。 您须要思考哪些因素能力做出正确的抉择? 须要思考的要求包含适宜您家人的车辆尺寸、发动机类型和燃油经济性、您的预期估算和可用融资选项、可靠性记录和售后服务等。 ...

July 15, 2021 · 1 min · jiezi

关于linux:使用rsync-daemon跨主机安全同步

文章原文:https://tlanyan.pp.ua/use-rsync-daemon-to-sync-files-between-servers/始终应用 rsync 命令在主机间疾速同步文件,例如定时 备份WordPress文件和数据库 到其余主机。 之前对 rsync 理解不深,始终应用 shell 形式同步文件。为了防止连贯时输出明码,便在多个主机间散发公钥。明天意识到这种做法有重大的平安问题:如果某台主机被黑,黑客能轻易漫游所有主机! 于是再次钻研 rsync,发现能够应用rsync daemon跨主机平安同步。 本文链接:https://tlanyan.pp.ua/use-rsync-daemon-to-sync-files-between-servers/ 应用rsync daemon跨主机平安同步rsync的三种工作模式rsync 命令有三种用法,对应三种工作模式: 本机同步,相似于cp命令: rsync [选项] SRC DEST; shell近程同步,相似于scp命令: \# 近程主机文件同步到主机rsync [选项] USER@HOST:SRC DEST\# 本机文件同步到近程主机rsync [选项] SRC USER@HOST:DEST daemon近程同步: \# 近程主机文件同步到本地,可应用::或用rsync://指定daemon模式rsync [选项] USER@HOST::SRC DESTrsync [选项] rsync://USER@HOST/SRC DEST \# 本机文件同步到近程主机rsync [选项] SRC USER@HOST::DESTrsync [选项] SRC rsync://USER@HOST/DEST shell和daemon模式的区别是shell模式应用一个冒号:,而daemon模式应用两个冒号::或用rsync://显式指定。 前两种工作模式比较简单,间接输出源和指标门路即可进行数据同步。第三种用法辨别客户端和服务端,须要在服务端配置能力失常工作。 接下来咱们介绍应用daemon形式进行数据同步。 rsync daemon模式相似于 V2ray,rsync 命令既能够用作客户端,也能够用作服务端。咱们平时用的 rsync 便是作为客户端应用,加上--daemon参数则变成服务端模式。 CentOS 7、Ubuntu/Debian零碎装置 rsync 后会主动配置好rsync服务,但在 CentOS 8 零碎中须要额定装置 rsync-daemon 包才会配置rsync服务: \# Ubuntu/Debian装置rsyncsudo apt updatesudo apt install -y rsync\# CentOS/RHEL装置rsyncsudo yum install -y rsync\# CentOS 8装置rsync daemonsudo yum install -y rsync-daemon ...

July 15, 2021 · 2 min · jiezi

关于linux:在每个-Linux-用户SSH登录时执行自定义脚本

本文首发于集体博客,原文站点链接为:https://www.panyanbin.com/art...,禁止未经容许转发和应用。有些时候,咱们须要在linux用户登录时执行咱们本人编写的脚本,比方登录时给个敌对的交互输入提醒。为了实现该目标,咱们有必要去理解一下linux在用户登录时执行外部shell的程序,这样能力把自定义的脚本放到对应地位去执行。 如果临时不想理解linux用户登录时的内置脚本执行程序,只是想看配置操作,能够间接看第二段:自定义脚本执行配置操作。 linux用户登录内置脚本执行程序对于用户登录的时候执行shell脚本的程序如下图所示: 留神:老潘的测试机器是CentOS操作系统,所以会执行~/.bash_profile,操作系统不同,其文件名字有所不同(~/.bash_profile、~/.bash_login、~/.profile) ,总体的逻辑执行根本不变。以下简略大抵阐明一下过程。 /etc/profile任何一个用户(包含root用户)在进行登录时,都会先查看全局文件/etc/profile,若此文件存在,则应用source或.命令去执行文件。 为什么应用source命令?因为是刚登入linux零碎,相干的bash命令还没注入到shell中,无奈通过相应的bash执行脚本,只能应用内置命令去执行。咱们cat一下/etc/profile文件,以下仅把相干的信息展现进去,更多信息能够自行去看。 # /etc/profile# System wide environment and startup programs, for login setup# Functions and aliases go in /etc/bashrc# It's NOT a good idea to change this file unless you know what you# are doing. It's much better to create a custom.sh shell script in# /etc/profile.d/ to make custom changes to your environment, as this# will prevent the need for merging in future updates.......for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fidone...查看正文内容的提示信息: ...

July 15, 2021 · 2 min · jiezi

关于linux:Linux之tar命令

通过SSH拜访服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具tar命令能够为linux的文件和目录创立档案。利用tar,能够为某一特定文件创建档案(备份文件),也能够在档案中扭转文件,或者向档案中退出新的文件。tar最后被用来在磁带上创立档案,当初,用户能够在任何设施上创立档案。利用tar命令,能够把一大堆的文件和目录全副打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是十分有用的。打包和压缩打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),而后再用压缩程序进行压缩(gzip bzip2命令) linux下最罕用的打包程序就是tar了,应用tar程序打进去的包咱们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就能够用其它的程序来进行压缩。 命令格局> tar [必要参数] [抉择参数] 文件命令性能用来压缩和解压文件。tar自身不具备压缩性能。他是调用压缩性能实现的。命令参数必要参数-A或--catenate:新增文件到以存在的备份文件;-B:设置区块大小;-c或--create:建设新的备份文件;-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,能够应用这个选项。-d:记录文件的差异;-x或--extract或--get:从备份文件中还原文件;-t或--list:列出备份文件的内容;-z或--gzip或--ungzip:通过gzip指令解决备份文件;-Z或--compress或--uncompress:通过compress指令解决备份文件;-f<备份文件>或--file=<备份文件>:指定备份文件;-v或--verbose:显示指令执行过程;-r:增加文件到曾经压缩的文件;-u:增加扭转了和现有的文件到曾经存在的压缩文件;-j:反对bzip2解压文件;-v:显示操作过程;-l:文件系统边界设置;-k:保留原有文件不笼罩;-m:保留文件不被笼罩;-w:确认压缩文件的正确性;-p或--same-permissions:用原来的文件权限还原文件;-P或--absolute-names:文件名应用相对名称,不移除文件名称前的“/”号;-N <日期格局> 或 --newer=<日期工夫>:只将较指定日期更新的文件保留到备份文件里;--exclude=<范本款式>:排除合乎范本款式的文件。抉择参数-b 设置区块数目-C 切换到指定目录-f 指定压缩文件--help 显示帮忙信息--version 显示版本信息打包一个文件,不压缩> tar -cvf rumenz.tar rumenz.txt打包并压缩一个文件(应用gzip压缩)> tar -zcvf rumenz.tar.gz rumenz.txt打包并压缩一个文件(应用bzip2压缩)> tar -jcvf rumenz.tar.bz2 rumenz.txt在选项f之后的文件档名是本人取的,咱们习惯上都用 .tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加j选项,则以.tar.bz2来作为tar包名。列出打包压缩文件外面的内容> tar -ztvf rumenz.tar.gz因为咱们应用gzip压缩的rumenz.tar.gz,所以要查阅rumenz.tar.gz包内的文件时,就得要加上z这个选项了tar.gz解压缩> tar -xzvf rumenz.tar.gztar.gz解压缩到/tmp目录> tar -xzvf rumenz.tar.gz -C /tmp只解压rumenz.tar.gz外面的1.txt,2.txt> tar -zcvf rumenz.tar.gz *.txt//查看rumenz.tar.gz外面的文件(在不解压缩的状况下看)> tar -ztvf rumenz.tar.gz1.txt2.txt3.txt4.txt> tar -zxvf rumenz.tar.gz 1.txt 2.txt1.txt2.txt> ls 1.txt 2.txt rumenz.tar.gz压缩文件并保留其权限> tar -zcpvf rumenz.tar.gz 1.txt 2.txt 3.txt 4.txt这个-p的属性是很重要的,尤其是当您要保留本来文件的属性时。不打包压缩某个文件(或目录)> tar --exclude rumenz/doc rumenz.tar.gz rumenz/*在/etc当中,比2021/01/01新的文件才备份> tar -N "2021/01/01" -zcvf etc.tar.gz /etcbzip2 压缩,查看,解压压 缩:tar -jcvf rumenz.tar.bz2 rumenz查 询:tar -jtvf rumenz.tar.bz2解压缩:tar -jxvf rumenz.tar.bz2 -C test原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 14, 2021 · 1 min · jiezi

关于linux:常见软件源配置

piphttps://zhuanlan.zhihu.com/p/...pip install markdown -i https://pypi.tuna.tsinghua.edu.cn/simple# 清华源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 或:# 阿里源pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/# 腾讯源pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple# 豆瓣源pip config set global.index-url http://pypi.douban.com/simple/cargohttps://www.qttc.net/542-rust...编辑 ~/.cargo/config增加一下内容 [source.crates-io]replace-with = 'tuna'[source.tuna]registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

July 14, 2021 · 1 min · jiezi

关于linux:Linux-项目发布基本流程

一:装置jdk:解压jdk批改jdk名字(使和配置文件profile里设置的jdk名字达到统一)查看配置文件profile:找到门路运行指令vim profile进入编辑模式找到环境变量语句(变量名和jdk雷同即可)而后刷新配置制行Java -version语句看到如下内容即正确 二:装置Linux数据库:如果装置谬误则执行yum clear all语句清空下载而后重新安装(确保网络畅通) 启动命令 [root@localhost src]# systemctl start mariadb 2. 重启命令 [root@localhost src]# systemctl restart mariadb3. 敞开命令 [root@localhost src]# systemctl stop mariadb4. 设定开机自起 [root@localhost src]# systemctl enable mariadb 5. 敞开开机自起 [root@localhost src]# systemctl disable mariadb 初始化数据库:回车输出明码(如果曾经设置了则不必操作)登录数据库 (*留神)数据库和Linux都有一层权限(防火墙),想要顺利拜访得设置好权限。数据库防火墙:查问user表中的host/root/password把host=localhost 改成 % 而后刷新权限 Linux防火墙:查看防火墙开启则显示running,如果开启则手动敞开 到Linux外尝试连贯数据库,如果权限批改胜利则连贯失常 三:将我的项目打包复制到新建的文件夹中 程序后端运行 四:Nginx下载安装Nginx Linux Nginx启动: 启动nginx: ./nginx start nginx重启nginx: ./nginx -s reload nginx -s reload敞开nginx: ./nginx -s stop nginx -s stop./nging命令运行脚本启动启动胜利将前端我的项目打包(dist)放进Nginx根目录配置Nginx反向代理 五:我的项目公布胜利启动并拜访我的项目参考代码:https://gitee.com/kuanjian/sp...https://gitee.com/kuanjian/sp... ...

July 14, 2021 · 1 min · jiezi

关于linux:RAID01510-搭建及使用删除-RAID-及注意事项

1 RAID 的实现形式互动:咱们做硬件 RAID,是在装零碎前还是之后? 答:先做阵列才装零碎 ,个别服务器启动时,有显示进入配置 Riad 的提醒,比方:按下CTRL+L/H/M 进入配置 raid 界面。 硬 RAID:须要 RAID 卡,咱们的磁盘是接在 RAID 卡的,由它对立治理和管制。数据也由它来进行调配和保护;它有本人的 cpu,处理速度快。 链接:https://pan.baidu.com/s/1AFY9... 提取码:wo3m 无声视频RAID:通过操作系统实现。 Linux 内核中有一个 md(multiple devices)模块在底层治理 RAID 设施,它会在应用层给咱们提供一个应用程序的工具 mdadm ,mdadm 是 linux 下用于创立和管理软件 RAID 的命令。mdadm 命令常见参数解释:互动: raid5 须要 3 块硬盘。 那么应用 4 块硬盘,能够做 raid5 吗?能够的试验环境:新增加 11 块硬盘,每块磁盘的作用如下:互动:磁盘达到 sdz 当前,名字应该如何排?sdaa 、 sdab 。。。试验环境:注:工作作中失常做 raid 全副是应用独立的磁盘来做的。为了节约资源,raid10 以一块磁盘上多个分区来代替多个独立的磁盘做 raid,然而这样做进去的 raid 没有备份数据的作用,因为一块磁盘坏了,这个磁盘上所做的 raid 也就都坏了。 2创立 RAID0试验环境: 1、创立 raid0[root@xuegod63 ~]#yum -y install mdadm[root@xuegod63 ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc-C 创立 -v 详细信息 -l 阵列级别 -n 阵列成员数量mdadm: chunk size defaults to 512Kmdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md0 started.[root@xuegod63 ~]# mdadm -Ds-D 打印阵列设施详细信息 s 失去阵列缺失信息2、 查看阵列信息[root@xuegod63 ~]# mdadm -DsARRAY /dev/md0 metadata=1.2 name=xuegod63.cn:0UUID=cadf4f55:226ef97d:565eaba5:3a3c7da4[root@xuegod63 ~]# mdadm -D /dev/md0/dev/md0:Version : 1.2Creation Time : Thu May 17 15:59:16 2018Raid Level : raid0Array Size : 41910272 (39.97 GiB 42.92 GB)39.97 依照 1024 计算,42.92 依照 1000 计算Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Thu May 17 15:59:16 2018State : cleanActive Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Chunk Size : 512K#chunk 是 raid 中最小的存储单位Consistency Policy : noneName : xuegod63.cn:0 (local to host xuegod63.cn)UUID : cadf4f55:226ef97d:565eaba5:3a3c7da4Events : 0active sync:动静同步[root@xuegod63 ~]# mdadm -Dsv > /etc/mdadm.conf #保留配置信息[root@xuegod63 ~]# cat /proc/mdstat#从内存中查看,重启后,信息失落,所以要保留 ...

July 14, 2021 · 4 min · jiezi

关于linux:四大亮点功能麒麟移动运行环境-KMRE你值得拥有

一款高性能的挪动利用兼容环境跨平台生态迁徙原生性、高兼容性、高稳定性、高交融性、高安全性麒麟挪动运行环境(KMRE)实现了桌面 PC 与挪动设施的交融,大幅晋升用户体验并解决了用户的多样化利用需要,丰盛了 Linux 的利用生态。真正地将 Linux 操作系统和挪动操作系统合二为一,从实质上让麒麟操作系统、优麒麟操作系统反对挪动利用的运行,两者共用同一个内核,实现了资源共享。 KMRE 反对 X 和 Wayland,反对 X86 和 ARM 体系架构,反对的处理器包含飞腾、兆芯、海光、华为麒麟、Intel、AMD等,反对的显卡包含NVIDIA、AMD、INTEL、MALI、JJM、GP101、兆芯等。 上面介绍最新版本 KMRE 集成的四大亮点性能: 亮点一:屏幕共享 一键搞定 新的屏幕共享计划,使得运行在 KMRE 环境中的挪动利用不再只是将挪动环境的桌面共享给参会者,而是适应环境的交融,应用图形显示技术,将用户的Linux桌面共享进去,不便参会者查看共享者桌面上的内容,并且,屏幕共享还能够依据显示器方向的旋转进行主动调整,保障共享画面以最好地显示款式出现给其余参会者。 亮点二:文件互通 操作交融 1、KMRE 为文件管理器提供了一个文件聚合显示的插件,通过该插件能够拜访挪动利用保留的四类文件:图片、视频、音频和文档,用户能够在“文件管理器->收藏夹->挪动利用”中查看、编辑和拷贝这些存在于 KMRE 环境中的文件,当挪动利用执行了新增保留文件或删除文件的操作后,文件管理器中能够实时动静地刷新文件列表数据。 2、通过创立和挂载用户空间文件系统,KMRE 环境中的挪动利用能够间接拜访 Linux 端的文件,例如微信发送文件时,在弹出的界面上抉择“手机存储 -> 0-麒麟文件”,即可抉择 Linux 端的文件并发送给微信好友。 3、拖拽 Linux 端的文件到挪动利用图形窗口上,通过KMRE传输协定和相干服务,触发挪动环境中文件分享接口,实现文件的疾速分享。例如拖拽一个 DOC 文档到微信界面上,则能够抉择好友,并将这个文件发送给好友。 这些文件互通形式的实现,晋升了 Linux 和 KMRE 之间的融合度,大大晋升了用户操作体验。 亮点三:鼠标操作 快捷高效 1、图片和文档的缩放 新地缩放模式,精准管制缩放比例大小,完满适配所有挪动利用。例如按住“Ctrl”键的同时拖住鼠标左键进行前后左右挪动,能够对图片和文档进行精准放大放大操作。 2、页面内容滚动及刷新 新的页面内容滚动模式,不仅补救了旧计划须要鼠标滚轮对每个挪动利用进行独自适配的问题,而且减少了鼠标滚轮滚动的精度管制,能够依据滚动速度的快慢主动调节滚动内容的高度,实现页面内容的准确滚动和上拉刷新。 亮点四:本地APK包装置 丰盛海量利用体验 KMRE 凋谢了装置本地APK包的入口,给用户提供一个装置工具,通过该工具能够疾速装置那些没有在软件商店上架的挪动利用,不便用户在 KMRE 环境上体验海量丰盛的原生挪动利用。该工具不仅反对双击 APK 包装置,也反对拖拽和抉择文件进行装置,装置实现的挪动利用能够在开始菜单中查看并运行。目前,该工具尚未在社区上线,敬请期待! 装置形式 点击下方图片疾速传送至装置教程图片: KMRE 在经验四个大版本的更新迭代后,以后版本在多窗口、摄像头、音频交融、截图分享、音讯告诉、数据共享、对立的中文输入法、游戏按键、4K 屏反对、串口反对、硬件加速、按键输出、模仿触摸等大量已有性能的根底上,新增和优化了如上四大类新性能,更好地交融了 Linux 和挪动环境,为用户提供了更加便捷的操作体验。 ...

July 14, 2021 · 1 min · jiezi

关于linux:Linux之chmod命令

chmod命令用于扭转linux系统文件或目录的拜访权限。用它管制文件或目录的拜访权限。该命令有两种用法。一种是蕴含字母和操作符表达式的文字设定法;另一种是蕴含数字的数字设定法。Linux零碎中的每个文件和目录都有拜访许可权限,用它来确定谁能够通过何种形式对文件和目录进行拜访和操作。 文件或目录的拜访权限分为只读,只写和可执行三种。以文件为例,只读权限示意只容许读其内容,而禁止对其做任何的更改操作。可执行权限示意容许将该文件作为一个程序执行。文件被创立时,文件所有者主动领有对该文件的读、写和可执行权限,以便于对文件的浏览和批改。用户也可依据须要把拜访权限设置为须要的任何组合。 有三种不同类型的用户可对文件或目录进行拜访:文件所有者,同组用户、其余用户。所有者个别是文件的创建者。所有者能够容许同组用户有权拜访文件,还能够将文件的拜访权限赋予零碎中的其余用户。在这种状况下,零碎中每一位用户都能拜访该用户领有的文件或目录。 每一文件或目录的拜访权限都有三组,每组用三位示意,别离为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;零碎中其余用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最右边的一列为文件的拜访权限。 命令格局> chmod [-cfvR] [--help] [--version] mode file...mode参数[ugoa...][[+-=][rwxX]...][,...]或者数字权限777,755 u 示意该文件的拥有者,g 示意与该文件的拥有者属于同一个群体(group)者,o 示意其余以外的人,a 示意这三者皆是。+示意减少权限、-示意勾销权限、=示意惟一设定权限。r 示意可读取,w示意可写入,x示意可执行,X示意只有当该文件是个子目录或者该文件曾经被设定过为可执行。罕用参数-c : 若该文件权限的确曾经更改,才显示其更改动作-f : 若该文件权限无奈被更改也不要显示谬误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有文件与子目录进行雷同的权限变更(即以递归的形式一一变更)--help : 显示辅助阐明--version : 显示版本符号模式chmod who operator permission file 如chmod u+x rumenz.txt who(用户类型)who用户类型阐明uuser文件所有者ggroup文件所有者所在组oothers所有其余用户aall所用用户, 相当于 ugooperator(符号模式表)Operator阐明+为指定的用户类型减少权限-去除指定用户类型的权限=设置指定用户权限的设置,行将用户类型的所有权限从新设置permission(权限)模式名字阐明r读设置为可读权限w写设置为可写权限x执行权限设置为可执行权限X非凡执行权限只有当文件为目录文件,或者其余类型的用户有可执行权限时,才将文件权限设置可执行ssetuid/gid当文件被执行时,依据who参数指定的用户类型设置文件的setuid或者setgid权限t粘贴位设置粘贴位,只有超级用户能够设置该位,只有文件所有者u能够应用该位数字权限(八进制)chmod命令能够应用八进制数来指定权限。文件或目录的权限位是由9个权限位来管制,每三位为一组,它们别离是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来阐明一个类具备相应的优先级。\#权限rwx二进制7读+写+执行rwx1116读+写rw-1105读+执行r-x1014只读r--1003写+执行-wx0112只写-w-0101只执行--x0010无---000常见的数字权限400 -r-------- 拥有者可能读,其余任何人不能进行任何操作;644 -rw-r--r-- 拥有者都可能读,但只有拥有者能够编辑;660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;700 -rwx------ 拥有者可能读、写和执行,其余用户不能任何操作;744 -rwxr--r-- 所有人都能读,但只有拥有者能力编辑和执行;755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者能力编辑;777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。chmod实例命令阐明chmod a+r file给file的所有用户减少读权限chmod a-x file删除file的所有用户的执行权限chmod a+rw file给file的所有用户减少读写权限chmod +rwx file给file的所有用户减少读写执行权限chmod u=rw,go= file对file的所有者设置读写权限,清空该用户组和其余用户对file的所有权限(空格代表无权限)chmod -R u+r,go-r docs对目录docs和其子目录层次结构中的所有文件给用户减少读权限,而对用户组和其余用户删除读权限chmod 664 file对file的所有者和用户组设置读写权限,为其其余用户设置读权限chmod 0755 file相当于u=rwx(4+2+1),go=rx(4+1&4+1)。0没有非凡模式。chmod 4755 file4设置了设置用户ID位,剩下的相当于u=rwx(4+2+1),go=rx(4+1&4+1)。find path/ -type d -exec chmod a-x {} \;删除可执行权限对path/以及其所有的目录(不包含文件)的所有用户,应用'-type f'匹配文件find path/ -type d -exec chmod a+x {} \;容许所有用户浏览或通过目录path/原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 13, 2021 · 1 min · jiezi

关于linux:RAID-概念-RAID01510-的工作原理

RAID 概念-企业级 RAID-0-1-5-10 的工作原理磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘形成的具备冗余能力的阵列”之意(其中一块盘坏了,数据不失落)。 磁盘阵列是由很多价格较便宜的磁盘,以硬件 (RAID卡)或软件(MDADM)模式组合成一个容量微小的磁盘组,利用多个磁盘组合在一起,晋升整个磁盘零碎效力。利用这项技术,将数据切割成许多区段,别离寄存在各个硬盘上。 磁盘阵列还能利 用同位查看(ParityCheck)的观点,在阵列中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后从新置入新硬盘中(也就是坏了一块盘,拔掉,插入新盘,数据还能复原到新盘,利用奇 偶校验) 注:RAID能够预防数据失落,然而它并不能齐全保障你的数据不会失落,所以大家应用 RAID 的 同时还是留神备份重要的数据 RAID的创立有两种形式:软 RAID(通过操作系统软件来实现)和硬 RAID(应用硬件阵列卡); 在企业中用的最多的是:raid1、raid5 和raid10。不过随着云的高速倒退,阿里云,腾讯云等供应商一 般能够把硬件问题解决掉。(你在用云的时候,会关注供应商底层是用什么 raid 类型吗)1.1RAID 几种常见的类型级 别 -------------说 明-------- 最低磁盘个数率 -------- 空间利用-------- 各自的优缺点RAID0------------条带卷--------------2+--------------------100%--------读写速度快,不容错RAID1------------镜像卷--------------2----------------------50%--------写速度个别,读速度晋升,容错RAID5----带奇偶校验的条带卷----3+---------------------(n-1)/n------读写速度快,容错,容许坏一块RAID5--带奇偶校验的条带集,双校验----4+------------(n-2)/n--------读写快,容错,容许坏两块盘等......... RAID 根本思维:把好几块硬盘通过肯定组合形式把它组合起来,成为一个新的硬盘阵列组,从而使它可能达到高性能硬盘的要求RAID 有三个关键技术:镜像:提供了数据的安全性;chunk 条带(块大小也能够说是条带的粒度),它的存在的就是为了进步 I/O,提供了数据并发性数据的校验:保障了数据的可靠性Raid 绝对于单个磁盘长处: 1.2RAID-0 的工作原理条带 (strping),也是咱们最早呈现的 RAID 模式需磁盘数量:2 块以上(大小最好雷同),是组建磁盘阵列中最简略的一种模式,只须要 2 块以上的硬盘即可. 特点:成本低,能够进步整个磁盘的性能和吞吐量。RAID 0 没有提供冗余或谬误修复能力,速度快.任何一个磁盘的损坏将损坏全副数据;磁盘利用率为 100%。 1.3RAID-1mirroring(镜像卷),须要磁盘两块以上原理:是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,(同步) RAID 1 mirroring(镜像卷),至多须要两块硬盘,raid 大小等于两个 raid 分区中最小的容量(最好将分区大小分为一样),数据有冗余,在存储时同时写入两块硬盘,实现了数据备份; 磁盘利用率为 50%,即 2 块 100G 的磁盘形成 RAID1 只能提供 100G 的可用空间。如下图 1.4RAID-5须要三块或以上硬盘,能够提供热备盘实现故障的复原;只损坏一块,没有问题。但如果同时损坏两块磁盘,则数据将都会损坏。 空间利用率: (n-1)/n 2/3如下图所示奇偶校验信息的作用:当 RAID5 的一个磁盘数据产生损坏后,利用剩下的数据和相应的奇偶校验信息去复原被损坏的数据。展:异或运算是用绝对简略的异或逻辑运算(雷同为 0,相异为 1)A 值-------B 值 -------Xor 后果0 ------------0--------------01 ------------0--------------1 0 ------------1--------------01 ------------1--------------1 ...

July 13, 2021 · 1 min · jiezi

关于linux:Linux指令入门磁盘管理

试验简介体验简介本场景将提供一台配置了Aliyun Linux 2操作系统的ECS实例(云服务器)。通过本教程的操作,您能够学习Linux零碎中罕用的磁盘治理命令。 体验此场景后,能够把握的常识有:Linux基本操作。 可开明阿里云ecs体验 地址 磁盘治理命令1.df命令。 df命令形容:该命令查看文件系统的磁盘空间占用状况。能够利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 df命令语法: df [参数] [目录或文件名]-a 列出所有的文件系统,包含零碎特有的/proc等文件系统。 -k 以KBytes为单位,返回各文件系统容量。 -m 以MBytes为单位,返回各文件系统容量。 -h 以GBytes、MBytes、KBytes为单位,返回各文件系统容量。 -H 以M=1000K取代M=1024K的进位形式显示各文件系统容量。 -T 显示文件系统类型。 -i 显示inode信息。 df命令应用示例: 示例一:显示磁盘应用状况。 执行如下命令,显示磁盘应用状况。 df返回后果如下所示。示例二:以inode模式来显示磁盘应用状况。 执行如下命令,以inode模式来显示磁盘应用状况。 df -i返回后果如下所示。示例三:显示零碎内的所有非凡文件格式、名称及磁盘应用状况。 执行如下命令,显示零碎内的所有非凡文件格式、名称及磁盘应用状况。 df -aT返回后果如下所示。示例四:以GBytes、MBytes、KBytes等格局显示各文件系统容量。 执行如下命令,以GBytes、MBytes、KBytes等格局显示各文件系统容量。 df -h返回后果如下所示。 du命令。du命令形容:查看磁盘应用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的应用空间。 du命令语法: du [参数] [文件或目录名称]参数阐明:-a 列出所有的文件与目录容量。 -h 以G、M、K为单位,返回容量。 -s 列出总量。 -S 列出不包含子目录下的总量。 -k 以KBytes为单位,返回容量。 -m 以MBytes为单位,返回容量。 du命令应用示例: 示例一:列出当前目录下的所有文件夹的容量。 执行如下命令,列出当前目录下的所有文件夹的容量。 du返回后果如下所示。 示例二:列出当前目录下的所有文件夹和文件的容量。 执行如下命令,列出当前目录下的所有文件夹和文件的容量。 du -a返回后果如下所示。示例三:列出当前目录下的所有文件夹和文件的容量,并以G、M、K格局显示容量。 执行如下命令,列出当前目录下的所有文件夹和文件的容量。 du -ah返回后果如下所示。 fdisk命令。fdisk命令形容:该命令用于磁盘分区。 fdisk命令语法: fdisk [-l] 安装名称-l ...

July 13, 2021 · 1 min · jiezi

关于linux:Linux之文件属性详解

Linux 文件或目录的属性次要包含:文件或目录的节点、品种、权限模式、链接数量、所归属的用户和用户组、最近拜访或批改的工夫等内容。具体情况如下应用ls -lih列出上述信息> ls -lih12939236190 drwxr-xr-x 3 mac staff 96B 2 19 21:47 doc第一列:inode第二列:文件品种和权限第三列:硬链接个数第四列:属主第五列:所归属的组第六列:文件或目录的大小;第七列:最初批改工夫;第八列:文件名或目录名 inodeinode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘等等)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数 据的信息,这些信息包含文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统依据指令, 能通过inode值最快的找到绝对应的文件。硬链接在Linux的文件系统中,保留在磁盘分区中的文件,不论是什么类型,零碎都会给它调配一个编号,这个编号被称为索引节点编号(Inode Index),它是该文件或者目录在linux文件系统中的惟一标识。有了这个编号值,就能够查到该文件的具体内容。 同时,Linux零碎还规定,能够容许多个文件名同时指向同一个索引节点(Inode),这就是硬链接。这样设计有一个益处就是,只有文件的索引节点还存在一个以上的链接,删除其中一个链接并不影响索引节点自身和其余的链接(也就是说该文件的实体并未删除),而只有当最初一个链接被删除后,且此时有新数据要存储到磁盘上,那么被删除的文件的数据块及目录的链接才会被开释,存储空间才会被新数据所笼罩。因而,该机制能够无效的避免误删操作。 硬链接只能在同一类型的文件系统中进行链接,不能跨文件系统。同时它只能对文件进行链接,不能链接目录。 创立一个文件的硬连贯> ln rumen.txt rumenz.txt> ls -lihtotal 012940530535 -rw-r--r-- 2 mac staff 0B 2 19 23:01 rumen.txt12940530535 -rw-r--r-- 2 mac staff 0B 2 19 23:01 rumenz.txt为什么创立一个空目录的文件,硬连贯的个数是2> mkdir rumenz> ls -lih12940530815 drwxr-xr-x 2 mac staff 64B 2 19 23:03 rumenz起因是:rumenz目录下默认会有.和..目录,别离代表当前目录和父级目录> ls -al rumenzdrwxr-xr-x 2 mac staff 64 2 19 23:03 .drwxr-xr-x 3 mac staff 96 2 19 23:03 ..文件类型-:代表一般文件d:代表目录l:代表软连贯(ln –s 源文件 链接文件)b:块设施和其余外围设备,是非凡类型的文件文件权限r 可读,数字权限是4w 可写,数字权限是2x 可执行,数字权限是1每种身份(owner(属主)/group(属组)/others(其他人))各自的三个权限(r/w/x)分数是须要累加的,例如当权限为: -rwxrwx--- 分数则是:owner = rwx = 4+2+1 = 7group = rwx = 4+2+1 = 7others= --- = 0+0+0 = 0原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 12, 2021 · 1 min · jiezi

关于linux:搭建-JumpServer-堡垒机管理数万台游戏服务器

文章有点长请急躁看完哦! 1 Jumpserver 堡垒机概述-部署 Jumpserver 运行环境1.1跳板机概述跳板机就是一台服务器,开发或运维人员在保护过程中首先要对立登录到这台服务器,而后再登录到指标设施进行保护和操作。跳板机毛病:没有实现对运维人员操作行为的管制和审计,应用跳板机的过程中还是会呈现误操作、违规操作导致的事变,一旦呈现操作事变很难疾速定位到起因和责任人; 堡垒机概述:堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自内部和外部用户的入侵和毁坏,而使用各种技术手段实时收集和监控网络环境中每一个组成部分的零碎状态、安全事件、网络流动,以便集中报警、及时处理及审计定责。 总结:堡垒机比跳板机多了实时收集、监控网络环境、集中报警等性能。Jumpserver 概述:Jumpserver 是一款应用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等性能。JumpServer 现已反对治理 SSH、 Telnet、 RDP、 VNC 协定资产 官网网址: http://www.jumpserver.orgJumpServer 2 环境要求:硬件配置: 4 个 CPU 外围, 6G 内存, 50G 硬盘(最低) 1.2Jumpserver 试验拓扑图试验环境:xuegod63 IP : 192.168.1.63 jumpserver 服务端 6G 内存xuegod64 IP:192.168.1.64 资源,被治理的服务器 2G 内存 1.3初始化零碎环境初始化零碎环境敞开防火墙 [root@xuegod63 ~]# systemctl stop firewalld && systemctl disable firewalld敞开 selinux [root@xuegod63 ~]# setenforce 0永恒敞开(重启后失效,先设置长期再设置永恒。) [root@xuegod63 ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config1.4装置 jumpserver 所需相干服务主动部署 [root@xuegod63 ~]# curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.10.2/quick_start.sh | bashcd 进入装置治理目录启动 jms ...

July 12, 2021 · 3 min · jiezi

关于linux:Linux-动态库-undefined-symbol-原因定位与解决方法

在应用动静库开发部署时,遇到最多的问题可能就是 undefined symbol 了,导致这个呈现这个问题的起因有多种多样,疾速找到起因,采纳对应的办法解决是本文写作的目标。 可能的起因依赖库未找到这是最常见的起因,个别是没有指定查找目录,或者没有装置到零碎查找目录里链接的依赖库不统一 编译的时候应用了高版本,而后不同机器应用时链接的却是低版本,低版本可能缺失某些 api符号被暗藏如果动静库编译时被默认暗藏,内部代码应用了某个被暗藏的符号。c++ abi 版本不统一最典型的例子就是 gcc 4.x 到 gcc 5.x 版本之间的问题,在 4.x 编辑的动静库,不能在 5.x 中链接应用。解决办法1. 依赖库未找到 应用 ldd -r <lib-file-name>, 确定零碎库中是否存在所依赖的库执行 ldconfig 命令更新 ld 缓存执行 ldconfig -p | grep {SO_NAME} 查看是否能找到对应的库查看 LD_LIBRATY_PATH 是否设置了无效的门路2. 链接的库版本不统一如果零碎中之前有装置过雷同的库,或者存在多个库,就须要确定链接的具体是哪个库 有一个非凡场景须要留神下,.so 文件中有个默认 rpath 门路,用于搜寻被依赖的库,这个门路优先于系统目录和LD_LIBRARY_PATH。如果 rpath 存在雷同名字的 .so 文件,会优先加载这个门路的文件。 在遇到 undefined symbol 问题时,应用 readelf -d | grep rpath 查看: $ readelf -d libSXVideoEngineJni.so | grep rpath 0x000000000000000f (RPATH) Library rpath: [/home/slayer/workspace/SXVideoEngine-Core/Render/cmake-build-debug:/home/slayer/workspace/SXVideoEngine-Core/Render/../../SXVideoEngine-Core-Lib/blend2d/linux/lib]如果存在的门路中有相应的库,能够先重命名文件再测试确认。 对于连贯时的程序能够查看文档: http://man7.org/linux/man-pag... ...

July 12, 2021 · 3 min · jiezi

关于linux:Linux之目录结构

在 Windows 中,咱们会看到磁盘驱动器的标识,比方C:\,E:\,文件和目录名都跟在驱动器名前面。Linux 和 Windows 齐全不同,在 Linux 中你能够在根目录下运行ls,察看它的目录构造: / - 根目录顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点相似于 Windows中的磁盘驱动器符号。之后将会看到,所有其余目录都是以/结尾的。/bin - 寄存重要的用户二进制文件目录bin 是binary的缩写,/bin 目录寄存了十分重要的用户二进制文件,其实就是一些程序。须要特地阐明的是,/bin 中寄存的都是在单用户保护模式下还能被操作的命令,这些命令能够被 root 和普通用户应用。在 / bin 中咱们能够看到例如chmod、du这些咱们常常应用的 Linux 命令程序。/boot - 寄存系统启动时须要文件的目录/boot 中寄存的次要是系统启动时须要用到的文件,比方EFI、GRUB以及 Linux 内核。/dev - 设施文件目录Linux 将所有货色都看成文件,设施也不例外,不论是实体的硬件设施还是虚构设施。实体硬件比方第一块被检测到的硬盘会被挂载到/dev/sda,第二块会被挂载到/dev/sdb,以此类推。虚构设施比方null、random、stderr、stdin和stdout。/etc - 配置文件目录etc 的含意是Et cetera,示意一些相干的其余货色,/etc 从 UNIX 晚期开始就被用来寄存配置文件,始终沿用至今。须要留神的是,/etc 中寄存的是零碎配置文件,特定用户的配置文件放在每个用户的 / home 目录下。/home - 用户目录/home 目录中寄存的是每个用户的用户目录,比方有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中寄存的用户数据和用户配置文件,比方每个用户的.bashrc文件、.ssh目录等。普通用户只能拜访本人的用户目录而不能拜访他人的,root 用户则没有此限度。/lib - 重要的共享库目录/lib 目录中寄存的是/bin和/sbin中那些重要的二进制文件(程序)须要的共享库。另外/usr/bin中二进制文件(程序)须要的共享库都寄存在/usr/lib。/lost+found - 复原文件目录每个 Linux 文件系统都有 / lost+found 目录,当文件系统解体时,在下次启动时将会进行文件系统自检,任何在解体过程中损坏的文件都将被放入 / lost+found,你能够尝试找到并复原这些文件。 当你将一些可删除媒介挂(比方 CD,U 盘,光驱等)载到计算机上时,零碎会在 / media 下主动创立子目录,之后就能够通过拜访这个子目录来拜访媒介。比方你在电脑上插入 CD,在 / media 目录下就会主动生成一个子目录,你能够通过拜访这个子目录来拜访 CD 的内容。 ...

July 11, 2021 · 1 min · jiezi

关于linux:Linux之find命令的参数详解

find 常见的注意事项应用name选项文件名选项是find命令最罕用的选项,要么独自应用该选项,要么和其余选项一起应用。 能够应用某种文件名模式来匹配文件,记住要用引号将文件名模式引起来。 不论以后门路是什么,如果想要在本人的根目录$HOME中查找文件名合乎*.log的文件,应用~作为 'pathname'参数,波浪号~代表了以后用户的家目录。查找以后登录用户家目录的.log文件> find ~ -name "*.log"查找当前目录下以大写字母结尾的文件> find . -name "[A-Z]*"查找/etc目录下以sys结尾的文件> find /etc -name "sys*"查问当前目录下以大写字母结尾+3位数字的.png的图片> find . -name "[A-Z]*[0-9][0-9][0-9].png"用perm选项依照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好应用八进制的权限表示法。如在当前目录下查找文件权限位为755的文件,即文件属主能够读、写、执行,其余用户能够读、执行的文件,能够用> find . -perm 755 find -perm -mode , 示意mode中转换成二进制的1在文件权限位外面必须匹配,比方mode=644那么转换成二进制为110 100 100,而被查找的文件的权限位也能够被转换成一个二进制数,两者在位上为1的局部必须齐全匹配,而0则不论。例如被查找的文件的权限为转换成二进制数是111 111 111那么这个比方被匹配,而如果是100 100 100那么则不会匹配。所以这个'-'的作用归纳起来就是匹配比mode权限更短缺的文件(找不到什么词语来形容了)疏忽某个目录如果在查找文件时心愿疏忽某个目录,因为你晓得那个目录中没有你所要查找的文件,那么能够应用-prune选项来指出须要疏忽的目录。在应用-prune选项时要当心,因为如果你同时应用了-depth选项,那么-prune选项就会被find命令疏忽。如果心愿在当前目录下查找文件,但不心愿在./bin目录下查找,能够用> find . -path "./bin" -prune -o -print避开多个文件夹> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print圆括号示意表达式的联合。\示意援用,即批示shell不对前面的字符作非凡解释,而留给 find命令去解释其意义。查找某一确定文件,-name等选项加在-o 之后> find . \( -path "./bin" -o -path "./doc" \) -prune -o -name "*.txt" -printuser nouser 和 group nogroup在当前目录查找所属主是root的文件> find . -user root 查找当前目录所属主被删除的文件> find . -nouser在当前目录查找所属组是root的文件> find . -group root 查找当前目录所属组被删除的文件> find . -nogroup按工夫查找文件查找更改工夫在7日以内的文件> find . -mtime -7查找更改工夫在7日以前的文件> find . mtime +7查找比某个文件新或旧的文件查找更改工夫比文件a.log新但比文件b.log旧的文件> find . -newer a.log ! -newer b.log查找更改工夫在比a.log文件新的文件> find . -newer a.logtype选项在/etc目录下查找所有的目录> find /etc -type d在/etc目录下查找所有的符号链接文件> find /etc -type lsize参数能够依照文件长度来查找文件,这里所指的文件长度既能够用块(block)来计量,也能够用字节来计量。以字节计量文件长度的表达形式为N c;以块计量文件长度只用数字示意即可。在依照文件长度查找文件时,个别应用这种以字节示意的文件长度,在查看文件系统的大小,因为这时应用块来计量更容易转换。在当前目录下查找文件长度大于100M字节的文件> find . -size +100M应用depth选项在应用find命令时,可能心愿先匹配所有的文件,再在子目录中查找。应用depth选项就能够使find命令这样做。这样做的一个起因就是,当在应用find命令向磁带上备份文件零碎时,心愿首先备份所有的文件,其次再备份子目录中的文件。先输入子内容,再输入下层目录内容,直到最顶层> find test -depth ! -emptytest/test1/test2/test3test/test1/test2test/test1test````#### 先输入顶层目录,再输入上面的各层子目录内容,直到最低层:find test ! -emptytesttest/test1test/test1/test2test/test1/test2/test3### mount选项> 在以后的文件系统中查找文件(不进入其余文件系统),能够应用find命令的mount选项。#### 从当前目录开始查找位于本文件系统中文件名以`.txt`结尾的文件find . -mount -name "*.txt" -print原文链接:https://rumenz.com/rumenbiji/linux-find-summary.html

July 10, 2021 · 1 min · jiezi

关于linux:Linux之find-xargs

exec的问题参数太长在应用 find命令的-exec选项解决匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对可能传递给exec的命令长度有限度,这样在find命令运行几分钟之后,就会呈现溢出谬误argument line too long。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用途所在,特地是与find命令一起应用。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全副,不像-exec选项那样。这样它能够先解决最先获取的一部分文件,而后是下一批,并如此继续下去。过程过多在有些零碎中,应用-exec选项会为解决每一个匹配到的文件而发动一个相应的过程,并非将匹配到的文件全副作为参数一次执行;这样在有些状况下就会呈现过程过多,零碎性能降落的问题,因此效率不高; 而应用xargs命令则只有一个过程。另外,在应用xargs命令时,到底是一次获取所有的参数,还是分批获得参数,以及每一次获取参数的数目都会依据该命令的选项及零碎内核中相应的可调参数来确定。查问当前目录下所有权限是777的文件> find . -perm 777 | xargs ls -al查问当前目录下所有的.txt文件,并输入到指定文件a.log(没有换行)> find . -name *.txt | xargs echo > /tmp/a.logxargs只是简略地把\n变成空格,那么可能存在一些问题。比方文件名带空格,这时候xargs就有问题了。应用-n指定单行输入的个数-n num 前面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。查问当前目录下所有的.txt文件,并输入到指定文件b.log(有换行)> find . -name *.txt | xargs -n 1 echo > /tmp/b.log -n 1 每行只输入一个查问当前目录下查找所有用户具备读、写和执行权限的文件,并发出相应的写权限> find . -perm 777 | xargs chmod o-w查找当前目录下所有的.txt文件,并找出蕴含rumenz字符串的文件> find . -name *.txt | xargs grep -n "rumenz"查找当前目录下所有的.txt文件,并挪动到指定的目录> find . -name *.txt | xargs -i cp -rf {} /tmp; 加-i 参数间接用 {}就能代替管道之前的规范输入的内容应用-i参数默认的后面输入用{}代替,-I参数能够自定义后面的输入符号自定义后面输入的占位符是[]> find . -name *.txt | xargs -I [] cp -rf [] /tmp-p参数提醒是否执行> find . -name *.log | xargs -p -i mv {} /tmp-p参数会提醒让你确认是否执行前面的命令,y执行,n不执行。批量下载文件url.txt都是须要下载的链接地址> cat url.txt | xargs wget -c总结:什么时候用-i如果命令前面能够跟内容,且没有目标门路的时候,能够省略-i,否则得加上。原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 9, 2021 · 1 min · jiezi

关于linux:SHell-的远程传递

SHell 的近程传递0x00家喻户晓,有个命令叫 rsync 。 不晓得?那你可能听过 scp ,都不晓得也没事,正好。 个别,你想往远处( 10.60.111.124 )用指定用户( heihei )的指定目录( $HOME/yoyo )里,传过来一个文件( oho.iex ),这个文件就在当前目录。 (对本机来说也就是上传本地文件到远端某目录) 那么个别的做法就是这样: rsync -avz -- oho.iex heihei@10.60.111.124:yoyo这样的话能做到以下几件事: 完全相同的文件如果曾经在目标目录存在,这个文件就不会被传输;文件名雷同文件内容不同则会笼罩。选项 a 使得这个文件的元数据信息(创立工夫、批改工夫、文件归属等这些并不存在文件内容里的信息)失去保留;选项 z 会开启压缩即上传前先压缩过了网络后再主动解压,这样就能省流;选项 v 则是显示传输过程,有没有都不影响传输终局。因为要上传的文件就在当前目录,所以 -- 前面的 oho.iex 连相对路径的 ./ 也不必写,更不须要写绝对路径。又因为文件夹正好在这个用户的 $HOME 目录下,所以冒号 : 前面也不必写绝对路径。事实上,如果只有冒号 : 前面空着,文件就会被上传到所应用用户 heihei 的家目录。(但如果你冒号都没写,这个工具就认为你只是把文件从本地传到本地,就会当前目录建设一个 heihei@10.60.111.124 文件夹而后把文件复制进去。。。) 从远端( 10.60.111.128 )通过指定用户( haha )把指定文件( /etc/profile.d/miaomiao.sh )拉到本地指定目录(当前目录 . ),也是相似的。 (对本机来说也就是下载指定文件到本地指定目录) 你能够这样写: rsync -avz -- haha@10.60.111.128:/etc/profile.d/miaomiao.sh .这个应该不必解说了吧。。。 然而,还有个问题:这个软件须要对面也装了才行。而且还得不能出错。 0x01如果只关怀文件内容的传递,只有你们两边都有 SSH ,那么大能够像这样做: 拉取(对本机来说算下载) ssh haha@10.60.111.128 -- 'cat /etc/profile.d/miaomiao.sh' > miaomiao.sh推送(对本机来说算上传) ...

July 9, 2021 · 3 min · jiezi

关于linux:socket描述符的那些事

前几天看到有人发的一个面试题,问的是MySQL连贯的过程描述符的问题。 在Linux里,所有皆文件,那过程描述符,理论就是文件描述符了。 咱们还晓得Linux 内核提供了一种通过 proc文件系统,/proc 文件系统是一个虚构文件系统,通过它能够应用一种新的办法在 Linux内核空间和用户间之间进行通信。在 /proc文件系统中,咱们能够将对虚构文件的读写作为与内核中实体进行通信的一种伎俩,然而与一般文件不同的是,这些虚构文件的内容都是动态创建的。用户和应用程序能够通过proc失去零碎的信息,并能够扭转内核的某些参数。 /proc目录通常对用户来说是只读的,如果你间接在bash下想要批改一个文件是权限有余的。然而对系统来说是可写的,因而也就能够通过编程来实现增删改查。 查看socket描述符那么,这个文件描述符就肯定是在/proc 目录了。想必那就是在相应过程的/proc/$pid/fd 目录下寄存了此过程所有关上的fd。 [root@localhost fd]# pwd/proc/1723/fd[root@manager 1723]# ll fd|grep socketlrwx------ 1 root root 64 Jul 7 13:49 103 -> socket:[5722374]lrwx------ 1 root root 64 Jul 7 13:49 104 -> socket:[5057632]lrwx------ 1 root root 64 Jul 7 13:49 105 -> socket:[5722375]lrwx------ 1 root root 64 Jul 7 13:49 106 -> socket:[5057636]lrwx------ 1 root root 64 Jul 7 13:49 107 -> socket:[5983188]lrwx------ 1 root root 64 Jul 7 13:49 124 -> socket:[5983189]lrwx------ 1 root root 64 Jul 7 13:49 130 -> socket:[27456]lrwx------ 1 root root 64 Jul 7 13:49 131 -> socket:[27458]lrwx------ 1 root root 64 Jul 7 13:49 132 -> socket:[27460]lrwx------ 1 root root 64 Jul 7 13:49 51 -> socket:[23447]lrwx------ 1 root root 64 Jul 7 13:49 52 -> socket:[23448]lrwx------ 1 root root 64 Jul 7 13:49 78 -> socket:[5057630]lrwx------ 1 root root 64 Jul 7 13:49 79 -> socket:[5721339]lrwx------ 1 root root 64 Jul 7 13:49 80 -> socket:[3639663]lrwx------ 1 root root 64 Jul 7 13:49 81 -> socket:[5057631]lrwx------ 1 root root 64 Jul 7 13:49 82 -> socket:[5721340]lrwx------ 1 root root 64 Jul 7 13:49 95 -> socket:[5722372]这个后果,和netant看到的相差无几 ...

July 9, 2021 · 4 min · jiezi

关于linux:Linux之find-exec

exec解释-exec参数前面跟的是command命令,它的终止是以;为完结标记的,所以这句命令前面的分号是不可短少的,思考到各个系统中分号会有不同的意义,所以后面加反斜杠。{}花括号代表后面find查找进去的文件名。应用find时,只有把想要的操作写在一个文件里,就能够用exec来配合find查找,很不便的。在有些操作系统中只容许-exec选项执行诸如ls或ls -l这样的命令。大多数用户应用这一选项是为了查找旧文件并删除它们。倡议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。 exec选项前面跟随着所要执行的命令或脚本,而后是一对儿{},一个空格和一个\,最初是一个分号。为了应用exec选项,必须要同时应用print选项。如果验证一下find命令,会发现该命令只输入从以后门路起的相对路径及文件名。查找当前目录下所有.txt文件并打印出具体的文件信息> find . -type f -name "*.txt" -exec ls -l {} \;查找当前目录下内容批改工夫是30天以前的.log文件并删除> find . -type f -name "*.log" -mtime +30 -exec rm {} \;在shell中用任何形式删除文件之前,该当先查看相应的文件,肯定要小心!当应用诸如mv或rm命令时,能够应用-exec选项的平安模式。它将在对每个匹配到的文件进行操作之前提醒你。查找当前目录下内容批改工夫是30天以前的.log文件并删除,删除前给出提醒> find . -type f -name "*.log" -mtime +30 -ok rm {} \;在下面的例子中, find命令在当前目录中查找所有文件名以.log结尾、更改工夫在30日以上的文件,并删除它们,只不过在删除之前先给出提醒。 按y键删除文件,按n键不删除。-exec应用grep> find / -name "passwd*" -exec grep "root" {} \;任何模式的命令都能够在-exec选项中应用。 在下面的例子中咱们应用grep命令。find命令首先匹配所有文件名为passwd*的文件,而后执行grep命令看看在这些文件中是否存在一个root用户查找当前目录下所有的.log文件并挪动到指定目录> find . -name "*.log" -exec mv {} ../rumenz \;原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站

July 8, 2021 · 1 min · jiezi

关于linux:使用tar-命令进行文件的归档和压缩

归档和压缩文件归档和压缩文件的益处:节约硬盘的资源 ,放慢文件传输速率tar 命令 作用:打包、压缩文件这幅图的就是说 123456 这几个文件打包成了一个 a.tar 文件,然而这个 a.tar 还是很大,持续用gzip 进行压缩,变成了一个更小的压缩文件。 作用:打包、压缩文件;tar 文件是把几个文件和(或)目录汇合在一个文件里,该存档文件能够通过应用 gzip、bzip2 或 xz 等压缩工具进行行压缩后传输 查看 man tar 这里 man 不是男人的意思,是 manual 手册的缩写用法:tar [OPTION...] [FILE]...参数: -c create 创立文件-x -extract [ekstrækt] 提取 解压还原文件-v --verbose 显示执行具体过程-f --file 指定备份文件-t --list 列出压缩包中包含哪些文件,不解包,查看包中的内容-C (大写)--directory指定解压地位 示例1:给/boot/grub2 目录 打包[root@xuegod63 ~]# tar -cvf grub.tar /boot/grub2/ # tar 的参数前能够不应用‘-’[root@xuegod63 ~]# tar cvf grub.tar /boot/grub2/[root@xuegod63 ~]# tar cf grub.tar /boot/grub2/tar: 从成员名中删除结尾的“/”(就是把/根门路删除掉了,就变成了 boot/grub2 相对路径了,解压时会解压到当前目录,如果不删除,那就是/boot/grub2,当解压的时候就是绝对路径了,就会笼罩零碎中此门路的文件) [root@xuegod63 ~]# tar -cf grub.tar /boot/grub2/tar: 从成员名中删除结尾的“/” ...

July 8, 2021 · 2 min · jiezi

关于linux:查看Linux端口占用并关掉相关进程

话不多说,本文介绍Linux惯例操作:查看端口占用过程,依据PID kill掉相干过程。另外补充:依据程序名查看过程PID。首先,两条命令,lsof命令和netstat命令。形式一:lsof命令1、查看占用端口过程的PID: lsof -i:{端口号} 2、依据PID kill掉相干过程: kill -9 {PID} 形式二:netstat命令1、查看占用端口过程的PID: netstat -tunlp|grep {port} 2、kill办法如上。 kill -9 {PID}补充1:依据程序名查看对应的PID1、用ps命令(zb专用): ps -ef | grep {programName}kill -9 {PID}查看具体内存占用ps aux -u root | grep {programName}2、用pgrep命令: pgrep命令的p表明了这个命令是专门用于过程查问的grep。 pgrep {programName}kill -9 {PID}补充2:依据PID查看对应的过程 ps -aux |grep -v grep|grep {$PID}想要理解更多相干技术加我理解

July 7, 2021 · 1 min · jiezi

关于linux:Centos80编译安装稳定最新版的nginx

nginx有三个版本模式,无关具体介绍能够拜访我以前写的这篇博文,https://blog.csdn.net/qq_41684621/article/details/101900843上面介绍我装置最新稳定版的 nginx1.161,这是目前为止最新的稳固版本装置之前其实网上也有一大堆的介绍装置nginx的教程,但都太过于繁琐了,不适宜刚入门的小白来装置,上面就是我总结出的装置教程。装置nginx之前先装置一些依赖yum -y install gcc gcc-c++yum -y install gcc gcc-c++ autoconf automake make //装置c编译器yum -y install pcre-devel openssl-develwget下载nginx1.161版本,如我下载的门路为:/usr/local/wget http://nginx.org/download/nginx-1.16.1.tar.gz解压下载好的安装包tar -zxvf nginx-1.16.1.tar.gz进入到解压好的nginx目录下——》nginx-1.16.1,编译装置./configure --prefix=/usr/local/nginxmake && make install接着就会呈现nginx的启动目录了进入到nginx目录下的,启动nginx,上面是罕用的命令./nginx //启动./nginx -s stop //进行./nginx -s reload //重载配置装置胜利了:我这里给大家举荐两个疾速启动nginx的办法,省的当前就不必每次都去 /usr/local/nginx/sbin 下执行命令了,就能够在任何目录上来执行nginx的命令了 建设个软连贯,软连贯相似于Windows下的快捷方式,个别放在/usr/local/sbin或/usr/local/bin上来执行,sbin是root治理执行的目录,bin是普通用户治理执行的目录。具体用法是:ln -s 源文件 指标文件。ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin进入到/usr/local/sbin目录下:如果不想用软连贯,也能够删除掉。正确的删除形式(删除软链接,但不删除理论数据) rm -rf 【软链接地址】上述指令中,软链接地址最初不能含有“/”,当含有“/”时,删除的是软链接目标目录下的资源,而不是软链接自身。 将nginx永恒退出到零碎环境变量,php、mysql 的办法跟这个配置一样,都是要配置XXX_HOME、PATH的。接下来配置环境变量在/etc/profile 中退出:export NGINX_HOME=/usr/local/nginxexport PATH=$PATH:$NGINX_HOME/sbin保留退出后,执行 source /etc/profile ,使配置文件失效。 接下来测试下:nginx -v这个时候配置好了环境变量就能够在任何目录下执行nginx启动、进行或重装配置了,这个时候就不必 ./ 了 nginx //启动nginx -s stop //进行nginx -s reload //重载配置无关nginx具体介绍的装置步骤,能够拜访:https://www.nginx.cn/install

July 6, 2021 · 1 min · jiezi

关于linux:Linux之find常用命令汇总

查找当前目录下文件名rumenz.txt> find rumenz.txtrumenz.txt查找/home下文件名为ruemnz.txt的文件,疏忽大小写> find /home -iname rumenz.txt应用名称查找目录> find / -type d -name rumenz查找当前目录下所有的php的文件> find -type f -name "*.php"查找777个权限的文件> find / -type f -perm 777查找具备644个权限的SGID文件> find / -perm 2644找到具备551权限的粘滞位文件查找权限为551的所有Sticky Bit设置文件。> find / -perm 1551查找SUID文件> find / -perm /u=s查找只读文件> find / -perm /u=r查找可执行文件> find / -perm /a=x查找到777权限的文件并将权限批改为755> find / -type d -perm 777 -print -exec chmod 755 {} \;查找并删除文件> find / -type f -name "*.log" -exec rm -f {} \;查找所有空文件> find / -type f -empty 查找所有的空目录> find / -type d -empty查找所有暗藏文件> find / -type f -name ".*"查找所属组是root的所有文件> find / -user root -name "*.sh"查找所属组是dev的所有文件> find / -group dev查找最近30天被批改内容的文件> find / -mtime -50 -type f查找最初30-100天批改内容的文件> find / -mtime +30 -mtime -100查找过来60分钟被批改过的文件> find / -mmin -60 -type f查找最近60分钟被拜访过的文件> find / -amin -60 -type f查找50M的文件> find / -size 50M -type f查找文件大小在30M到100M的文件> find / -size +30M -size -100M -type f查找文件大于500M的文件删除> find / -size +500M -exec rm -rf {} \;查找所有大于500M的.log结尾的文件,并删除> find / -size +500M -type f -exec rm -rf {} \;原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门小站 ...

July 6, 2021 · 1 min · jiezi

关于linux:IO-多路复用原理

为了讲多路复用,当然还是要跟风,采纳鞭尸的思路,先讲讲传统的网络 IO 的弊病,用拉踩的形式捧起多路复用 IO 的劣势。 为了不便了解,以下所有代码都是伪代码,晓得其表白的意思即可。 Let's go 阻塞 IO 服务端为了解决客户端的连贯和申请的数据,写了如下代码。 listenfd = socket();   // 关上一个网络通信端口bind(listenfd);        // 绑定listen(listenfd);      // 监听while(1) {  connfd = accept(listenfd);  // 阻塞建设连贯  int n = read(connfd, buf);  // 阻塞读数据  doSomeThing(buf);  // 利用读到的数据做些什么  close(connfd);     // 敞开连贯,循环期待下一个连贯}这段代码会执行得磕磕绊绊,就像这样。 能够看到,服务端的线程阻塞在了两个中央,一个是 accept 函数,一个是 read 函数。 如果再把 read 函数的细节开展,咱们会发现其阻塞在了两个阶段。 这就是传统的阻塞 IO。 整体流程如下图。 所以,如果这个连贯的客户端始终不发数据,那么服务端线程将会始终阻塞在 read 函数上不返回,也无奈承受其余客户端连贯。 这必定是不行的。 非阻塞 IO ============== 为了解决下面的问题,其关键在于革新这个 read 函数。 有一种聪慧的方法是,每次都创立一个新的过程或线程,去调用 read 函数,并做业务解决。 while(1) {  connfd = accept(listenfd);  // 阻塞建设连贯  pthread_create(doWork);  // 创立一个新的线程}void doWork() {  int n = read(connfd, buf);  // 阻塞读数据  doSomeThing(buf);  // 利用读到的数据做些什么  close(connfd);     // 敞开连贯,循环期待下一个连贯}这样,当给一个客户端建设好连贯后,就能够立即期待新的客户端连贯,而不必阻塞在原客户端的 read 申请上。 不过,这不叫非阻塞 IO,只不过用了多线程的伎俩使得主线程没有卡在 read 函数上不往下走罢了。操作系统为咱们提供的 read 函数依然是阻塞的。 所以真正的非阻塞 IO,不能是通过咱们用户层的小把戏,而是要恳请操作系统为咱们提供一个非阻塞的 read 函数。 这个 read 函数的成果是,如果没有数据达到时(达到网卡并拷贝到了内核缓冲区),立即返回一个谬误值(-1),而不是阻塞地期待。 操作系统提供了这样的性能,只须要在调用 read 前,将文件描述符设置为非阻塞即可。 fcntl(connfd, F_SETFL, O_NONBLOCK);int n = read(connfd, buffer) != SUCCESS);这样,就须要用户线程循环调用 read,直到返回值不为 -1,再开始解决业务。 这里咱们留神到一个细节。 非阻塞的 read,指的是在数据达到前,即数据还未达到网卡,或者达到网卡但还没有拷贝到内核缓冲区之前,这个阶段是非阻塞的。 当数据已达到内核缓冲区,此时调用 read 函数依然是阻塞的,须要期待数据从内核缓冲区拷贝到用户缓冲区,能力返回。 ...

July 6, 2021 · 2 min · jiezi

关于linux:Linux之find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果应用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全副进行显示。在运行一个十分耗费资源的find命令时,很多人都偏向于把它放在后盾执行,因为遍历一个大的文件系统可能会破费很长的工夫。命令格局> find pathname -options [-print -exec -ok ...] 命令性能用于在文件树种查找文件,并作出相应的解决命令参数-amin<分钟>:查找在指定工夫曾被存取过的文件或目录,单位以分钟计算;-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更靠近当初的文件或目录;-atime<24小时数>:查找在指定工夫曾被存取过的文件或目录,单位以24小时计算;-cmin<分钟>:查找在指定工夫之时被更改过的文件或目录;-cnewer<参考文件或目录>查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;-ctime<24小时数>:查找在指定工夫之时被更改的文件或目录,单位以24小时计算;-daystart:从本日开始计算工夫;-depth:从指定目录下最深层的子目录开始查找;-empty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;-exec<执行指令>:假如find指令的回传值为True,就执行该指令;-false:将find指令的回传值皆设为False;-fls<列表文件>:此参数的成果和指定“-ls”参数相似,但会把后果保留为指定的列表文件;-follow:排除符号连贯;-fprint<列表文件>:此参数的成果和指定“-print”参数相似,但会把后果保留成指定的列表文件;-fprint0<列表文件>:此参数的成果和指定“-print0”参数相似,但会把后果保留成指定的列表文件;-fprintf<列表文件><输入格局>:此参数的成果和指定“-printf”参数相似,但会把后果保留成指定的列表文件;-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;-gid<群组识别码>:查找合乎指定之群组识别码的文件或目录;-group<群组名称>:查找合乎指定之群组名称的文件或目录;-help或——help:在线帮忙;-ilname<范本款式>:此参数的成果和指定“-lname”参数相似,但疏忽字符大小写的差异;-iname<范本款式>:此参数的成果和指定“-name”参数相似,但疏忽字符大小写的差异;-inum<inode编号>:查找合乎指定的inode编号的文件或目录;-ipath<范本款式>:此参数的成果和指定“-path”参数相似,但疏忽字符大小写的差异;-iregex<范本款式>:此参数的成果和指定“-regexe”参数相似,但疏忽字符大小写的差异;-links<连贯数目>:查找合乎指定的硬连接数目标文件或目录;-iname<范本款式>:指定字符串作为寻找符号连贯的范本款式;-ls:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入;-maxdepth<目录层级>:设置最大目录层级;-mindepth<目录层级>:设置最小目录层级;-mmin<分钟>:查找在指定工夫曾被更改过的文件或目录,单位以分钟计算;-mount:此参数的成果和指定“-xdev”雷同;-mtime<24小时数>:查找在指定工夫曾被更改过的文件或目录,单位以24小时计算;-name<范本款式>:指定字符串作为寻找文件或目录的范本款式;-newer<参考文件或目录>:查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;-nogroup:找出不属于本地主机群组识别码的文件或目录;-noleaf:不去思考目录至多需领有两个硬连贯存在;-nouser:找出不属于本地主机用户识别码的文件或目录;-ok<执行指令>:此参数的成果和指定“-exec”相似,但在执行指令之前会先询问用户,若答复“y”或“Y”,则放弃执行命令;-path<范本款式>:指定字符串作为寻找目录的范本款式;-perm<权限数值>:查找合乎指定的权限数值的文件或目录;-print:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为每列一个名称,每个名称前皆有“./”字符串;-print0:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为全副的名称皆在同一行;-printf<输入格局>:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局能够自行指定;-prune:不寻找字符串作为寻找文件或目录的范本款式;-regex<范本款式>:指定字符串作为寻找文件或目录的范本款式;-size<文件大小>:查找合乎指定的文件大小的文件;-true:将find指令的回传值皆设为True;-type<文件类型>:只寻找合乎指定的文件类型的文件;-uid<用户识别码>:查找合乎指定的用户识别码的文件或目录;-used<日数>:查找文件或目录被更改之后在指定工夫曾被存取过的文件或目录,单位以日计算;-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;-version或——version:显示版本信息;-xdev:将范畴局限在后行的文件系统中;-xtype<文件类型>:此参数的成果和指定“-type”参数相似,差异在于它针对符号连贯查看。几个容易被搞混的参数-amin n 查找零碎中最初n分钟拜访的文件(如:cat)-atime n 查找零碎中最初n*24小时拜访的文件(如:cat)-cmin n 查找零碎中最初n分钟被扭转文件状态的文件(如:批改文件的权限)-ctime n 查找零碎中最初n*24小时被扭转文件状态的文件(如:批改文件的权限)-mmin n 查找零碎中最初n分钟被扭转文件数据的文件(如:批改文件的内容)-mtime n 查找零碎中最初n*24小时被扭转文件数据的文件(如:批改文件的内容)n有正负之分,n示意文件更改工夫间隔为n天(分钟), -n示意文件更改工夫间隔在n天(分钟)以内,+n示意文件更改工夫间隔在n天(分钟)以前。以mtime为例子-mtime 0 示意文件批改工夫间隔以后为0天的文件,即间隔以后工夫不到1天(24小时)以内的文件。-mtime 1 示意文件批改工夫间隔以后为1天的文件,即间隔以后工夫1天(24小时-48小时)的文件。-mtime +1 示意文件批改工夫为大于1天的文件,即间隔以后工夫2天(48小时)之外的文件-mtime -1 示意文件批改工夫为小于1天的文件,即间隔以后工夫1天(24小时)之内的文件为什么-mtime +1 示意文件批改工夫为大于1天的文件,即间隔以后工夫48小时之外的文件,而不是24小时之外的呢?因为n值只能是整数,即比1大的最近的整数是2,所有-mtime +1不是比以后工夫大于1天(24小时),而是比以后工夫大于2天(48小时)。查找零碎中24小时以内被拜访过的文件> find / -atime -1查找零碎中24小时以内被批改过内容的文件> find / -mtime -1查找零碎中48小时之前被批改过内容的文件> find / -mtime +1查找零碎中所有的.log结尾的文件> find / -name *.log查找零碎中文件大于100M的文件> find / -size +100Mb —— 块(512字节)c —— 字节w —— 字(2字节)k —— 千字节M —— 兆字节G —— 吉字节查找零碎中文件大于100M小于500M的文件> find / -type f -size +100M -size -500M查找零碎中文件大于500M的文件,并删除> find / -type f -size +500M -delete或> find / -type f -size +500M -exec rm -rf {} \;或> find / -type f -size +500M | xargs rm 查找零碎中权限为777的文件> find / -perm 777查找零碎中的空文件> find / -empty -type f原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

July 5, 2021 · 1 min · jiezi

关于linux:W6-网络

1、总结形容TCP三次握手四次挥手三次握手 第一次握手:建设连贯时,Client将标记位SYN置为1,序号seq=j(也可能是其余),并发送该SYN包到Server端,进入SYN_SEND状态,期待Server确认 第二次握手:Server收到SYN包,由标记位SYN=1晓得Client申请连贯,Server要给Client确认,确认包中标记位SYN和ACK都为1,ack=j+1,序号seq=k,发送完SYN+ACK包后,Server进入SYN_RECV状态 第三次握手:Client 收到Server的SYN+ACK包,查看ack是否为j+1,ACK是否为1,如果正确则将标记位ACK置为1,ack=k+1,并将该包回复给Server,Server查看ack是否为k+1,ACK是否为1,如果正确则连贯建设胜利,Client和Server进入ESTABLISHED状态,实现三次握手,Client和Server开始传送数据 四次挥手 第一次挥手:Client发送一个FIN给Server,用来敞开Client到Server的数据传送,Client进入FIN_WAIT_1状态 第二次挥手:Server收到FIN后,发送一个ACK给Clinet,确认序号为收到序号+1,Server进入CLOSE_WAIT状态 第三次挥手:Server发送一个FIN给Clinet,用来敞开Server到Client的数据传送,Server进入到LAST_ACK状态 第四次挥手:Clinet收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLose状态,实现四次握手. 2、形容TCP和UDP区别协定区别TCPUDP数据包发送对数据进行分包不分包,一次发送全部内容连贯须要建设不须要建设,单向传输传输性能不高,须要屡次确认高交付残缺交付,失落会重传,保障达到无奈保障牢靠交付,失落不会重传数据类型数据段数据报,应用层给多少,就包装多少,一次传输一个报文首部20字节8字节拥挤管制有没有3、总结ip分类以及每个分类能够调配的IP数量分类阐明可调配IP数A网络ID最高8位,主机ID24位低位2^24-2=16777214B网络ID最高16位,主机ID16位低位2^16-2=65534C网络ID最高24位,主机ID8位低位2^8-2=254D组播1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z E保留未应用,240-255 4、总结IP配置办法IP配置能够动静DHCP配置,也能够动态指定配置 须要更改/etc/sysconfig/network-scripts/ifcfg-xx结尾的文件 # 动态IP配置TYPE=EthernetIPADDR=10.0.0.81PREFIX=8GATEWAY=10.0.0.1DNS1=10.0.0.8 # 也能够改成其余的NAME=eth0DEVICE=eth0ONBOOT=yes# 动静IP配置BOOTPROTO=dhcpNAME=eth0DEVICE=eth0ONBOOT=yes能够应用 ifconfig\ip\nmcli命令配置IP地址 命令创立IPifconfigifconfig eth0 192.168.1.125/24ipip addr add 192.168.1.125/24 dev eth0nucleinmcli c modify eth0 +ipv4.addresses 192.168.1.125/245、应用nmcli实现bondingbonding 将多网卡绑定同一IP对外提供服务,实现高可用或负载平衡 应用配置文件实现 /etc/sysconfig/network-scripts/ifcfg-bond0TYPE=bondDEVICE=bond0BOOTPROTO=noneIPADDR=10.0.0.100 # 共用的IP地址,对外提供服务PREFIX=8#miimon指定链路监测工夫距离。如果miimon=100,那么零碎每100ms 监测一次链路连贯状态,如果有一 条线路不通就转入另一条线路BONDING_OPTS="mode=1 miimon=100"/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesONBOOT=yes/etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneMASTER=bond0SLAVE=yesONBOOT=yes应用nmcli实现 #增加bonding接口nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup #增加隶属接口nmcli con add type bond-slave ifname eth0 master bond0nmcli con add type bond-slave ifname eth1 master bond0 #注:如有为隶属接口提供连贯名,则该名称是接口名称加类型形成#要启动绑定,则必须首先启动隶属接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1#启动绑定nmcli con up mybond0

July 5, 2021 · 1 min · jiezi

关于linux:W5-硬盘和文件系统

1、毁坏mbr表并修复 # 破环mbr表dd if=/dev/zero of=/dev/sda bs=1 count=446# 进入光盘启动模式chroot /mnt/sysiamgegrub2-install /dev/sda # grub-install if centos6sync reboot 2、总结RAID的各个级别及其组合形式和性能的不同。 名称组合形式性能安全性RAID0至多2块硬盘串联很高,读写能力成倍不高,没有容错冗余,一块坏就被毁坏RAID1至多2块,镜像备份读性能晋升,写降落高,能够坏一块,有备份RAID4至多3块,其中一块用作校验盘,残余串联读写都晋升高,容许任意一块坏,然而校验盘总是坏RAID5至多3块,校验放在每个盘上读写都晋升高,75%的利用率RAID6至多4块,校验信息减少到2位,串联读写都晋升高,能够容许坏2块RAID10至多4块,先2块组RAID1,剩下2个组RAID0,读写都晋升每组镜像能够坏1个,50%利用率RAID50至多6块,先实现RAID5,再实现RAID0读写都晋升每组都可坏一块,最多容许坏2个3、创立一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统 ext4,卷标为TEST,要求此分区开机后主动挂载至/test目录,且默认有acl挂载选项 # 1 增加硬盘并扫描echo "---"> /sys/class/scsi_host/host0/scan# 2 格式化分区fdisk /dev/sdb# 3 空间抉择2G# 4 文件系统mkfs.ext4 -t ext4 -b 2048 -m 1 -L TEST# 5 编辑 /etc/fstab 增加开机挂载UUID=4274fb9f-8cef-4d77-89ce-6c2387eb7de6 /test ext4 acl 0 04、创立一个至多有两个PV组成的大小为20G的名为testvg的VG;要求PE大小 为16MB, 而后在卷组中创立大小为5G的逻辑卷testlv;挂载至/users目录 # 1 增加2块硬盘并扫描echo "---"> /sys/class/scsi_host/host0/scan# 2 格式化新硬盘并分区fdisk /dev/sdbfdisk /dev/sdc# 两个硬盘都增加10G的分区# 3 创立 pvpvcreate /dev/sdb /dev/sdc# 4 创立vg,名为 testvg,pe大小为16Mvgcreate testvg /dev/sdb /dev/sdc -s 16M# 5 创立lv 大小5G,testlvlvcreste -n testlv -L 5G testvg# 6 文件系统mkfs.xfs /dev/testvg/testlv# 7 挂载mount /dev/testvg/testlv /users/5、简述osi七层模型和TCP/IP五层模型 ...

July 5, 2021 · 1 min · jiezi

关于linux:Linux之locate命令

命令简介locate(locate) 命令用来查找文件或目录。 locate命令要比find -name快得多,起因在于它不搜寻具体目录,而是搜寻一个数据库/var/lib/mlocate/mlocate.db 。这个数据库中含有本地所有文件信息。Linux零碎主动创立这个数据库,并且每天自动更新一次,因而,咱们在用whereis和locate查找文件时,有时会找到曾经被删除的数据,或者刚刚建设文件,却无奈查找到,起因就是因为数据库文件没有被更新。为了防止这种状况,能够在应用locate之前,先应用updatedb命令,手动更新数据库。整个locate工作其实是由四局部组成的。/usr/bin/updatedb 次要用来更新数据库,通过crontab主动实现的/usr/bin/locate 查问文件地位/etc/updatedb.conf updatedb的配置文件/var/lib/mlocate/mlocate.db 寄存文件信息的文件如果零碎中没有此命令//Centos> yum install mlocate -y//Ubuntu> sudo apt-get install mlocate -y首次应用须要执行updatedb,不然会呈现locate: can not stat () /var/lib/mlocate/mlocate.db': No such file or directory`用法locate [OPTION]... [PATTERN]...命令参数-e 将排除在寻找的范畴之外。-1 如果 是 1.则启动平安模式。在平安模式下,使用者不会看到权限无奈看到 的档案。这会使速度减慢,因为 locate 必须至理论的档案零碎中获得档案的 权限材料。-f 将特定的档案零碎排除在外,例如咱们没有必要把 proc 档案零碎中的档案 放在资料库中。-q 宁静模式,不会显示任何谬误讯息。-n 至少显示 n个输入。-r 应用正规运算式 做寻找的条件。-o 指定材料库存的名称。-d 指定资料库的门路-h 显示辅助讯息-V 显示程式的版本讯息查找和pwd相干的所有文件> locate pwd/etc/.pwd.lock/home/cpt/.local/share/fish/generated_completions/pwd.fish/home/cpt/.local/share/fish/generated_completions/pwdx.fish/root/.local/share/fish/generated_completions/pwd.fish/root/.local/share/fish/generated_completions/pwdx.fish/root/Python-3.6.4/Doc/library/pwd.rst/root/Python-3.6.4/Doc/library/spwd.rst/root/Python-3.6.4/Lib/test/test_pwd.py/root/Python-3.6.4/Lib/test/test_spwd.py/root/Python-3.6.4/Modules/pwdmodule.c/root/Python-3.6.4/Modules/pwdmodule.o/root/Python-3.6.4/Modules/spwdmodule.c/root/Python-3.6.4/Modules/clinic/pwdmodule.c.h/root/Python-3.6.4/Modules/clinic/spwdmodule.c.h/root/Python-3.6.4/build/lib.linux-x86_64-3.6/spwd.cpython-36m-x86_64-linux-gnu.so/root/Python-3.6.4/build/temp.linux-x86_64-3.6/root/Python-3.6.4/Modules/spwdmodule.o/usr/bin/pwd/usr/bin/pwdx/usr/include/pwd.h/usr/lib/golang/src/syscall/pwd_plan9.go/usr/lib/modules/3.10.0-1062.9.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib/modules/3.10.0-1160.11.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz/usr/lib64/cracklib_dict.pwd/usr/lib64/python2.7/lib-dynload/spwdmodule.so/usr/lib64/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/python/lib/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/python/lib/python3.6/test/test_pwd.py/usr/local/python/lib/python3.6/test/test_spwd.py/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.opt-1.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.opt-2.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_pwd.cpython-36.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.opt-1.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.opt-2.pyc/usr/local/python/lib/python3.6/test/__pycache__/test_spwd.cpython-36.pyc/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/lib-dynload/spwd.cpython-36m-x86_64-linux-gnu.so/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/test/test_pwd.py/usr/local/share/jcloud/jdog-monitor/deploy/kunlunmirror/9_de96bb875c9807de5e4a6e11fdea0b07/lib64/python3.6/test/test_spwd.py/usr/sbin/unix_chkpwd/usr/share/cracklib/cracklib-small.pwd/usr/share/cracklib/pw_dict.pwd/usr/share/fish/functions/__fish_pwd.fish/usr/share/fish/functions/prompt_pwd.fish/usr/share/fish/man/man1/prompt_pwd.1/usr/share/fish/man/man1/pwd.1/usr/share/man/man1/pwd.1.gz/usr/share/man/man1/pwdx.1.gz/usr/share/man/man8/unix_chkpwd.8.gz/usr/share/man/mann/pwd.n.gz搜寻etc目录下所有以sh结尾的文件> locate /etc/sh/etc/shadow/etc/shadow-/etc/shells输入locate所应用的数据库文件的相干信息,包含该数据库记录的文件/目录数量等> locate -SDatabase /var/lib/mlocate/mlocate.db: 289,742 directories 516,673 files 60,174,514 bytes in file names 52,034,824 bytes used to store databaseupdatedb的配置文件/etc/updatedb.conf> cat /etc/updatedb.conf PRUNE_BIND_MOUNTS = "yes"PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"PRUNENAMES = ".git .hg .svn"PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"PRUNE_BIND_MOUNTS = "yes" #开启搜寻限度PRUNEFS = #搜寻时不搜寻的文件系统PRUNENAMES = #搜寻时不搜寻的文件类型PRUNEPATHS = 搜寻时不搜寻的门路原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

July 4, 2021 · 1 min · jiezi

关于linux:TCP-是如何建立连接的

TCP:SYN ACK FIN RST PSH URG简析 三次握手Three-way Handshake Understanding TCP Connection with Examples 一个虚构连贯的建设是通过三次握手来实现的 (B) --> [SYN] --> (A)如果服务器A和客户机B通信. 当A要和B通信时,B首先向A发一个SYN (Synchronize) 标记的包,通知A申请建设连贯. 留神: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头Resources). 意识到这点很重要,只有当A受到B发来的SYN包,才可建设连贯,除此之外别无他法。因而,如果你的防火墙抛弃所有的发往外网接口的SYN包,那么你将不 能让内部任何主机被动建设连贯。 (B) <-- [SYN/ACK] <--(A)接着,A收到后会发一个对SYN包的确认包(SYN/ACK)回去,示意对第一个SYN包的确认,并持续握手操作. 留神: SYN/ACK包是仅SYN 和 ACK 标记为1的包. (B) --> [ACK] --> (A)B收到SYN/ACK 包,B发一个确认包(ACK),告诉A连贯已建设。至此,三次握手实现,一个TCP连贯实现 Note: ACK包就是仅ACK 标记设为1的TCP包. 须要留神的是当三此握手实现、连贯建设当前,TCP连贯的每个包都会设置ACK位 这就是为何连贯跟踪很重要的起因了. 没有连贯跟踪,防火墙将无奈判断收到的ACK包是否属于一个曾经建设的连贯.个别的包过滤(Ipchains)收到ACK包时,会让它通过(这相对不是个 好主见). 而当状态型防火墙收到此种包时,它会先在连贯表中查找是否属于哪个已建连贯,否则抛弃该包 Understanding TCP Sequence Number with Examples 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于咱们日常的剖析有用的就是后面的五个字段。 它们的含意是: URG:Urget pointer is valid (紧急指针字段值无效) SYN: 示意建设连贯 ...

July 4, 2021 · 1 min · jiezi

关于linux:这些Linux命令你知道吗

1、显示命令date:查看或设置以后零碎的工夫:格式化显示工夫:+%Y--%m--%d;date -s:设置以后零碎的工夫hwclock(clock):显示硬件时钟工夫(须要管理员权限);cal:查看日历格局cal [参数] 月年cal:显示当月的日历 cal4 2004 :显示2004年4月的日历cal- y 2003: 显示2003年的日历uptime:查看零碎运行工夫 2、输入查看命令echo:显示输出的内容 追加文件echo "liuyazhuang" >> liuyazhuang.txtcat:显示文件内容,也能够将数个文件合并成一个文件。格局:格局:cat[参数]<文件名>cat test.txt:显示test.txt文件内容cat test.txt | more :逐页显示test.txt文件中的内容cat test.txt >> test1.txt :将test.txt的内容附加到test1.txt文件之后cat test.txt test2.txt >readme.txt : 将test.txt和test2.txt文件合并成readme.txt 文件head:显示文件的头几行(默认10行) -n:指定显示的行数格局:head -n 文件名tail:显示文件的开端几行(默认10行)-n:指定显示的行数 -f:追踪显示文件更新 (个别用于查看日志,命令不会退出,而是继续显示新退出的内容)格局:格局:tail[参数]<文件名>tail-10 /etc/passwd :显示/etc/passwd/文件的倒数10行内容tail+10 /etc/passwd :显示/etc/passwd/文件从第10行开始到开端的内容more:用于翻页显示文件内容(只能向下翻页)more命令是个别用于要显示的内容会超过一个画面长度的状况。为了防止画 面显示时霎时就闪过来,用户能够应用more命令,让画面在显示满一页时暂停,此时可按空格健持续显示下一个画面,或按Q键进行显示。ls -al |more:以长格模式显示etc目录下的文件列表,显示满一个画面便暂停,可 按空格键持续显示下一画面,或按Q键跳离less:翻页显示文件内容(带上下翻页)按下上键分页,按q退出、‘less命令的用法与more命令相似,也能够用来浏览超过一页的文件。所不同 的是less 命令除了能够按空格键向下显示文件外,还能够利用高低键来卷动文件。当要完结浏览时,只有在less命令的提示符“:”下按Q键即可。ls -al | less:以长格模式列出/etc目录中所有的内容。用户可按高低键浏览或按Q键跳离 Exploring Cat Command in Linux 3、查看硬件信息Ispci:查看PCI设施 -v:查看详细信息Isusb:查看USB设施 -v:查看详细信息Ismod:查看加载的模块(驱动) 4、关机、重启shutdown敞开、重启计算机shutdown[关机、重启]工夫 -h敞开计算机 -r:重启计算机如:立刻关机: shutdown -h now10分钟后关机:shutdown -h +1023:30分关机:shutdown -h 23:30立刻重启: shutdown -r nowpoweroff:立刻敞开计算机reboot:立刻重启计算机Troubleshoot high iowait issue on Linux ...

July 4, 2021 · 1 min · jiezi

关于linux:Linux命令行非法字符处理

Linux命令中像$、&这样的属于非法字符,如果只想在命令外面将这些特殊字符作为个别的符号显示怎么办?须要应用援用,Linux 中有三种援用办法。 用双引号 "" 括起来,不过这对 "$" 有效。 echo "Today is $(date)" 用单引号 '' 括起来,进行所有特殊字符的性能。 echo 'Today is $(date)' 反斜杠 \ 本义,这在很多场合都有通用的。 echo "Today is &dollar;(date)" 输入: [root@localhost ~]# echo "Today is $(date)"Today is 2021年 07月 01日 星期四 20:27:00 CST[root@localhost ~]# echo 'Today is $(date)'Today is $(date)[root@localhost ~]# echo "Today is \$(date)"Today is $(date)

July 4, 2021 · 1 min · jiezi

关于linux:Linux防火墙相关命令

查看状态、开启、重启、敞开firewalld.service服务 # 查看状态service firewalld state# 开启service firewalld start# 重启service firewalld restart# 敞开service firewalld stop查看防火墙规定 firewall-cmd --list-all 查问、凋谢、敞开端口 # 查问端口是否凋谢firewall-cmd --query-port=8080/tcp# 凋谢80端口firewall-cmd --permanent --add-port=8080/tcp# 移除端口firewall-cmd --permanent --remove-port=8080/tcp#重启防火墙(批改配置后要重启防火墙)service firewalld restart# 参数解释1、firwall-cmd:是Linux提供的操作firewall的一个工具;2、--permanent:示意设置为长久;3、--add-port:标识增加的端口;

July 4, 2021 · 1 min · jiezi

关于linux:如何在Linux中使用-Truncate-命令

Truncate命令通常用于将文件放大或扩大到指定的大小。如果文件大于指定的大小,则会失落额定的数据。如果文件较短,则会对其进行扩大,并且扩大局部的读数为零字节。零碎环境Centos7 装置通常操作系统会装置truncate命令,该命令在coreutils安装包外面,如果没有装置能够应用上面命令装置: [root@localhost ~]# yum provides truncateLoaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Loading mirror speeds from cached hostfile base: mirrors.huaweicloud.comextras: mirrors.aliyun.comupdates: mirrors.aliyun.comcoreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo : baseMatched from:Filename : /usr/bin/truncate coreutils-8.22-24.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo : @anacondaMatched from:Filename : /usr/bin/truncate如何在Linux中应用 Truncate 命令如何在Linux中应用 Truncate 命令能够看到truncate由coreutils安装包提供,上面装置coreutils安装包: ...

July 3, 2021 · 2 min · jiezi

关于linux:Linux之which命令

which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保留了查找命令时须要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,应用which命令,就能够看到某个系统命令是否存在,以及执行的到底是哪一个地位的命令。什么是$PATH在Linux中,PATH是一个环境变量,它通知Shell和其余程序哪些目录搜寻可执行文件。它由冒号分隔的指向蕴含可执行文件的目录的绝对路径的列表组成。 要查看PATH变量的内容,应用echo命令与$PATH作为参数: > echo $PATH/opt/java/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin 命令格局> which 可执行的命令命令性能which指令会在PATH变量指定的门路中,搜寻某个系统命令的地位,并且返回第一个搜寻后果。命令参数-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。-p 与-n参数雷同,但此处的包含了文件的门路。-w 指定输入时栏位的宽度。-V 显示版本信息查找pwd命令的地位> which pwd/usr/bin/pwd查找which命令的门路> which whichalias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' /usr/bin/alias /usr/bin/which搜寻从左到右进行,如果在PATHpath变量列出的目录中找到多个匹配项,which则仅打印第一个。要打印所有匹配项,请应用以下-a选项:> which -a touch输入将显示touch命令的两个残缺门路:/usr/bin/touch/bin/touch原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站

July 2, 2021 · 1 min · jiezi

关于linux:Linux之tail命令

tail命令从指定点将文件写到规范输入,应用tail命令的-f选项能够不便的查看正在扭转的日志。tail -f nohup.out会把nohup.out最尾部的内容显示在屏幕上,并且一直刷新,能始终看到最新的文件内容。命令格局tail [必要参数] [抉择参数] [文件] 命令性能应用tail命令能够查看文件的开端数据,默认显示指定文件的最初10行到规范输入。如果指定了多个文件,tail会在每段输入的开始增加相应文件名作为头。命令参数-f 循环读取-q 不显示解决信息-v 显示具体的解决信息-c<数目> 显示的字节数-n<行数> 显示行数--pid=PID 与-f合用,示意在过程ID,PID死掉之后完结.-q, --quiet, --silent 从不输入给出文件名的首部-s, --sleep-interval=S 与-f合用,示意在每次重复的距离休眠S秒显示文件开端5行内容> tail -n 5 nohup.out循环滚动查看文件内容> tail -f nohup.out循环滚动查看文件内容,并过滤内容> tail -f nohup.out | grep "rumenz"原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站

July 1, 2021 · 1 min · jiezi

关于linux:CentOS7安装中文字体

问题用DevTools调试虚拟机中的headless模式的chromium时发现调试窗口显示的都是□□□(除了英文字符),一查发现是因为虚拟机中的CentOS自带的只有英文字体,不蕴含中文字体,要显示中文字符须要咱们本人装置中文字体。 字体库相干命令如果/usr/shared目录没有fonts和fontconfig目录,则须要先装置字体库,输出命令: yum -y install fontconfig装置实现后能够查看已装置的字体,输出命令: fc-list也能够查看已装置的中文字体,输出命令: fc-list :lang=zh装置中文字体在CentOS中,字体库的寄存地位就是/usr/shared/fonts目录,所以咱们要做的就是在Windows零碎找到中文字体文件,而后拷贝到该目录下。Windows零碎中的字体文件就在C:\Windows\Fonts目录中。所以,装置步骤就是: 在CentOS中创立新的中文字体文件夹,输出命令: mkdir -p /usr/share/fonts/chinese如果权限不够能够先批改下目录权限,输出命令: chmod -R 755 /usr/share/fonts/chinese将C:\Windows\Fonts中的中文字体——比方msyh.ttc(微软雅黑)、simhei.ttf(黑体)、simsun.ttc(宋体)——拷贝上传到CentOS中刚刚创立的目录/usr/share/fonts/chinese下。PS:在WIndows中关上字体文件夹显示的不是msyh.ttc这样名字的文件,而是中文的字体名字,能够将须要的字体拷贝到桌面上先,到桌面上就会显示出真正的文件名,再从桌面上上传到CentOS中。装置字体索引指令,输出命令: yum install mkfontscale进入目录/usr/share/fonts/chinese,生成字体索引,输出命令: cd /usr/share/fonts/chinesemkfontscale最初,通过下面介绍的查看已装置中文字体的命令——fc-list :lang=zh,确认字体是否已装置胜利。装置胜利后能够看到: [root@localhost chinese]# fc-list :lang=zh/usr/share/fonts/chinese/msyh.ttc: Microsoft YaHei:style=Normal/usr/share/fonts/chinese/simsun.ttc: 宋体,SimSun:style=惯例,Regular/usr/share/fonts/chinese/msyh.ttc: Microsoft YaHei UI:style=Normal/usr/share/fonts/chinese/simsun.ttc: 新宋体,NSimSun:style=惯例,Regular/usr/share/fonts/chinese/simhei.ttf: SimHei:style=Normal

July 1, 2021 · 1 min · jiezi

关于linux:国内独家首发版本龙蜥操作系统Anolis-OS-84-正式发行

引言 继龙蜥操作系统(Anolis OS)  8.2如期首发之后,龙蜥社区(OpenAnolis)在版本公布、生态欠缺和技术创新的路线上继续演进,终于迎来了龙蜥操作系统(Anolis OS)  8.4的公布,该版本仍旧是国内仅有的首发版本! 龙蜥操作系统(Anolis OS)  8.4版本仍然秉承与国内支流Linux厂商发行版 100% 兼容的准则,且提供配套的迁徙工具,助力用户完满平滑地迁徙至龙蜥操作系统(Anolis OS),满足CentOS停服后的各畛域、各行业用户的应用习惯和需要。在硬件生态方面通过和Intel 及国内芯片厂商的单干,反对Intel、海光、兆芯、飞腾、鲲鹏等一系列芯片平台,进行软、硬一体的优化,充分发挥硬件平台的性能。 在根本库、利用生态上融入了适宜云场景新组件,各组件通过云计算场景超大规模部署的打磨和欠缺,可满足各个行业畛域对于不同生产环境下不同计划的理论需要。 公布内容龙蜥操作系统(Anolis OS)  8.4公布内容包含ISO、虚拟机镜像和repo源。 1、ISO列表 名称形容AnolisOS-8.4-x86_64-dvd.isox86_64架构的装置 ISOAnolisOS-8.4-aarch64-dvd.isoaarch64架构的装置 ISOAnolisOS-8.4-src-dvd.isosource 包ISOISO装置注意事项可参阅 :https://mirrors.openanolis.or... 2、虚拟机镜像列表 名称形容AnolisOS-8.4-GA-x86_64-ANCK.qcow2x86_64架构虚拟机镜像搭配ANCK内核AnolisOS-8.4-GA-x86_64-RHCK.qcow2x86_64架构虚拟机镜像搭配RHCK内核[注1]AnolisOS-8.4-GA-aarch64-ANCK.qcow2aarch64架构虚拟机镜像搭配ANCK内核AnolisOS-8.4-GA-aarch64-RHCK.qcow2aarch64架构虚拟机镜像搭配RHCK内核注1:RHCK内核兼容CentOS 8.4的内核,以后版本是 kernel-4.18.0-305.an8 注2: 镜像缺省sudo用户anuser,对应登录明码是anolisos。 3、下载列表 社区网站https://mirrors.openanolis.cn... 阿里云镜像https://mirrors.aliyun.com/an... 4、REPO源列表 名称形容BaseOSBaseOS 软件包源,该源目标是提供装置根底的所有外围包。AppStreamAppStream 软件包源,该源提供额定的多场景,多用途的用户态程序,数据库等。该局部引入了额定的RPM Module状态。PowerToolsPowerTools 软件包源, 该源提供开发者须要的额定包。PlusPlus 软件包源,该源提供OpenAnolis SIG组专门研发包,如ANCK内核,Dragonwell8 JDK等。DDEDDE桌面主包以及依赖包亮点100% 兼容国内支流 Linux 厂商发行版;反对x86_64 和aarch64架构及飞腾、海光、兆芯、鲲鹏等芯片,适配 x86 及 arm64 支流服务器硬件;反对 Linux Kernel 4.19 LTS 版本并同步上游社区最新成绩,帮忙用户及时取得开源社区翻新红利;反对开源分布式关系数据库OceanBase;反对平安容器Kata Containers; 反对开源云原生关系型数据库PolarDB for PostgreSQL;根底利用组件降级;  Python 3.9/SWIG 4.0/Subversion 1.14/Redis 6/PostgreSQL 13MariaDB 10.5; 工具链降级;  GCC Toolset 10/LLVM Toolset 11.0.0/Rust Toolset 1.49.0/Go Toolset 1.15.7; ...

July 1, 2021 · 1 min · jiezi

关于linux:Linux-命令

过滤关键字grep '关键字' root.log 过滤关键字 找出关键字所在行号cat -n root.log | grep '关键字'依据行号定位到前后内容例如:1中失去的行号为1000cat -n root.log | tail -n +990 | head -n 20留神:head是查看前多少行内容,所以如果想查看前后10行内容,须要把定位行往前挪10行,即990 常用命令tail -n 20 root.log 等同于 tail -20 root.log 查看root.log最初20行tail -n +200 root.log 查看第200行号之后的内容head -n 20 root.log 等同于 head -20 root.log 查看root.log后面20行head -n -200 root.log 查看除了最初200行的其余内容留神:须要了解下外面提到的行号和多少行sed -n '/2017-06-21 09:25:55/,/2017-06-21 14:25:55/p' root.log 查问这段时间内的日志 留神:(这两个日期必须是日志中打印进去的日志,否则有效)touch *.txt 创立文件 Vi/vim创立/查看/编辑文件命令行:Esc切换到命令行模式。 编辑模式: 按i,在光标前开始编辑 按a,在光标后开始编辑 按o,在以后行的下一行开始编辑 按u, 撤销之前的操作 底行模式:按 shift+:冒号。 :q! 不保留退出 :wq 保留退出 :/world 从以后光标处,向上查找world关键字 ...

July 1, 2021 · 1 min · jiezi

关于linux:Linux之head命令

head 命令可用于查看文件的结尾局部的内容,有一个罕用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。如果提供了多个文件名,则每个文件中的数据都以其文件名结尾。命令格局head [参数]... [文件]... 命令性能head 用来显示档案的结尾至规范输入中,默认head命令打印其相应文件的结尾10行。命令参数-q 暗藏文件名,在多个文件名的状况下无效-v 显示文件名-c N 从头显示N字节的内容-n N 从头显示N行显示文件的前10行> head -n 10 1.txt显示文件的前10个字节> head -c 10 1.txt显示从文件头到倒数第N个字符的内容N=-2 也就是除了文件开端的两个字符不显示,其余都显示> head -c -2 1.txt> 同时查看多个文件//默认会显示文件名> head -n 5 1.txt 2.txt==> 1.txt <==vvvccc123 9090asd 123123 444 99==> 2.txt <==入门小站rumenz同时查看多个文件,不显示文件名> head -n 5 -q 1.txt 2.txthead -n 5 -q 1.txt 2.txt vvvccc123 9090asd 123123 444 99入门小站rumenz显示从文件结尾到倒数第N行的内容> head -n -5 1.txthead输入文件M和N行之间的打印行(M>N)输入文件第10(N=10)行到第20(M=20)行的内容> head -n 20 1.txt | tail -10输入当前目录下最近应用的3个文件> ls -t | head -n 3原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

July 1, 2021 · 1 min · jiezi

关于linux:SUSELinuxEnterprise-启动提示Failed-to-switch-root

SUSE-Linux-Enterprise 启动提醒“Failed to switch root” 环境:OS:SUSE Linux Enterpris Server 12 SP2Kernel:4.4.21-69-default起因:因为公司要求咱们搭建的本地环境 将所有的东东都放在 / 下 所以决定对其进行扩容,敞开虚拟机后,删除所有快照(揭示:这里大家对虚拟机进行扩容删除所有快照后肯定要克隆一下,要不呈现各种问题,相对让你霎时爆炸)后,发现忽然启动不了了,页面始终停留在这里 输出命令journalct 后查看错误信息如下 Failed to start switch Root 纳尼?不知所云啊! 这里也搜了很多答案,遇到很多坑不一一诉说,间接开大-->解决思路: 1.以后都连不上ssh终端,须要进入单用户模式进行修复,而不是用.iso修复模式启动,那样毫无作用 单用户模式计划 依照文中123步骤操作即可 2.以后SUSE启动失败的起因是因为/etc/os-release文件缺失了,扩容当前主动隐没?手动黑人问号 照着测试环境的 /etc/os-release 文件手敲了一遍,复制到以后机器下对应门路重启即可 参考文档 SUSE-Linux-Enterprise 启动提醒“Failed to switch root” 另:如果还没解决能够查看 /etc/fstab文件 对其进行批改

June 30, 2021 · 1 min · jiezi

关于linux:Linux之less命令

Linux中的less命令次要用来浏览文件内容,与more命令的用法类似,不同于more命令的是,less命令可往回卷动浏览以看过的局部。less的用法比起more更加的有弹性。在more的时候,咱们并没有方法向后面翻,只能往后面看,但若应用了less时,就能够应用 [pageup] [pagedown]等按键的性能来往返回后翻看文件,更容易用来查看一个文件的内容!除此之外,在less外头能够领有更多的搜寻性能,不止能够向下搜,也能够向上搜。命令格局less [参数] 文件 命令性能less和more相似,然而应用less能够随便浏览文件,而more仅能向前挪动,却不能向后挪动,more启动时会加载整个文件。而且less在查看之前不会加载整个文件。命令参数Down arrow,Enter,e,或者j --向前挪动一行。Up arrow,y或k -- 向后挪动一行。Space bar 要么 f – 后退一页。b – 向后挪动一页。/pattern – 向前搜寻匹配的模式。?pattern – 向后搜寻匹配的模式。n – 反复上一个搜寻。N – 反向反复先前的搜寻。g – 转到文件的第一行。Ng – 转到文件中的第N行。G – 转到文件的最初一行。p – 转到文件结尾。Np – 进入文件的N%。h – 显示帮忙。q – 退出less。查看文件> less rumenz.txtps查看过程信息并通过less分页显示> ps -ef | less查看命令历史应用记录并通过less分页显示> history | less浏览多个文件> less 1.txt 2.txt输出:n后,切换到 1.txt输出:p后,切换到 2.txt全屏导航ctrl + F - 向前挪动一屏ctrl + B - 向后挪动一屏ctrl + D - 向前挪动半屏ctrl + U - 向后挪动半屏单行导航j - 向前挪动一行k - 向后挪动一行其它导航G - 挪动到最初一行g - 挪动到第一行q / ZZ - 退出 less 命令搜寻性能> less /入门 rumenz.txtn – 向前查找下一个匹配的文本N – 向后查找前一个匹配的文本原文链接:https://rumenz.com/rumenbiji/linux-less.html 微信公众号:入门小站 ...

June 29, 2021 · 1 min · jiezi

关于linux:Linux-BootKernel-和-Service-介绍

Linux 启动过程是初始化零碎的过程。 它包含从第一次关上计算机电源到用户界面齐全可操作时产生的所有事件。 充沛理解疏导过程中的步骤可能有助于您解决问题,以及依据您的须要调整计算机的性能。 另一方面,启动过程可能相当技术性,您能够在不理解所有细节的状况下开始应用 Linux。 第一个步骤:BIOS启动基于 x86 的 Linux 零碎波及许多步骤。 当计算机开机时,根本输出/输入零碎 (BIOS) 会初始化硬件,包含屏幕和键盘,并测试主内存。 此过程也称为 POST(开机自检)。 BIOS 软件存储在主板上的 ROM 芯片上。 尔后,疏导过程的其余部分由操作系统 (OS) 管制。 Master Boot Record (MBR) and Boot Loader一旦 POST 实现,系统控制就会从 BIOS 传递到疏导加载程序。疏导加载程序通常存储在零碎中的硬盘之一上,或者在疏导扇区(对于传统 BIOS/MBR 零碎)或 EFI 分区(对于更新的(对立)可扩大固件接口或 EFI/UEFI 零碎)。到此阶段为止,机器不会拜访任何大容量存储介质。尔后,无关日期、工夫和最重要外围设备的信息从 CMOS 值中加载(在应用电池供电的内存存储技术后,即便零碎断电也能跟踪日期和工夫) . 有许多用于 Linux 的疏导加载程序;最常见的是 GRUB(用于 GRand Unified Boot loader)、ISOLINUX(用于从可挪动媒体启动)和 DAS U-Boot(用于在嵌入式设施/设施上启动)。大多数 Linux 疏导加载程序能够提供一个用户界面,用于抉择疏导 Linux 的代替选项,甚至可能装置的其余操作系统。在疏导 Linux 时,疏导加载程序负责将内核映像和初始 RAM 磁盘或文件系统(其中蕴含启动零碎所需的一些要害文件和设施驱动程序)加载到内存中。 Boot Loader in Action疏导加载程序有两个不同的阶段: 对于应用 BIOS/MBR 办法的零碎,疏导加载程序位于硬盘的第一个扇区,也称为主疏导记录 (MBR)。 MBR 的大小仅为 512 字节。在此阶段,疏导加载程序查看分区表并找到可疏导分区。一旦找到可疏导分区,它就会搜寻第二阶段疏导加载程序,例如 GRUB,并将其加载到 RAM(随机存取存储器)中。对于应用 EFI/UEFI 办法的零碎,UEFI 固件读取其疏导管理器数据以确定要启动哪个 UEFI 应用程序以及从何处启动(即能够从哪个磁盘和分区找到 EFI 分区)。而后,固件启动 UEFI 应用程序,例如 GRUB,如固件启动管理器的启动项中所定义。这个过程更简单,但比旧的 MBR 办法更通用。 ...

June 29, 2021 · 2 min · jiezi

关于linux:Linux-的发展历史设计哲学和一些常用的术语介绍

1991 年,Linus Torvalds 还是芬兰赫尔辛基的一名学生,过后他开始了一个我的项目:编写本人的操作系统内核。 他还收集和开发了构建以他的内核为核心的整个操作系统所需的其余基本要素。 不久之后,它就被称为 Linux 内核。 1992 年,Linux 应用通用公共许可证 (GPL) 由 GNU(自由软件基金会或 FSF 的一个我的项目,促成收费提供的软件)从新取得许可,这使得建设寰球开发人员社区成为可能。 通过将内核与 GNU 我的项目的其余零碎组件相结合,许多其余开发人员在 90 年代中期创立了称为 Linux 发行版的残缺零碎。 Linux 的历史90 年代中期创立的 Linux 发行版为完全免费(在自在的意义上,而不是零老本)计算提供了根底,并成为开源软件静止的推动力。 1998 年,IBM 和 Oracle 等大公司发表反对 Linux 平台,并开始了重大的开发工作。 明天,Linux 为互联网上超过一半的服务器、大多数智能手机(通过建设在 Linux 之上的 Android 零碎)以及世界上所有最弱小的超级计算机提供反对。 每个胜利的我的项目或组织都须要一种隐含或显式的哲学来确定其指标并布局其成长门路。 Linux 由来自世界各地的开发人员组成的网络一直加强和保护,这些开发人员通过 Internet 合作,以 Linus Torvalds 为首。 技术技能、奉献的欲望以及与别人单干的能力是参加的惟一资格。 Linux 大量借鉴了欠缺的 UNIX 操作系统。 它被编写为一个收费的开源零碎,用于代替 UNIX,过后 UNIX 是为比 PC 更弱小的计算机设计的,而且十分低廉。 文件存储在分层文件系统中,零碎的顶部节点是根或简略的“/”。 只有有可能,Linux 就会通过文件或看起来像文件的对象来提供其组件。 过程、设施和网络套接字都由类文件对象示意,并且通常能够应用与惯例文件雷同的实用程序来应用。 Linux 是一个齐全多任务处理(即同时执行多个线程)、多用户操作系统,具备在 UNIX 世界中称为守护过程的内置网络和服务过程。 ...

June 29, 2021 · 1 min · jiezi

关于linux:Linux之more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的形式按页显示文本文件的内容,反对vi中的关键字定位操作。more名单中内置了若干快捷键,罕用的有H(取得帮忙信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。命令格局more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 命令性能more命令和cat的性能相似都是查看文件里的内容,然而所有不同的是more是按页来查看文件的内容,还反对间接跳转行等性能。命令参数- +n 从第n行开始显示。- -n 定义屏幕大小为n行。- +/pattern 在每个档案显示前搜查该字串(pattern),而后从该字串前两行之后开始显示- -c 从顶部清屏,而后显示- -d 提醒“Press space to continue,’q’ to quit(按空格键持续,按q键退出)”,禁用响铃性能- -l 疏忽Ctrl+l(换页)字符。- -p 通过清屏的模式来换页,与-c选项相似。- -s 把间断的多个空行显示为一行。- -u 把文件中的下划线去掉。罕用操作命令。Enter 向下n行,须要定义。默认为1行Ctrl+F 向下滚动一屏空格键 向下滚动一屏Ctrl+B 返回上一屏= 输入以后行的行号:f 输入文件名和以后行的行号V 调用vi编辑器!命令 调用Shell,并执行命令 q 退出more显示文件中从第3行起的内容> more +3 rumenz.txt从文件中查找第一个呈现3333字符串的行,并从前两行开始显示> more +/3333 rumenz.txt设定每屏显示5行> more -5 rumenz.txt列一个目录下的文件,内容太多,能够应用more来分页显示> ls -l | more -5原文链接:https://rumenz.com/rumenbiji/linux-more.html 微信公众号:入门小站

June 28, 2021 · 1 min · jiezi

关于linux:W4-find-sed

1、打包/etc/目录上面所有conf结尾的文件,压缩包名称为当天的工夫,并拷贝到/usr/local/src目录备份。find /etc/ -regex ".*\.conf$" | xargs tar -zcvf `date +%F`-confs.tar.gz && cp `date +%F`-confs.tar.gz /usr/local/src2、查找以后零碎上没有属主或属组,且最近一个周内曾被拜访过的文件或目录find / -nouser -o -nogroup -mtime -7 -ls3、查找/etc目录下至多有一类用户没有执行权限的文件find /etc/ ! -perm /111 -ls4、自建网络yum源(通过httpd实现)自建网络yum源须要2台机器,一台做server,一台做client server端操作 以huawei mirror为例 # 配置华为云wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.reposed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/CentOS-Base.reposed -i "s/mirrorlist=http/#mirrorlist=http/g" /etc/yum.repos.d/CentOS-Base.reposed -i "s@http://mirror.centos.org@https://repo.huaweicloud.com@g" /etc/yum.repos.d/CentOS-Base.repoyum repolist all## 应用httpd公布到局域网dnf -y install httpdsystemctl enable --now httpd# 同步须要的repos BaseOS AppStream extras dnf reposync --repoid=BaseOS --download-metadata -p /var/www/html/centos/8dnf reposync --repoid=AppStream --download-metadata -p /var/www/html/centos/8dnf reposync --repoid=extras --download-metadata -p /var/www/html/centos# 配置EPEL指定华为源touch /etc/yum.repo.d/epel.repo[epel]name=EPELbaseurl=https://repo.huaweicloud.com/epel/8/Everything/x86_64/gpgcheck=0# 同步 epeldnf reposync --repoid=epel --download-metadata -p /var/www/html# 下载 epel keywget -P /var/www/html/epel/ https://repo.huaweicloud.com/epel/RPM-GPG-KEY-EPEL-8# 敞开防火墙systemctl stop firewalld.serviceclient配置应用 ...

June 28, 2021 · 1 min · jiezi

关于linux:Linux-之-nl-命令

nl命令在Linux零碎中用来计算文件的行号,是 number of lines 的缩写。nl能够将输入的文件主动加上行号!其默认的后果与cat -n有点不太一样,nl能够自定义行号显示成果,包含位数和主动补全0。命令格局nl [选项]... [文件]... 命令参数 绿框标注的就是显示栏,默认占6位。-b a 无论是否是空行都列出行号-b t 空行不列出行号(默认)。-n ln 行号在显示栏的最右边显示。-n rn 行号在显示栏的最左边显示,不填充0。-n rz 行号在显示栏的最左边显示(默认)。-w 行号显示栏占用的位数,(默认是6位)。-p 在逻辑定界符处不从新开始计算命令性能nl 命令读取 File 参数(缺省状况下规范输出),计算输出中的行号,将计算过的行号写入规范输入。 在输入中,nl 命令依据您在命令行中指定的标记来计算右边的行。 输出文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(能够有空节)。 除非应用 -p 标记,nl 命令在每个逻辑页开始的中央从新设置行号。 能够独自为头、主体和页脚节设置行计算标记(例如,头和页脚行能够被计算然而文本行不能)。用nl列出rumenz.txt的行号> nl rumenz.txt 1 入门小站 2 rumenz 3 ping 4 入门文件中有空行,默认不加行号用nl列出rumenz.txt的行号,包含空行> nl -b a rumenz.txt 1 入门小站 2 3 rumenz 4 5 ping 6 7 入门行号后面填充0> nl -b a -n rz rumenz.txt000001 入门小站000002000003 rumenz000004000005 ping000006000007 入门默认成果是占6位行号显示栏占3位,并且填充0> nl -b a -n rz -w 3 rumenz.txt001 入门小站002003 rumenz004005 ping006007 入门应用定制的编号分隔符> nl -s :: rumenz.txt 1::入门小站 2::rumenz 3::ping 4::入门原文链接:https://rumenz.com/rumenbiji/linux-nl.html 微信公众号:入门小站 ...

June 27, 2021 · 1 min · jiezi

关于linux:centos7升级-openssl111k和OpenSSH86p1

情谊揭示:因为openssh的更新可能会影响到ssh的登录所以保险起见最好先配置talnet的登录,万一openssh更新失败页不至于ssh不能失常登录 1.查看服务器以后版本ssh -V2.到官网下载最新版本openssl和openssh3.先更新openssl4.先更新所需的依赖包yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-develyum install -y pam zlib 5.解压新版本openssltar -zxvf *.tar.gz 6.手动编译./config --prefix=/usr/local/opensslmakemake install 7. 备份旧的openssl文件mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/lib64/openssl /usr/lib64/openssl.old mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old #创立软链接 ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so echo "/usr/local/openssl/lib" >> /etc/ld.so.conf ldconfig -v #显示正在扫描的目录及搜寻到的动态链接库 8.测试openssl version 9.解压新版本opensshtar -zxvf **.tar.gz 10.从新受权,其实不受权页不会影响装置chown -R root.root /usr/local/data/openssh-8.6p1 11.备份mv /etc/ssh /etc/sshbakmv /usr/bin/ssh /usr/bin/sshbakmv /usr/sbin/sshd /usr/sbin/sshdbak ...

June 27, 2021 · 1 min · jiezi

关于linux:Linux之cat命令

cat命令的用处是连贯文件或者规范输出并打印。这个命令罕用来显示文件内容,或者将几个文件拼接起来显示,或者从规范输出读取内容并显示,它常与重定向符号配合应用。命令格局cat [选项] [文件]... 命令的性能读取显示整个文件 cat filename从键盘读取输出到文件cat > 1.txt将多个文件合并成一个文件cat 1.txt 2.txt > 3.txt命令参数-A, --show-all 等价于 -vET-b, --number-nonblank 对非空输入行编号-e 等价于 -vE-E, --show-ends 在每行完结处显示 $-n, --number 对输入的所有行编号,由1开始对所有输入的行数编号-s, --squeeze-blank 有间断两行以上的空白行,就代换为一行的空白行-t 与 -vT 等价-T, --show-tabs 将跳格字符显示为 ^I-u (被疏忽)-v, --show-nonprinting 应用 ^ 和 M- 援用,除了 LFD 和 TAB 之外将1.txt的内容加上行号输出到2.txt>cat 1.txt入门小站rumenz.comrumenz12334599993333> cat -n 1.txt > 2.txt>cat 2.txt 1 入门小站 2 3 rumenz.com 4 rumenz 5 6 123 7 345 8 9 10 9999 11 12 3333将1.txt的内容(空白行不加行号)输出到2.txt> cat -b 1.txt > 2.txt> cat 2.txt 1 入门小站 2 rumenz.com 3 rumenz 4 123 5 345 6 9999 7 3333应用here doc来生成文件cat > 3.txt <<EOF> 入门小站> rumenz> rumenz.com> > > `date`> EOF> cat 3.txt入门小站rumenzrumenz.comThu Feb 4 23:40:09 CST 2021同时显示多个文件的内容> cat 1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/linux-cat.html 微信公众号:入门小站 ...

June 26, 2021 · 1 min · jiezi

关于linux:性能基础之理解Linux系统平均负载和CPU使用率

前言 做为一个性能测试工程师,每当咱们发现计算机变慢的时候,咱们通常的规范姿态就是执行 uptime 或 top 命令,来理解零碎的负载状况。 比方像上面这样,我在命令行里输出了 uptime 命令,零碎会返回一行信息。 appletekimbp:~ apple$ uptime20:44 up 21 days, 6:41, 2 users, load averages: 2.85 2.33 2.91但我想问的是,各位同学晓得以上每列输入的含意吗? 20:44 以后工夫up 21 days, 6:41 零碎运行工夫2 users 正在登录用户数零碎的均匀负载,别离是1分钟、5分钟、15分钟内零碎的均匀负载load averages: 2.85 2.33 2.91 这行信息的后半局部,显示 "load average",它的意思是"零碎的均匀负载",外面有三个数字,咱们能够从中判断零碎负载是大还是小。 什么是零碎均匀负载? 我猜肯定会有同学会说,均匀负载不就是单位工夫的 CPU 使用率吗?下面 2.85,就代表 CPU 使用率是 285%。其实不是这样的。 CPU 负载值在 Linux 零碎中示意正在运行,处于可运行状态的均匀作业数(读取一组与流程执行线程对应的机器语言的程序指令),或者十分重要,休眠但不可中断(不可交织的休眠状态))。也就是说,要计算 CPU 负载的值,只思考正在运行或期待调配 CPU 工夫的过程。不思考失常的休眠过程(休眠状态),僵尸或进行的过程。简略来说,均匀负载是指单位工夫内,零碎处于可运行状态和不可中断状态的均匀过程数,也就是均匀沉闷过程数,它和 CPU 使用率并没有间接关系。 过程状态代码 R 正在运行或可运行(在运行队列中) D 不间断休眠(通常为IO) S 可中断休眠(期待事件实现) Z 生效/僵尸,终止但未被其父 T 进行,由作业控制进行信号或因为它被追踪 [...]这里先解释下,可运行状态和不可中断状态。 可运行状态的过程,指的是正在应用CPU或者正在期待CPU的过程,也就是咱们罕用 ps 命令看到处于 R 状态(Running 或 Runnable)的过程。 ...

June 26, 2021 · 2 min · jiezi

关于linux:NeoFetch-Linux-使用命令行查看系统信息

Linux 通常应用各种命令来查看零碎的信息。 倡议装置 NeoFetch,那么你就能够应用这个命令来查看更多的 Linux 信息了,包含 CPU,内核版本等。 ubuntu 装置命令 在你的 ubuntu 操作系统中运行命令: sudo apt install neofetch 来进行装置。 ubuntu 运行界面 间接输出命令:neofetch 来运行就好了。 通过下面的图看起来比一个一个命令来敲难受多了。 https://www.ossez.com/t/neofetch-linux/13518

June 26, 2021 · 1 min · jiezi

关于linux:Linux-之-touch-命令

touch用来创立文件,用来批改文件的工夫戳。命令格局touch [选项]... 文件... 命令参数-a 或--time=atime或--time=access或--time=use 只更改存取时间。-c 或--no-create 不建设任何文档。-d 应用指定的日期工夫,而非当初的工夫。-f 此参数将疏忽不予解决,仅负责解决BSD版本touch指令的兼容性问题。-m 或--time=mtime或--time=modify 只更改变动工夫。-r 把指定文档或目录的日期工夫,通通设成和参考文档或目录的日期工夫雷同。-t 应用指定的日期工夫,而非当初的工夫。命令性能touch命令参数可更改文档或目录的日期工夫,包含存取时间和更改工夫。创立不存在的目录创立一个1.txt文件> touch 1.txt 同时创立2.txt 3.txt文件> touch 2.txt 3.txt将5.txt的Access,Modify工夫改成和1.txt一样> touch -r 1.txt 5.txt> ls -rw-r--r-- 1 root root 0 Feb 3 23:17 1.txt-rw-r--r-- 1 root root 0 Feb 3 23:17 5.txt批量创立有法则的文件创立file1.txt file2.txt .... file10.txt> touch file{1..10}.txt创立文件并指定文件的工夫戳> touch -t 202102031111 3.txt> ls -al-rw-r--r-- 1 root root 0 Feb 3 11:11 3.txt将5.txt的工夫改成2天前> ls -al 5.txt-rw-r--r-- 1 root root 0 Feb 3 23:17 5.txt> touch -d "2 days ago" 5.txt> ls -al 5.txt> ls-rw-r--r-- 1 root root 0 Feb 1 23:29 5.txt只批改1.txt的Modify和Change的工夫> stat 1.txt File: ‘1.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 101371574 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:10.462066771 +0800Change: 2021-02-03 23:40:10.462066771 +0800 Birth: -> touch -m 1.txt> stat 1.txtstat 1.txt File: ‘1.txt’ Size: 5 Blocks: 8 IO Block: 4096 regular fileDevice: fd01h/64769d Inode: 101371574 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2021-02-03 23:39:45.258947600 +0800Modify: 2021-02-03 23:40:53.068649293 +0800Change: 2021-02-03 23:40:53.068649293 +0800 Birth: -为什么linux 创立文件是touch 而不是createtouch — change file access and modification times (BSD)touch — change file timestamps (GNU)touch的作用原本不是创立文件,而是将指定文件的批改工夫设置为以后工夫。就是伪装“碰”(touch)了一下这个文件,伪装文件被“批改”了,于是文件的批改工夫就是被设置为以后工夫。这带来了一个副作用,就是当touch一个不存在的文件的时候,它会创立这个文件。而后,因为touch曾经能够实现创立文件的性能了,就不再须要一个独自的create了。原文链接:https://rumenz.com/rumenbiji/linux-touch.html 微信公众号:入门小站 ...

June 26, 2021 · 1 min · jiezi

关于linux:性能工具之linux常见日志统计分析命令

引言 我前几天写过的性能工具之linux三剑客awk、grep、sed详解,咱们曾经具体介绍 linux 三剑客的根本应用,接下来咱们看看具体在性能测试畛域的使用,本文次要介绍的是在 Tomcat 和 Nginx access日志的统计分析。 Tomcat统计申请响应工夫 server.xml 应用配置形式,%D-申请工夫,%F响应工夫 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log." suffix=".txt"pattern="%h %l %u [%{yyyy-MM-dd HH:mm:ss}t] %{X-Real_IP}i "%r" %s %b %D %F" />字段阐明如下: %h - 发动申请的客户端 IP 地址。这里记录的 IP 地址并不一定是实在用户客户机的 IP 地址,它可能是私网客户端的公网映射地址或代理服务器地址。 %l - 客户机的 RFC 1413 标识 ( 参考 ) ,只有实现了 RFC 1413 标准的客户端,能力提供此信息。 %u - 近程客户端用户名称,用于记录浏览者进行身份验证时提供的名字,如登录百度的用户名 zuozewei,如果没有登录就是空白。 %t - 收到申请的工夫(拜访的工夫与时区,比方 18/Jul/2018:17:00:01+0800,工夫信息最初的 "+0800" 示意服务器所处时区位于 UTC 之后的8小时) %{X-Real_IP}i - 客户端的实在ip %r - 来自客户端的申请行(申请的 URI 和 HTTP 协定,这是整个 PV 日志记录中最有用的信息,记录服务器收到一个什么样的申请) ...

June 25, 2021 · 4 min · jiezi

关于linux:Linux-常用命令

前言首先说一下为什么要学习这个,前几天碰到了提供docker image 的问题,详见此处, 当下的问题是解决了,我晓得了如何将前端代码打包后部署 docker 镜像,然而我就在反思,难道对于docker我真的只须要晓得这一点常识吗?比照导师会的,认真思考了一下,如同并不是,晓得这点内容兴许当初够,但当前必定是不够的。而这和Linux罕用的根本命令又有什么关系呢? 关上了B站上的一个docker教学点击量最高的视频,发现没几分钟视频里的老师就说,学习docker必须有Linux根本命令的根底。(唉,生存不易,要学的越来越多,能怎么办呢,学呗) 原本认为我齐全没接触过Linux命令行,后果边学边发现,不对我错了,我接触过,还是在两个中央,只不过我没有深究过(感叹本人对常识的学习态度不够透彻的同时,也感叹果然对于毕业生而言,实习是最好的学习) 为什么要这么说呢? 是因为在进入当初这家公司之前,在另一家企业实习了五个月,那个时候一个很负责的后端大佬教了我不少货色,其中包含用Xshell 公布我的项目,Xshell中所应用的命令即Linux命令。 另一个接触则是因为以后公司办公为mac,刚从Windows转换为mac时真的及其不习惯,界面、命令什么都不一样,当初一些最根底的命令曾经能够信手拈来了,原来这都是Linux命令 Linux 命令行关机 shutdown语法:shutdown [-t seconds] /[-r/k/h/n/c/f/F] time [message] -r 为关机后开机(即重启)-h 为关机time 为关机的工夫message 为 信息最罕用 shutdown -r now 立刻重启shutdown -h now 关机更改目录 cd语法: cd [门路/目录名] 罕用: cd ~ 进入“home”目录cd / 进入根目录cd .. 返回上一级目录cd a/b 进入以后文件夹中的a/b目录cd /a/b 进入根目录文件夹中的a/b 目录,留神与的区别查看目录 ls语法: ls [-a/-l/-al] -a:全副文件,包含暗藏文件-l: 列出属性(相似window磁盘中的模式)-al : 暗藏文件+属性创立目录 mkdir语法:mkdir [门路/文件名] mkdir a 在当前目录创立文件amkdir /b/a 在b文件中创立文件a删除 rm语法: rm [-rf] 目录/文件 -r:删除目录 ,没有 -r 不会删除目录-f:疏忽不存在的文件-i:提醒/询问例子: ...

June 25, 2021 · 1 min · jiezi

关于linux:Linux-之-cp-命令

cp命令 用来将一个或多个源文件或者目录复制到指定的目标文件或目录。它能够将单个源文件复制成一个指定文件名的具体的文件或一个曾经存在的目录下。cp命令还反对同时复制多个文件,当一次复制多个文件时,指标文件参数必须是一个曾经存在的目录,否则将呈现谬误。这阐明命令行和shell脚本的执行形式有些不同。命令格局cp [选项] 源 目标 或 cp [选项] -t 目录 源 命令性能将源文件复制至指标文件,或将多个源文件复制至目标目录。命令参数-a:此参数的成果和同时指定"-dpR"参数雷同;-d:当复制符号连贯时,把指标文件或目录也建设为符号连贯,并指向与源文件或目录连贯的原始文件或目录;-f:强行复制文件或目录,不管指标文件或目录是否已存在;-i:笼罩既有文件之前先询问用户;-l:对源文件建设硬连贯,而非复制文件;-p:保留源文件或目录的属性;-R/r:递归解决,将指定目录下的所有文件与子目录一并处理;-s:对源文件建设符号连贯,而非复制文件;-u:应用这项参数后只会在源文件的更改工夫较指标文件更新时或是名称互相对应的指标文件并不存在时,才复制文件;-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;-b:笼罩已存在的文件指标前将指标文件备份;-v:具体显示命令执行的操作。复制单个文件到目标目录,文件在指标文件中不存在两个文件的工夫一样> cp 1.txt rumenz两个文件的工夫一样> cp -a 1.txt rumenz指标文件存在,会询问是否笼罩> cp 1.txt rumenz/cp: overwrite ‘rumenz/1.txt’? y复制整个目录> cp -a rumenz/ rumenzz或> cp -r rumenz/ rumenzz 目标目录存在时,整个源目录被复制到目标目录外面复制的 1.txt 建设一个连结档 1_link.txt> cp -s 1.txt 1_link.txt> ls -al1_link.txt -> 1.txt复制某个目录下所有的文件到其它目录> cp rumenz/* /tmp复制多个文件到某个目录> cp -t rumenz 1.txt 2.txt原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站

June 25, 2021 · 1 min · jiezi

关于linux:简述UNIX和Linux的发展

UNIX的历史1.萌芽: Thompson(肯.汤普逊)用汇编语言写进去一组内核程序,同时蕴含了一些内核工具程序,以及一个小的文件系统,这个零碎就是UNIX的原型,过后称为Unics这个文件系统有两个重要的概念,起初对Linux的倒退有相当重要的影响: 1)、所有的程序或零碎设施都是文件 2)、不论程序自身还是从属文件,所写的程序只有一个目标,且要无效的实现指标 2.正式诞生: Ritchie等人用C语言写出了第一个正式Unix的内核 高级的C语言与硬件没有亲密的分割,所以这个扭转也使得UNIX很容易被移植到不同的机器下面 3.重要的UNIX分支与版权问题:   一个重要的分支就是BSD,因为UNIX的高度可移植性与弱小的性能,加上没有版权的纷争导致很多商业公司开始了UNIX操作系统的开发,在架构方面是大同小异的,然而只能反对本身的硬件(晚期硬件的公司还没有“协定”的概念),所以晚期的UNIX只能与服务器或是大型工作站划上等号,直到System V第七版后才反对了X86架构的集体计算机4.UNIX版权的回收而以致Minix的呈现: 因为后面讲到UNIX版权的回收,间接导致了传授上课没有源代码可用,这时Tanenbaum传授本人写了Minix这个UNIX-like的内核程序,他没有参照UNIX的源码,但Minix与UNIX齐全兼容Linux的诞生咱们后面讲到Tanenbaum传授为了应答UNIX版权回收问题,本人独立开发了一个类UNIX的Minix,这时,一个芬兰人托瓦兹呈现了,他在学习的过程中,想搞一个UNIX本人玩玩,然而因为UNIX那时源码的不凋谢,他抉择了Minix装置在Intel 386来满足本人的玩玩心态,然而Minix因为只是为了满足教学的需要,所以有些性能不够强,托瓦兹就想:“那为何我不本人来改写一个我想要的操作系统?”于是他就开始了他的内核程序的编写 咱们要分明,他的内核程序编写是建设在一些根底上的,如GNU打算提供的bash以及gcc编译器等自由软件,以及参考Minix的设计理念和程序代码,起初他真的胜利了! 起初为了让Linux兼容UNIX,他抉择了批改Linux,并参照了POSIX标准,这一正确的决定,让Linux流通速度极快(它可用运行原本就在UNIX上运行的程序) Linux的倒退:虚构团队的产生从集体维护阶段到宽广黑客(此黑客非彼黑客,有趣味能够查一下最后黑客的意思)志愿者退出阶段,在这个阶段,Linux逐步倒退成具备模块的性能 UNIX和Linux的大略倒退历程就是这样,参考书籍是鸟哥的Linux私房菜

June 24, 2021 · 1 min · jiezi

关于linux:谐云连续中标建信金科浦发和杭州银行助推数字化转型

谐云近期间断中标建信金科、浦发银行、杭州银行等容器平台及服务项目,为其建设容器云平台,助力拥抱云原生落地。谐云将为其各类互联网化利用提供稳固、牢靠、平安的技术支持,无效晋升研发效力与研发管理水平,使用数字化技术,欠缺服务模式,疾速应答市场变动,通过更加不便、人性化的客户服务来巩固客户,实现业务的继续倒退,助推银行数字化转型。 数字经济减速金融行业转型降级 据前段时间公布的《中国数字经济倒退白皮书》显示,2020年我国数字经济规模扩张到39.2万亿元,占GDP比重的38.6%,是国民经济的外围增长极之一。数字经济曾经成为国民经济的重要推动力量,各行各业都在鼎力推动数字化转型。 金融是实体经济的血脉,经济社会各畛域的倒退都离不开金融的撑持。无论是更好解决中小企业融资难融资贵等老难题,还是踊跃应答新技术扭转生产生存形式而催生出的新需要,金融机构都须要更灵便的组织架构、流程以及业务组织模式,这些都推动金融业通过数字化转型摸索解决之道。 建信金科、浦发银行和杭州银行,包含越来越多的银行借力金融科技技术疾速实现数字化产品翻新,金融业曾经成为云原生利用最为深刻、数字化最为迫切的畛域之一。 金融行业的数字化转型之痛 以后金融行业正处在微小的IT架构改革与紧迫的数字化转型期间,金融机构和金融科技服务企业迎来新的挑战,数字化转型出现出新的趋势,服务将降级到以云+端+生态+场景为根底的经营,不仅须要全面数字化,还须要有灵便的底层架构来应答前端业务的疾速翻新。 数字化浪潮下,大部分金融企业都面临着革新传统集中式架构并转向更为麻利的分布式架构的问题,以期实现底层资源的对立纳管、减速产品上线、业务的疾速迭代,从而满足突飞猛进的用户需要。但转型之路注定不是坦途,银行等金融机构在转型过程中往往面临着诸多痛点:1、过于具体的技术升级,往往与整体业务架构不兼容,须要消耗过多额定老本;2、整体性的解决方案降级往往不足重点,不能捕获每家机构具体的需要;3、技术不自主可控,平安、稳定性低;4、利用未标准化,可移植性低,受云服务商绑定,迁徙老本和难度高;5、依赖人肉运维,流量洪峰时扩缩容难度大,周期长;6、产品上线周期长,交付环节出错几率高,加上生产环境及测试环境差别,易造成线上故障;7、分布式场景下,难以动静辨认云上组件状态极配置信息,故障诊断艰难针对以上问题,谐云基于容器、DevOps、云上监控等云原生技术打造了金融级容器云解决方案,提供金融混合云计划,交融异构IT资源、PaaS利用治理、微服务、DevOps和分布式外围中间件,联合头部金融客户单干的场景劣势,在为金融行业提供互联网端敏态业务撑持的同时,也为业务凋谢和混合架构带来的平安容灾和监管需要提供无效伎俩,是针对银行理论需要定制的一套金融容器云解决方案,堪称行业内最懂金融的容器云。 谐云金融级容器云解决方案*01金融级的多活容灾计划* 金融业务,尤其以银行业务为代表,对软件系统的可靠性要求相当严格,PAAS作为面向业务利用的治理平台,其可靠性也十分重要,根据银行业监管要求,须要提供基于两地三核心部署架构的容器云基座,谐云依据各方要求,设计并研发了金融级的两地三核心容器底座,通过三个层面保障业务及平台的整体连续性。其一:平台级保障,通过设计研发平台数据库的多实例同步,实现平台治理数据层面的高可用保障;其二:kubernetes底座层保障,引入etcd同步机制,通过钻研同步效率及性能,晋升底座级的高可用级别;其三:业务级保障,配合业务零碎数据设计,配合Otter同步组件,实现底层业务的数据高可用保障 *02无感知秒级故障隔离机制* 业务零碎的故障总是考究MTTR、PRO、RTO,这些数字对于大多数运维、保障部门都是KPI红线,因而,一旦呈现业务零碎的故障,第一工夫想到的必然是复原业务。谐云科技针对这一普适性的需要,提出了基于容器云业务场景下的解决方案。谐云科技基于自研的NPD组件,实现秒级的业务故障隔离,故障零碎能够在秒级主动隔离、主动拉起新业务实例并优雅切换流量;在保留故障现场的同时,优先解决线上业务复原问题;同时针对我的项目理论教训,设计各类故障特色,帮忙NPD组件疾速了解并通过特色隔离实例。*03云上业务运行可观测能力* 运维保障团队能解决问题,但不代表心愿遇到问题。古往今来,最好的解决方案就是“趋利避害”,然而在这之前,咱们须要有一套云上环境的全链路监控零碎,通过最轻量的旁路角度,以类穿戴型设施的形式,帮忙业务零碎实现日常监测,升高零碎罹患“心脑血管”等重要疾病的概率。 金融类业务大多具备调用链路长,一次交易申请跨域跨集群跨数据中心更是相当常见,为解决“数智金融”时代的分布式系统可观测问题,谐云科技提出了后K8s时代的重要解决方案--基于EBPF的旁路式全链路业务监控(后简称“云监控”)。 谐云通过多年的Linux内核技术钻研积攒,自研“云监控”解决方案,通过极低功耗的旁路代价,抓取云上的各类东西向、南北向流量,并联合主动绘制的业务拓扑,疾速展现业务健康状况,让用户对业务的“血脂血压血糖”了然于胸;对于运维上报的各类云上业务故障,能够联合链路剖析,定位故障层级,实现业务零碎的“门诊预检”;同时“云监控”搭载了谐云多年研发积攒的APM产品探针,对于“门站预检”确定是代码故障的论断,能够自动化装载APM Agent,在不重启业务的状况下,对业务进行代码级“冠脉造影”,最终定位故障点。 谐云的金融级容器云解决方案,是云原生时代金融行业解决方案的集大成者,多活容灾确保金融业务的安全可靠,秒级故障隔离保障金融业务的连续性,云上监控则实现业务零碎的日常监测,近期的间断中标是对谐云金融级容器云计划的极大必定,也强化了谐云科技深耕云原生全栈解决方案的信念。将来,谐云将不断完善后K8s时代,持续深入与建信金科、浦发银行和杭州银行的严密单干,构建麻利数字平台,并将继续致力于技术创新,与金融行业客户独特成长,减速数字化转型,共创行业新价值。 END 欢 迎 免 费 试 用联系方式:hezuo@harmonycloud.cn

June 24, 2021 · 1 min · jiezi

关于linux:Linux-之-mv-命令

mv是move的缩写,能够用来挪动文件或者重命名文件名,常常用来备份文件或者目录。命令格局mv [选项] 源文件或者目录 指标文件或者目录 命令性能mv命令中第二个参数类型的不同(是指标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令实现文件重命名,此时,源文件只能有一个(也能够是源目录名),它将所给的源文件或目录重命名为给定的指标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数能够有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统挪动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将失落。> touch 1.txt 3.txt 4.txt 5.txt> mkdir rumenz test├── 1.txt└── rumenz命令参数选项你能够写在任意地位-b 如果已存在雷同文件名,则笼罩前进行备份-f 如果已存在雷同文件名,而用户不具备写的权限,则强制笼罩-i 如果已存在雷同文件名,笼罩前提醒用户进行确认-u 比拟原文件与指标文件批改工夫,如果指标文件较新则不笼罩-v 列出所有被挪动或重命名的文件-t --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项实用于挪动多个源文件到一个目录的状况,此时目标目录在前,源文件在后。文件改名将1.txt改成2.txtmv 1.txt 2.txt 挪动文件将2.txt挪动到rumenz目录> mv 2.txt rumenz/将3.txt 4.txt 5.txt挪动到rumenz> mv 3.txt 4.txt 5.txt rumenz/将3.txt 4.txt 5.txt挪动到rumenz> mv -t rumenz/ 3.txt 4.txt 5.txtmv 3.txt 4.txt 5.txt rumenz/命令将3.txt 4.txt 5.txt三个文件移到 test3目录中去,mv -t rumenz/ 3.txt 4.txt 5.txt命令又将三个文件挪动到rumenz目录中去。将3.txt改名为4.txt,4.txt曾经存在则给出提醒> mv -i 3.txt 4.txt> mv: overwrite ‘4.txt’? y> ls4.txt 5.txt将4.txt强行改名为5.txt,没有提醒> mv -f 4.txt 5.txt> ls5.txt 把当前目录下rumenz目录下所有的文件挪动到test目录> mv rumenz/* test/把当前目录下rumenz目录下所有的.txt文件挪动到test目录> mv rumenz/*.txt test/挪动目录> mv rumenz/ test/挪动当前目录下所有的文件到上一级目录> mv * ../文件被笼罩前做简略备份,后面加参数-b> tree .├── 4.txt└── 5.txt> mv 4.txt -b 5.txtmv: overwrite ‘5.txt’? y>ls> 5.txt 5.txt~5.txt~为备份文件原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

June 23, 2021 · 1 min · jiezi

关于linux:Linux-主要的发行系统版本介绍

如下图所示: The Red Hat Family Red Hat Enterprise Linux (RHEL) 领导着包含 CentOS、Fedora 和 Oracle Linux 在内的家族。 Fedora 与 RHEL 关系密切,蕴含的软件显著多于 Red Hat 的企业版。 一个起因是在构建 Fedora 的过程中波及到一个多元化的社区,其中有许多不为 Red Hat 工作的贡献者。 此外,它还用作将来 RHEL 版本的测试平台。 CentOS 常常用于流动、演示和实验室,因为它对最终用户收费提供,并且公布周期比 Fedora(每六个月左右公布一个新版本)要长得多。 CentOS 的根本版本也简直与企业环境中最风行的 Linux 发行版 RHEL 雷同。 对于 Red Hat 发行版系列的一些关键点Fedora 作为 RHEL 的上游测试平台。CentOS 是 RHEL 的近似克隆,而 Oracle Linux 次要是通过一些更改的正本(实际上,CentOS 自 2014 年以来始终是 Red Hat 的一部分)。RHEL/CentOS 7 应用打了很多补丁的 3.10 版内核,而 RHEL/CentOS 8 应用了 4.18 版。它反对 Intel x86、Arm、Itanium、PowerPC 和 IBM System z 等硬件平台。它应用基于 yum 和 dnf RPM 的 yum 包管理器(稍后具体介绍)来装置、更新和删除零碎中的包。RHEL 被领有本人零碎的企业宽泛应用。The SUSE Family ...

June 23, 2021 · 1 min · jiezi

关于linux:WGCLOUD启动日志提示comwgcloudutillicenseLicenseUtil-未检测到授权文件

首先申明,这不是错误信息,不必放心。 这是失常的打印信息,是在检测以后版本有没有受权文件licenes.txt,有的话是专业版,没的话是个人版,仅此而已,没什么,不影响应用。

June 23, 2021 · 1 min · jiezi

关于linux:性能工具之linux三剑客awkgrepsed详解

前言 linux 有很多工具能够做文本处理,例如:sort, cut, split, join, paste, comm, uniq, column, rev, tac, tr, nl, pr, head, tail.....,学习 linux 文本处理的懈怠形式(不是最好的办法)可能是:只学习grep,sed和awk。 应用这三个工具,你能够解决近 99% linux 零碎的文本处理问题,而不须要记住下面不同的命令和参数。图片 而且,如果你曾经学会并应用了三者,你就会晓得其中的差别。实际上,这里的差别意味着哪个工具善于解决什么样的问题。 一种更懈怠的形式可能是学习脚本语言(python,perl或ruby)并应用它进行每个文本处理。 概述 awk、grep、sed 是 linux 操作文本的三大利器,也是必须把握的 linux 命令之一。 三者的性能都是解决文本,但侧重点各不相同,其中属 awk 性能最弱小,但也最简单。grep 更适宜单纯的查找或匹配文本,sed 更适宜编辑匹配到的文本,awk 更适宜格式化文本,对文本进行较简单格局解决。 简略概括: grep:数据查找定位awk:数据切片sed:数据批改grep = global regular expression print 用最简略术语来说,grep(全局正则表达式打印)--命令用于查找文件里符合条件的字符串。 从文件的第一行开始,grep 将一行复制到 buffer 中,将其与搜寻字符串进行比拟,如果比拟通过,则将该行打印到屏幕上。grep将反复这个过程,直到文件搜寻所有行。 留神:这里没有过程执行 grep 存储行、更改行或仅搜寻局部行。 示例数据文件 请将以下数据剪切粘贴到一个名为 “sampler.log” 的文件中: bootbookboozemachinebootsbungiebarkaardvarkbroken$tuffrobots一个简略例子 grep 最简略的例子是: grep "boo" sampler.log 在本例中,grep 将遍历文件 “sampler.log” 的每一行,并打印出其中的每一行 蕴含单词“boo”: bootbookboozeboots然而如果你操作的是大型文件,就会呈现这种状况:如果这些行标识了文件中的哪一行,它们是什么,可能对你更有用,如果须要在编辑器中关上文件,那么能够更容易地跟踪特定字符串做一些扭转。 这时候能够通过增加 -n 参数来实现: ...

June 23, 2021 · 4 min · jiezi

关于linux:谁杀死了这个进程

之前文章提到服务器上一个过程启动后不到三分钟就挂掉,到底是什么起因挂掉了,这个问题能够写篇文章了。过程死了,无非就两种可能:他杀,自杀。自杀又包含第三方杀害和零碎判死刑。 先来看他杀。 1.他杀咱们以Java为例,Java程序在main办法运行完就会退出,这种属于他杀。或者像上面这样 System.exit();这样也属于他杀。 比方上面的代码 public class SelfKill { public static void main(String[] args) throws InterruptedException { while(true){ Thread.sleep(5000); System.exit(4); } }}运行如下: [koudai@koudai-pc classes]$ java baicai.other.SelfKill[koudai@koudai-pc classes]$ echo $?4咱们能用shutdownHook来在临死前记日志。 public class SelfKill { public static void main(String[] args) throws InterruptedException { Runtime.getRuntime().addShutdownHook(new Thread(() -> { System.out.println("敞开利用,开释资源"); })); while(true){ Thread.sleep(2000); System.exit(4); } }}执行后果 [koudai@koudai-pc classes]$ java baicai.other.SelfKill敞开利用,开释资源能够看到,无论是被动他杀,还是被他杀,shutdownHook都能放弃现场。那如果是不反对shutdownHook的语言呢,或者程序里没有做Hook,那咱们是不晓得的。另外,不只是他杀shutdownHook能触发,它杀shutdownHook也会被触发。 <u>总结下:对于被动他杀,如果咱们有应用了shutdownHook,是能记录下他杀工夫和现场的。如果是被他杀(歹意后门调用System.exit),并且咱们没有做Hook,那对他杀现场是不知情的。代码里肯定要有欠缺的shutdownHook。</u> 被动他杀是咱们的被动行为,那怎么防止被动他杀呢?方才说了,被动他杀个别是歹意调用System.exit导致,一种是开发者退出的后门,一种是脚本小子退出的后门。System.exit导致JVM间接退出,且没有日志能够查问到是哪个类里的代码导致,因而通常状况下须要屏蔽。System.exit是能够被禁止的,办法就是自定义SecurityManager: public class SelfSecurityManager extends SecurityManager{ @Override public void checkPermission(Permission perm) { if (perm instanceof java.lang.RuntimePermission) { String name = perm.getName(); if (name != null && name.contains("setSecurityManager")) { throw new SecurityException("System.setSecurityManager denied!"); } } } @Override public void checkPermission(Permission perm, Object context) { // } @Override public void checkExit(int status) { super.checkExit(status); throw new ExitException(status);//自定义异样 }}System.setSecurityManager(new SelfSecurityManager());//main办法中须要留神的是,你能够自定义SecurityManager,脚本小子也能够自定义。因而光在Java类中自定义SecurityManager是不够的,你须要在JVM启动参数上定义更精密的policy文件,以及爱护本人的SecurityManager不被重置。尤其须要留神不要被反射绕过。 ...

June 23, 2021 · 2 min · jiezi

关于linux:Linux恶意ELF文件分析

起因是某客户的服务器上,只有一启动server,过不了几秒就被kill,而后谬误日志也看不出啥。server是基于jvm的,怎么看一个过程被哪个过程杀死,这个能够写一篇文章了。 自信一点,这必定不是咱们代码的问题导致JVM解体啊,毫无疑问是那些做平安的脚本小子搞的。 找啊找,套路无非是crontab,mount假装这些玩意。至于篡改ps,top暗藏过程这类,我置信大部分脚本小子也没这能力,当然了,干这一行很多都是有传承的,扛不住其所在的家族雄厚,有祖传神器也难说。好吧,最初找到是一个放到.log目录起名为x86-64的可执行程序。是我以小人之心度君子之腹了,人家也没搞暗藏ps的操作,就是每秒钟起来杀一次占用CPU最多的程序免得影响它干活。。这神思婊,还起个这么有迷惑性的名字,我就信了你是系统文件不去碰? cp一份,保留备份,killall,而后剖析下。vim一看,不是脚本,那就是elf喽。 Linux下用来疾速剖析elf文件有几个工具,一个是readelf,一个是objdump,另外一个是ldd。通常用ldd来剖析动静加载的库,objdump用来反编译。然而这几个工具面对一些歹意文件并不总是无效。比方对于动态编译的程序,或者变种脚本,ldd就有效了。对于没有section table的程序,objdump也就可能无奈得出后果了。 #objdump -d ./wi./wi: file format elf64-x86-64因为objdump须要依赖code sections或section table,能够用readelf看看 [root@localhost ~]# readelf -a ./wiELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0x5c9e70 Start of program headers: 64 (bytes into file) Start of section headers: 0 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 3 Size of section headers: 64 (bytes) Number of section headers: 0 Section header string table index: 0There are no sections in this file.There are no sections to group in this file.Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000 0x00000000001ca78b 0x00000000001ca78b R E 200000 LOAD 0x0000000000000000 0x00000000005cb000 0x00000000005cb000 0x0000000000000000 0x0000000000597d58 RW 1000 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 10There is no dynamic section in this file.There are no relocations in this file.The decoding of unwind sections for machine type Advanced Micro Devices X86-64 is not currently supported.Dynamic symbol information is not available for displaying symbols.No version information found in this file.所以这种状况下,能够这么来,-D示意对全副文件进行反汇编,-b示意二进制,-m示意指令集架构 ...

June 23, 2021 · 2 min · jiezi

关于linux:Linux-内核维护者批华为开发者刷-KPI有许多更好的事情可以做

最近,Linux 邮件列表呈现了一封名为《Please don't waste maintainers' time on your KPI grabbing patches (AKA, don't be a KPI jerk)》的邮件。Linux 内核维护者 Qu Wenruo 在邮件中指出,华为开发者提交的补丁有刷 KPI 的嫌疑。 这封邮件引发了大量关注,目前在 Linux 邮件列表中的热度排第一,高于 Linus Torvalds 探讨疫苗问题的邮件。 Qu Wenruo 发现后缀名为“@huawei.com”的开发者提交的多个补丁只是在“清理错误信息”或“修复拼写错误”,这类补丁通常来自老手开发者。Qu 认为,屡次提交这类无用补丁属于公司刷 KPI 的行为。 图源:https://lore.kernel.org/linux... 邮件原文如下: 嗨,Leizhen 以及邮件列表中的其他人。 最近,我发现一个补丁从 btrfs selftest 中删除了一个调试 OOM 错误信息。这自身没什么特地的,只是内核老手做的小的清理工作。然而,邮件地址引起了我的留神:“@huawei.com”。 上一次咱们也收到了这家公司提交的相似补丁,做了一些有害的“清理”,尽管有害,但它们同时也是无用的。 通过疾速搜寻,我看到了更多“清理”OOM 错误信息的补丁,甚至还有一些修复拼写错误的补丁。 对于老手 / 学生开发者而言,提交这类补丁是能够的,我也心愿这类补丁可能帮忙他们成为长期贡献者。事实上,我本人的内核奉献就是从这类 “清理” 工作开始的。 然而,你们的行为实际上是在刷 KPI,我曾经看到多位维护者就此类 “清理” 补丁与你们开展答辩,你们始终在为本人辩护,尝试让这些补丁被合并。 你们以所属公司的名义发送补丁,这样做实际上毁坏了曾经受损的声誉。 请进行这种刷 KPI 的行为,为社区做出真正的奉献,来修复受损的声誉。 谢谢。Qu 目前 Leizhen 回复了这封邮件,而 Qu Wenruo 针对 Leizhen 的邮件内容做出了进一步回应,并就如何更好地为 Linux 内核做奉献提出了一些倡议。 ...

June 22, 2021 · 1 min · jiezi

关于linux:从Linux零基础小白到Linux云计算架构师的成长之路

从Linux零根底小白到Linux云计算架构师的成长之路很多大学生或从事网管、Windows运维、施行、网络的人员,想理解,一个小白应该如何去动手学习Linux。作为一个搞了15年左右Linux架构的老司机,明天我就给大家具体讲一下如何从Linux零根底小白到Linux云计算架构师的成长之路。 很多同学接触Linux不多,对Linux零碎和运维行业更是无所不知。 而当初的趋势越来越表明,作为一个优良开发人员,或计算机IT行业从业人员,把握Linux是一种很重要的IT行业技术。 Linux主体分为“运维”与“开发”两个方向,无论你是Linux相干从业者,还是说喜好都能够归类到这里,其中“运维”个别是初学者或者转行人员的首选,而Linux运维次要是对服务器稳固、性能与平安方面的保护和调试。 下来我将会联合本人的八年的liinux运维架构师教训, 谈谈Linux的学习办法与学习中应该留神的一些事件。 实际上Linux入门并不艰难,只有具备Linux根底,读懂Linux的命令格局,大多数的服务架构都是能够依照官网文档部署进去,所以如果只是停留在“部署”这个层面,无论是说最简略的“FTP”还是当初容器技术docker以及kubernetes,都算是根底; 就如同方才说的,很多同学以前可能连Linux是什么都不理解,对UNIX是什么更是无所不知。 所以咱们从最根底的常识讲起,对于Linux及UNIX的历史咱们在这里就不做过多的交谈,间接进入入门的学习。 Linux入门其实相对来说是很简略的,问题关键在于是你是否有足够的急躁,是否去爱折腾,是否不排挤重装一类的大修。 不去折腾的话能够说是学不好Linux的,鸟哥说过,要真正理解Linux的分区机制,对LVM应用相当纯熟, 没有20次以上的Linux装机教训是积攒不起来的,所以肯定不要害怕折腾。 一、对于Linux根底如果你想疾速学会Linux,我有一个倡议就是遗记图形界面,不要想图形界面能不能提供你问题的答案, 而是满世界的去找,去问,如何用命令行解决你的问题。在这个过程中,你最好能将Linux的命令把握的不错,起码罕用的命令得晓得,同时建设了本人的知识库, 外面是你积攒的各项常识。以下是我自已写的笔记,如果须要,也能够给我留言,我分享给你。二、那咱们初学者的学习办法有哪些呢一是自学,二是跟着他人学习。 1.自学的方法就是通过看书、看视频,在各大论坛发帖&交换群中求助,一个简略的问题要花费更多工夫来搞懂。对于初学者,不倡议看书,看书是最没有效率成果也难以保持的,大部分人买书只是三分钟热度,一周都在书的前几页翻来覆去,半个月后书都不晓得仍在了哪里,书籍的逻辑过于跳跃,置信很多人都遇到过,比方第一章某个技术点会牵扯到第六章,然而“能力”限度了对内容的了解,所以眼前的技术也就变得只知其一;不知其二,耗时耗精力,没有后果!所以如果是小白,请pass看书~当你在这个畛域里有了一个清晰的脉络,和根本的认知后,再回头通过书籍饱满本人的羽翼更加适合!如果是平时浏览习惯良好的同学,我举荐看这本linux书籍来学习根底入门。本书是学习Linux入门的书籍,次要采纳理论入手操作为主、实践为辅的教学方式。书中应用了大量的实战案例和教程演示,只为读者可能在学习过程中体验到真正的线上环境。书中的命令、工具等应用办法和技巧介绍都采纳简略、易懂的文字模式来进行叙述,使得读者在看书的过程中可能更快地死记硬背。 2.看视频,对于一个小白或者初学者来说,视频是一个不错的抉择,但也极少有人能够通过视频学好,一是自控性,很多人云盘里种子、文档、视频几百G,然而都是老古董,当个收藏家,过后绝不翻阅;二是“视频品质”,网上极少有成套的视频,即便有也是几年前的,时效性不肯定合乎以后互联网技术的利用,再者就是成套视频的品质是否过关,小白是无奈判断的,而且“你能找到的,他人肯定能找到”,基本没有竞争可言,同样视频里的问题,因为没有老师的前期解说所以也有可能成为一个个坑,在将来牵绊你; 3.论坛和群内求助对于小白或者初学者来说,是极难分辨他人答案的好坏和实用性的,再加上网络仍旧是一个“不负责”的中央,群内常常会遇到“rm -rf /*”能够开释空间放慢运行速度等语言,这不是玩笑,这不是玩笑,这不是玩笑!至多我见过的就不下一手之数,到时真的是追悔莫及,而锅还是要本人背的;当然不乏好的答案,然而,你要明确,越是能力强的人,对于很根底的问题是“不屑”答复的,所以无论答案品质好坏,是否可能收到回复还是另一回事! 4.当然,说了那么多都是“自学毛病”,那有没有益处呢?有的,就是“省钱”呀!不过99%的人并不适宜自学,如果你能享受“孤单”,是个拼命三郎,自控型极强,兴许有可能;而大部分人只是做着“致力的样子”,理论“混着日子”; 5.Linux云计算学习的路线三、集体倡议去加入培训班零碎学习更有效率零碎培训,当初很多“在线教育”都是早晨通过直播上课,并不会耽搁日常的工作和学习,这个能够说是最疾速和最简略的办法,你大可看作一场交易,用无限的money来换取有限的工夫和将来的任何可能性;当然这里也离不开集体的致力,只是绝对于自学,凡是能站住脚的机构,课程内容肯定是千锤百炼进去的,技术脉络、实战性和服务都是经得起考验的!能够和同学们一起学习交换问题,课后遇到问题还有老师解答以及近程解决问题,学习高效而且最重要的是你能够通过“教育机构”来获取宏大的人脉关系圈,无论老师还是同学。 总结:以上就是以我15年左右的工作教训,给大家分享的心得。心愿让对大家日后,学习Linux运维,linux云计算架构,有一个领导方向。祝你早日成为linux大牛! 关注'小神'不迷路每天为你带来不一样的技术干货!

June 22, 2021 · 1 min · jiezi

关于linux:SIPp关于电话系统的全链路压测信令媒体及服务

一、我的项目背景及工具面对宏大的运营商用户群体,对整个电话零碎的抗压能力,须要做残缺的全链路压测 在做测试工作之前,须要相熟sip协定、sipp、linux、xml、jmeter应用工具:信令压测工具:SIPphttp压测工具:JmeterTCP压测工具:语音组本人写的工具监控零碎:Zabbix二、零碎测试流程架构合成步骤: uac、uas注册到freeswitchuac发动呼叫freeswitch转接被叫人电话至aibus建设通话、流媒体传输aibus从ums查问配置信息;调用语音辨认服务获取令牌、发送音频进行语音辨认、拿到辨认后果申请对话零碎uac挂断电话aibus同步通话记录三、测试筹备注册脚本呼叫脚本被叫解决脚本接口压测脚本(jmeter界面化编写)部署jmeter和sipp在独自的服务器监控零碎部署freeswich和aibus公布压测版本四、测试策略应用sipp对freeswitch独自进行信令注册性能测试应用sipp对freeswitch独自进行电话拨打信令性能测试(uac、uas均为sipp)退出rtp流(批改xml脚本增加默认音频即可),对freeswitch进行信令媒体性能测试应用sipp对freeswitch、aibus进行全链路测试(uac为sipp、uas为aibus),aibus不接入其余服务,收到就挂断应用jmeter对api接口(查问配置信息、语音辨认、对话零碎、同步通话记录)独自压测,剖析性能aibus调用残缺服务,应用sipp对freeswitch、aibus进行全链路测试(uac为sipp、uas为aibus)

June 21, 2021 · 1 min · jiezi

关于linux:推荐-3-款超好用的-Docker-图形化管理工具

Docker 是一项十分风行的容器技术,当初在各行各业有着宽泛的应用。 不过如何治理 Docker 容器是一个问题,所以我明天向大家介绍 3 款 Docker 可视化工具,心愿对大家有所帮忙。 Portainer Portainer 是一款 Docker 可视化管理工具,容许咱们在网页中不便的查看和治理 Docker 容器。 我的项目地址:https://www.portainer.io/ 要应用 Portainer 很简略,运行上面两条命令即可。这些命令会创立一个 Portainer 专用的卷,而后在 8000 和 9000 端口创立容器并运行。 $ docker volume create portainer_data$ docker run --name portainer -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer 而后在浏览器关上对应地址,就会发现胜利运行了。第一次运行的时候须要设置账号,而后抉择要治理的 Docker 主机。设置账号 抉择要治理的主机 之后就能够看到本机上运行的 Docker 容器了,点击它们还能够进行容器的治理。右边的条目能够治理卷、创立容器、查看主机信息等等。基本上该有的性能都有了,这也是我举荐的一个工具。 LazyDocker LazyDocker 是基于终端的一个可视化查问工具,反对键盘操作和鼠标点击。 相比 Portainer 来说可能不那么业余,不过对于开发者来说可能反而更加好用了。因为个别开发者都是应用命令行来运行 Docker,偶然须要图形化查看的时候,就能够应用 LazyDocker 这个工具。 我的项目地址:https://github.com/jesseduffi... 官网演示图装置 LazyDocker 也非常简单,运行上面的命令即可。 $ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker \lazyteam/lazydocker ...

June 21, 2021 · 1 min · jiezi

关于linux:Linux之mkdir命令

Linux用来创立指定名称的目录,留神创立目录的用户须要有以后所在目录的可写权限,否则创立没有权限创立目录,并且指定的目录不能是当前目录曾经存在目录。命令格局mkdir [选项] 目录命令性能通过mkdir在指定目录创立目录命令参数-m,--mode=模式,设定权限<模式>(相似chmod),如mkdir -m 755 test-p,--parents,此时若门路中的某些目录尚不存在,加上此选项后,零碎将主动建设好那些尚不存在的目录,即一次能够建设多个目录。-v, --verbose 每次创立新目录都显示信息--help 显示此帮忙信息并退出--version 输入版本信息并退出创立一个目录> mkdir test> ls test一次创立多个目录> mkdir -p rumenz/one创立权限为755权限的目录> mkdir 755 www创立新目录时显示信息> mkdir -v rumenz一个命令创立我的项目的目录构造> mkdir -vp src/{lib/,bin/,sbin/{doc,info},doc/{js,css,html},rumenz/lib/{test,info}}mkdir: created directory ‘src’mkdir: created directory ‘src/lib/’mkdir: created directory ‘src/bin/’mkdir: created directory ‘src/sbin’mkdir: created directory ‘src/sbin/doc’mkdir: created directory ‘src/sbin/info’mkdir: created directory ‘src/doc’mkdir: created directory ‘src/doc/js’mkdir: created directory ‘src/doc/css’mkdir: created directory ‘src/doc/html’mkdir: created directory ‘src/rumenz’mkdir: created directory ‘src/rumenz/lib’mkdir: created directory ‘src/rumenz/lib/test’mkdir: created directory ‘src/rumenz/lib/info’> tree srcsrc├── bin├── doc│ ├── css│ ├── html│ └── js├── lib├── rumenz│ └── lib│ ├── info│ └── test└── sbin ├── doc └── info原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站 ...

June 20, 2021 · 1 min · jiezi

关于linux:W3-VIM-SHELL

1、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 cp /etc/profile /tmp/ 2、在vim中设置tab缩进为4个字符 # .vimrcset etset ts=43、20分钟内通关vimtutor(可参考https://yyqing.me/post/2017/2...) 已通过 4、编写脚本 createuser.sh,实现如下性能:应用一个用户名做为参数,如果 指定参数的用户存在,就显示其存在,否则增加之;显示增加的用户的id号等信息 # createuser.shread -p "输出测试的用户名: " USERNAMEif `id $USERNAME &> /dev/null` ; then echo "用户存在, `id $USERNAME`"else useradd $USERNAME &> /dev/null PASSWD=`cat /dev/urandom | tr -cd [:alnum:]|head -c8` echo "用户名:$USERNAME 明码: $PASSWD" >> userinfo.txt chage -d 0 $USERNAME echo "用户已增加: `id $USERNAME`,明码: $PASSWD"fi5、编写脚本 systeminfo.sh,显示以后主机零碎信息,包含:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 systeminfo.sh RED="\E[1;31m"GREEN="echo -e \E[1;32m"END="\E[0m"$GREEN-----------------------Host systeminfo-------------------------$ENDecho -e "HOSTNAME: $RED`hostname`$END"echo -e "IPADDR: $RED`ifconfig | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1`$END"echo -e "OSVERSION: $RED`cat /etc/redhat-release `$END"echo -e "KERNAL: $RED`uname -r`$END"echo -e "CPU: $RED`lscpu |grep 'Model name' | tr -s ' '| cut -d: -f2`$END"echo -e "MEMORY: $RED`free -h | grep Mem|tr -s ' ' :|cut -d: -f2`$END"echo -e "DISK: $RED`lsblk |grep '^sd'|tr -s ' '| cut -d ' ' -f4`$END"$GREEN----------------------------------------------------------------$END6、编写脚本disk.sh,显示以后硬盘分区中空间利用率最大的值 ...

June 20, 2021 · 1 min · jiezi

关于linux:Linux之pwd命令

Linux中应用pwd来查看当前工作目录的残缺门路。命令格局pwd [选项] 命令性能查看当前工作目录的残缺门路。罕用参数-L, --logical 打印环境变量"$PWD"的值,可能为符号链接。-P, --physical (默认值)打印当前工作目录的物理地位。--help 显示帮忙信息并退出。--version 显示版本信息并退出。-P 如果是链接目录,则输入实在的目录-L 目录连贯链接时,输入连贯门路罕用案例查看以后的工作目录> pwd/home目录连贯链接时,pwd -P 显示出理论门路,而非应用连贯(link)门路;pwd显示的是连贯门路> cd /etc/init.d> pwd/etc/init.d> pwd -P/etc/rc.d/init.d> pwd -L/etc/init.d/etc/init.d是/etc/rc.d/init.d软连贯,也就是/etc/init.d的实在目录是/etc/rc.d/init.d当前目录被删除了,而pwd命令依然显示那个目录> cd /tmp> mkdir test> cd test> pwd/tmp/test>rm -rf ../test>pwd/tmp/test留神该命令是GNU coreutils包中的命令,相干的帮忙信息请查看man pwd或info coreutils 'pwd invocation'。启动或敞开内建命令请查看enable命令,对于同名优先级的问题请查看builtin命令的例子局部的相干探讨。在不禁用内建且以后环境没有定义pwd函数的状况下,应用/usr/bin/pwd指向coreutils的pwd,应用pwd指向bash内建的pwd。原文链接:https://rumenz.com/rumenbiji/... 微信公众号:入门小站

June 19, 2021 · 1 min · jiezi