17.centos7基础学习与积累-003-命令练习01
1.从头开始积累centos7系统运用
大牛博客:https://blog.51cto.com/yangrong/p5
linux命令的学习:
创建目录:mkdir
mkdir /data
mkdir -p /data/linux/test
分号的作用:将两条命令一行输出
cd / ;mkdir date
查找当前路径:pwd
print work directory
显示当前所在路径
ls命令:
ls -l 查看长格式
ls-ld 只查看目录
人性化阅读:
[root@python01 ~]# ls -lh /var/log/messages*
-rw------- 1 root root 134K Jun 27 15:33 /var/log/messages
-rw-------. 1 root root 1000K Jun 23 03:45 /var/log/messages-20190623
查看kb
ls -l --block-size=k
[root@python01 ~]# ls -l --block-size=k /var/log/messages*
-rw------- 1 root root 134K Jun 27 15:33 /var/log/messages
-rw-------. 1 root root 1000K Jun 23 03:45 /var/log/messages-20190623
查看兆M
[root@python01 ~]# ls -l --block-size=m /var/log/messages*
-rw------- 1 root root 1M Jun 27 15:33 /var/log/messages
-rw-------. 1 root root 1M Jun 23 03:45 /var/log/messages-20190623
查看GB
[root@python01 ~]# ls -l --block-size=g /var/log/messages*
-rw------- 1 root root 1G Jun 27 15:33 /var/log/messages
-rw-------. 1 root root 1G Jun 23 03:45 /var/log/messages-20190623
cd切换目录:
xargs 从标准输入(管道或stdin、输入重定向)获取数据。并将数据转换成命令行的参数
[root@python01 data]# cat >>test.txt<<EOF
1 2 3 4 5 6
9 8 7 5 4 2
6 5 4
EOF
[root@python01 data]# xargs < test.txt
1 2 3 4 5 6 9 8 7 5 4 2 6 5 4
[root@python01 data]# xargs -n 2 < test.txt
1 2
3 4
5 6
9 8
7 5
4 2
6 5
4
-i
参数见find命令 mv的用法
touch 命令:
创建文件
touch oldboy.txt
批量创建文件:touch stu{1..1000}
echo 命令:
echo 'I am study linux' >oldboy.txt
追加 echo 'oldboy' >>oldboy.txt
cat 命令:多行文本追加,查看文件内容
cat >>/root/oldboy.txt<<EOF
I am studying liunx.
test
mysql
EOF
清空文件内容:
>a.txt
echo '' >a.txt
输入重定向:
[root@python01 test]# echo 1 2 3 4 >oldboy.txt
[root@python01 test]# cat oldboy.txt
1 2 3 4
[root@python01 test]# xargs -n 2 <oldboy.txt
1 2
3 4
[root@python01 test]# xargs -n 1 <oldboy.txt
1
2
3
4
[root@python01 test]# xargs -n 1 0<oldboy.txt
1
2
3
4
把空格替换成回车
[root@python01 test]# tr " " "\n" <oldboy.txt
1
2
3
4
[root@python01 test]# cat oldboy.txt
1 2 3 4
[root@python01 test]# cat <oldboy.txt
1 2 3 4
cp 命令:复制
复制目录:cp -r /data /tmp
复制目录:cp -a /data /tmp
rm 命令:
删除
删除目录:rm -rf *
删除目录
rm -fr data/
rmdir data
rmdir 命令:
只能删除空目录
[root@python01 test]# rmdir stu
rmdir: failed to remove ‘stu’: Directory not empty
mv 命令:
移动
find命令:
使用find代替rm删除文件
[root@python01 test]# ls
oldboy.txt
[root@python01 test]# pwd
/root/test
[root@python01 test]# find /root/test/ -type f
/root/test/oldboy.txt
[root@python01 test]# find /root/test/ -type f
/root/test/oldboy.txt
/root/test/a.tst
[root@python01 test]# find /root/test/ -type f -name "oldboy.txt"
/root/test/oldboy.txt
[root@python01 test]# ls
a.tst oldboy.txt
[root@python01 test]# find /root/test/ -type f -name "oldboy.txt"
/root/test/oldboy.txt
将查询后的结果交给-exec执行:
[root@python01 test]# find /root/test/ -type f -name "oldboy.txt" -exec rm {} \;
[root@python01 test]# ls
a.tst
用管道符删除:
[root@python01 test]# find /root/test/ -type f -name "*.txt"
/root/test/b.txt
[root@python01 test]# find /root/test/ -type f -name "*.txt" |xargs rm -f
[root@python01 test]# ls
a.tst b.txt
[root@python01 test]# touch c.txt
[root@python01 test]# find /root/test/ -type f -name "*.txt" |xargs
/root/test/b.txt /root/test/c.txt
[root@python01 test]# find /root/test/ -type f -name "*.txt" |xargs rm -f
[root@python01 test]# ls
a.tst
删除指定时间的文件:重点命令
删除15天以前的文件:
find /log -type -f -name "*.log" -mtime +15 |xargs rm -r
删除目录30天以前的文件:
find /log -type -f -name "*.log" -mtime +30 |xargs rm -rf
-mtime 时间,按修改时间查找,时间数字,+7七天以前,7代表第七天,-7代表最近7天
find /logs -type f -mtime +5 -exec rm {} \;
find命令:
查找 -type 文件类型 f(file),d(directory),c(character),b(block),s(socker),l(link) ,-name "文件名",
-mtime 时间,按修改时间查找,时间数字,+7七天以前,7代表第七天,-7代表最近7天
-o or或者的意思
[root@python01 test]# touch {1..10}.txt
[root@python01 test]# ls
10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt a.tst
[root@python01 test]# find /root/test -type f -name "*.txt"
/root/test/1.txt
/root/test/2.txt
/root/test/3.txt
/root/test/4.txt
/root/test/5.txt
/root/test/6.txt
/root/test/7.txt
/root/test/8.txt
/root/test/9.txt
/root/test/10.txt
[root@python01 test]# mv `find /root/test -type f -name "*.txt"` /tmp/
[root@python01 test]# ls /tmp
10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt
grep命令:加-v排除制定的字符,不加就是过滤(筛子)
[root@python01 test]# cat oldboy.txt
I am studying liunx.
test
mysql
效率高
[root@python01 test]# grep -v test oldboy.txt
I am studying liunx.
mysql
效率低
[root@python01 test]# cat oldboy.txt |grep -v test
I am studying liunx.
mysql
过滤:
[root@python01 test]# grep my oldboy.txt
mysql
head 命令:查看文件头部行
[root@python01 test]# head -2 oldboy.txt
I am studying liunx.
[root@python01 test]# seq 20 >a.txt
[root@python01 test]# cat a.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@python01 test]# head a.txt
1
2
3
4
5
6
7
8
9
10
[root@python01 test]# tail a.txt
11
12
13
14
15
16
17
18
19
20
递归创建目录:
[root@python01 test]# mkdir -p ./01/02/03/04 ./a/b/c/d/e
[root@python01 test]# tree
.
├── 01
│ └── 02
│ └── 03
│ └── 04
├── a
│ └── b
│ └── c
│ └── d
│ └── e
├── a.txt
└── oldboy.txt
9 directories, 2 files
去掉复制的提示:忽略提示
原因就是cp mv rm 这些命令比较危险,容易搞坏文件,防止误操作,别名alias
/反斜线作用屏蔽别名
\cp
全路径不适用别名
/bin/cp
[root@python01 test]# cp oldboy.txt /tmp
[root@python01 test]# cp oldboy.txt /tmp
cp: overwrite ‘/tmp/oldboy.txt’? ^C
[root@python01 test]# \cp oldboy.txt /tmp
[root@python01 test]# /bin/cp oldboy.txt /tmp
查看系统现有的别名:
[root@python01 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
取消别名:cp 临时生效,重启后失效
unalias cp
alias 是查看和设置别名
unalias是取消别名
别名的作用:
1.通过为危险命令加一些保护参数,防止人为误操作。
2.把很复杂的字符串或命令变成一个简单的字符串或命令。
[root@python01 test]# unalias rm
[root@python01 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@python01 test]# alias rm='echo this command does not allow to use.'
[root@python01 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='echo this command does not allow to use.'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@python01 test]# alias|grep rm
alias rm='echo this command does not allow to use.'
[root@python01 test]# ls
01 a a.txt oldboy.txt
[root@python01 test]# rm a
a/ a.txt
[root@python01 test]# rm a.txt
this command does not allow to use. a.txt
给查看网卡设置一个别名:
[root@python01 test]# alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
设置别名永久生效:
[root@python01 test]# cat /etc/profile
[root@python01 test]# cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
别名的修改与取消:
[root@python01 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@python01 test]# unalias net
[root@python01 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
seq命令:
-s 参数指定分隔符
[root@python01 test]# seq -s ' ' 10
1 2 3 4 5 6 7 8 9 10
[root@python01 ~]# seq -s "==" 10
1==2==3==4==5==6==7==8==9==10
[root@python01 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@python01 ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@python01 test]# seq 10
1
2
3
4
5
6
7
8
9
10
seq 1 3 10
从哪个数开通 间隔 结尾
[root@python01 test]# seq 1 3 10
1
4
7
10
查看文件中指定的行:
[root@python01 test]# seq 100 > test.txt
[root@python01 test]# head -30 test.txt
[root@python01 test]# head -30 test.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30
sed命令:三剑客老二 处理文本 流编辑器
sed -n n的作用是取消默认输出,按照指定规则打印
p为打印的意思
打印一行:
[root@python01 test]# sed -n '20'p test.txt
20
[root@python01 test]# sed -n '$'p test.txt
100
[root@python01 test]# sed -n '20,30'p test.txt
20
21
22
23
24
25
26
27
28
29
30
[root@python01 test]# echo 'oldboy oldgirl' >oldgirl.txt
[root@python01 test]# cat oldgirl.txt
oldboy oldgirl
[root@python01 test]# sed 's#oldgirl#shenjing#g' oldgirl.txt
oldboy shenjing
-i 参数才会修改内容:
g与s联合使用是,表示对当前行全局匹配替换
s常说的查找替换,用一个字符替换成另一个字符
[root@python01 test]# sed -i 's#oldgirl#shenjing#g' oldgirl.txt
[root@python01 test]# cat oldgirl.txt
oldboy shenjing
[root@python01 test]# echo "oldboy" >boy.sh
[root@python01 test]# echo "oldboy" >old.sh
[root@python01 test]# echo "oldboy" >oldboy.sh
[root@python01 test]# find /root/test -type f -name "*.sh" |xargs cat
oldboy
oldboy
oldboy
[root@python01 test]# ls
01 a a.txt boy.sh oldboy.sh oldboy.txt oldgirl.txt old.sh stu test.txt
[root@python01 test]# find . -type f -name "*.sh"
./boy.sh
./old.sh
./oldboy.sh
[root@python01 test]# find . -type f -name "*.sh" |xargs rm -f
[root@python01 test]# ls
01 a a.txt oldboy.txt oldgirl.txt stu test.txt
批量替换多个文件中指定的字符串
[root@python01 test]# find /root/test -type f -name "*.sh" |xargs sed 's#oldboy#oldgirl#g'
oldgirl
oldgirl
oldgirl
[root@python01 test]# find /root/test -type f -name "*.sh" |xargs sed -i 's#oldboy#oldgirl#g'
[root@python01 test]# sed 's#oldgirl#oldboy#g' ` find /root/test -type f -name "*.sh"`
oldboy
oldboy
oldboy
[root@python01 test]# sed -i 's#oldgirl#oldboy#g' ` find /root/test -type f -name "*.sh"`
awk命令:三剑客老大 处理文本 过滤,输出内容,一门语音。
-F 指定分隔符 NR代表行号 {print $1 $2}
[root@python01 test]# awk '{if(NR<31&&NR>19)printf $0"\n"}' test.txt
20
21
22
23
24
25
26
27
28
29
30
锦上天花:
[root@python01 test]# awk '19<NR && NR<31' test.txt
20
21
22
23
24
25
26
27
28
29
30
[root@python01 test]# awk 'NR==31' test.txt
31
grep 命令:
打印指定的行,然后加后面的10行 -A
[root@python01 test]# grep 20 -A 10 test.txt
20
21
22
23
24
25
26
27
28
29
30
显示指定行前后个5行:-C
[root@python01 test]# grep 25 -C 5 test.txt
20
21
22
23
24
25
26
27
28
29
30
显示指定行前10行: -B
[root@python01 test]# grep 30 -B 10 test.txt
20
21
22
23
24
25
26
27
28
29
30
man 命令:
查询所以命令的使用:
命令 --help
date 命令:
修改系统时间:
date -s "05/10/2010 10:18:11"
内置命令:
[root@python01 ~]# man cd
BASH_BUILTINS(1) General Commands Manual BASH_BUILTINS(1)
NAME
bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue, declare, dirs, disown,
echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile,
popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type, typeset,
ulimit, umask, unalias, unset, wait - bash built-in commands, see bash(1)
[root@python01 ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@python01 ~]# which cd
/usr/bin/cd
特殊符合:
./ . 点是当前目录
..// ..是上级目录
大括号:
[root@python01 ~]# mkdir -p /date/{3306,3307}/date
[root@python01 ~]# tree /date
/date
├── 3306
│ └── date
└── 3307
└── date
4 directories, 0 files
快捷键:
ctrl+c 终止当前命令活程序
ctrl+d 退出当前用户环境,相当于exit,logout
ctrl+l 清屏,相当于clear
ctrl+a 光标回到最前面 将光标移至输入行头,相当于Home键
ctrl+e 光标回到最后面 将光标移至输入行末,相当于End键
ctrl+u 清理光标前面的字符
ctrl+k 清理光标后面的字符
ctrl+w 清理光标前的一个单词
ctrl+r 搜索历史命令
32位系统和64位系统:
查看系统位数:
[root@python01 ~]# uname -m
x86_64
[root@python01 ~]# uname -a
Linux python01 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@python01 ~]# ls -ld /lib64
lrwxrwxrwx. 1 root root 9 May 24 23:24 /lib64 -> usr/lib64
[root@python01 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
内核:
[root@python01 ~]# uname -r
3.10.0-957.el7.x86_64
经历过的内核版本:从2.6到3.1
ps -ef 命令:
程序是代码文件,进程是正在运行的程序
查看进程:
查看指定进程
[root@python01 ~]# ps -ef |grep ssh
root 8861 1 0 Jun17 ? 00:00:00 /usr/sbin/sshd -D
root 24809 8861 0 09:07 ? 00:00:00 sshd: root@pts/0
root 24981 24811 0 14:50 pts/0 00:00:00 grep --color=auto ssh
查看端口:
[root@python01 ~]# netstat -luntp|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8861/sshd
tcp6 0 0 :::22 :::* LISTEN 8861/sshd
[root@python01 ~]# netstat -luntp|grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8861/sshd
tcp6 0 0 :::22 :::* LISTEN 8861/sshd
ping不通:
1.客户端到服务端物理链路有问题。
网卡,IP,网线,防火墙
2.服务是否好的
ssh服务是否好的
检测办法:从哪个机器连就在哪个机器上操作
telnet 192.168.33.128 22(服务器的IP和PORT)
可能你原因:
服务器端防火墙阻挡
df -h 命令:
查看磁盘占用
[root@python01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 47G 1.6G 46G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 139M 359M 28% /boot
/dev/mapper/centos-data 151G 33M 151G 1% /data
tmpfs 378M 0 378M 0% /run/user/0
fdisk -l命令:
[root@python01 ~]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e3b06
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 419430399 209202176 8e Linux LVM
Disk /dev/mapper/centos-root: 50.0 GB, 50000297984 bytes, 97656832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-data: 162.1 GB, 162067906560 bytes, 316538880 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
磁盘设备的唯一标识:
[root@python01 ~]# blkid
/dev/sda1: UUID="1653bc45-1d10-4e98-805f-6615d99d551f" TYPE="xfs"
/dev/sda2: UUID="dI0T5n-cD1U-1uwZ-Ynjj-ZxQP-yL05-2rZ5Dx" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="f0feb483-5149-4f03-b3f2-5a7c8970c7d5" TYPE="xfs"
/dev/mapper/centos-swap: UUID="1118d205-9040-463d-8509-7a3f1efb3293" TYPE="swap"
/dev/mapper/centos-data: UUID="9ec3ac30-2ad1-4135-bdc0-5203f55778f3" TYPE="xfs"
17.centos7基础学习与积累-003-命令练习01的更多相关文章
- 19.centos7基础学习与积累-005-命令总结01
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.查看命令帮助的方法: --help 适用于一般命令,非内置命令 man 适用于 ...
- 24.centos7基础学习与积累-010-上机考核命令练习
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然 ...
- 25.centos7基础学习与积累-011-课前考试二-命令练习
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 取IP地址: 6的命令:ifconfig eth0 7的命令 [root@pytho ...
- 26.centos7基础学习与积累-012-文件和目录的属性
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.文件的属性(文件的信息描述): [root@python01 ~]# ls -l ...
- 27.centos7基础学习与积累-013-文件和目录的权限
从头开始积累centos7系统运用 大牛博客: https://blog.51cto.com/yangrong/p5 https://blog.oldboyedu.com/ 文件的权限 rw-r--r ...
- 23.centos7基础学习与积累-009-linux目录
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 linux目录的特点: 1. /是所有目录的顶点. 2. 目录结构像一颗倒挂的树. ...
- 22.centos7基础学习与积累-008-系统调优及安全设置
从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.关闭selinux功能: SELinux(Securety-EnhancedLi ...
- 20.centos7基础学习与积累-006-软实力-画图
从头开始积累centos7系统运用 亿图是用指南 安装亿图软件 修改基础配置 路径:文件==>选项==>常规 需要修改的参数: 撤销次数:256 自动保存间隔:2分钟 路径:文件==> ...
- 18.centos7基础学习与积累-004-分区理论
1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.常规分区:数据不是特别重要的业务(集群的某个节点) /boot 引导分区 ...
随机推荐
- [IR] Inverted Index & Boolean retrieval
教材:<信息检索导论> 倒排索引 How to build Inverted Index? 1. Token sequence. 2. Sort by terms. 3. Dictiona ...
- [LeetCode] 271. Encode and Decode Strings 加码解码字符串
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over th ...
- 最新 奥买家java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.奥买家等10家互联网公司的校招Offer,因为某些自身原因最终选择了奥买家.6.7月主要是做系统复习.项目复盘.LeetCo ...
- 九、Spring中使用@Value和@PropertySource为属性赋值
首先回顾下在xml中我们是如何为spring的bean进行属性赋值呢? 大体是这样的 <bean id="person" class="com.atguigu.be ...
- Spell It Right
Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output e ...
- ReentrantLock 非公平锁不公平在哪
重入锁关键地带: 1:使用unsafe的cas方式对AQS中的state成员变量进行“原子加一”操作. 2:如果当前线程多次lock,相当于对state在原有值基础上继续加一操作:释放锁的条件为“原子 ...
- go 读取BMP文件头二进制读取
BMP文件头定义: WORD 两个字节 16bit DWORD 四个字节 32bit package main import ( "encoding/binary" "f ...
- 创建包含CRUD操作的Web API接口-第一部
在这里,我们将创建一个新的Web API项目,它将使用实体框架实现Get,POST.PUT和DELETE方法来实现CRUD操作. 首先,在Visual Studio 2013 for Web expr ...
- RAC环境备份,RMAN异机在单实例环境恢复redo问题
目的:客户环境11.2.0.4 ,多节点RAC环境,现在使用带库的备份,在单机环境测试备份有效性 1.normal参数文件 删除集群相关参数cluster 2.mount 使用备份的控制文件进行还原 ...
- C# 值类型和引用类型等值判断
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...