学习韩顺平-Linux:
学习韩顺平老师的Linux课程:【小白入门 通俗易懂】2021韩顺平 一周学会Linux
参考 2021韩顺平图解linux_狗剩学习笔记以习之。
Linux:
到P104 左右
一、配置:
connection失败:
ifconfig
查到 linux 的 IP , 修改之即可
网络连接的三种模式
桥接模式: 虚拟系统(自己另创的)可与外界连接通讯,但易与真实系统的IP产生冲突。
NAT模式: 网络地址转换模式,其虚拟系统,可与外界连接通讯,且与真实系统的IP不造成冲突。
主机模式: 虚拟系统不与外界发生通讯
克隆虚拟机:
虚拟机快照(存档):
vmtools:
可使Windows 与虚拟系统linux一起管理某个文件夹
命令: ()
cd … [ 返回上一级目录]
- 用tab键 自动补全文件
- ls [ 查看当前文件夹的文件]
cd /opt [ 进入到opt目录]
tar -zxvf xxxxx [解压某压缩包]
./ xxxxx 【安装某程序】
二、linux 目录结构:
1、 基本介绍:
linux 一切皆文件。 采用层级式的树状目录结构
- 该结构的最上层是 【根目录】“ / ”
2、 具体的目录结构:
- /bin( /usr/bin、 /usr/local/bin) : 常用
- 存放最经常使用的命令
- /sbin : 管理员使用的命令(权限高的命令)
- /home : 存放每个普通用户的信息(目录),以用户名命名 常用
- /root : 系统管理员的用户主目录 常用
- /lib: 存放应用程序的 共享库
- /lost+found: 存放系统不正常关机时 存放的文件
- /etc: 某应用程序的配置文件及子目录 eg: mysql.conf 常用
- /usr: 默认的下载目录 常用
- /boot: linux启动的核心文件 常用
- /proc: 系统内存的映射信息 常用
- /srv : service : 服务启动所使用的数据
- /sys: 系统内核(关键文件)
- /tmp: 存放的临时文件
- /dev: 设备管理器 《以文件的形式存储》
- /media: 存放 linux 自动识别设备的 常用
- /mnt: 虚拟系统与主系统共享的文件 常用
- /opt: 主机额外安装软件所存放的目录
- /usr/local : 软件安装完成后,的目标目录 常用
- /var: 日志: 常用
- /seliinux : [security - enhanced linux]:
- 安全子系统
三、远程登录linux-----Xshell
1、 对linux 进行远程的命令操作
- 支持SSH1,SSH2,以及微软的TELnet 协议
- 可在Windows界面 下访问不同系统的服务器
- 小结: 使用Xshell时 , 若linux在本地,则需要开启虚拟机方可进行连接
四、Xftp
- 对linux 进行远程的文件上传及下载
五、使用vim :
vim 入门:
略:
1、 三大状态:
一般模式(正常模式)
此时可以 ---->
xyy
: 复制 xxx行代码,p 粘贴结果xdd
: 删除 xxx行代码.u
:撤回G
: 最末行gg
: 最首行20 Shift+G
: 光标移至第二十行/ String
; 查找String , 按n
寻找下一个
编辑模式: 正常–>编辑模式
- 通过输入
i
或a
进入 - 开始编辑内容
- 通过输入
命令模式: 正常–>命令模式
- 查询某个词:
/ XXX
: 查询XXX ,按n
: 下一个 - 输入 / 即可进入
:set nu
: 显示行号:set nonu
: 不显示行号: wq
: 保存且退出:q !
: 不保存提出:x
: 类似于 :wq , 若文件无变动,则不写入
- 查询某个词:
2、 实操(写一个HelloWorld):
创建 hello.java 文件:
vim hello.java
编写简单的hello程序:
public class hello{public static void main (String args[]){System.out.println("你好呀");} }
编译成.class文件:
javac hello.java
运行程序:
java hello
遇到的问题:
解决方法:
yum install java-devel
稍等片刻后 即可解决.
linux 下使用 vim 卡死原因与解决方法
我们在linux 下使用vim 编辑文件时,习惯性的使用了 Ctrl + s , 导致vim 僵死,无法编辑,此时只需要使用 Ctrl + q 解除即可。
在vim 中,Ctrl + S 是锁屏快捷键, Ctrl+ q 解锁
不小心按了ctrl +Z :
- 强制返回 ,导致产生 swp 文件:如下3、
3、Linux下删除SWP文件
可以输入如下指令:rm -rf xxx.swp来删掉该文件。之后可以输入ls -a 来查看是否删干净了。
六、关机/重启 、登录 :
1、 关机
注意: 关机/重启 首先使用==sync==命令
- shutdown -h now : 立即关机
- shutdown -h 1 : 一分钟 后关机
- shutdown -r now : 现在重启计算机
- halt : 关机
- reboot : 重启计算机
- sync : 将内存的数据同步到磁盘
2、 切换、登录用户
现在以 lsj(普通用户)登录
su - root
: 切换到root用户su - lsj
:切换到 lsj 用户- 在root 用户下 ,执行 logout 指令, 切换回 lsj 用户
- 在 lsj 用户下,再次执行logout 退出
七、 用户管理
常用指令 :
`pwd` : 查看當前的目录的绝对路径(所在位置)
`ls` : 查看当前目录 下的内容
`ls - a` : 查看当前目录下的内容(包括隐藏文件【以 **.** 开头】)
`ls - l` : 以列的形式查看内容 可简写为 `ll`
`ls -t` : 以最近修改时间为序 查看内容
`ls - alt` : 综合以上
`ls -h`, (–human-readable) 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
1、useradd
添加用户
x 用户会默认归到 名为x 的分组
- 语法:
useradd haha
- 说明: 会创建一 用户 haha , 且在 /home 下创建同名的家目录
- 目前不可登录,需要设置密码
- 说明: 会创建一 用户 haha , 且在 /home 下创建同名的家目录
adduser bibi
: 效果一样useradd -d /home/test haha
:- 说明: 在 /home/test 的目录下创建用户haha
2、passwd
设置 / 修改密码
语法:
passwd haha
: 给haha 用户 创建/修改 密码-
注意: 语法:
passwd
- 给当前==默认==用户更改密码 !!!
-
- 给当前==默认==用户更改密码 !!!
语法:
passwd -S root
查看当前用户的**密码信息**
3、 userdel
删除用户
- 语法:
userdel lili
- 删除用户 lili ,并不会删除家目录
语法:
userdel -r bibi
- 删除用户 bibi 且删除其用户的家目录
- 要慎重!!
bug
4、查询用户信息
- 语法:
id root
- 查询
-
- 查询已不再的用户:
-
5、切换用户(细节)
su 与 su- 的区别
- su
su username
,切换到指定用户,但是当前目录不会变化,环境变量还是上一个用户的环境变量。- 注意
- 该操作仅仅只是可以对某用户进行操作,只是一个线程。
su -
su - username
,切换到指定用户,当前目录即刻切换成指定用户的家目录,即~
,环境变量
即刻切换到指定目录的环境变量。退出:
exit
或logout
6、 查看当前用户登录的信息
- 语法:
who am i
或whoami
或who are you
-
who am i会显示初次登陆用户,whoami不会
7、 用户组
1、 groupadd
添加组
- 指令:
groupadd h
----> 添加组名:h
2、groupdel
删除组
- 指令:
groupdel h
----> 删除组名:h
id
命令可以显示真实有效的用户ID(UID)和组ID(GID)
3- groupadd
增加 某用户到 某组
groupadd ha
useradd -g ha lsj
在 ha 组中 加入用户lsj
4 、usermod
修改用户的组
usermod - g jiao zwj
- 将用户 zwj 移至组 jiao
参数 | |
---|---|
-g<群组> | 修改用户所属的群组 |
-d | 修改用户 登录后默认的目录 |
usermod -d [目录名] [用户名]
5- 与组相关的文件介绍
1、 /etc/passwd
- 用户的配置文件包含每个用户登录 Linux 系统所必需的的信息
登录shell: 类似于编码
2、 /etc/shadow
指令的配置文件
3、 /etc/group
组的配置文件
八、Linux 实操篇 使用指令
8.1、linux 运行级别
1、 介绍
常用 3 和 5
init 5
: 使用5 级别 : (图形界面)init 3
: 使用3 级别 : (无图形界面)- 如此设置 重启后失效
2、 设置级别
systemctl get-default
- 当前的级别
systemctl set-default graphical.target
- 设置级别为 graphical.target
8.2、忘记 root 密码怎么办
略详见
( linux shell centos 7.6 重置root 密码_狗剩的专栏-CSDN博客
8.3、帮助指令、shell
linux的帮助命令help、man、–help - 简书 (jianshu.com)
ls man
: 查看ls指令的帮助信息()ls help
:只能显示shell内部的命令帮助信息
shell
- shell 就是一个解释器: 将使用者的命令转换成二进制语言进而使计算机进行操作;
- 计算机内核将结果返还给shell,shell翻译成人所熟悉的语言,将结果展示出来
内部指令
- shell 程序的一部分,位于内存中
外部指令
- shell 程序以外的指令 ,位于硬盘中
8.4、 文件目录指令
1、 pwd
、ls
:
- 查看當前的目录的绝对路径(所在位置)
2、 ls
详见七、常用指令
3、cd
绝对路径和相对路径的区别:
- ,绝对路径就是从根目录开始,
- 相对路径是从你所在的当前目录开始
cd ~
: 回到家目录-
- 触发重定向
cd ..
: 返回上一级目录cd ../../home
: 以相对路径的方式返回home
4、 目录:
4.1 mkdir
创建目录:(makedir)
mkdir dog
: 创建目录dogmkdir -p /home/animal/cat
: 创建多级目录
4.2 rmdir
删除目录 : (removedir)
rmdir /dog
: 删除空目录 dog- 仅可删除非空目录
rm -rf /animal
: 删除非空目录animal
4.3 创建空文件(记事本 摸一下)
touch hello.txt
创建空文件hello.txttouch /home/hellp2.txt
: 在指定的目录下创建空文件
4.4 cp
拷贝文件到指定目录
参数: -r : 递归复制文件和目录
cp /home/hello.txt /opt
- 将home目录下的hello.txt 文件复制到 /opt 的目录下
cp -r /home/test /opt
将home/test目录下所有文件复制到 /opt 的目录下
cp -r 源目录/源文件(此步可以目录) /需要被复制的目录
即可(以最后的节点生效)
覆盖整个文件:
/cp -r /home/test /opt
- 会显示 是否覆盖 一下的所有文件
\cp -r /home/test /opt
- 直接覆盖
4.5 删除目录/ 文件
rm /home/hellp.txt
: 删除文件。。rm -r / home/test1
: 删除test1 目录下的所有文件rm -rf / home/test1
: 删除test1 目录下的所有文件 ,且不提示
4.6 移动/重命名目录
- 重命名: (在同一目录下)
mv cat.txt dog.txt
: 将cat.txt 重命名为 dog,txt
移动 (在不同的目录下)
mv /home/test /root/tset
: 将 test 目录 移动到 root目录下,且命名为 tset
4.7 查看文件内容
cat
与vim
的比较
cat
与vim
都可以查看文件内容cat
只可读 ,不可修改 ,vim
可读可改 。 cat指令更安全
cat 语法:
cat /etc/profile
: 查看 profile文件cat /etc/profile -n
: 显示行号cat /etc/profile -n |more
: 用more 去以一页一页的形式显示
more 语法
more /etc/profile
: 查看?
cat是直接输出全部内容 加上more是输出一部分内容 起到管理作用
more
:会以一页一页的形式显示,更方便使用者逐页阅读,
而最基本的指令就是按空白键(space)就往下一页显示
,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
more
的 常用操作命令
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
4.7.2 less
(查看比较大的文件)
less 与 more 类似,可支持各种终端,并不是一下加载整个文件,而是根据需求去加载
- less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
less /etc/profile
4.8 echo
- 将内容输出到控制台 类似于 (sysout)
echo “你好”
echo $PATH
:输出环境变量- 、
echo $HOSTNAME
主机名
4.9 head
显示 某文件的开头部分
head /etc/profile
: 默认输出前 10 行head -n 5 etc/profile
: 前五行-n 后面接数字,代表显示几行的意思
4.10 tail
显示 某文件的末尾部分
tail /etc/profile
默认输出文末 10 行tail -n 5 /etc/profile
末五行tail -f /root/hello2.txt
: 实时监控某文件- Ctrl + C 退出
4.11 >>
与>
>
: 覆盖某文件的内容ls -l > /root/hello2.txt
: 将当前的列表(ls - l)覆盖掉 hello2.txt 文件
>>
: 对某文件进行追加内容cal >> /root/hello2.txt
: 将当前的日期追加到该文件内
cat 文件1 >> 文件2
: 将文件1 的内容追加到文件2 上
4.12 ln
(软链接)
ln
:为某一个文件在另外一个位置建立一个同步的链接。类似于Windows的创建快捷方式
ln [参数][源文件或目录][软连接名]
- 给源文件 创建一个软链接
-s
: 软链接(符号链接)。ln -s /root /home /myroot
- 在 home 目录下建立 一个查看root的连接 — myroot
注意 : 此时使用
pwd
: 目录仍为 软连接的目录(/myroot)
删除软连接 :
rm /home/myroot
- 若写成:
rm /home/myroot/
则
故 注意;
- 路径末尾带
/
是目录,你创建的链接是一个文件所以不带/
- 路径末尾带
4.12.1硬链接与软连接的区别
- 简单地说,软链接是存放另一个文件的路径,而硬链接是以文件副本的形式存在,但不占用实际空间
- 挂载这个概念就比较好理解了,实际上就是文件系统和硬盘分区之间的一种关系,如果他们关联上了,我们 就认为挂载了,如果他们取消了这个关联,就是卸载了
4.13 history
history
: 显示之前使用过的命令history 10
: 最近使用的10条指令!512
: 执行第512条指令
5 、时间日期指令
date
date "+%Y - %m-%d "
date "+%Y - %m - %d %H : %M : %S"
设置 系统日期
date -s “2022-08-23 13:18:03”
cal
cal 2022
: 显示2022年的日历
6、 搜索和查找文件
6.1 find
从某个目录下开始递归搜索其各个子目录。
和管道结合使用可以实现复杂的功能,是系统管理者和普通用户必须掌握的命令。
find如不加任何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用find命令,find命令模糊搜索还是比较消耗系统资源的。
find [查找和搜索范围] [查找方式]
查找方式 含义 -name 按名称查找 -size 按大小查找 -user 按用户名查找 -type 按类型查找 -iname 忽略大小写 find / -name h.txt
- 在 “ / ” (根目录)下 根据文件名去查找 h.txt
find / -user lsj
- 查找 根目录下 用户为 lsj 的文件
find / root -size +1M
- 在 root目录下查找 比1MB大的文件
- (
+n
大于-n
小于n
等于 )
6.2 locate
快速定位某文件的路径,不搜索具体目录
- 而是搜索一个数据库/var/lib/locatedb 查询速度快,
- 需要手动更新该数据库
updatedb
update
locate hello2.txt
6.3 which
(查找指令的位置)
which ls
查找ls
指令的位置
6.4 grep
(过滤查找文件的关键字)
grep 【选项】 查证内容 源文件
cat /opt/profile | grep "if"
grep -n "if" more /etc/profile
也可
7、 压缩/解压
7.1 gzip
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。
gzip : 压缩文件
gzip /home/cat.txt
: 将cat文件进行压缩
gunzip : 解压文件
gunzip /home/cat.txt.gz
: 将该文件解压
7.2 zip
语法: zip [选项] [压缩包名] [源文件或源目录列表]
参数 | 含义 |
---|---|
-r | 递归压缩处理,将指定目录下的所有文件和子目录一并压缩 |
zip -r mycat.zip /home
- 将 / home 目录的全部文件 压缩成myhome.zip
unzip -d /root /home/mycat.zip
- 将 /home/mycat.zip 解压到 / root 下
7.3 tar
利用tar命令,可以把一大堆的文件和目录全部打包成一个文件
语法:
tar [参数] [文件或目录]
常见参数:
参数 -x 解压tar文件 -z 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz -c 打包成tar文件 -v 显示指令执行过程 -f 指定压缩后的文件名 -C<目录> 指定解压后的路径 -P 使用文件名的绝对路径,不移除文件名称前的“/”号
压缩:
tar -zcvPf st.tar.gz /home/shuye.txt /home/tingan.txt
- 将 /home 路径下的 shuye.txt 和 tingan.txt 压缩成 st.tar.gz
解压
tar -zxvfP /home/st.tar.gz -C /opt
- 将 /home 路径下的 压缩包 st.tar.gz 在 /opt 压缩
-z先压缩成.gz文件,c再打包成.tar包文件。压缩和解压都是要z的,区别就在于:有x解包的时候z对应的就是解压的意思,有c打包的时候z就是压缩的意思
打包解包是针对.tar文件而言的:.tar文件就是将多个文件合并成一个单文件;解压和压缩是针对.gz文件而言;-c是打包成.tar文件,-x是把.tar包解开;-z会根据带的x还是c来决定解压还是压缩
九、 linux的组、权限管理
9.1 简介:
- linux 的每个用户都 具有一个组, 用户不可独立于组外。
- 每个文件都具有其 所有者
- 其它组: 除去 文件所有者和所在组 的用户以外 ,系统的其他用户
9.2 命令:
1、 文件、目录的所有者
- 所有者即 文件的创建者。
- 查看文件的创建者:
ll
1.1 修改文件创建者(chown
)
- 语法:
chown [用户名] [文件名]
常用参数 -R 对目前目录下的所有文件与子目录进行递归修改用户名
1.2 修改文件所属的组名 (chgrp
)
chgrp [组名] [文件名]
- 修改 文件 hello.txt 的组名为 foxes
常用参数 -R 对目前目录下的所有文件与子目录进行递归修改组名
1.3 修改文件的rwx权限(chmod
)
chmod [设置权限] [文件]
- 方式一、 + - =
u : 所有者 , g : 所有组 , o : 其他人 a : 所有人,所有用户(u 、g、o的总和)
u + rw
: 所有者增加 读,写的权限g - x
: 所有组减去 执行权限o = rwx
: 其它组赋予 读、写、执行的权限
- 方式二 、 数字
r = 4 , w = 2 ,x = 1 故 rwx = 7
chmod 770 cat.txt
- 方式一、 + - =
注意 , 不可有空格,要写逗号
9.3 权限介绍
9.3.1 前面的十位 :0~ 9)
第0 位 :文件类型
- I 链接 d 文件夹 c 设备 b 块设备 - 普通文件
标识 表示文件类型 - 普通文件 d [directory] 目录文件 c [ character
]字符设备文件、鼠标、键盘 b(block) 块设备文件(硬盘) l(小写L) 软链接文件 (快捷方式) p 管道符文件 s 套接字文件 第 1 - 3 位: 文件所有者 (
User
) 对文件的权限第 4 -6 位: 文件所属组(
Group
)的权限第 7 -9 位:(
Other
) 其他组 对文件的权限
9.3.2 rwx
权限
1. rwx 对文件
- [ r ] : (read)可读文件内容
- [ w ] : (write) 可修改文件内容 但不可删除该文件
- [ x ] : (execute) 可执行该文件
2. rwx 对 目录
- [ r ] : (read)可读目录内容列表 (
ls -al
) - [ w ] : (write) 可创建、删除、重命名、复制文件/ 目录
- [ x ] : (execute) 可进入该目录(可以执行命令:
cd
)- 注意:
- 拥有目录的x权限表示用户可以进入该目录成为工作目录,能不能进入一个目录,只与该目录的x权限有关,如果用户对于某个目录不具有x权限,则无法切换到该目录下,也就无法执行该目录下的任何命令,即使具有该目录的r权限。
- 且如果用户对于某目录不具有x权限,则该用户不能查询该目录下的文件的内容,注意:指的是内容,如果有r 权限是可以查看该目录下的文件名列表或子目录列表的。所以要开放目录给任何人浏览时,应该至少要给与r及x权限。
- 这样,对目录有写权限,就可以操作文件主体增删改名,对文件有写权限,只是写文件里面的内容
- 注意:
3、rwx 的其他表示
`r = 4 , w = 2 ,x = 1 故 rwx = 7`
举个栗子:
- 普通文件, 用户lsj 对该文件有 读写 执行 的权限 ,root组、内的其他用户 对该文件 仅有读的权限 ,
- 1代表 文件和目录数为1 0 字节, 创建时间 ,文件名
-
- 目录, 用户fox 具有 读、写、执行 的权限,foxes组、其它组内的其他用户对其无权限
- 有 子文件 / 子目录数共 6 个 , 为4096字节 ,最近修改时间,目录名
关于文件的个数:为目录时就是看子目录的个数是多少,
新建一个空目录为2是因为目录里面有…和.这两个隐藏目录
9.3.3 权限管理应用
1、警察与土匪游戏
结论: 其它组或 同一组的其他用户,
若要对一个目录内的文件进行操作,就需要具有对该目录的相应权限
权限只是给了所有者,又不是组内
要有文件和 目录读权限,不然就算进了组还是不行
- 别的人要修改Jack家目录下的jack.txt , jack不仅要赋予他人对jack.txt 的rwx , 还要赋予对 /jack 目录的rwx
2、神仙与妖怪
给r不给x进都进不去,当然有异常
目录上的读就是对文件夹进行读取,就算没有读取权限,只要有执行权限,不影响能操作目录内的文件
应该是说目录的读是读取目录中的文件信息,修改应该就是对目录里的文件进行删除和创建操作
十、任务调度
10.1 contab
调度任务多次
介绍
crontab
进行定时任务- 任务调度: 设置系统在某个时间执行特定的命令或程序
- eg: 每隔段时间去执行某些程序或脚本
1、 语法
语法:
crontab [选项]
常见选项 含义 -e 编辑 crontab 定时任务 -l 查询crontab 任务 -r 删除当前所有的 crontab任务 -u 指定要设定计时器的用户名称 –help 显示帮助信息
2、 crontab文件
组成: 共六段,前五段是时间设置,第六段是要执行的命令
格式:
minute hour day month week command
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,
这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
星期与前面月份日期是or的关系,只需满足其一即执行;
特殊符号说明:
特殊符号 含义 * 任何,eg: 第一个 * 代表每一分钟 执行一次 , * 2,3,7 * * *
: 每天的2,3 ,7 点执行命令- * 2-6 * * *
: 每天的2到6点执行命令*/n 每隔 n 执行一次: */10 * * * *
: 每隔10分钟执行一次案例:
3,15 8-11 * * * command
- 每天 8到11 点的 第3, 第15分钟 执行命令
3,15 8-11 */2 * * command
- 每隔两天 的 上午 8-11点的 第3和15分钟 执行命令
3,15 8-11 * * 1 command
- 每星期一的。。。
crontab * * */10 *
*,是每隔10天的那一天每分钟执行一次,40 4 * * 1-5
每周一到周五的4点40分执行0 0 1,15 * 1
: 每周一与每月的1号,15号,的0时0分- crontab表达式,前面四项的关系之间为and的关系,需要同时满足才能执行;
- 但星期那一项与前面月份日期是or的关系,只需满足其一即执行;
- crontab表达式,前面四项的关系之间为and的关系,需要同时满足才能执行;
3、 实例
- 每隔一分钟,就将 当前的日期追加到 /opt/mydate 的文件中
crontab - e
*/1 * * * * date >> /opt/mydate
- 每隔1 分钟,用文件将当前的日期、日历 都追加到 /home/mycal 中
vim /home/my.sh
date >> /home/mycal
cal >> /home/mycal
crontab -e
*/1 * * * * /home/my.sh
查看当前的任务调度信息:crontab -l
终止(删除remove)所有的任务调度:crontab -r
10.2 at
: 任务调度一次
- 进程在 一分钟为周期 检查 任务队列中是否存在任务
- 若存在 则执行第一个, 任务完成后移除该任务
- 就是放在队列中 ,执行了的就出队列
1 语法: at [选项] [时间]
选项 | 含义 |
---|---|
-m | 当 at 工作完成后,无论命令是否输出,都用 E-mail 通知执行 at 命令的用户。 |
-c 工作标识号 | 显示该 at 工作的实际内容。 |
-t 时间 | 在指定时间提交工作并执行,时间格式为 [[CC]YY]MMDDhhmm。 |
-d | 删除某个工作,需要提供相应的工作标识号(ID),同 atrm 命令的作用相同。 |
-l | 列出当前所有等待运行的工作,和 atq 命令具有相同的额作用。 |
-f 脚本文件 | 指定所要提交的脚本文件。 |
很重要时间:
格式 | 用法 |
---|---|
HH:MM | 比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行。 |
Midnight(midnight) | 代表 12:00 AM(也就是 00:00)。 |
Noon(noon) | 代表 12:00 PM(相当于 12:00)。 |
Teatime(teatime) | 代表 4:00 PM(相当于 16:00)。 |
英文月名 日期 年份 | 比如 January 15 2018 表示 2018 年 1 月 15 号,年份可有可无。 |
MMDDYY、MM/DD/YY、MM.DD.YY | 比如 011518 表示 2018 年 1 月 15 号。 |
now+时间 | 以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行。 |
时间 + 年月日 | 4:00 2021-8-27 : 8月27号4点执行 时刻必须在前面 |
时刻 +tomorrow | 明天的某时刻 去执行 |
2 实例
at 5pm +2days
at > /bin/ls/home
- 在两天后的下午5点 执行命令
at 17:00 tomorrow
at > date >> /root/date.log
at now +2minutes
at > date > /root/date.log
查询 任务队列:
at -d 7
或atrm 7
- 删除 7 号 队列任务
十一、 磁盘的分区、挂载
11.1 磁盘分区
一个磁盘,可以有多个分区
Linux采用了一种叫 “载入” 的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。
简单来说,一个分区代表了一块具体的存储空间,Linux通过挂载的技术将这块空间挂载了一个具体的目录下面。
通过 将磁盘的分区 与 linux的目录相联系 即为挂载
一、Linux 硬盘分类及说明
IDE 硬盘: 标识符
hdx *
hd
: 代表为IDE接口的硬盘x
: 盘号 (a 基本盘,b 基本从属盘,c 辅助主盘,d 辅助从属盘)*
: 第几个分区(1,2,3,4) hdb3: 第二个IDE硬盘的第三个分区
SCSI 硬盘 :
sdx *
sd
: 指 SCSI硬盘x
: 盘号*
: 分区: sda1 : 第一个SCSI硬盘的第一个分区
二、lsblk
(list block):
lsblk
或lsblk -f
查看所有设备的挂载情况
linux操作系统将所有的设备都看作文件 将整个计算机的资源都整合成一个大的文件目录
我们要访问存储设备中的文件 必须将文件所在的分区挂载到一个已存在的目录上 然后通过访问这个目录来访问存储设备
三、挂载:
添加硬盘
分区: 选择分区磁盘:
[root@linuxcool ~]# fdisk /dev/sdb
分区完成后 ,该磁盘具有一个分区
挂载之前,需要格式化,产生唯一标识符UUID后才能挂在成功
mfks -t ext3 /dev/sda6
- 对分区
/dev/sda6
进行格式化为 ext3
- 对分区
命令行挂载:
mount [参数]
mount /dev/sdb1 /newdisk
- 挂载 分区/dev/sdb1 到 linux的 /newdisk 目录
不想与某目录挂载了, 卸载
- 回退 到根目录
umount /newdisk
或umount /dev/sdb1
- 永久挂载
- 修改文件: /etc/fstab
11.2 磁盘情况查询
1、 df -h
:
- 查看整个系统磁盘被占用了多少空间、还剩多少空间等信息。
2 、du
du [参数] [文件/目录]
常用参数: 含义 -a 显示目录中所有文件大小 -h 以易读方式显示文件大小 -s 仅显示总计 -c 列出 明细且 显示总计 – max -depth = 1 子目录的深度 查询指定目录的磁盘占用情况
例子:
du -cha -max /boot
11.3 实用指令
1、 显示 /root 下的文件:
ls -l /root |grep "^-"
统计 /root 下的文件 个数
wc [参数] [文件]
wc命令统计指定文件中的字节数、字数、行数
参数 -w 统计字数,或–words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 -c 统计字节数,或–bytes或–chars:只显示Bytes数 -l 统计行数,或–lines:只显示列数 ll /root |grep "^-" |wc -l
2、 统计 /root 下的目录 个数
ll /root |grep "^d" |wc -l
3、统计 /root 下的文件 个数 , 包括子文件夹
ls - R
参数 -R 递归列出所有子目录
ls -lR /root |grep "^-" |wc -l
4、统计 /root 下的目录个数 , 包括子文件夹
ls -lR |grep "^d" | wc -l
5、 以树状的结构显示目录
tree /root
若没有该命令 , 则用
yum install tree
下载
十二 、 网络配置
12.1 查看当前IP
Linux:
ifconfig
Windows:
ipconfig
12.2 使虚拟机linuxIP固定
修改文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
按照上图的IP地址 和网关 修改虚拟机的 VMnet8 的
ip子网
和网关
:- IP
子网
- IP
网关:
确定后,重启 Linux 或 重启网络服务:
reboot
service network restart
12.3 主机名:
查看主机名
hostname
修改
vim /etc/homename
- 重启生效
DNS缓存:
查看网址:
- 首先查看浏览器缓存是否包含该 域名
- 若无,在看DNS 缓存
- 若无,看本机的 hosts 文件
- 若无 ,最后访问DNS (域名解析器)
十三、 进程
13.1 定义:
- 执行程序。 每个进程都分配一个pid(进程号)
- 存在方式:
- 前台: 用户可以查看到,且可操作
- 后台 : 系统的服务,且常驻在系统中,直至关机进程结束
- 存在方式:
1、 ps
查询进程
ps [参数]
: 显示当前系统的进程状态常用参数 含义 -a 显示所有终端机下执行的程序,除了阶段作业领导者之外 -u 根据用户显示进程信息 -x 显示后台进程运行 的参数?!
ps -aux
组合使用信息更全
- USER : 用户 / 使用者
- PID : 进程号
- PPID : 父进程
- %CPU : 占用CPU(中央处理器)的百分比
- %MEM: 占用物理内存百分比
- VSZ : 虚拟内存大小(KB)
- RSS:占用实际物理内存大小(KB)
- TTY: 终端名
- STAT: 进程状态( -S : 睡眠,-R :运行,-Z : 僵死进程,-D: 短期等待)
- START:进程开始时间
- TIME:进程占用CPU总时间
- COMMAND: 启动该进程的命令和参数
ps - ef
参数 | 含义 |
---|---|
-f | 显示UID,PPIP,C与STIME栏位 |
-e | 显示所有程序 |
PID = 11 的父进程: PID = 2
PID = 2 的子进程: 4、6、7、8、9 …
- 查看 登录用户信息
pstree
查询进程
语法:
pstree [参数]
参数 含义 -a 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示 -p 显示进程的 PID -u 显示进程所属用户
13.2 终止进程 kill/killall
1、 kill
- 语法:
kill [参数] [进程号]
- 使用kill命令杀死指定进程PID的进程
-9
: 强制删除进程、、
- 踢出用户
xh
终止进程
sshd 服务:( Xshell远程连接)
:- 恢复 Xshell 远程连接
systemctl start sshd ##开启服务
- 关于远程连接:
- 恢复 Xshell 远程连接
终止多个
gedit(文本编辑器,类似于vim)
进程killall gedit
强制杀掉终端:
kill -9
2、 killall
killall [参数] [进程名]
参数 含义 -i 交互式,询问是否要杀死某个进程;
需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一
交互式杀死进程
13.3服务管理
服务:
1、service
本质即 (守卫) 进程、。
- 守卫进程:运行于后台 、 监听某个端口,等待其他程序的请求
服务的设置状态选项: start 、 stop、 restart、reload(重载)、 status(查看此服务的状态)
语法:
service [服务名] [设置状态选项]
被service命令管理的服务:于 /etc/init.d 文件下
ls -l /etc/init.d
1.1 查看服务名:
ls -l etc/init.d
: 查看由service 指令管理的服务 (有限)全部:
setup
1.2服务的运行级别:
运行级别设置:
详见 八、8.1
1.2.1(chkconfig
)设置运行级别的自启动
对 0、1、2、3、4、5、6 级别设置自启动
语法:
chkconfig [参数]
(BSD风格)
参数 | 含义 |
---|---|
–list | 查看列表 |
-- level X 服务名 {on/off}
|
设置服务``X 级别 开启/关闭 (重启生效)
|
chkconfig --list
chkconfig --level 3 network on
2、systemctl
语法:
systemctl [参数] [ 服务]
参数 含义 start / stop /restart/ status status:查看服务状态 enable 使某服务开机自启 disable 关闭某服务开机自启 is-enabled 查看该服务是否自启动 list -unit-files |grep服务名
查看服务的自启动状态 list -units --type=service 列举所有已启动服务
该命令管理的指令 目录:
/usr/lib/systemd/system
例子:
ls -l /usr/systemd/system |grep fire
- 查到关于防火墙的服务
- 查到关于防火墙的服务
systemctl list -unit-files | grep firewalld
- 查到防火墙的服务自启动状态
-
- 查到防火墙的服务自启动状态
systemctl status firewalld
- 防火墙的服务 当前的状态
-
- 防火墙的服务 当前的状态
systemctl is-enabled firewalld
- 防火墙服务是否自启动
注意:以下操作 只是临时生效,重启后仍回归默认设置
- 防火墙服务是否自启动
systemctl stop firewalld
- 停止防火墙服务
systemctl start firewalld
- 开启防火墙服务
注意:以下操作 永久生效
systemctl enable firewalld
3、防火墙firewall-cmd
语法:
firewall-cmd [参数]
参数 含义 –permanent --add-port= 端口号/协议 –permanent --remove-port =端口号/协议 –reload 不重启立即加载 –query-port= 端口号/协议 查看端口是否打开 –state 显示当前服务运行状态 –zone=public --list-ports 查看所有打开运行的端口
例子:
netstat -anp
: 查到服务的端口号/协议
firewall-cmd --permanent --add-port=111/tcp
- 打开端口号为111,协议为tcp的服务
firewall-cmd --reload
- 重载
firewall-cmd --permanent -remove -port=111/tcp
- 关闭端口
- 注意: 打开/关闭端口号****需要重载才可生效
13.4 动态监控进程
top
:
- 介绍: 类似于
ps
,用来查询正在执行的进程。以 每隔3秒默认更新进程 - 语法:
top [选项]
参数 | 含义 |
---|---|
-d [秒数] | 改变显示的更新速度,按 s,默认3s |
-i |
不显示闲置/僵尸 进程
|
-p | 通过指定监控进程ID 来监控某个进程 |
-q | 没有任何延迟的显示速度, |
-c | 切换显示模式 |
0 zombie: 0 僵死
交互操作:
参数 含义 P 以 CPU大小排序 M 以内存使用率排序 N 以PID排序 u 监视某用户 q 退出
top
u
lsj
– 监视用户lsj
top -d 4
- 改变刷新时间
13.5 监控网络 状态
netstat
netstat [参数]
参数 含义 -a 显示所有连线中的Socket -p 显示正在使用Socket的程序识别码和程序名称 -u 显示UDP传输协议的连线状况 -i 显示网络界面信息表单 -n 直接使用IP地址,不通过域名服务器 netstat -anp
学习韩顺平-Linux:相关推荐
- 【韩顺平Linux】学习笔记1
[韩顺平Linux]学习笔记1 一.网络连接的三种方式 二.虚拟机克隆 三.虚拟机快照 四.虚拟机迁移和删除 五.VMtools 六.Linux目录结构 七.远程登录和文件传输 一.网络连接的三种方式 ...
- 韩顺平Linux教程学习笔记
Linux系统学习笔记 新装了deepin v23系统,结果磁盘没设置好,玩崩了,百度半天修复不了,看看韩顺平老师的Linux操作课程,做做笔记(只记录对自己有用的). B站网址 基础篇·Li ...
- 鸟哥linux+韩顺平linux视频教程学习小结
linux的特点 优点: 1.免费的/开源的系统 2.支持多线程/多用户的系统 3.安全性好 4.对内存和文件管理优越 linux体积最少只需要内存4M,由于小所以可以做嵌入式开发 缺点: 操作相对困 ...
- 韩顺平Linux视频教程—笔记(全)
Linux操作系统学习 linux的特点 优点: 1.免费的/开源的系统 2.支持多线程/多用户的系统 3.安全性好 4.对内存和文件管理优越 linux体积最少只需要内存4M,由于小所以可以做嵌入式 ...
- 韩顺平-linux笔记
首先:一切皆文件 介绍目录 /:根目录 /bin:存放最经常使用的命令 /lib:系统开机所需要的最基本的动态连接共享库 /home:普通用户的主目录 /root:系统管理的用户主目录 /etc:系统 ...
- 学习韩顺平老师java io 笔记整理
一.文件 文件流 文件在程序中以留的形式来操作的 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXoI6Vnc-1642335857608)(F:\人生苦短,我用IO ...
- 韩顺平老师《一周学会Linux》视频笔记
前言: 这个教学视频使用的软件环境是: Red Hat Linux(Kernel 2.4.20-8)红帽Linux系统[release 9 shrike],在虚拟机中运行 1.成为一个Linux专家的 ...
- 韩顺平老师讲诉如何学习PHP
有很多网友发来邮件询问各种问题,有深有浅, 有难有易.因为很多时间需要上课,没有一一回答,这里给大家道个歉,这里我举例出了几封网友的来信: 发件人:Chen Ma 发送时间: 2012-09-18 1 ...
- 2021韩顺平图解linux
韩顺平图解Linux全面升级 https://www.bilibili.com/video/BV1Sv411r7vd 27 小时 .153 讲, 2021 韩顺平 一周学会Linux 简介 目录 P0 ...
最新文章
- UVa 11059 - Maximum Product
- 数字图像处理:基于MATLAB的车牌识别项目
- 开发笔记:掉落系统模块设计思路
- 超简单的JNI——NDK开发教程
- 关于机器学习,你应该至少学习这8个落地案例|干货集锦
- VMware虚拟机软件
- 使用performance monitor 查看 每一个cpu core的cpu time
- 如何清除web 服务器的缓存
- Visual C++ 2008入门经典 第十章标准模板库(二)
- 轻松学DDD之二:如何高效消化知识
- 代码管理学:功能实现,一定要与界面分开
- git 取消merge_git 入门教程之备忘录[译]
- Oracle JDBC 驱动
- 日常开销记账表格_日常NetQuote的开销我们的管理风格在很大程度上是一种欺骗...
- php 新浪微博登陆,PHP使用新浪微博登入第三方网站实例代码
- IDEA项目上传码云报错:Push rejected: Push to origin/master was rejected
- 《植物大战僵尸》游戏存档修改
- 利普希茨【NOIP2017模拟8.7A组】
- 江门环境监测实验室通风工程设计
- c语言圆环内外半径圆环面积,《圆环的面积》微课教学设计