简介:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的、广泛应用于服务器的多用户网络操作系统。
1.Linux的特点:
安全(免费开源)
多用户(完全隔离)
稳定(快速)
2.Linux的基本命令
1.cd 切换命令
cd / 根目录
cd ~ 家目录
cd /a/b/c a文件夹下的b文件夹中的c
cd .. 回到上一级目录
2.查看目录
1. ls 查看
ls 查看文件,不包括隐藏文件
ls -a 查看全部,包括隐藏文件
2. ll 详细查询
ll / ll -h(显示文件大小)
3.创建文件夹
mkdir +名 创建文件夹
mkdir -p 连续多层级创建
4.删除
rm 删除文件
rm -r 删除文件夹
5.复制:可以复制到当前目录/其他目录,同时可以修改文件名
1.cp 要复制的文件名 文件名/目标目录(已存在)
2.cp -r b a 复制目录b,b内所有的文件以及文件夹都会被复制
6.mv 移动 改名
1.移动
mv 文件名 文件夹名
2.改名
mv 文件名 新名
7.touch
touch(选项)(参数)
选项
-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期>使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。
参数
文件:指定要设置时间属性的文件列表
8.vim 编辑器
i 写入
esc键退出编辑模式
:wq 保存并退出
:q! 强制退出
9.cat 查看文本内容
1. cat 文件名
2.cat a>b 将a的内容给b
3.cat a>>b 将a的内容追加给b
10.tar 归档/压缩
选项:
-c 压缩
-x 解压缩
-f 文件
-v 显示
1.tar -cvf 文件名 归档后的文件名 归档
2.tar -zcvf 文件名 压缩后的文件名 以gzip压缩
3.tar -xvf 目录 解压缩
如果压缩的是.tar.gz文件,解压缩时要用-zxvf
11.sudo以管理员的权限执行该命令
或者root分配给该用户权限 vim/cat /etc/sudoers
3.户组权限
1. 用户的操作:管理员可以对用户进行操作
useradd 用户名 普通用户不能创建
su 切换用户 默认切换管理员
userdel 删除用户 用户名
passwd 用户名 设置密码
密码太过简单时会有提示,删除用户后创建时留下的文件夹仍然存在
2.和用户组相关的文件
/etc/passwd
/etc/group
/etc/shadow
tail 后十条
grep 搜 用户名 文件目录
more 可翻页
cat 捕获
3.组的操作
增:groupadd 组名
删:groupdel 组名
改:groupmod -n 改名
将用户添加到组中:usermod-G 组名 用户名
4.权限
1万物皆文件
查看文件的类型和权限:ls -l/-ll
2 共10位,第一位文件类型,剩下九位每三位一组
分别表示 所属用户u 组g 其他o 所有a
x 执行 1 w 写 2 r 读 4 (和的结果的组合形式只有一种可能)
当对一个只读文件进行写操作时会有警告,这时可以给该文件赋予写的权利
3.权限的调整
1调整文件所属用户/组 普通用户不能调整
chgrp 组名 文件名
chown 用户名 文件名
chown 用户名:组 文件名
chmod 修改用户的权限
1.通过数字修改权限
2.通过具体文件所属和权限修改,+ 代表添加,-代表减少
具体权限x w r
文件所属u g o a
u:user 用户
g:group 组
o:other 其他
a:all 全部
chmod 修改文件夹及其内部文件的权限
4.shell
用来与系统内部进行交互,也可以理解为一种语言
特点:灵活 快捷 方便
1 shell文件
1. echo 输出 "",'',无
2. # 注释
3. #! /bin/bash 什么shell版本
4. ./文件名 执行文件中的脚本
5. bash 文件名 执行脚本
2 shell 变量
1.直接使用字母为变量命令
2.使用等号赋值,注意变量和等号之间不能有空格
3.使用$变量名 或 ${变量名} 引用变量名
3 test
1. -eq 等于
2. -gt 大于
3. -lt 小于
4. -ge 大于等于
5. -le 小于等于
6. -ne 不等于
4 if
1.if test $ a -eq $b
或if [ $a -gt 5 ];
then 要执行的语句
else 要执行的语句
fi //if结束
[] 内部两端要有空格
2.if [];
then
elif [];
then
else
fi
5.case 变量in
选项1) 要执行的语句 ;;
*) defult
esac 表示结束
6.while 循环 :【
while [ $i -lt 10 ]
do
done
注意 在变量自增的时候
如果直接 $num+1 字符串拼接
anum=$(($num+1)) #当数字计算
num=$[$num+1]
】
例:循环创建文件夹
7. for 语法【
a[ for n in a b c d
do
$n
done
]
b [ for((i=0;i<10;i++))/for i in {1..10}
do
$i
done
]
】
8. 函数{
1 定义函数 语法 [
function 函数名 () { 函数体 }
]
2 调用函数 函数名 参数1 参数2
3 $1 取第一个参 echo 输出结果 $(函数名取结果)
}
9.定时任务{
系统按指定的时间 或指定的时间段 来完成相应的任务
crontab -l -e
}
9.ssh免密登录
步骤:
0 切换到root 用户
1.ssh –keygen –t rsa –P ‘’
2.cd .ssh
3.cat id_rsa.pub >> authorized_keys
4.chmod 600 authorized_keys
5.vim /etc/ssh/sshd_config
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
6.service sshd restart