2020-9-2Linux基础命令

一: linux基础

(1) 查看服务器的IP信息

ip add show
ifconfig

(2) 操作网卡命令(重启网络和启用网卡)

systemctl restart network
systemctl start network
systemctl stop network
启用和停止网卡命令

ifup 网卡名
例:
ifup ens33 # 启用网卡
ifdown ens33 # 停止网卡

(3) 远程连接服务器

注意: 因为我的讲师机的虚拟机是桥接模式,跟大家在同一个局域网,所以谁都可以连接

但是,不要干坏事儿

第一种方式: 使用第三方软件,我们教学就使用xshell进行连接就可以

第二种方式: 使用命令进行连接

ssh root@192.168.12.56
三. linux目录结构
              根目录 /

/root   /bin  /dev  /etc  /home   /var  /lib  /usr  /media  /tmp  。。。。

|                           |

/root/desktop   /root/Media  。。。          /usr/bin  /usr/lib   。。。。

(1) 查看服务器的IP信息

ip add show
ifconfig

(2) 操作网卡命令(重启网络和启用网卡)

systemctl restart network
systemctl start network
systemctl stop network
启用和停止网卡命令

ifup 网卡名
例:
ifup ens33 # 启用网卡
ifdown ens33 # 停止网卡

(3) 远程连接服务器

注意: 因为我的讲师机的虚拟机是桥接模式,跟大家在同一个局域网,所以谁都可以连接

但是,不要干坏事儿

第一种方式: 使用第三方软件,我们教学就使用xshell进行连接就可以

第二种方式: 使用命令进行连接

ssh root@192.168.12.56
三. 目录相关操作
. 当前目录
… 上一层目录

  • 前一个工作目录
    ~ 当前【用户】所在的家目录
    蓝色的文件: 都是目录

白色的文件: 都是普通文件

绿色的 文件: 都是可执行文件

四. linux基本操作命令
增删改查的高大上叫法 : CURD

创建目录(文件夹)

mkdir liulaoshi
mkdir chenwen
mkdir chengang
mkdir zhangqihang

切换命令

touch huangchun
touch xiaowei

remove > 因为太长,所以改为rm
rm或rm -i # 删除文件命令
rm -r # 递归删除目录和文件命令
rm -rf # 递归并且强制删除目录和文件命令
rmdir # 删除一个空目录
注意: rm -rf /*是炸弹命令,千万不要使用
注意: rm -rf /*是炸弹命令,千万不要使用
注意: rm -rf /*是炸弹命令,千万不要使用

cd # 切换目录命令

mv # 移动文件命令
mv 源文件 目标文件 # 对文件重命名

ls # 查看当前目录下的文件夹和文件
ls -l或ll # 查看当前目录下的文件夹和文件详情
ls -la # 查看当前目录下的文件夹和文件详情, 还可以查看隐藏文件
pwd # 查看当前所在的目录的绝对路径
重启或关机命令

init 6 # 重启
init 0 # 关机
linux下查看环境变量
echo $PATH

绝对路径和相对路径
绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;

相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或…/…/home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径

二: linux基本命令
(1) 创建用户命令
useradd liulaoshi # 创建用户
passwd liulaoshi # 设置密码, 回车后会提示让你输入两次密码
普通用户登录的命令提示符与root用户不一样

(2) 修改命令提示符
echo $PS1 # 查看命令提示符参数
PS1="[\u@\h \w \t]$"
\w 显示完整工作路径
\t 显示时间
(3) 修改主机名
hostnamectl set-hostname qishitwo

(4) linux系统命令提示符
命令 参数 需处理的内容

(5) 创建目录命令
mkdir -p liulaoshi/chenwen/liujie/xiaowei # 递归创建目录
mkdir -p {qihang,chenwen,yanglan,xiaowei} # 创建多个目录

touch liulaoshi.py qihang.py yanglan.py xiaowei.py

创建多个普通文件命令, 文件之间用空格隔开

(6) VIM操作初识
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
命令模式常用操作:
:set nu 显示行号
1G 或 gg ,跳转到文件的首行
G ,跳转到文件的末尾行
yy、#yy ,复制光标处的一行、#行
p、P ,粘贴到光标处之后、之前
x 或 Delete键 ,删除光标处的单个字符
dd、#dd ,删除光标处的一行、#行
d^、d$ ,从光标处之前删除至行首/行尾
/word 向后查找字符串“word”,再按n/N跳至后/前一个结果
u ,撤销最近的一次操作
U ,撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
ZZ 保存修改并退出
末行模式常用操作:
😒/old/new ,替换当前行第一个“old”
😒/old/new/g ,替换当前行所有的“old”
:n,m s/old/new/g ,替换第n-m行所有的“old”
:% s/old/new/g ,替换文件内所有的“old”
:w /root/newfile ,另存为其它文件
:r /etc/filesystems ,读入其他文件内容
:set nu|nonu ,显示/不显示行号
:set ai|noai ,启用/关闭自动缩进
(7) 修改网卡配置文件,使系统重启之后不用再手动启动网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33

改完之后,下一次你重启系统之后,就不用再使用ifup ens33命令手动启用网卡了

(8) 查看普通文件内容
cat 文件名 # 可以用绝对路径,也可以用相对路径

(9) 特殊符号
1
2
3
4
5
输入/输出

追加重定向
重定向 会清空源文件
< 输入重定项
<< 将输入结果输入重定向

(10) more和less命令
more /etc/passwd # 分页查看文件, 比cat命令好用
less /etc/passwd # 同more 比more功能更多
(11) linux快捷键
1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作
(12) echo命令
echo “山外青山楼外青楼” > passwd # 单个>符号表示覆盖
echo “能人背后有人弄” >> passwd # 两个>符号表示追加
(13) 复制命令
cp 参数 源文件 目标文件
-r 递归,复制目录以及目录的子孙后代
-p 复制文件,同时保持文件属性不变
-a 相当于-pdr, 类似与Windows系统的复制快捷方式
(14) 移动和重命名命令mv
mv 源文件 目标文件

不仅有移动的功能,还有重命令名的功能

(15) 删除命令
rm 参数 文件名
-i 需要删除确认
   -f 强制删除
-r 递归删除目录和内容

(16)查找命令
find 需要查找的目录
-name # 指定文件的名字
-type # 指定文件类型
(17) 别名alias命令

alias #查看系统存在的别名
alias rm=“echo ‘此命令太危险了,请你不要再使用’”

给rm命令别名成为echo ‘此命令太危险了,请你不要再使用’

当用户再输入rm命令时,就会执行这个命令:

echo ‘此命令太危险了,请你不要再使用’
unalias rm # 取消别名
(18) 查看系统运行的进程
ps -ef
(19) 查看系统已开放的端口
netstat -tunlp

(19) 管道命令

ps -ef | grep liulaoshi # 查看系统中与liulaoshi相关的进程

(20) grep命令
grep nologin /etc/passwd # 过滤出/etc/passwd下面所有含有noloing的信息
grep root /etc/passwd # 过滤出/etc/passwd下面root信息

语法:
grep [参数] [–color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
–color = auto : 给关键词部分添加颜色

(21) linux下面的IP地址信息(重要指数*)
127.0.0.1 # 本机地址, 别人无法访问,只有本机才可以访问
192.168.12.56 # 本机IP地址,别人可以访问
localhost # 本机主机名
0.0.0.0 # 本机环回地址, 相当于127.0.0.1加上192.168.12.56
(22) head和tail命令(重要指数***)
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
想要显示/etc/passwd下面的第10行到第20行, 可以使用管道符进行二次过滤
head -20 /etc/passwd | tail -1

(23) which 命令(重要指数*)
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。 which指令会在环境变量$PATH设置的目录里查找符合条件的文件。 也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which pwd
which python
(24) scp命令(重要指数*)
语法
scp 【可选参数】 本地源文件 远程文件标记
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
scp liulaoshi.py root@192.168.12.77:/opt/

将本地的liulaoshi.py拷贝到远程服务器192.168.12.77的/opt目录下

scp root@192.168.12.77:/opt/liulaoshi.py /root/

将远程服务器192.168.12.77的/opt目录下liulaoshi.py拷贝到本地/root目录下

scp -r /opt/liulaoshi root@192.168.12.77:/opt # 递归拷贝目录

(25) 查看磁盘占用率命令
df -h
du -sh 文件或目录名 # 统计文件或目录的大小,以K,M,G为单位人性化显示
(26) top命令
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

监控java线程数:
ps -eLf | grep java | wc -l

监控网络客户连接数:
netstat -n | grep tcp | grep 侦听端口 | wc -l
(27) chattr命令
chattr +a huangxiaowei.py # 给文件加锁
chattr -a huangxiaowei.py # 给文件解锁
lsattr huangxiaowei.py # 查看文件详细加锁信息
(28) linux时间服务器 (重要指数***)
date 查看系统当前时间
ntpdate -u ntp.aliyun.com # 从阿里云的NTP服务器更新系统的时间

硬件时钟的查看
hwclock

//以系统时间为基准,修改硬件时间
hwclock -w

//以硬件时间为基准,修改系统时间
hwclock -s
date 041215002019 # 修改系统时间
(29)wget 下载命令
wget 链接
(30) lrzsz软件包
yum install lrzsz
rz # 上传
sz 文件名 # 下载指定文件
(31) 关机和重启命令
reboot或init 6命令用于重启机器
poweroff或init 0用于关闭系统
(32)rsync 同步工具

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
本地同步操作:
rsync [选项…] 本地目录1 本地目录2
rsync [选项…] 本地目录1/ 本地目录2
rsync同步工具的常用选项:
-n:测试同步过程,不做实际修改
–delete:删除目标文件夹内多余的文档
-a:归档模式,相当于-rlptgoD
-v:显示详细操作信息
-z:传输过程中启用压缩/解压
1)将目录 /boot 同步到目录 /todir 下
[root@svr7 ~]# ls -l /todir //同步前
ls: 无法访问/todir: 没有那个文件或目录
[root@svr7 ~]# rsync -a /boot /todir //将目录1作为目录2的子目录
[root@svr7 ~]# ls -l /todir //检查同步结果
总用量 4
dr-xr-xr-x. 4 root root 4096 11月 30 18:50 boot

2)将目录 /boot 下的文档同步到目录 /todir 下
[root@svr7 ~]# rm -rf /todir //清理掉目录2
[root@svr7 ~]# rsync -a /boot/ /todir //将目录1下的文档同步到目录2下
[root@svr7 ~]# ls -l /todir //检查同步结果
总用量 126708
-rw-r–r--. 1 root root 126426 10月 30 2015 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 4096 11月 30 18:50 extlinux
drwx------. 6 root root 104 12月 9 09:58 grub2

3)同步效果测试
在目录/boot下新增文件a.txt,删除/todir下的子目录 grub2:
[root@svr7 ~]# touch /boot/a.txt
[root@svr7 ~]# rm -rf /todir/grub2/
现在目录/boot和/todir目录下的内容已经不一致了:
[root@svr7 ~]# ls -ld /boot/a.txt /todir/a.txt
ls: 无法访问/todir/a.txt: 没有那个文件或目录
-rw-r–r--. 1 root root 0 1月 11 21:09 /boot/a.txt
[root@svr7 ~]# ls -ld /boot/grub2 /todir/grub2
ls: 无法访问/todir/grub2: 没有那个文件或目录
drwx------. 6 root root 104 12月 9 09:58 /boot/grub2
再次同步使/todir与/boot一致:
[root@svr7 ~]# rsync -a /boot/ /todir/
确认同步结果:
[root@svr7 ~]# ls -ld /boot/a.txt /todir/a.txt
-rw-r–r--. 1 root root 0 1月 11 21:09 /boot/a.txt
-rw-r–r--. 1 root root 0 1月 11 21:09 /todir/a.txt
[root@svr7 ~]# ls -ld /boot/grub2 /todir/grub2
drwx------. 6 root root 104 12月 9 09:58 /boot/grub2
drwx------. 6 root root 104 12月 9 09:58 /todir/grub2
步骤二:验证 -a、-v、-n、–delete 选项的含义
1)验证-a选项
当目录1包含文件夹时,若缺少-a或-r选项则文件夹会被忽略:
[root@svr7 ~]# rsync /home /testa
skipping directory home
[root@svr7 ~]# ls -ld /testa
ls: 无法访问/testa: 没有那个文件或目录
添加-a后才会执行同步:
[root@svr7 ~]# rsync -a /home/ /testa
[root@svr7 ~]# ls -ld /testa
drwxr-xr-x. 4 root root 31 1月 6 17:33 /testa
类似的情况,当目录1中的数据出现权限、归属、修改时间等变化时,若文件内容不变默认不会同步,若希望目录2也同步这些变化,也需要-a选项。
2)验证-v选项
创建测试目录及文档:
[root@svr7 ~]# mkdir /fdir
[root@svr7 ~]# touch /fdir/1.txt
添加-v选项时,可以看到操作细节信息,比如第一次同步时:
[root@svr7 ~]# rsync -av /fdir/ /tdir
sending incremental file list
created directory /tdir
./
1.txt //传输文档列表

sent 82 bytes received 34 bytes 232.00 bytes/sec
total size is 0 speedup is 0.00
在目录/fdir/添加文件2.txt,再次跟踪同步信息:
[root@svr7 ~]# touch /fdir/2.txt
sending incremental file list
./
2.txt //传输文档列表

sent 100 bytes received 34 bytes 268.00 bytes/sec
total size is 0 speedup is 0.00
确认目录1和目录2的内容已经一致:
[root@svr7 ~]# ls /fdir/ /tdir/
/fdir/:
1.txt 2.txt

/tdir/:
1.txt 2.txt
再次跟踪同步信息,已经无需传输文件:
[root@svr7 ~]# rsync -av /fdir/ /tdir
sending incremental file list

sent 58 bytes received 12 bytes 140.00 bytes/sec
total size is 0 speedup is 0.00
3)验证-n选项
将-n、-v选项合用,可以模拟同步过程,显示需要做哪些操作(但并不真的同步)。
在目录/fdir下新建文件3.txt,测试同步操作:
[root@svr7 ~]# touch /fdir/3.txt
[root@svr7 ~]# rsync -avn /fdir/ /tdir/
sending incremental file list
./
3.txt //提示同步时会传输哪些文件

sent 78 bytes received 18 bytes 192.00 bytes/sec
total size is 0 speedup is 0.00 (DRY RUN)
[root@svr7 ~]# ls -l /tdir/3.txt //但实际并未真的同步
ls: 无法访问/tdir/3.txt: 没有那个文件或目录
去掉-n选项才会真正同步:
[root@svr7 ~]# rsync -av /fdir/ /tdir/
sending incremental file list
./
3.txt

sent 114 bytes received 34 bytes 296.00 bytes/sec
total size is 0 speedup is 0.00
[root@svr7 ~]# ls -l /tdir/3.txt
-rw-r–r--. 1 root root 0 1月 11 21:46 /tdir/3.txt
4)验证–delete选项
rsync同步操作默认只是将目录1的数据同步到目录2,但如果目录2存在多余的文件却并不会去除,除非添加—delete选项。
在目录/fdir、/tdir已经完成同步后,删除/tdir/2.txt文件,再次同步:
[root@svr7 ~]# rm -rf /fdir/2.txt
[root@svr7 ~]# rsync -a /fdir/ /tdir/
检查发现目标文件夹/tdir下的2.txt文件还在:
[root@svr7 ~]# ls /fdir/ /tdir/
/fdir/:
1.txt 3.txt

/tdir/:
1.txt 2.txt 3.txt
这种情况下添加–delete选项再次执行同步,两个目录的内容就一致了:
[root@svr7 ~]# rsync -a --delete /fdir/ /tdir/
[root@svr7 ~]# ls /fdir/ /tdir/
/fdir/:
1.txt 3.txt
/tdir/:
1.txt 3.txt
rsync+SSH同步
rsync user@host:远程目录/

rsync […] user@host:远程目录 本地目录

rsync […] 本地目录 user@host:远程目录

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1 查看远程主机svr7的/目录下有哪些子目录:
[root@pc207 ~]# rsync root@192.168.4.7:/
2 rsync+SSH同步操作
从远程主机svr7下载/etc/passwd文件到当前目录
[root@pc207 ~]# rsync root@192.168.4.7:/etc/passwd ./
3 将远程主机svr7的/boot/目录同步为本地的/fromssh
[root@pc207 ~]# rsync

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值