Linux网络属性管理:
局域网:以太网,令牌环网
Ethernet:CSMA/CD
冲突域
广播域
MAC:media access control地址
48bit:
24bits
24bits 
IP:Internet protocol
routing protocol
routed protocol
OSI,ICP/IP
tcp/ip分层:
application layer
transport layer
internet layer
datalink layer
pysical layer
传输层协议:
tcp,udp,sctp
网络层协议:
ip
ip协议:
IPv4地址分类:
点分十进制:0-255
0000 0000 - 1111 1111
0.0.0.0-255.255.255.255
A类:
0 000 0000 - 0 111 1111:1-127
网络数:126,127
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0/8
B类:
10 00 0000 - 10 11 1111:128-191
网络数:2^14
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0/16-172.31.0.0/16
C类:
110 0 0000 - 110 1 1111:192-223
网络数:2^21
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0/24-192.168.255.0/24
D类:组播
1110 0000 - 1110 1111:224-239
E类:
240-255
子网掩码:
跨网络通信:路由
主机路由
网络路由
默认路由
将Linux主机接入到网络中:
IP/mask
路由:默认网关
DNS服务器
主DNS服务器
次DNS服务器
第三DNS服务器
配置方式:
静态指定
ifcfg:ifconfig,route
ip:link,addr,route
配置文件:
system-config-network-tui (setup)
CentOS 7:
nmcli,nmtui
动态分配
DHCP:dynamic host configuration protocol
配置网络接口:
接口命名方式:
CentOS:
以太网:eth[0,1,2...]
ppp:ppp[0,1,2..]
ifconfig命令:
ifconfig [interface]
ifconfig -a
ifconfig IFACE
ifconfig interface [aftype] options | address ...
ifconfig IFACE IP/mask [up]
ifconfig TFACE IP netmask MASK
注意:立即生效
启用混杂模式:[-]promisc
route命令:
路由管理命令
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
目标192.168.1.3 网关:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
默认路由,网关:172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
删除:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
DNS服务器指定:
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
正解:FQDN-->IP
dig -t A FQDN
host -t A FQDN
反解:IP-->FQDN
dig -x IP
host -t PTR IP
FQDN:www.kernel.org
netstat命令:
netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
显示网络连接:
netstat  [--tcp|-t]  [--udp|-u]  [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t:tcp协议相关
-u:udp协议相关
-r:raw socket相关
-l:处于监听状态
-a:所有状态
-n:以数字显示ip和端口
-e:扩展格式的信息
-p:显示相关的进程及pid
常用组合:
-tan,-uan,-tnl,-unl
显示路由表:
netstat {--route|-r} [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n]
-r:显示内核路由表
-n:数字格式
显示接口统计数据:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
netstat -i
netstat -I IFACE
总结:ifcfg家族命令配置:
ifconfig/route/netstat
ifup/ifdown
linux网络配置(2):
配置linux网络属性:ip命令
ip命令:
ip - show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
link OBJECT:
ip link - network device configuration
set
dev IFACE
可设置属性:
up and down:
show
[dev IFACE]:指定接口
[up]:仅显示处于激活状态的接口
ip addr
ip addr {add | del} IFADDR dev STRING
[LABEL label]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global:全局可用
link:仅链接可用
host:本机可用
[broadcast ADDRESS]
ip addr show
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush - flush protocol addresses
使用格式同show
ip route
ip route add
添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:ip
网络路由:NETWORK/MASK
添加网关:ip route add default via GW dev IFACE
ip route delete
删除路由:ip route del TARGET
ip route show
ip route flush
dev IFACE:
via PREFIX:
ss命令:
格式:ss [OPTION]... [FILTER]
选项:
-t:tcp协议相关
-u:upd协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的连接
-a:所有
-n:数字格式
-p:相关的程序及PID
-e:扩展的信息
-m:内存用量
-o:计时器信息
FILTER := [stat TCP-STATE] [EXPRESSION]
TCP的常见状态:
tcp finite state machine
LISTEN:监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport
sport = :22
示例:'( dport = :ssh or sport = :ssh )'
常用组合:
-tan,-tanl,-tanlp,-uan
Linux网络属性配置(3):修改配置文件
IP,MASK,GW,DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件(默认不存在):/etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE:
DEVICE:此配置文件应用到的设备
HWADDR:对应的设备MAC地址
TYPE:接口类型,常见的有Ethernet,Bridge
UUID:设备唯一标识
ONBOOT:在系统引导时是否激活此设备
NM_CONTROLLED:NM是NetworkManager简写,此网卡是否接受NM控制,CentOS6建议为no
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootp
IPADDR:指明ip地址
NETMASK:子网掩码
GATEWAY:默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为DHCP,是否允许DHCP服务器分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件
/etc/sysconfig/network-scripts/route-IFACE:
两种风格:
1.TARGET via GW
2.每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
给网卡配置多地址:
ifconfig
ifconfig IFACE_ALIAS
ip
ip addr add
配置文件:
ifcfg-IFACE_ALIAS
DEVICE=IFACE_ALIAS
注意:网卡别名不能使用dhcp协议引导
Linux网络属性配置的tui(text user interface)
system-config-network-tui
也可以使用setup找到
注:记得重启网络服务
配置当前主机的主机名:
hostname [HOSTNAME]
/etc/sysconfig/network
HOSTNAME=
网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
lsmod 查看硬件驱动
卸载网卡驱动:
modprobe -r e1000
装载网卡驱动:
modprobe e1000
CentOS 7 网络属性配置:
传统命名:以太网eth[0,1,2..],wlan[0,1,2..]
可预测功能:
udev支持多种不同的命名方案
Firmware,拓扑结构
1.网卡命名机制:
systemd对网络设备的命名方式:
a.如果firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,则根据此索引进行命名,例如eno1
b.如果firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如eth1
c:如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
d:如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
e:上述均不可用时,则使用传统命名机制
上述命名机制中,有的需要biosdevname程序的参与
2.名称组成格式:
en:ethernet
wl:wlan
ww:wwan
名称类型:
o<index>:集成设备的设备索引号
s<slot>:扩展槽的索引号
x<MAC>:基于MAC地址的命名
p<bus>s<slot>:enp2s1
网卡设备的命名过程:
第一步:
udev,辅助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD,ID_NET_NAME_SLOT,ID_NET_NAME_PATH
回归传统命名方式:
1.编辑/etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"
2.位grub2生产其配置文件
grub2-mkconfig -o /etc/grub2.cfg
3.重启系统
地址配置工具:nmcli
nmcli  [ OPTIONS ] OBJECT { COMMAND | help }
device 
connection
如何修改IP地址等属性:
nmcli connection modify IFACE [+|-] setting.property value
setting.property
ipv4.addresses
ipv4.gateway
ipv4.dns1
ipv4.method
manual
网络接口配置tui工具:nmtui
主机名称配置工具:hostnamectl
status
set-hostname
网络客户端工具:
lftp,ftp,lftpget,wget
lftp [-p port ] [-u user[,password]] SERVER
子命令:
get
mget
ls
help
lftpget URL
ftp
wget [option]... [URL]...
-q:静默模式
-c:续传
-O:保存位置
--limit-rates=:指定传输速率
Linux进程及作业管理:
内核的功用:进程管理,文件系统,网络功能,内存管理,驱动程序,安全功能
Process:运行中程序的一个副本
存在生命周期
Linux内核存储进程信息的固定格式:task struct
多个任务的task struct组件的链表:task list
进程创建:
init
父子关系
进程:都由其父进程创建
fork(),clone()
进程优先级:
0-139
1-99:实时优先级
数字越大,优先级越高
100-139:静态优先级
数字越小,优先级越高
Nice值:
-20,19
Big O
O(1),O(logn),O(n),O(n^2),O(2^n)
进程内存:
Page Frame:页框.用来存储页面数据
存储Page
MMU:Memory Management Unit
IPC:Inter Process Communication
同一主机上:
signal
shm:shared memory
semerphor
不同主机上:
rpc:remote procecure call
socket:
Linux内核:抢占式多任务
进程类型:
守护进程:daemon,在系统引导过程中启动的进程,跟终端无关的进程
前台进程:跟终端相关,通过终端启动的进程
注意:也可把在前台启动的进程送往后台,以守护模式运行
进程状态:
运行态:running
就绪态:ready
睡眠态:
可中断:interruptable
不可中断:uninterruptable
停止态:暂停于内存中,但不会被调度,除非手动启动,stopped
僵死态:zombie
进程的分类:
CPU-Bound
IO-Bound
《Linux内核设计与实现》 《深入理解Linux内核》
Linux进程查看及管理的工具:pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkill,job,bg,fg,nohup
pstree:
pstree - display a tree of processes
ps:process state
ps - report a snapshot of the current processes.
Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中
ps [OPTION]..
选项:支持两种风格
常用组合:aux
u:以用户为中心组织进程状态信息显示
a:与终端相关的进程
x:与终端无关的进程
ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
VSZ:Virtual memory SiZe,虚拟内存集
RSS:ReSident Size,常驻内存集
STAT:进程状态
R:running
S:interruptable sleeping
D:uninterruptable sleeping
T:stopped
Z:zombie
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader
常用组合:-ef
-e:显示所有进程
-f:显示完整格式的程序信息
常用组合:-eFH
-F:显示完整格式的进程信息
-H:以进程层级格式显示进程相关信息
常用组合:-eo,axo
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
ni:nice值
pri:priority,优先级
psr:processor.CPU
rtprio:实时优先级
pgrep,pkill:
pgrep [option] pattern
pkill [option] pattern
-u uid:effective user
-U uid:real user
-t terminal:与指定终端相关进程
-l:显示进程名
-a:显示完整格式的进程名
-P pid:显示其父进程为此处指定的进程的进程列表
pidof:
根据进程名获取pid
top:
有许多内置命令:
排序:
P:以占据的CPU百分比
M:占据内存百分比
T:累计占据CPU时长
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1
memory信息:m命令
退出:q
修改刷新时间间隔:s
终止指定进程:k
选项:
-d #:指定刷新时间间隔,默认3秒
-b:以批次方式
-n #:显示多少批次
htop命令:
选项:
-d #:指定延迟时间
-u username:仅显示指定用户的进程
-s COLOMN:以指定字段进行排序
命令:
s:跟踪选定进程的系统调用
l:跟踪选定进程打开的文件列表
a:将选定的进程绑定至某指定CPU核心
t:显示进程树
注意:Fedora-EPEL源
回顾:
Linux基础:
CPU:timeslice
memory:线性地址空间
I/O:
分时复用
进程查看工具:pstree,os,pgrep,pidof,top,htop
Linux进程查看及管理2:
vmstat:
vmstat [options] [delay [count]]
procs:
r:等待运行的进程的个数
b:处于不可中断睡眠态的进程个数(被阻塞的队列的长度)
memory:
swpd:交换内存的使用总量
free:空闲物理内存总量
buff:用于buffer的内存总量
cache:用于cache的内存总量
swap:
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap中的数据速率
io:
bi:从块设备读入数据到系统的速率(kb/s)
bo:保存数据至块设备的速率
system:
in:interrupts,中断速率
cs:context switch,进程切换速率
cpu:
us
sy
id
wa
st
选项:
-s:显示内存的统计数据
pmap命令:
pmap - report memory map of a process
pmap [options] pid [...]
-x:显示详细格式的信息
另外一种实现:
cat /proc/PID/maps
glances命令:
glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [--password] [-t refresh] [-f file] [-o output]
内建命令:
a  Sort processes automatically     l  Show/hide logs
c  Sort processes by CPU%           b  Bytes or bits for network I/O
m  Sort processes by MEM%           w  Delete warning logs
p  Sort processes by name           x  Delete warning and critical logs
i  Sort processes by I/O rate       1  Global CPU or per-CPU stats
d  Show/hide disk I/O stats         h  Show/hide this help screen
f  Show/hide file system stats      t  View network I/O as combination
n  Show/hide network stats          u  View cumulative network I/O
s  Show/hide sensors stats          q  Quit (Esc and Ctrl-C also work)
y  Show/hide hddtemp stats
常用选项:
-b:以byte为单位显示网卡数据速率
-d:关闭磁盘I/O模块
-f /path/to/somefile:设置输出文件的位置及格式
-o {HTML|CSV}:输出格式
-m:禁用mount模块
-n:禁用网络模块
-t #:延迟时间间隔
-1:每个CPU的相关数据单独显示
C/S模式下运行glances:
服务模式:
glances -s -B IPADDR
IPADDR:指明监听本机哪个地址
客户端模式:
glances -c IPADDR
IPADDR:服务器地址
dstat命令:
dstat [-afv] [options..] [delay [count]]
-c:显示cpu相关信息
-C #,#,...,total
-d:显示disk相关信息
-D total,sda,sdb..
-g:显示page相关统计数据
-m:显示memory相关统计数据
-n:显示network相关统计数据
-p:显示process相关统计数据
-r:显示io请求相关的统计数据
-s:显示swapped相关的统计数据
--tcp
--udp
--unix
--raw
--socket
--ipc
--top-cpu:显示最占用CPU的进程
--top-io:显示最占用io的进程
--top-mem:显示最占内存的进程
--top-lantency:显示延迟最大的进程
kill命令:
向进程发送控制信号,以实现进程管理
显示当前系统可用信号:
kill -l
man 7 signal
常用信号:
1.SIGHUP:无须关闭进程而让其重读配置文件
2.SIGINI:终止正在运行的进程,相当于ctrl+c
9.SIGKILL:杀死正在运行的进程
15.SIGTERM:终止正在运行的进程
18.SIGCONT
19.SIGSTOP
指定信号的方法:
1.信号的数字表示:1,2,9
2.信号完整名称,SIGHUP
3.信号的简写名称,HUP
向进程发信号:
kill [-SIGNAL] PID
终止名称之下的所有进程:
killall [-SIGNAL] program
Linux的作业控制:
前台作业:通过终端启动,且启动后一直占据终端
后台作业:可以通过终端启动,但启动后即转入后台运行(释放终端)
如何让作业运行于后台:
1.运行中的作业:
ctrl+z
2.尚未启动的作业:
COMMAND &
此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系:
nohup COMMAND &
查看所有作业情况:
jobs
作业控制:
fg [[%]JOB_NUM]:把指定的后台作业调回前台
bg [[%]JOB_NUM]:让送往后台的作业在后台继续运行
kill [%JOB_NUM]:终止指定的作业
进程优先级调整:
静态优先级:100-139
进程默认启动时的nice值为0,优先级为120
nice命令:
nice [OPTION] [COMMAND [ARG]...]
nice,renice
renice命令:
renice [-n] priority pid...
查看:
ps axo pid,comm,ni
未涉及到的命令:sar,tsar,iostat,iftop
Linux任务计划,周期性任务执行:
未来的某时间点执行一次任务:at,batch
周期性运行某任务:cron
电子邮件服务:
smtp:simple mail transmission protocol,用于传送邮件
pop3:post office protocol
imap4:Internet mail access protocol
mailx - send and receive internet mail
MUA:mail user agent
mailx [-s 'SUBJECT'] username[@localhost]
邮件正文的生成:
1.直接给出,ctrl+d
2.输入重定向
3.通过管道
echo -e "" | mail
mailx
at命令:
at [option] TIME
TIME:
HH:MM [YYYY-mm-dd]
noon,midnight,teatime
tomorrow
now+#(minutes,hours,days,OR weeks)
常用选项:
-q QUEUE:
-l:列出指定队列中等待运行的作业,相当于atq
-d:删除指定的作业.相当于atrm
-c:查看具体作业任务
-f /path/from/somefile:从指定的文件中读取任务
注意:作业的执行结果以邮件通知给相关用户
batch命令:
让系统自行选择空闲时间去执行此处指定的任务
周期性任务计划:cron
相关的程序包:
cronie:主程序包,提供了crond守护进程及相关辅助工具
cronie-anacron:cronie的补充程序,用于监控cronie任务执行状况.如果cronie中的任务在过去应该运行的时间点未能运行,则anacron会随后启动一次此任务
crontabs:包含CentOS提供系统维护任务
确保crond守护进程处于运行状态
CentOS7:
systemctl status crond
CentOS6:
service crond status
计划要周期性执行的任务提交给crond,由其来实现到点运行
系统cron任务:
/etc/crontab
用户cron任务:
crontab任务
系统cron任务:
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
例如:晚上9点10分运行echo命令
10 21 * * * gentoo /bin/echo "e"
时间表示法:
1.特定值:
给定时间点有效取值范围内的值
2.*
给定时间点上有效取值范围内的所有值
表示 每...
3.离散取值,
#,#,#
4.连续取值:-
#-#
5.在指定时间范围上,定义步长
/#:#即为步长
*/3
例如:每3小时echo命令
0 */3 * * * gentoo /bin/echo "howdy!"
用户cron:
crontab命令定义:每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME
crontab命令:
crontab [-u user] [-l | -r | -e] [-i] [-s]
-l:列出所有任务
-e:编辑任务
-r:移除所有任务
-i:同-r一同使用,有选择的移除指定任务,交互模式
-u user:仅root可运行,代为为指定用户创建cron任务
注意:运行结果以邮件通知给相关用户
1.COMMAND > /dev/null
2.COMMAND &> /dev/null
对于cron任务来讲,%有特殊用途,如果在命令中要使用%,则需要转义.不过,如果把%放置于单引号中,也可用不用转义
思考:
1.如何在秒级别运行任务
* * * * * for min in 0 1 2;do echo "h1";sleep 20;done
2.如何实现每7分钟运行一次任务
sleep命令:
sleep NUMBER[SUFFIX]...
SUFFIX:
s:秒
m:分
h:小时
d:天
练习:
1.每4小时备份一次/etc目录至/backup目录中,保存的文件名称格式为"etc-yyyy-mm-dd-HH.tar.xz"
2.每周2,4,7备份/var/log/message文件至/logs目录中,文件名"message-yyyymmdd"
3.每2小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中
4.工作日时间内,每小时执行一次ip addr show命令

马哥Linux SysAdmin学习笔记(二)的更多相关文章

  1. 马哥Linux SysAdmin学习笔记(三)

    CentOS 5和6的启动流程: Linux:kernel+rootfs kernel:进程管理,内存管理,网络管理,驱动程序,文件系统,安全功能 rootfs: glibc 库:函数集合,funct ...

  2. 马哥Linux SysAdmin学习笔记(一)

    Linux入门 Linux系统管理: 磁盘管理,文件系统管理 RAID基础原理,LVM2 网络管理:TCP/IP协议,Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

  3. 马哥Linux SysAdmin学习笔记(四)

    sed:编辑器 sed:Stream EDitor,行编辑器 用法: sed [option]... 'script' inputfile... script: '地址命令' 常用选项: -n:不输出 ...

  4. 马哥Linux base学习笔记

     介绍课程: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.shell脚本 高级: MySQL数据库: Cache & storgae 集群: Cluster   lb: 4la ...

  5. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

  6. linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)

    本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...

  7. linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

  8. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  9. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

随机推荐

  1. String 的不可变真的是因为 final 吗?

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...

  2. Myabtis-Plus之QueryWrapper常用方法

    AbstractWrapper 下的方法及使用 方法名 说明 使用 allEq(Map<R, V> params) 全部 =(或个别 isNull) allEq(params,true) ...

  3. 翻译:《实用的Python编程》08_02_Logging

    目录 | 上一节 (8.1 测试) | 下一节 (8.3 调试) 8.2 日志 本节对日志模块(logging module)进行简单的介绍. logging 模块 logging 模块是用于记录诊断 ...

  4. 面试官:Java中线程是按什么顺序执行的?

    摘要:Java中多线程并发的执行顺序历来是面试中的重点,掌握Java中线程的执行顺序不仅能够在面试中让你脱颖而出,更能够让你在平时的工作中,迅速定位由于多线程并发问题导致的"诡异" ...

  5. Github Pages(io) + 域名重定向 (手把手教你搭建个人网站)

    好歹也成为了在读phd的人,拥有个人网站是个有排面有很必要的事儿~ 在这里利用Github Pages + 域名重定向,实现个人网站的光速搭建~ 1.0 Github Repositories 首先你 ...

  6. vscode(Visual Studio Code)中安装Debugger for Chrome插件调试页面

    最近换了下编辑器,改用vscode(Visual Studio Code),很喜欢它左边显示的文件路径,轻松新建文件夹和文件,也喜欢它的编码转换功能,gbk和utf-8可以随时切换,因为公司网站有些页 ...

  7. 尝试做一个.NET模板填充导出Excel工具

    园友好,最近晚辈延续上篇后尝试进阶做成Excel模板填充数据生成工具 MiniExcel Template. 主要特点 同样以Stream流.延迟查询避免全部数据载入内存情况,做到1GB内存降低到只需 ...

  8. 对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载

    目录 一.MinIO快速入门 1. MinIO简介 2. CentOS7更换成阿里云镜像 3. 安装 3.1 下载 3.2 运行测试 4. 配置脚本执行文件 4.1 创建配置执行文件 4.2 执行 二 ...

  9. Pytorch系列:(一)常用基础操作

    各种张量初始化 创建特殊类型的tensor a = torch.FloatTensor(2,3) a = torch.DoubleTensor(2,3) ... 设置pytorch中tensor的默认 ...

  10. Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    1.简介 我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的.这里由于服务器各种安全机制的限制和校验,因此我们不得不欺骗一下服务器,今天宏哥就给大家 ...