目录
Linux
1 Linux简介
1.1 Linux版本
1.2 Linux安装
1.3 Linux文件系统
2 常用命令
2.1 pwd
2.2 cd
2.3 ls
3 文件名命令
3.1 mkdir
3.2 rmdir
3.3 touch
3.4 rm
3.5 cp
3.6 mv
4 查看文件内容
4.1 cat
4.2 tac
4.3 head
4.4 tail
4.5 more
4.6 less
Day02. Linux
5 ln 软连接和硬链接
6 文件权限
6.1 chmod
6.2 chown
6.3 chgrp
7 文件或命令查找
7.1 find
7.2 locate和updatedb
7.3 which
7.4 whereis
8 命令帮助
8.1 --help
8.2 man
8.3 help
8.4 whatis
8.5 apropos
8.6 info
9 用户管理
9.1 useradd
9.2 passwd
9.3 userdel
9.4 who
10 压缩和解压缩
10.1 gzip
10.2 gunzip
10.3 tar
10.4 zip
10.5 unzip
10.6 bzip2
10.7 bunzip2
11 通信和网络
11.1 write
11.2 wall
11.3 ifconfig
11.4 ping
12 登出和重启
12.1 exit 或 logout
12.2 su 临时登录超级用户
12.3 关机和重启
12.4 shutdown
12.5 init
12.6 runlevel
12.7 uptime
12.8 w
12.9 last
12.10 lastlog
13 vim
1 Linux简介
l 开源操作系统
l 芬兰大学生Linux,出于个人兴趣开发了一个操作系统内核
l 服务器端一般运行Linux系统
l 服务器只会安装服务软件,没有个人桌面系统
l 个人使用Linux可以选择安装桌面系统,常用桌面:Gnome,KDE
1.1 Linux版本
红帽子RedHat
RedHat
Fedora
CentOS
乌班图Ubuntu
1.2 Linux安装
l 虚拟机
l 双系统安装
1.3 Linux文件系统
所有文件都在一个根目录下
/
分区:
一个磁盘分区,要挂载在一个目录下
必须分区:
/
swap 交换分区,虚拟内存
可选分区:
/boot
文件都是静态地,不会频繁操作
/var
/home
文件会频繁操作,可能产生大量的磁盘碎片
Linux安装过程中,可以自动分区
2 常用命令
2.1 pwd
显示当前所在的目录路径
/root 超级用户root的主目录
普通用户的主目录实在 /home 下,例如,zhangsan用户的主目录:/home/zhangsan
2.2 cd
切换目录
cd /
pwd
cd /etc
pwd
cd ~ 用户主目录,回家
pwd
2.3 ls
目录列表
-a 显示全部,包括隐藏文件(.xxx)
-l 长格式
-h 人性化显示,Kb,Mb,Gb
-d 显示目录本身
-i 显示文件数字id
长格式列表:
l 第一个字符:
n d 目录
n - 文件
n l 软连接文件
l rwxr-xr--:
n 权限 r读,w写,x执行
l 数字:
n 文件: 硬链接数量
n 目录: 目录的数量
l root root:
n 所属用户,和所属的组
l 文件大小
l 最后修改时间
l 文件名
cd ~
ls
ls -a
ls -a -l
ls -al
ls -lh
ls -lh /etc
ls -ld /etc
ls -lhi /etc
3 文件名命令
3.1 mkdir
创建目录 make directory
-p 逐层创建多层目录
cd ~
mkdir d1
mkdir d2
mkdir d3
ls -l
mkdir aa/bb/cc 不能创建
mkdir -p aa/bb/cc
ls -l
........ 3 root root .... a
ls -l aa
ls -l aa/bb
........ 2 root root .... cc
目录中包含两个特殊子目录:
. 当前目录
.. 上一层目录
cd aa/bb/cc
ls -l
cd .
pwd
cd ..
pwd
cd ../../
pwd
3.2 rmdir
删除目录,remove directory
只能删除空目录
cd ~
rmdir aa aa不是空目录,删不掉
rmdir d1
3.3 touch
创建文件
cd ~
touch f1
ls -l
touch aa/f2
touch aa/bb/f3
ls -l aa
ls -l aa/bb
3.4 rm
删除文件,remove,也可以删除目录
-r 删除目录
-f 无需确认
cd ~
rm f1
ls -l
rm aa 不能删除
rm -r aa
ls -l
touch f1
mkdir -p aa/bb/cc
touch aa/f2
touch aa/bb/f3
无需确认
rm -f f1
rm -rf aa
3.5 cp
复制,copy
-r 复制目录
-p 保持文件属性,一般指的是修改时间
cd ~
cp /etc/services .
cp /etc/services s1
ls -l
ls -l /etc/services
cp -p /etc/services s2
ls -l
mkdir -p aa/bb/cc
touch aa/f2
touch aa/bb/f3
cp -rp aa a2 -r复制目录
ls a2
ls a2/bb
3.6 mv
文件移动或改名 move
cd ~
mv s1 aa 文件s1移动到aa目录
ls -l
ls -l aa
mv s2 s3 文件s2改名成s3
ls -l
4 查看文件内容
4.1 cat
-n 显示行号
cd ~
cat services
cat -n services
cp /etc/passwd .
cat -n passwd
4.2 tac
反向查看
tac passwd
tac -n passwd 报错,不能加行号
先用cat添加行号,在将cat命令的执行结果,传递给 tac 来反向显示
cat -n passwd |tac
tac passwd |cat -n
4.3 head
查看头部几行数据, 默认10行
-n 指定显示额行数
head passwd
head -n5 passwd
head -n5 passwd |cat -n
4.4 tail
尾部几行,默认10行
-n 指定显示的行数
tail passwd
tail -n5 passwd
4.5 more
翻页查看
空格或f 下一页
回车 下一行
q或ctrl+c 退出
more services
cat -n services |more
ls -l /etc |more
4.6 less
向前或向后翻页
pgup 上一页
pgdn 下一页
上 上一行
下 下一行
/ 搜索内容
n 继续搜索下一个
q 退出
less services
ls -l /etc |cat -n |less
Day02. Linux
5 ln 软连接和硬链接
文件连接 link
l 软连接: 快捷方式
l 硬链接:
n 文件副本,自动同步
n 硬连接文件有相同的数字id
-s 软连接
软连接测试
cd ~
rm -f passwd
cp /etc/passwd .
ln -s passwd p1
ls -l
cat p1
echo asdfasdf >> p1
cat passwd
ls -l
硬链接测试
ln passwd p2
ln passwd p3
ln passwd p4
ls -l
ls -li
echo asdfasaswerdfsdfssdf >> p4
ls -l
cat p2
cat passwd
rm passwd
ls -l
cat p2
6 文件权限
读、写和执行权限
r 读read 4
w 写write 2
x 执行execute 1
针对的用户
u 所有者user
g 用户组group
o 其他人other
rwxrw-r--
用户 用户组 其他人
目录的权限
r 获得文件列表
w 创建文件或删除文件
x 进入目录
测试文件权限
添加新的用户
useradd zhangsan
cat /etc/passwd
passwd zhangsan
输入密码123456
提示密码太简单,穿着裤衩,直接无视
再输入一次
alt+f1,f2...f6 切换工作界面
alt+f2 到第二个工作界面
用zhangsan登录
alt + f1
cd /home/zhangsan
touch f1
ls -l root rw-r--r--
echo aasdfasdf >> f1
alt + f2
pwd
ls -l
cat f1
echo aderttyerer >> f1 权限拒绝
touch f2
ls -l zhangsan rw-rw-r--
alt + f1
echo g2tg2tgergt >> f2 可以修改
6.1 chmod
修改文件权限 change mode
+ 增加权限
- 减少权限
= 设置成指定权限
u+x,g-rw,o=r
755 rwxr-xr-x
644 rw-r--r--
777 rwxrwxrwx
000 ---------
修改文件权限
alt+f1
cd /home/zhangsan
ls -l rw-r--r-- f1
chmod o+w f1
ls -l rw-r--rw- f1
alt+f2
echo t3g4tererter >> f1
cat f1
alt+f1
mkdir aa
ls -l rwxr-xr-x aa
chmod 744 aa
ls -l rwxr--r-- aa
touch aa/f1
touch aa/f2
alt+f2
cd aa 无权进入
ls -l aa
alt+f1
chmod 777 aa
chmod o-w aa/f1
ls -l aa
alt+f2
cd aa
echo asdfq3rfqf >> f1 没有写权限
rm f1 目录有写权限,可以删除
ls -l
6.2 chown
修改文件的所有者 change owner
alt + f1
cd /home/zhangsan
rm -f f1
touch f1
ls -l
chown zhangsan f1 f1文件所有者改为zhangsan
ls -l
6.3 chgrp
修改文件的用户组 change group
alt + f1
groupadd grp1801
cd /home/zhangsan
ls -l zhangsan root
chgrp grp1801 f1
ls -l zhangsan grp1801
7 文件或命令查找
7.1 find
查找文件,可以使用通配符:
* 通配多个字符
? 通配单个字符
-name 指定搜索的文件名
-iname 忽略大小写
-size 按文件大小查找
块数, 块=512字节
2 等于 2 块
+2 大于2块
-2 小于2块
-user
-group
按所有者、所属组查找
find -user root
-amin access minutes, 按访问时间查找
-cmin change, 属性更改
-mmin modify, 内容修改
-amin -60 60分钟内
-type f, d, l
-a and
-o or
find / -name se*
以se开头,并且只搜索文件
find /etc -name se* -a -type f |cat -n
7.2 locate和updatedb
find命令在目录中一个文件一个文件地判断
locate 在文件数据库中查找
所有文件的信息,会被集中存储在一个数据库中,locate不会在目录中一层一层查找,而是直接访问数据库,从数据库中过滤文件
新创建的文件,不会时时地更新到数据库,可以用 updatedb 手动更新
locate serc
touch sercwew234w
locate serc
updatedb
locate serc
7.3 which
查找命令,可以显示命令的别名
which ls
/bin/ls alias ls='ls --color=auto'
which rm
which mv
ls
/bin/ls
alt + f1
cd ~
touch f1
touch f2
rm f1 rm -i f1 询问确认
/bin/rm f2
alt + f2
which ls
which rm
which mv
alias r='rm -i' 自定义别名,临时生效
which r
which rm
touch f8
r f8
可以在配置文件 ~/.bashrc 中添加别名命令,让别名永久生效
echo alias rm=\'rm -i\' >> .bashrc
echo alias mv=\'mv -i\' >> .bashrc
cat .bashrc
source .bashrc 立即执行文件
which rm
which mv
7.4 whereis
查找命令,显示命令的帮助文档位置
alt + f1
whereis ls
whereis cp
whereis mv
whereis useradd
whereis chmod
whereis mysqld
8 命令帮助
8.1 --help
命令 --help
ls --help
mv --help
touch --help
8.2 man
命令手册,配置文件手册 manual
外壳命令有独立手册
内核命令没有独立手册
man ls
man mv
man touch
man useradd
man cd 内核命令
man services services配置文件手册
man shadow shadow配置文件手册
8.3 help
内核命令帮助
help cd
8.4 whatis
命令的简单信息
whatis ls
whatis cd
whatis mv
whatis useradd
8.5 apropos
配置文件信息
apropos services
apropos shadow
apropos passwd
8.6 info
命令帮助文档
info ls
info cd
info rm
info useradd
9 用户管理
9.1 useradd
添加新用户
-g 指定用户组
-G 指定附加组
useradd lisi -g grp1801
useradd wangwu
cat /etc/passwd
9.2 passwd
设置当前用户密码,
或者设置指定用户的密码
-l 锁定用户,不允许登录
-u 解锁
-d 无口令
passwd lisi 指定密码123456
passwd -d wangwu 不用填密码就能登录
alt+f3
用lisi登录
alt+f4
用wangwu登录
alt+f3
passwd 设置自己的密码
alt+f4
passwd
9.3 userdel
删除用户
-r 同时删除用户的主目录
alt+f1
userdel -r wangwu 用户已经登录不能删除
alt+f4
logout wangwu先登出
alt+f1
userdel -r wangwu
cat /etc/passwd
ls /home/
9.4 who
查看登录的用户
who
10 压缩和解压缩
10.1 gzip
gzip格式压缩和解压缩
-d 解压缩
只能对单个文件压缩或解压
压缩时会删除源文件
解压缩时,会删除压缩文件
alt+f1
cd ~
rm -f services
cp /etc/services .
ls -lh
gzip services
ls -l
gzip -d services.gz
ls -l
10.2 gunzip
解压缩
10.3 tar
对目录中所有文件进行打包
打包成一个 tar 文件,可以进一步把tar文件压缩成gzip格式或bzip2格式
-c 创建打包文件
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩 gz
-j 打包同时压缩 bzip2
-x 解包
-z 解压缩
-czf 打包并压缩
-zxvf 解压并拆包
mkdir -p aa/bb/cc
cp /etc/services aa/s1
cp /etc/services aa/bb/s2
tar -cf a.tar aa 目录打包
ls -l
gzip a.tar 对tar打包文件进行压缩
ls -l
gzip -d a.tar.gz 解压出a.tar打包文件
ls -l
rm -rf aa
tar -xvf a.tar
ls -l
ls -l aa
ls -l aa/bb
打包并压缩
tar -czf a.tar.gz aa
ls -l
rm -rf aa
ls-l
解压并拆包
tar -zxvf a.tar.gz
ls -l
10.4 zip
zip压缩格式,不会删除原文件
-r 压缩目录
cd ~
cp /etc/services .
zip s.zip services
ls -l
zip -r a.zip aa
ls -l
10.5 unzip
解压缩
rm -f services
rm -rf aa
unzip s.zip
unzip a.zip
ls -l
10.6 bzip2
bzip2压缩格式
-k 保留源文件
bzip2 services
ls -l
10.7 bunzip2
解压缩
-k 保留压缩文件
bunzip2 services.bz2
ls -l
11 通信和网络
11.1 write
登录的用户之间发送信息
alt+f1
who
write zhangsan
11111111
2222
333333
4444444
5555
alt+f2
alt+f1
ctrl+c 结束
alt+f2
...
EOF End Of
11.2 wall
向所有登录用户发送消息 write to all
wall 1111111111111
wall 222222
wall 3333333333
alt+f2
alt+f3
11.3 ifconfig
查看本机ip地址
ifconfig
11.4 ping
用来测试网络是否连通,以及连通的质量
会向对方主机发送数据,再接收对方返回的数据,并测试从发送到接收的时间
-c 指定次数
ping code.tarena.com.cn
ping -c 3 code.tarena.com.cn
ping 127.0.0.1
12 登出和重启
12.1 exit 或 logout
用超级管理员登录操作后,要退出登录;
12.2 su 临时登录超级用户
一般使用普通身份登录,要执行管理操作时,才用超级用户临时登录(su),操作后会立即退回普通身份
alt+f2
su 临时使用超级用户登录
useradd wangwu
exit 退回到普通身份
su - 使用新的环境来执行
exit
12.3 关机和重启
服务器只重启而不会关机
12.4 shutdown
-h 关机
-r 重启
-r now
-r 20:00
-c 取消预订的关机或重启计划
12.5 init
Linux 的运行状态
0 关机
1 单用户(安全模式)
2 不完全多用户,某些服务不会启动
3 完全多用户(正常)
4 未分配
5 图形界面
6 重启
12.6 runlevel
查看当前运行级别
runlevel 3
init 1
init 3
init 6
12.7 uptime
连续运行时间
12.8 w
系统运行时间,用户数,负载情况
用户空闲时间,累计cpu时间,单次cpu时间,运行了什么命令
12.9 last
用户登录历史
12.10 lastlog
最后一次登录
13 vim
命令行中的文本编辑工具,编辑操作都使用命令键来完成
模式
1.命令模式
2.插入模式 i a o
3.编辑模式 :
插入模式: esc 退出
a 字符后插入
A 行尾插入
i 字符前插入
I 行首插入
o 下面插入新行
O 上面插入新行
编辑模式:
冒号进入
:set nu 显示行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ 移到行尾
0 移到行首
x 删除字符
nx 删除后面n个字符
dd 删行
ndd 删除n行
dG 删当前行到文件末尾
D 删当前字符到行尾
:n1,n2d n1行到n2行删除
yy 复制当前行
nyy 复制当前行向下n行
dd 剪切当前行
ndd 剪切当前行向下n行
p、P 粘贴在当前行上面或下面
r 覆盖单个字符
R 持续覆盖字符,esc退出
u 回退
ctrl+r 重做
/ 搜索指定的字符串
n next
:%s/aaaa/bbbb/g 不询问
:%s/aaaa/bbbb/c 询问确认
全文替换, aaaa 替换成 bbbb
:n1,n2s/aaaa/bbbb/g 不询问
:n1,n2s/aaaa/bbbb/c 询问确认
指定行范围内替换
:set ic 不区分大小写
:set noic 区分大小写
:w 保存
:w filename 另存为
:w!
:wq 保存并退出
ZZ 保存并退出,快捷方式
:q
:q! 不保存直接退出
:wq! 对只读文件强行保存并退出(所有者和root可用)
:r \aa\bb
导入bb文件内容
:!命令
不退出vim执行系统命令
:r !命令
导入命令执行结果
:map 自定义快捷键
:map [ctrl+vp] I#<ESC> ctrl+p添加#
:map [ctrl+vb] 0x<ESC> ctrl+b取消#
:n1,n2s/^/#/g 行首添加#
:n1,n2s/^#//g 行首去除#
:n1,n2s/^/\/\//g 行首添加//
:ab omg oh my god!
定义缩写,替换为完整文本
.vimrc
用户目录下 vim 命令配置文件,
可添加快捷键、缩写配置等