3.Linux结构
bin 存放常用程序
boot系统启动有关的文件
dev 设备文件
etc 系统程序和大部分应用程序的全局配置文件
home 使用者个人的根目录
lib系统程序库文件
mnt常用挂载点
oot 第三方程序安装处
proc 显示系统状态文件
root 管理员根目录
sbin 管理员专用目录
tmp 临时文件
usr
bin 常用的程序
include c/c++的head files
lib 应用程序文件
local 一些自行安装的应用程序
sbin 管理员专用程序
share 共享的文件
src 应用程序源代码
var
cache 程序执行所产生的暂时文件
lib 程序产生的数据文件
ock 锁定程序或设备使用
log 系统日志文件
run 执行的PID
5.1pwd命令
pwd 查看当前所在目录
/root 是超级管理员的home
5.2cd命令
cd/
cd/etc
cd ~回老家
5.3ls命令
-a 全部,包括隐藏文件
-l 长格式
-h 人性化, Kb, Mb, Gb
-d 列出目录本身
-i 文件id
目录列表
ls 列出当前目录的列表
cd /etc
ls
cd /
ls
cd ~
ls /dev 对指定目录进行列表
ls -a /etc -a all全部文件,包括隐藏文件
ls -l /etc -l 长格式显示
第一个字符: -文件,d目录,l软连接
rwxr--r--: 权限
数字: 硬连接数
用户, 组
文件大小字节量
最后修改时间
ls -lh /etc -h 人性化显示,文件大小用Kb, Mb, Gb
ls -ld /etc -d 列出目录本身,而不是目录内部文件
ls -li /etc -i 显示文件的数字id
6文件命令
6.1mkdir
-p 递归,逐层创建多层目录
创建目录
cd ~ 回家
mkdir d1 创建d1目录
ls -l
mkdir aa/bb/cc 不能创建
mkdir -p aa/bb/cc
先建aa
再在aa中建bb
再在bb中建cc
cd aa
pwd
cd bb
pwd
cd cc
pwd
cd ../../../
pwd
6.2 rmdir
删除目录 remove dir
rmdir d1
6.3rm
删除文件或目录
-r 删除目录
-f 无需确认
cd ~
touch f1 新建文件
touch aa/f2 在aa目录下创建f2
ls –l
ls –l aa
rm f1
rm -r aa 删除目录
touch f1
rm -f f1 无需确认
mkdir -p aa/bb/cc
touch aa/f2
rm -rf aa 无需确认删除目录
6.4 touch
新建文件
touch f1
ls -l
默认权限:644
6.5权限
r读 4
w写 2
x执行 1
用户 用户组 其他人
6.6cp
复制 copy
-r 复制目录
-p 保持文件属性(一般指最后修改时间)
cd ~
cp /etc/passwd . 复制到当前目录
ls -l /etc/passwd
ls -l passwd
cp /etc/passwd pwd 复制成一个新的文件名
ls -l
cp -p /etc/passwd pwd2
复制时保持文件属性
ls -l /etc/passwd
ls –l pwd2
mkdir -p aa/bb/cc
touch aa/f2
cp -rp aa aa2
cd aa2
ls
cd bb
cd cc
cd ../../../
6.7mv
cd ~
mv pwd aa/bb/ 文件移动到bb目录下
ls -l
ls -l aa/bb/
mv pwd2 pwd 改名
ls -l
查看头部几行
-n 指定显示几行,默认10行
7.查看文件内容
cat
查看文件内容
-n 显示行号
cat pwd
cat -n pwd
tac
反向查看文件
tac pwd
head
查看头部几行
-n 指定显示几行,默认10行
cat pwd
head pwd 默认前10行
head –n 5 pwd 前5行
查看前5行,并显示行号
cat -n pwd |head –n 5
| 是管道
前一个命令的执行结果
交给后面命令处理
tail
尾部几行
-n 指定行数,默认10行
tail pwd
tail –n 5 pwd
more
分页查看
more /etc/services
空格或f – 翻页
回车 - 下一行
q或ctrl+c - 结束
分页查看,并显示行号
cat -n /etc/services |more
less
可以前后翻页
less /etc/services
pgup 上翻页
pgdn 下翻页
上箭头 上一行
下箭头 下一行
/ 输入关键词进行搜索
n 搜索时,继续搜索下一个
上下翻页查看文件,并显示行号
cat -n /etc/services |less
文件连接:
ln -s 原文件名 新文件名---------- 创建 快捷键
ln 原文件名 新文件名----------创建副本;ln
文件连接 link
-s 创建软连接文件(软连接就相当于windows的快捷方式)
软连接
cd ~
cp -p /etc/passwd .
ln -s passwd plink 对passwd创建软连接文件
ls –l
cat plink 查看源文件
echo asdfsdfsdf >> plink 向源文件输出
cat plink
cat passwd
删除原文件,软连接失效
rm -f passwd
ls -l
cat plink
l 硬连接,
l 是一个原文件的副本,
l 保存与原文件相同的数据
l 与原文件id相同
l 修改原文件或硬连接文件,同时对另一个文件做相同修改
l 删除任意文件,不影响其它文件
硬连接
cp -p /etc/passwd .
ls -l
ln passwd passwd2
ln passwd passwd3
ln passwd passwd4
ls -li
echo asdfweegfwe >> passwd
cat passwd3
ls –l
rm -f passwd
ls -l
cat passwd3
文件权限
用户,用户组,其他人
r 读 4
w 写 2
x 执行 1
目录权限
r 目录列表权限
w 创建,删除文件
x 进入目录,打开目录
chmod
修改权限 change mode
u 用户
g 用户组
o 其它人
+ 增加权限
- 减少权限
= 设置成指定权限
chmod u+wx,g=r,o-rwx passwd
chmod 764 passwd
chmod +x /usr/local/bin/docker-compose ugo用户、用户组、其它人
1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
修改文件,目录权限测试
添加新用户
useradd tony
cat /etc/passwd
为tony设置密码123456,
提示密码太简单,不理他再输一次123456
passwd 123456
快捷键 alt+f2,使用zhangsan登录
alt+f1...f6,切换工作界面
alt+f1
cd /home/zhangsan
touch f1
echo asdfasdf >> f1
ls -l
alt+f2
cat f1
echo werwsdfasdf >> f1
alt+f1
chmod o+w f1 其他人添加写权限
alt+f2
echo werwsdfasdf >> f1
cat f1
alt+f1
mkdir d1
ls -l
touch d1/f2
chmod o+w d1/f2
alt+f2
cd d1
pwd
ls -l
touch f3
rm f2
echo asdfasdf >> f2
cat f2
alt+f1
chmod o+w d1
chmod o-w d1/f2
alt+f2
touch f3
echo asdfasf >> f2
rm f2
chown
改变所有者 change owner
chown zhangsan f1
修改文件所有者
alt+f1
cd /home/zhangsan
chown zhangsan f1
chown zhangsan d1
ls -l
chgrp
改变所属用户组
chgrp group1 f1
改变所属组
alt+f1
groupadd group1
chgrp group1 f1
ls -l
查找文件或命令
find
查找任意文件,支持通配符 * 和 ?
find /home -name f1
-name
搜文件名,通配符 *、?
-iname
忽略大小写
-size
按文件大小查找
+块数, 大于...
-块数,小于...
一块等于512字节
-size +20800 大于20800*512字节
-size 20800 等于20800*512字节
-user
-group
按所有者、所属组查找
find -user root
-amin
access minutes, 按访问时间查找
-cmin
change, 属性更改
-mmin
modify, 内容修改
-amin -60 60分钟内
-type
f, d, l
-a
and
-o
or
-exec
-ok
对查找结果直接执行操作命令
... -exec ls -l {} \;
... -ok ls -l {} \;
需用户确认
find查找文件
alt+f1
cd ~
/etc目录下查找文件serv*
find /etc -name se* -a -type f |cat –n
locate和updatedb
在文件数据库中查找,效率比find高得多,新文件不会时时的添加到数据库,locate查找新文件可能找不到,需要更新数据库 updatedb
locate service
locate查找文件
find / -name *service*
locate service
cd ~
touch myfile1
locate myfile1
updatedb
locate myfile1
which
查找命令,可以显示命令别名
which ls
which测试
which ls
which rm
which mv
/bin/ls alias ls='ls --color=auto'
/bin/ls 命令文件
alias ls 起个别名叫ls
ls --color=auto 执行的真实命令
执行真实命令文件
/bin/ls -li
/bin/ls -li --color=auto
/bin/rm f1
alt+f2
which rm
touch f1
rm f1
alt+f1
cd ~
别名配置文件
用户主目录中的隐藏文件 .bashrc
cat .bashrc
cd /home/zhangsan
cat .bashrc
whereis
查找命令,显示帮助文档的路径
whereis ls
whereis cp
whereis useradd
/usr/sbin 超级管理员命令目录
whereis mysqld
命令帮助
--help
简单的帮助信息
ls --help
mkdir --help
ps --help
ifconfig --help
man
详细使用手册 manual,只有shell命令才有手册,内核命令没有独立手册
也可以查看配置文件手册,只指定文件名,不能写文件路径
man mkdir
man ifconfig
man cp
man cd 内核命令没有独立文档
man passwd 配置文件手册
man shadow
man services
whatis
查看命令的简单信息
whatis ls
whatis cp
whatis cd
whatis whatis
apropos
配置文件简单信息
apropos services
apropos passwd
info
命令信息
help
命令帮助
用户管理
useradd
添加用户
useradd zhangsan
-g 指定用户组(主组)
-G 指定附加组 -G grp1,grp2,grp2
添加用户
alt+f2
useradd lisi 普通用户不能添加新用户
alt+f1
useradd -g root -G group1 lisi
cat /etc/passwd
passwd lisi 设置密码123456
cat /etc/shadow
passwd
密码管理
passwd 设置当前用户的密码
passwd zhangsan 对zhangsan的密码进行设置
-l 锁定密码,不允许用户登录
-u 解锁用户
-d 无口令
密码
passwd -l zhangsan
alt+f2
exit
alt+f1
passwd -u zhangsan
alt+f2
alt+f1
passwd -d zhangsan
alt+f2
logout
cat /etc/shadow
userdel
删除用户 user delete
删除用户时,会同时删除他的主目录
userdel lisi
who
查看当前登录的用户
groupadd
添加用户组
groupadd group1
last
显示用户的最近的登录信息
lastlog
显示用户最后一次登录信息
压缩和解压缩
gzip
对 gz 格式压缩文件进行压缩和解压缩,不能直接对目录进行压缩
压缩:
gzip passwd
会生成 passwd.gz,并删除原文件
解压缩:
gzip -d passwd.gz
解压缩,解压之后,生成passwd,并删除压缩文件
gzip
cd ~
cp -p /etc/services .
ls -l
gzip services
ls -l
gzip -d services.gz
ls -l
tar
将目录打成一个tar文件包(不压缩),结合gzip,将tar打包文件可以再进行压缩
tar也提供了参数,自动执行gzip压缩
-c
创建打包文件 create
-v
显示详细信息 verbos
-f
指定文件名 file
-z
打包同时压缩 gz,或者拆包时解压缩
-j
打包同时压缩 bzip2
-x
解包, tar文件,解开成文件夹
-z
解压缩
-czf
创建打包文件,进行压缩,指定文件名
-zxvf
解压缩后进一步解包,显示详细信息,指定文件名
tar
cd ~
rm -rf aa
mkdir -p aa/bb/cc
cp /etc/passwd aa
cp /etc/services aa/bb
cp /etc/shadow aa/bb/cc
tar -czf aa.tar.gz aa
ls -l
gzip -d aa.tar.gz
ls -l
gzip aa.tar
ls –l
rm -rf aa
ls -l
tar -zxvf aa.tar.gz
ls -l
zip
压缩文件:
zip a.zip f1
压缩目录:
zip -r a.zip aa
不会删除原文件或压缩文件
zip
cd ~
cp /erc/services .
zip s.zip services 压缩services文件
ls –l
mkdir aa
zip -r b.zip aa 压缩 aa目录
ls -l
unzip
解压缩
unzip s.zip
unzip
rm services
rm –rf aa
unzip s.zip 解出services
unzip b.zip 解出aa目录
bzip2
bzip2 services
默认压缩后会删除原文件
-k 保留原文件
bunzip2
bunzip2 services.bz2
默认解压后不保留压缩文件
-k 保留压缩文件
tar+bzip2对目录打包压缩
ls -l
tar -cjf j.tar.bz2 aa
ls –l
rm -rf aa
tar -jxvf j.tar.bz2
ls -l
通信和网络
服务器上登录的用户之间通信
write
向登录的其他用户发送信息
write zhangsan
ctrl+c 退出
write
alt+f2
用zhangsan登录
who
write root
hello
...
ctrl+c
alt+f1
...
EOF - End Of
wall
向在线所有用户发送信息, write all
wall message...
wall sdfsdf
网络
ifconfig
查看本机的网卡ip设置
Centos7 ip addr
ping
测试与另一台主机网络是否连通,及网络的连接速度,向对方发送数据,并等待对方发回数据
ping 192.168.7.xxx
ping 127.0.0.1
ctrl+c
-c 指定次数
ping -c 2 127.0.0.1
netstat
查看网络服务
-t
tcp
-u
utp
-l
监听
-r
路由
-n
ip、端口
-tlun 本机监听的端口
-an 本机所有网络连接
-rn 本机路由表
常用三个参数
登出和重启
exit 或 logout
登出非常重要
关机和重启
服务器不能关机
shutdown
-h
关机,指定时间 -h now 或 -h 20:00
-r
重启 -r now 或 -r 20:00
-c
取消预订的关机命令
init
Linux的运行状态
0 关机
1 单用户(安全模式)
2 不完全多用户,不含nfs服务
3 完全多用户(正常)
4 未分配
5 图形界面
6 重启
init 6
init 5 启动桌面系统
init 3 退出桌面系统,进入命令行界面
init 0
runlevel
查看当前系统运行级别
uptime
连续运行时间
w
系统运行时间,用户数,负载情况
用户的空闲时间,累计cpu时间,单次cpu时间,运行了什么命令
vi或vim
Linux 命令行中的文本编辑工具,编写程序代码文件,shell脚本文件
所有编辑操作,都要使用命令
模式
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 另存为
: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 命令配置文件,
可添加快捷键、缩写配置等
vim
i
asdfas
dfsdfsasd
fasasdfasdfas
dfsfsdf
dfsdfasfsdfdfa
sdf sdfs