建议配合目录使用
1.创建虚拟机
Linux情况下的分区设置
- boot分区(引导分区)-> 1G
- swap分区(交换分区)-> 内存大小 充当临时内存
- 根分区 ->总空间减去前两个分区
网络连接的三种模式
- 桥接模式,虚拟系统和外部系统一样分配一个独有的ip,容易造成ip冲突(ip地址不够分配)
- NAT模式,网络地址转换模式,主机创建一个虚拟ip地址与虚拟系统的虚拟ip进行连接后,再通过主机的ip与外界连接,不会造成ip冲突,但是外界无法直接给虚拟系统直接发送信息
- 主机模式,独立的系统,不和外界联系
2.常用命令
ifconfig - 查看linux的ip
关机和重启的命令
shutdown -h now 立刻关机
shutdown -h 1 1分钟后关机
shutdown -r now 现在重启
halt 关机
reboot 重启
sync 把内存的数据同步到磁盘
3.vi和vim
命令
使用步骤
- vim [文件名] 对该文件进行文本操作
- 进入文本页面后按i(或a)进行插入操作
- 按esc+:or/+q(具体的操作,q表示退出,wq表示保存退出,q!强制退出并不保存)
常用命令(一般模式下)
复制当前行 yy 粘贴用p 多行用5yy
删除当前行 dd 多行用6dd
查找 在命令模式下/+关键字
行号 :set nu 显示行号 :set nonu不显示行号
跳转到某一行 最后一行G 第一行gg 特定行 2+shift+g
撤销 u
4.用户
4.1用户的登录和切换
切换用户,用户的登录和注销
su - 用户名 在某个用户登录基础上再登录某个用户
注:从权限高的用户转到权限低的用户无需输入密码;反之,需要重新登录
logout 退出在某个用户上登录的用户/退出系统
who am i ->查看当前登录的是哪个用户
4.2用户的创建和删除
useradd 用户名 ->为新用户创建一个/home目录
passwd 用户名 ->为新用户设置密码
pwd ->显示当前用户所在的目录
id 用户名 ->查询某个用户的用户信息
userdel 用户名 ->仅删除用户
userdel -r 用户名 ->删除用户的同时删除用户的home目录
4.3用户组
对多个用户的权限集中管理,如果创建用户时没有指定组,则会默认创建一个同名组
groupadd 组名 ->添加组
groupdel 组名 ->删除组
useradd -g 用户名 组名 ->创建一个用户在指定的组中
usermod -g 组名 用户名 ->修改用户的组
usermod -d 目录 用户名 ->修改用户登录的默认目录
4.4用户和组的相关文件
这些都放在/etc配置目录下
- /etc/passwd, 存放用户的各种配置信息,记录用户的各种信息
- /etc/shadow, 口令的配置文件
- /etc/group, 组的配置文件,记录组的信息
4.5运行级别
init 0~6 切换到某个运行级别
systemctl get-default 获取到系统默认的运行级别
systemctl set-default 级别名 multi-user.target(多用户网络级别)/graphical.target(图形界面级别)
4.6root找回密码
在linux系统启动时,按e启用编辑模式
- 找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh
- 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式
- 接着,在光标闪烁的位置中输入:mount -o remount,rw /
- 在新的一行最后面输入:passwd, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可
- 接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel
- 继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码
5.文件目录指令
绝对路径:以/开头,其中/代表根目录,表示从根目录开始查找
相对路径:直接以下一级文件名开头,其中..表示退回至上一级
cd 移动至某个目录
.. 返回至上一级
~ 返回值当前用户的home目录
pwd 查看当前所在位置的绝对路径
5.1创建、删除目录
mkdir 绝对位置 创建一级目录
mkdir -p 目录 创建一个多级目录
rmdir 要删除的目录或文件 删除一个空目录
rm -rf 要删除的目录 要删除的目录里面有内容
rm -f 不再提示是否确认删除
5.2文件操作
touch和cp
touch a.txt 创建一个空文件
cp /home/aaa.txt /opt 将home下的aaa.txt文件拷贝到opt中
/cp -r /home/aaa/ /opt/ 将home下面的aaa目录里拷贝到opt目录下
使用/cp进行强制覆盖,不用再去一个个确认
mv 文件1 文件2 当两个文件在同一个目录下时,进行的是重命名操作
如果不是同一个目录,则相当于剪切
如果文件2指明了文件类型,则相当于剪切并重命名
cat
使用cat查看重要的文件与more一起使用,more也可以单独使用,more+文件名
cat -n /etc/profile | more 输入之后可进行交互
enter - 下一行
space - 下一页
q - 退出
crtl+F - 上一屏
crtl+B - 下一屏
= - 显示当前的行号
:f - 显示文件名和行号
less
less动态加载所要查看的文件,适用于大文件的查看,用法less+文件名
space | 向下翻页 |
---|---|
pagedown | 向下翻页 |
pageup | 向上翻页 |
/或?字符串 | n向下查找,N向上查找 |
q | 退出 |
echo
- echo $Path 查看环境变量
- echo “hello” 打印hello
head和tail
- head 文件 查看文件的前10行
- head -n 5 文件 查看 文件的前5行
- tail则是显示文件尾
- tail增加了一个动态监控某个文件的功能 tail -f 文件 实时追踪某个文件的所有更新
重定向输出
‘>’是删除目标路径文件上原有内容进行重写
‘>>’是在目标路径文件原有内容基础上追加内容,追加日期等
可与查看指令搭配使用
ls -l > 文件 将查看后的内容写到指定的文件中,进行的是覆盖写
ls -al >> 文件 将查看后的所有内容写到指定文件中,进行的是追加写
cat 文件1 > 文件2 将文件1中的内容覆盖写入文件2中的内容
echo "hello" >>文件 将hello写入某个文件
补:cal为日期指令,可显示本月日历
date显示当前时间
ln
ln -s 连接文件路径 连接名
注:连接创建后可以看做是一个文件(快捷方式),调用该文件时会跳转到目标文件
使用rm即可删除软连接
date
date 默认显示所有
date +%Y 显示年
date +%m 月
date +%d 日
date "+%Y-%m-%d %H:%M:%S" 显示所有
date -s “...” 设置系统的时间
注:间隔符可以改变,字母大小写必须按规范,可以搭配指定样式的时间
5.3目录查找
find
find 搜索范围 选项
-name 按文件名进行查找
-user 按用户进行查找
-size 按文件大小进行查找,k、M、G( +大于、-小于、=等于)
locate
查询速度非常快,利用了数据库建立索引,使用前需要执行updatedb指令
updatedb
locate + 文件
which
which +指令 用来查看该指令在那个目录下
grep
grep 选项 “查找内容” 源文件
注:-n显示查找内容的行号,-i忽略大小写,也可以以管道形式使用grep查找某个文件中的内容
cat a.txt | grep -n "yes"
grep -n "yes" /home/a.txt
5.4文件压缩与解压
gzip和gunzip用于文件的压缩与解压,gzip将文件压缩成.gz文件,gunzip则只能解压.gz文件
zip和unzip
zip和unzip进行目录或文件压缩
zip使用选项:-r递归压缩
unzip选项:-d压缩到目标目录下
示例:
zip -r myhome.zip /home/ 将home目录压缩到myhome.zip的压缩包中
unzip -d /opt/tmp/ /home/myhome.zip 将myhome.zip解压到opt的tmp目录下
tar
打包指令,打包是说可以指定多个文件,将这些文件先打包,再压缩
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解压.tar文件 |
压缩和解压
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
打包并压缩
tar -zxvf /home/pc.tar.gz -C /opt/tmp
将文件解压到tmp中,指定路径进行解压,如不使用-C则默认为当前目录
6、组管理和权限管理
所有的用户都必须至少处于一个组中
创建文件的用户成为文件的所有者,该用户所在的组成为该文件的所在组,其他的组称为其他组
文件和目录都可修改所有者和所在组
6.1权限管理的一些命令
ls -ahl 查看文件的所有者
修改所在组和所有者
chown 目标用户 文件名 ->修改文件的所有者,修改后文件的所在组不发生改变
chown newowner:newgroup 文件或目录 ->同时修改所有者和所在组
chgrp 目标组名 文件名 ->修改文件所在组,修改后文件所有者不变
注:可以使用-R递归的修改其子目录的所有者和所在组
修改权限-chmod
第一种方式,使用+-=赋值
u代表所有者、g代表所在组、o代表其他组、a代表所有人(u+g+o)
chmod u=rwx,g=rx,o=x 文件或目录 ->赋予权限
chmod u-w,g+w,o+r 文件或目录 ->对u减少w的权限、对g增加w的权限、对o增加r的权限
第二种方式,通过数字变更权限
r为4,w为2,x为1
chmod 755 文件或目录 ->变更后的权限为u-rwx、g-rx、o-rx
6.2文件信息说明
6.3rwx
- 对于文件来说
- r代表可读read,查看文件
- w代表可写write,可以修改文件,但是不能删除文件,删除文件需要有该文件的目录的写的权限
- x代表可执行execution,可以执行文件
- 对于目录来说
- r代表可以查看目录的内容,显示目录中的信息,即可以使用ls进行查看
- w代表可以对目录中的内容进行修改,可以创建、删除、重命名目录
- x代表可以进入该目录,即cd 该目录,仅能打开指定的授权文件或目录,不能打开目录中未授权的文件
注:增加文件的权限时,一定要注意改文件所在的目录的权限是否分配,如果无法进入目录,即使将全部权限给该文件,不起任何作用
6.4文件的权限信息说明
即文件信息的前十位
- 第一列表示文件的类型(l为链接、d是目录、c是字符设备文件-鼠标等、b是块设备-硬盘等、-为普通文件)
- 第二列表示文件的所有者的权限
- 第三列表示文件的所在组的权限,即同一所在组的其他用户的权限
- 第四列表示其他组的权限
7、定时任务调度
7.1crond任务调度
定时执行某个指令或脚本(多个指令构成的.sh文件),如数据备份等
crondtab 选项
-e 编辑定时任务
-l 显示当前的定时任务
-r 移除当前用户的所有定时任务
service crond restart 重启任务调度
定时执行某个指令
crondtab -e ;进入编辑模式后编写定时任务
*/1 * * * * ls -l /etc/ > /tmp/to.txt
定时执行某个脚本
1)编写.sh文件
2)给.sh文件执行的权限
3)使用crondtab -e 编写定时任务 */1 * * * * /home/my.sh
关于占位符的说明
自定义时间的说明
7.2at定时任务
单次执行定时任务,使用时需要确保atd进程开启,可以使用ps ef | grep atd 来查看是否开启
atd守护进程每个60s检查一次作业队列,直至队列中没有作业为止,作业执行后移出队列
at 时间 选项
atq 查看当前执行的定时任务
atrm+编号 删除已经设置好的任务
ctrl+d输两次,结束at命令的输入
时间格式
8、磁盘分区及挂载
将硬盘中的分区挂载到文件系统的目录上。
linux硬盘分为IDE硬盘和SCSI硬盘,前者标识符为hdx**后者标识符为sdx,其中h对应于IDEs对应于SCSI,x是硬盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),~代表分区**(前四个分区为主分区或拓展分区,从第五个开始为逻辑分区)
lsblk ->查看所有设备挂载情况,-f显示更详细的信息
8.1如何给虚拟机增加一块硬盘
步骤:
-
给虚拟机添加一块硬盘;设置->添加->硬盘,重启后lsblk命令查看新磁盘
-
分区
- fdisk /dev/sdb
- m显示命令列表:n新增分区(new)、d删除分区、w写入并退出
注:此时新建的分区尚未格式化(无文件系统),未分配对应的UUID,无法使用
UUID与分区名相对应,二者可以等价使用
-
格式化 mkfs -t ext4 /dev/sdb1
-
临时挂载 ,在命令行使用mount、umount进行挂载和卸载
- 例:mount /dev/sdb1 /newdisk
- mount 设备名 挂载目标目录名
- umount 设备名或目录名
-
永久挂载
- 将挂载信息添加至/etc/fstab,操作系统从此处读取挂载信息
- 添加完后执行mount -a
8.2磁盘实用指令
查询磁盘使用情况,一般大于80%需要扩充
df -h ->查询磁盘的整体使用情况
du -h 目标目录 ->查询指定目录的磁盘使用情况
du -hac /opt --max-depth=1 ->h表示显示单位,a代表显示所有(包括文件在内)
c进行一个汇总,--max-depth=n表示显示的深度
统计文件或目录的个数
ls -l /opt | grep "^-" | wc -l 统计opt目录下的文件个数(不包括子文件) wc -l用来统计数量
ls -l /opt | grep "^d" | wc -l 统计opt目录下的目录个数 -和d是文件信息的第一列,指明文件类型
ls -lR /opt | grep "^-" | wc -l 统计opt目录下的文件个数(包括子文件) 加上R表示递归的处理
显示树结构
如果没有tree指令,需要先执行yum install tree来安装tree指令
tree 目录 ->显示该目录的树结构
本文是学习韩顺平老师linux入门做的笔记,参考视频https://www.bilibili.com/video/BV1Sv411r7vd?spm_id_from=333.337.search-card.all.click目前还在学习中,会持续更新,如有不对的地方,还请多多指正
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/274737.html