目录:
1、day01
2、day02
3、Linux学习笔记——今日头条
4、Linux思维导图
1、day01
1 Linux
3.1 pwd
3.2 cd
3.3 ls
4.1 mkdir
4.2 touch
4.3 rmdir
4.4 rm
4.5 cp
4.6 mv
5.1 cat
5.2 tac
5.3 head
5.4 tail
5.5 more
5.6 less
1 Linux
Linux 是类Unix系统,由芬兰大学生出于个人兴趣编写了一个操作系统内核
Linux 已经是最大的开源社区,在服务器领域,是最常用的操作系统
Java编写的服务器端应用,就会运行在Linux服务器上
Linux服务器不会安装桌面软件,只使用命令来管理和维护系统
2 安装
Linux系统分类:
红帽子ReadHat系列
Debian / Ubuntu系列
文件系统:
/root root超级管理员的主目录
/home 用户主目录
/etc 系统配置目录
/usr 系统软件目录
/var 动态文件目录
linux分区:
必须分区:
/
swap 交换分区
可选分区:
/boot 系统引导文件
/home
/var
vmware虚拟机安装 Linux
与windows并存,双系统安装
3 常用命令:
3.1 pwd
查看所在的目录路径
pws
/root 超级用户的主目录
3.2 cd
切换目录
cd /
pwd
cd /etc
pwd
cd /usr/bin
pwd
cd .. 上一层目录,必须加空格
cd ../../../
cd ~ 用户主目录,回家
3.3 ls
目录列表 list
参数:
-l 长格式,显示详细信息
第一个字符:文件类型,-文件,d目录,l链接文件
rwxrw-r--:权限
文件:硬连接文件数,目录:目录和子目录数量
用户和用户组
文件大小
最后修改时间
文件名
如:
-a 显示全部(隐藏)文件 all ; Linux隐藏文件是以点开头的文件".xxxx"
-h 人性化显示,文件大小以Kb、Mb、Gb单位显示
如:
-d 列出目录本身,而不是目录内的列表
-i 显示文件的数字id ;硬连接文件,具有相同的id
ls :列出当前目录下的文件
ls /etc :列出/etc目录下的文件
ls -l /etc:长格式,显示详细信息
cd ~ :回到主目录
ls -l -a :显示全部(隐藏)文件 all
ls -la :
ls -lh :人性化显示,文件大小以Kb、Mb、Gb单位显示
ls -lh /etc
ls -ld /etc:列出目录本身,而不是目录内的列表
ls -li :显示文件的数字id ;硬连接文件,具有相同的id
4 文件命令
4.1 mkdir :创建目录
make directory
-p 递归创建多层目录
cd ~
mkdir d1
ls
mkdir aa/bb/cc :不能创建多层目录
mkdir -p aa/bb/cc :创建多层目录
ls -l
cd aa/bb/cc
pwd
cd ../../../
pwd
4.2 touch
创建文件
cd ~
touch f1
ls -l
touch aa/f2
touch aa/bb/f3
ls aa
ls aa/bb
4.3 rmdir
删除目录 remove
只能删除空目录
cd ~
rmdir aa/bb 删除失败,bb非空
rmdir aa/bb/cc
rmdir d1
ls aa/bb
ls
4.4 rm
删除文件和目录
-r 删除目录,可以删除非空目录
-f 无需确认
服务器上做删除操作,一定要非常小心,尽量先备份,再删除
cd ~
touch f1
rm f1
ls
rm aa 不能直接删目录
rm -r aa
ls
mkdir -p aa/bb/cc
touch aa/f1
touch aa/bb/f2
rm -rf aa 无需确认
ls
4.5 cp
复制 copy
-r 复制目录
-p 保持文件属性(修改时间)
cd ~
cp /etc/services . 文件复制到当前目录
ls -l
ls -l /etc/services
cp -p /etc/services s1 文件复制成s1文件
ls -l
mkdir -p aa/bb/cc
touch aa/f1
touch aa/bb/f2
cp -r aa aa2
ls
ls aa2
ls aa2/bb
4.6 mv
移动、剪切和改名
cd ~
mkdir d1
touch f1
ls
mv f1 d1 f1文件移动到d1目录内
ls
ls d1
touch f2
mv f2 d1/f22 移动并改名
ls
ls d1
mv d1/f1 d1/f11 改名
ls d1
5 查看文本文件
5.1 cat
显示文件内容
-n 显示行号
cd ~
cp /etc/services .
cp /etc/passwd .
ls -l
cat passwd
cat -n passwd
cat services
cat -n services
5.2 tac
按行倒序显示文件内容
tac passwd
tac services
5.3 head
显示头部几行
-n 指定显示几行,默认显示10行
head passwd
head services
head -n5 passwd
前5行添加行号
先cat加行号,把结果交给head取前5行
要使用通道: |
cat -n passwd |head -n5
5.4 tail
显示尾部几行
tail services
tail -n5 services :显示尾部5行
cat -n services |tail -n5
5.5 more
分页显示
空格或f 翻页
回车,单行
q,退出
more services
配合其他命令,将其他命令的结果,进行分页显示
ls -l /etc |cat -n
ls -l /etc |cat -n |more
5.6 less
分页显示,可以向前翻页,可以搜索内容
pgup/pgdn
上下,一行一行翻
/ 输入搜索关键字
n 继续搜索下一个配置位置
q 退出
less services
/mysql
/a 按n可以继续找下一个
ls -l /etc |less
Linux-02
目录
1 ln - 文件连接 link
1.1 -s 参数:软连接
快捷方式
ln -s 原文件 软连接文件
cd ~
ls
cp /etc/passwd .
ln -s passwd pwd.link
ls -l
cat passwd
cat pwd.link
echo rwgw24y4gwdgwyhe >> pwd.link 向源文件添加一行
cat passwd
cat pwd.link
rm passwd
ls -l
cat pwd.link
1.2 硬连接
硬连接文件,是原文件的一个副本,保存于原文件相同的数据
原文件于硬连接文件,内容自动同步,对任意文件的修改,会同时修改另一个文件
文件id相同
删除任意文件,对其他文件没有影响
cd ~
cp /etc/passwd .
ls -l
ln passwd passwd2
ln passwd passwd3
ln passwd passwd4
ls -li
echo wedgw4g4geweg3 >> passwd4
ls -l
cat passwd
cat passwd2
cat passwd4
rm passwd
ls -l
cat passwd4
2 文件权限
u - 文件所有者权限
g - 用户组权限
o - 其他人
r - 4 读 read
w - 2 写 write
x - 1 执行 execute
rwxr-xr--
目录权限
r - 列出目录
w - 创建或删除文件和目录
x - 进入目录
2.1 chmod
修改文件权限 change mode
chmod u+x,g-wx,o=r 文件或目录
+ 添加权限
- 减少权限
= 设置为指定权限
chmod 744 文件
cd ~
rm f1
touch f1
ls -l rw-r--r--
chmod u-w f1
echo wergt234te >> f1
alt + f2
alt + f1 ~ f6
Linux命令行提供了6个操作界面,
可以分别以不同的身份登录,
执行不同的命令,
alt+f1
添加新用户
useradd zhangsan
passwd zhangsan
指定123456,会提示太简单,
不理他再输一次
cat /etc/passwd
cat /etc/shadow 加密密码保存文件
alt+f2
用zhangsan登录
pwd
touch f1
ls -l rw-rw-r--
chmod 444 f1
echo 23te2twqstwet3 >> f1
echo 243tgwergt23t >> /root/f1
alt+f1
touch /tmp/f2
ls -l /tmp/f2 rw-r--r--
chmod o+w /tmp/f2
alt+f2
echo 23tg23t23t >> /tmp/f2
cat /tmp/f2
alt+f1
mkdir /tmp/d1
ls -ld /tmp/d1 rwxr-xr-x
touch /tmp/d1/f3
chmod 644 /tmp/d1/f3 rw-r--r--
alt+f2
cd /tmp/d1
ls
rm f3
alt+f1
chmod o+w /tmp/d1
alt+f2
rm f3
alt+f1
chmod o-x /tmp/d1
alt+f2
pwd
cd ~
cd /tmp/d1
2.2 chown
更改文件的所有者 change owner
chown 用户 文件
alt + f1
touch /tmp/f4
ls -l /tmp/f4
chown zhangsan /tmp/f4
ls -l /tmp/f4
2.3 chgrp
更改文件所属的用户组 change group
chgrp 组 文件
alt + f1
groupadd grp1 创建新的用户组
ls -l /tmp/f4
chgrp grp1 /tmp/f4
ls -l /tmp/f4
3 查找文件和查找命令
3.1 find
在指定的目录下,查找文件
-name 文件名,通配符 *、?
-iname 大小写
-size
按文件大小查找
+块数, 大于...
-块数,小于...
一块等于512字节
-size +20800 大于20800*512字节
-size 20800 等于20800*512字节
-user
-group
按所有者、所属组查找
find -user root
-amin minutes, 按访问时间查找
-cmin change, 属性更改
-mmin modify, 内容修改
-amin -60 60分钟内
-type f, d, l
-a and
-o or
-exec
-ok
对查找结果直接执行操作命令
... -exec ls -l {} \;
... -ok ls -l {} \;
需用户确认
alt + f1
cd ~
find /etc -name se*
3.2 locate和updatedb
Linux中有一个文件数据库,保存着所有文件地信息
locate 在文件数据库中查找,而不会在磁盘上一个文件一个文件地进行判断
新文件,不会即时的更新到数据库,可以使用 updatedb 命令,手动更新数据库
find / -name serv*
locate serv*
locate f1
locate f2
locate f3
locate f4
cd ~
touch f5
locate f5
updatedb 手动更新数据库
locate f5
3.3 which
找命令,可以显示命令的别名
别名:
可以将命令(可带参数)定义成一个别名,
之后可以使用别名来执行命令
ls -l 的别名: ll
which ls ls --color=auto
which ll
which rm
which mv
which cp
alt + f2
which ls ls --color=auto
which ll
which rm
which mv
which cp
cd ~
touch f6
rm f6
自己定义别名
alias rm="rm -i"
which rm
touch f6
rm f6
alt+f1
clear 清屏
cat .bashrc 这个文件中配置别名
/usr/bin/ls 使用命令文件保存路径执行真实命令
ls 执行别名
3.4 whereis
找命令文件,同时可以找到帮助文档
whereis ls /usr/bin/ls 普通命令
whereis mkdir
whereis chmod
whereis useradd /usr/sbin/useradd 超级管理员命令
3.5 grep
内容查找
grep 关键字 文件
-i 忽略大小写
-v 排除匹配结果
grep zhangsan /etc/passwd
grep mysql /etc/services
其他命令结果,交给grep 查找
ls -l /etc |grep serv
ps -aux 查看进程列表
ps -aux |grep mysql
4 命令的帮助
4.1 --help 参数
ls --help
chmod --help
find --help |more
4.2 man
手册 manual
命令或配置文件的手册,内核命令没有独立手册
man 命令
man 配置文件名(不含路径)
q 退出
man rm
man find
man grep
man ls
man cd
man passwd
man services
4.3 whatis
命令的简单信息
whatis mv
whatis ls
whatis ln
whatis find
4.4 apropos
配置文件简单信息
apropos passwd
apropos services
4.5 info
info 命令
4.6 help
help 命令
5 用户管理命令
5.1 useradd
添加用户
-g 指定用户组
-G 指定附加组a,b,c,d
useradd lisi -g root
cat /etc/passwd
useradd wangwu -g root -G grp1
cat /etc/passwd
5.2 passwd
设置当前用户的密码
passwd
设置其他用户密码
passwd 用户名
-l 锁定口令,禁止登录
-u 解锁
-d 无口令
alt+f3
用lisi登录
alt+f1
passwd lisi 密码设置123456
alt+f3
用lisi登录
passwd
修改自己的密码,先输当前密码,再输入新密码
alt+f1
passwd -l zhangsan 锁定不允许登录
alt+f2
exit
重新用zhangsan登录
alt+f1
passwd -u zhangsan 解锁zhangsan
alt+f2
重新用zhangsan登录
alt+f1
passwd -d wangwu 无口令
alt+f4
用wangwu登录
5.3 userdel
删除用户 user delete
-r 同时删除用户的主目录
alt+f1
cat /etc/passwd
userdel wangwu 删除已登录用户失败
alt+f4
exit wangwu退出登录
alt+f1
userdel wangwu
cat /etc/passwd
5.4 who
查看所有登录的用户
who
5.5 last
用户的登录日志
5.6 lastlog
列出所有用户最后一次登录信息
5.7 groupadd
添加用户组
groupadd 组名
6 压缩、解压缩
6.1 gzip
压缩文件
gzip 文件
生成一个 .gz 后缀的压缩文件,同时删除原文件
解压缩
gzip -d xxx.gz
解压缩,.gz压缩文件会被删除
cd ~
cp /etc/passwd .
cp /etc/services .
ls -l
gzip services
ls -l
gzip -d services.gz
ls -l
6.2 tar
tar 把目录打包成一个文件(.tar),使用gzip或其他压缩格式,可以对 tar 文件进一步压缩
可以使用参数,在打tar包的同时,对tar文件进行压缩
-c 创建打包文件
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩 gz,解包时解压缩
-j 打包同时压缩 bzip2
-x 解tar包
打tar包: -cf
打包并压缩: -czf
解tar包:-xvf
先解压缩再解包:-zxvf
cd ~
mkdir d1
mkdir d2
cp /etc/passwd d1
cp /etc/services d1
cp /etc/passwd d2
cp /etc/services d2
ls d1
ls d2
d1打包成tar
tar -cf d1.tar d1
ls -l
d1.tar文件进行压缩
gzip d1.tar
ls -l
rm -rf d1
解压缩d1.tar.gz
gzip -d d1.tar.gz
对d1.tar进行拆包
tar -xf d1.tar
ls -l
rm -rf d1
tar -xvf d1.tar
ls -l
tar -czf d2.tar.gz d2
ls -l
rm -rf d2
tar -zxvf d2.tar.gz
ls -l
6.3 zip
zip压缩,不删除原文件
-r 压缩目录
cd ~
zip pwd.zip passwd
zip serv.zip services
ls -l
zip -r d1.zip d1
ls -l
6.4 unzip
zip解压缩
rm passwd
rm services
rm -rf d1
unzip pwd.zip
unzip serv.zip
unzip d1.zip
ls -l
6.5 bzip2
bzip2 原文件
-k 保留原文件
bzip2 services
ls -l
6.6 bunzip2
解压缩
bunzip2 压缩文件
-k 保留压缩文件
bunzip2 services.bz2
ls -l
7 通信和网络
7.1 write
登录的用户之间发送消息
write 用户名
who
write zhangsan
1231231
dferte
ghjgh
yui6iyu
vbv
ctrl+c结束
zhangsan看到 EOF(End Of) 表示消息结束
7.2 wall
向所有登录用户发送消息 write all
wall 消息内容
wall sgsdwefwew
wall 5
wall 4
7.3 ifconfig
查看网卡ip设置
7.4 ping
测试网络是否联通,已经网络联通的速度
ping ip地址
-c 指定ping的次数
ping xxx.xx.xxx.xx
ctrl+c结束
ping -c xxx.xx.xxx.xx
7.5 netstat
本机网络状态
一般查看哪些端口被占用
-tlun 本机监听的端口
netstat -tlun
8 进程管理
8.1 top
显示进程监控
8.2 ps
查看进程列表
一般会使用 grep 配合查找进程
ps -aux
ps -aux |more
ps -aux |grep mysql
alt+f4
超级管理员登录
ps -aux |grep top
8.3 kill
kill 进程id
kill 853 杀掉top进程
alt+f1
9 关机和重启
9.1 shutdown
服务器不能关机,只能重启
-h 关机,指定时间 -h now 或 -h 20:00
-r 重启 -r now 或 -r 20:00
-c 取消预订的关机命令
9.2 init和runlevel
运行级别:
0 关机
1 单用户(安全模式)
2 不完全多用户,不含nfs服务
3 完全多用户(正常)
4 未分配
5 图形界面
6 重启
init切换运行级别
init 1 进入安全模式
输入管理员密码登录
ps -aux |grep mysql
init 3
runlevel
10 登录和退出
10.1 login
login用其他用户登录
login zhangsan
10.2 logout或exit
退出用户登录
11 vim
编辑一个新文件
vim
编辑一个指定的文件
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! 保存
:w filename 另存为
: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 命令配置文件,
可添加快捷键、缩写配置等
3、Linux思维导图
作者:Darren
电话:15110448224
QQ:603026148
以上内容归Darren所有,如果有什么错误或者不足的地方请联系我,希望我们共同进步。